Commit 542ea9fe61 for freeswitch.com
commit 542ea9fe61781cbcacd63f7f1ca876b69ecfeedc
Author: Andrey Volk <andywolk@gmail.com>
Date: Sun Sep 27 20:20:28 2026 +0300
[Build-System] Windows: Upgrade libjpeg to v10_1 and use pre-compiled binaries (#3191)
diff --git a/.gitignore b/.gitignore
index 673a7a3bbc..e4f56f5183 100644
--- a/.gitignore
+++ b/.gitignore
@@ -296,6 +296,8 @@ libs/mpg123-*.zip
libs/ldns-*/
libs/ldns-*.zip
libs/speex-*.zip
+libs/libjpeg-*/
+libs/libjpeg-*.zip
libs/SharpZipLib.*/
libs/SharpZipLib.*.nupkg
libs/nasm-*/
diff --git a/Freeswitch.2017.sln b/Freeswitch.2017.sln
index d92ffe969a..ebe6d39f0b 100644
--- a/Freeswitch.2017.sln
+++ b/Freeswitch.2017.sln
@@ -367,8 +367,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "xmlrpc-c", "xmlrpc-c", "{9D
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_redis", "src\mod\applications\mod_redis\mod_redis.2017.vcxproj", "{886B5E9D-F2C2-4AF2-98C8-EF98C4C770E6}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libjpeg", "libs\win32\libjpeg\libjpeg.2017.vcxproj", "{019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "abyss", "libs\win32\xmlrpc-c\abyss.2017.vcxproj", "{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}"
ProjectSection(ProjectDependencies) = postProject
{0D108721-EAE8-4BAF-8102-D8960EC93647} = {0D108721-EAE8-4BAF-8102-D8960EC93647}
@@ -1540,17 +1538,6 @@ Global
{886B5E9D-F2C2-4AF2-98C8-EF98C4C770E6}.Release|Win32.Build.0 = Release|Win32
{886B5E9D-F2C2-4AF2-98C8-EF98C4C770E6}.Release|x64.ActiveCfg = Release|x64
{886B5E9D-F2C2-4AF2-98C8-EF98C4C770E6}.Release|x64.Build.0 = Release|x64
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.All|Win32.ActiveCfg = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.All|Win32.Build.0 = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.All|x64.ActiveCfg = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Debug|Win32.ActiveCfg = Debug|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Debug|Win32.Build.0 = Debug|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Debug|x64.ActiveCfg = Debug|x64
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Debug|x64.Build.0 = Debug|x64
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|Win32.ActiveCfg = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|Win32.Build.0 = Release|Win32
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|x64.ActiveCfg = Release|x64
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}.Release|x64.Build.0 = Release|x64
{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|Win32.ActiveCfg = Release|x64
{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.ActiveCfg = Release|x64
{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9}.All|x64.Build.0 = Release|x64
@@ -2238,7 +2225,6 @@ Global
{2469B306-B027-4FF2-8815-C9C1EA2CAE79} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
{9DE35039-A8F6-4FBF-B1B6-EB527F802411} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{886B5E9D-F2C2-4AF2-98C8-EF98C4C770E6} = {E72B5BCB-6462-4D23-B419-3AF1A4AC3D78}
- {019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1} = {EB910B0D-F27D-4B62-B67B-DE834C99AC5B}
{D2396DD7-7D38-473A-ABB7-6F96D65AE1B9} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
{BED7539C-0099-4A14-AD5D-30828F15A171} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
{0D108721-EAE8-4BAF-8102-D8960EC93647} = {9DE35039-A8F6-4FBF-B1B6-EB527F802411}
diff --git a/libs/.gitignore b/libs/.gitignore
index ef60896454..aab0d1cae0 100644
--- a/libs/.gitignore
+++ b/libs/.gitignore
@@ -520,7 +520,6 @@ opal
/broadvoice/broadvoice.spec
/zeromq-*/
-/jpeg-8d/
/libnode-*/
/libnode-*.zip
diff --git a/libs/win32/libjpeg/libjpeg.2017.vcxproj b/libs/win32/libjpeg/libjpeg.2017.vcxproj
deleted file mode 100644
index 540ada1d74..0000000000
--- a/libs/win32/libjpeg/libjpeg.2017.vcxproj
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <Import Project="$(SolutionDir)\w32\download_libjpeg.props" Condition=" '$(downloadlibjpegPropsImported)' == '' " />
- <ItemGroup>
- <ClInclude Include="..\..\jpeg-8d\jconfig.h" />
- <ClInclude Include="..\..\jpeg-8d\jdct.h" />
- <ClInclude Include="..\..\jpeg-8d\jerror.h" />
- <ClInclude Include="..\..\jpeg-8d\jinclude.h" />
- <ClInclude Include="..\..\jpeg-8d\jmemsys.h" />
- <ClInclude Include="..\..\jpeg-8d\jmorecfg.h" />
- <ClInclude Include="..\..\jpeg-8d\jpegint.h" />
- <ClInclude Include="..\..\jpeg-8d\jpeglib.h" />
- <ClInclude Include="..\..\jpeg-8d\jversion.h" />
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\jpeg-8d\jaricom.c" />
- <ClCompile Include="..\..\jpeg-8d\jcapimin.c" />
- <ClCompile Include="..\..\jpeg-8d\jcapistd.c" />
- <ClCompile Include="..\..\jpeg-8d\jcarith.c" />
- <ClCompile Include="..\..\jpeg-8d\jccoefct.c" />
- <ClCompile Include="..\..\jpeg-8d\jccolor.c" />
- <ClCompile Include="..\..\jpeg-8d\jcdctmgr.c" />
- <ClCompile Include="..\..\jpeg-8d\jchuff.c" />
- <ClCompile Include="..\..\jpeg-8d\jcinit.c" />
- <ClCompile Include="..\..\jpeg-8d\jcmainct.c" />
- <ClCompile Include="..\..\jpeg-8d\jcmarker.c" />
- <ClCompile Include="..\..\jpeg-8d\jcmaster.c" />
- <ClCompile Include="..\..\jpeg-8d\jcomapi.c" />
- <ClCompile Include="..\..\jpeg-8d\jcparam.c" />
- <ClCompile Include="..\..\jpeg-8d\jcprepct.c" />
- <ClCompile Include="..\..\jpeg-8d\jcsample.c" />
- <ClCompile Include="..\..\jpeg-8d\jctrans.c" />
- <ClCompile Include="..\..\jpeg-8d\jdapimin.c" />
- <ClCompile Include="..\..\jpeg-8d\jdapistd.c" />
- <ClCompile Include="..\..\jpeg-8d\jdarith.c" />
- <ClCompile Include="..\..\jpeg-8d\jdatadst.c" />
- <ClCompile Include="..\..\jpeg-8d\jdatasrc.c" />
- <ClCompile Include="..\..\jpeg-8d\jdcoefct.c" />
- <ClCompile Include="..\..\jpeg-8d\jdcolor.c" />
- <ClCompile Include="..\..\jpeg-8d\jddctmgr.c" />
- <ClCompile Include="..\..\jpeg-8d\jdhuff.c" />
- <ClCompile Include="..\..\jpeg-8d\jdinput.c" />
- <ClCompile Include="..\..\jpeg-8d\jdmainct.c" />
- <ClCompile Include="..\..\jpeg-8d\jdmarker.c" />
- <ClCompile Include="..\..\jpeg-8d\jdmaster.c" />
- <ClCompile Include="..\..\jpeg-8d\jdmerge.c" />
- <ClCompile Include="..\..\jpeg-8d\jdpostct.c" />
- <ClCompile Include="..\..\jpeg-8d\jdsample.c" />
- <ClCompile Include="..\..\jpeg-8d\jdtrans.c" />
- <ClCompile Include="..\..\jpeg-8d\jerror.c" />
- <ClCompile Include="..\..\jpeg-8d\jfdctflt.c" />
- <ClCompile Include="..\..\jpeg-8d\jfdctfst.c" />
- <ClCompile Include="..\..\jpeg-8d\jfdctint.c" />
- <ClCompile Include="..\..\jpeg-8d\jidctflt.c" />
- <ClCompile Include="..\..\jpeg-8d\jidctfst.c" />
- <ClCompile Include="..\..\jpeg-8d\jidctint.c" />
- <ClCompile Include="..\..\jpeg-8d\jmemmgr.c" />
- <ClCompile Include="..\..\jpeg-8d\jmemnobs.c" />
- <ClCompile Include="..\..\jpeg-8d\jquant1.c" />
- <ClCompile Include="..\..\jpeg-8d\jquant2.c" />
- <ClCompile Include="..\..\jpeg-8d\jutils.c">
- <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Disabled</Optimization>
- <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Disabled</Optimization>
- <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
- <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
- <BufferSecurityCheck Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</BufferSecurityCheck>
- <BufferSecurityCheck Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</BufferSecurityCheck>
- <BufferSecurityCheck Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</BufferSecurityCheck>
- <BufferSecurityCheck Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</BufferSecurityCheck>
- </ClCompile>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>libjpeg</ProjectName>
- <ProjectGuid>{019DBD2A-273D-4BA4-BF86-B5EFE2ED76B1}</ProjectGuid>
- <Keyword>Win32Proj</Keyword>
- <RootNamespace>libjpeg</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>StaticLibrary</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>Unicode</CharacterSet>
- <PlatformToolset>$(DefaultPlatformToolset)</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\w32\extlib.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\w32\extlib.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\w32\extlib.props" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- <Import Project="..\..\..\w32\extlib.props" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup />
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>Full</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>false</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <OmitFramePointers>true</OmitFramePointers>
- <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
- <AdditionalIncludeDirectories>..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <PreBuildEvent>
- <Command>if not exist "$(ProjectDir)..\..\jpeg-8d\jconfig.h" type "$(ProjectDir)..\..\jpeg-8d\jconfig.vc" > "$(ProjectDir)..\..\jpeg-8d\jconfig.h"</Command>
- </PreBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>Full</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>false</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <OmitFramePointers>true</OmitFramePointers>
- <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
- <AdditionalIncludeDirectories>..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <PreBuildEvent>
- <Command>if not exist "$(ProjectDir)..\..\jpeg-8d\jconfig.h" type "$(ProjectDir)..\..\jpeg-8d\jconfig.vc" > "$(ProjectDir)..\..\jpeg-8d\jconfig.h"</Command>
- </PreBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>false</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <OmitFramePointers>true</OmitFramePointers>
- <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
- <AdditionalIncludeDirectories>..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <WholeProgramOptimization>false</WholeProgramOptimization>
- <Optimization>Disabled</Optimization>
- <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <PreBuildEvent>
- <Command>if not exist "$(ProjectDir)..\..\jpeg-8d\jconfig.h" type "$(ProjectDir)..\..\jpeg-8d\jconfig.vc" > "$(ProjectDir)..\..\jpeg-8d\jconfig.h"</Command>
- </PreBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <PrecompiledHeader>NotUsing</PrecompiledHeader>
- <Optimization>Disabled</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>false</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS</PreprocessorDefinitions>
- <OmitFramePointers>
- </OmitFramePointers>
- <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations>
- <AdditionalIncludeDirectories>..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <WholeProgramOptimization>false</WholeProgramOptimization>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <DisableSpecificWarnings>4267;%(DisableSpecificWarnings)</DisableSpecificWarnings>
- </ClCompile>
- <Link>
- <SubSystem>Windows</SubSystem>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <PreBuildEvent>
- <Command>if not exist "$(ProjectDir)..\..\jpeg-8d\jconfig.h" type "$(ProjectDir)..\..\jpeg-8d\jconfig.vc" > "$(ProjectDir)..\..\jpeg-8d\jconfig.h"</Command>
- </PreBuildEvent>
- </ItemDefinitionGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/libs/win32/spandsp/libspandsp.2017.vcxproj b/libs/win32/spandsp/libspandsp.2017.vcxproj
index 2010c70166..16813100a8 100644
--- a/libs/win32/spandsp/libspandsp.2017.vcxproj
+++ b/libs/win32/spandsp/libspandsp.2017.vcxproj
@@ -68,6 +68,7 @@
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="..\..\..\w32\tiff.props" />
+ <Import Project="..\..\..\w32\libjpeg.props" />
<Import Project="$(SolutionDir)\w32\spandsp.props"/>
</ImportGroup>
<PropertyGroup Label="UserMacros" />
@@ -84,7 +85,7 @@
</BuildLog>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;..\..\src\spandsp;..\..\src;..\..\src\msvc;.\spandsp;.\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -105,7 +106,7 @@
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
</BuildLog>
<ClCompile>
- <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level4</WarningLevel>
@@ -126,7 +127,7 @@
</BuildLog>
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -147,7 +148,7 @@
<Path>$(IntDir)BuildLog $(ProjectName).htm</Path>
</BuildLog>
<ClCompile>
- <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;..\..\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.;.\spandsp;.\msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBSPANDSP_EXPORTS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<WarningLevel>Level4</WarningLevel>
@@ -451,14 +452,6 @@
</CustomBuild>
</ItemGroup>
<ItemGroup>
- <ProjectReference Include="..\libjpeg\libjpeg.2017.vcxproj">
- <Project>{019dbd2a-273d-4ba4-bf86-b5efe2ed76b1}</Project>
- <Private>true</Private>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
- </ProjectReference>
<ProjectReference Include="make_at_dictionary.2017.vcxproj">
<Project>{dee932ab-5911-4700-9eeb-8c7090a0a330}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
diff --git a/src/mod/applications/mod_spandsp/mod_spandsp.2017.vcxproj b/src/mod/applications/mod_spandsp/mod_spandsp.2017.vcxproj
index 0802291b90..41852288bf 100644
--- a/src/mod/applications/mod_spandsp/mod_spandsp.2017.vcxproj
+++ b/src/mod/applications/mod_spandsp/mod_spandsp.2017.vcxproj
@@ -66,6 +66,7 @@
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(SolutionDir)\w32\tiff.props" />
+ <Import Project="$(SolutionDir)\w32\libjpeg.props" />
<Import Project="$(SolutionDir)\w32\spandsp.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
@@ -90,7 +91,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
- <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(RootDir)%(Directory)..\..\..\..\libs\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>
</PrecompiledHeader>
<DisableSpecificWarnings>4189;6031;4456;4024;4047;4324;6340;6246;6011;6387;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -108,7 +109,7 @@
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(RootDir)%(Directory)..\..\..\..\libs\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>
</PrecompiledHeader>
<DisableSpecificWarnings>4189;6031;4456;4024;4047;4324;6340;6246;6011;6387;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -124,7 +125,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(RootDir)%(Directory)..\..\..\..\libs\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>
</PrecompiledHeader>
<DisableSpecificWarnings>4189;6031;4456;4024;4047;4324;6340;6246;6011;6387;%(DisableSpecificWarnings)</DisableSpecificWarnings>
@@ -142,7 +143,7 @@
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(RootDir)%(Directory)..\..\..\..\libs\jpeg-8d;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src\msvc;%(RootDir)%(Directory)..\..\..\..\libs\spandsp\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PrecompiledHeader>
</PrecompiledHeader>
<DisableSpecificWarnings>4189;6031;4456;4024;4047;4324;6340;6246;6011;6387;%(DisableSpecificWarnings)</DisableSpecificWarnings>
diff --git a/w32/download_libjpeg.props b/w32/download_libjpeg.props
deleted file mode 100644
index 23e7c7b147..0000000000
--- a/w32/download_libjpeg.props
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ImportGroup Label="PropertySheets">
- <Import Project="downloadpackage.task" Condition=" '$(downloadpackagetask_Imported)' == '' " />
- </ImportGroup>
- <PropertyGroup>
- <downloadlibjpegPropsImported>true</downloadlibjpegPropsImported>
- </PropertyGroup>
-
- <!--
- Download Target.
- Name must be unique.
- By design, targets are executed only once per project.
-
- Usage:
-
- package: URI
-
- expectfileordirectory: Skips the download and extraction if exists
-
- outputfolder: Folder to store a downloaded file.
- By default "$(BaseDir)libs", if empty
-
- outputfilename: If not empty, overrides filename from URI.
- .exe files don't get extracted
-
- extractto: Folder to extract an archive to
- -->
-
- <Target Name="libjpegDownloadTarget" BeforeTargets="CustomBuild;PreBuildEvent;" DependsOnTargets="7za">
- <DownloadPackageTask
- package="https://files.freeswitch.org/downloads/libs/jpegsrc.v8d.tar.gz"
- expectfileordirectory="$(BaseDir)libs\jpeg-8d\jpegint.h"
- outputfolder=""
- outputfilename=""
- extractto="$(BaseDir)libs\"
- />
- </Target>
-
-</Project>
diff --git a/w32/libjpeg-version.props b/w32/libjpeg-version.props
new file mode 100644
index 0000000000..33e05ee036
--- /dev/null
+++ b/w32/libjpeg-version.props
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets" />
+ <PropertyGroup Label="UserMacros">
+ <libjpegVersion>10</libjpegVersion>
+ <libjpegBuildNumber>1</libjpegBuildNumber>
+ </PropertyGroup>
+ <PropertyGroup>
+ <libjpegVersionImported>true</libjpegVersionImported>
+ </PropertyGroup>
+ <PropertyGroup />
+ <ItemDefinitionGroup />
+ <ItemGroup>
+ <BuildMacro Include="libjpegVersion">
+ <Value>$(libjpegVersion)</Value>
+ </BuildMacro>
+ <BuildMacro Include="libjpegBuildNumber">
+ <Value>$(libjpegBuildNumber)</Value>
+ </BuildMacro>
+ </ItemGroup>
+</Project>
diff --git a/w32/libjpeg.props b/w32/libjpeg.props
new file mode 100644
index 0000000000..5b836ce531
--- /dev/null
+++ b/w32/libjpeg.props
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ImportGroup Label="PropertySheets">
+ <Import Project="libjpeg-version.props" Condition=" '$(libjpegVersionImported)' == '' "/>
+ <Import Project="downloadpackage.task" Condition=" '$(downloadpackagetask_Imported)' == '' " />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros">
+ <libjpegLibDir>$(BaseDir)libs\libjpeg-$(libjpegVersion)_$(libjpegBuildNumber)</libjpegLibDir>
+ </PropertyGroup>
+
+ <!--
+ Download Target.
+ Name must be unique.
+ By design, targets are executed only once per project.
+
+ Usage:
+
+ package: URI
+
+ expectfileordirectory: Skips the download and extraction if exists
+
+ outputfolder: Folder to store a downloaded file.
+ By default "$(BaseDir)libs", if empty
+
+ outputfilename: If not empty, overrides filename from URI.
+ .exe files don't get extracted
+
+ extractto: Folder to extract an archive to
+ -->
+
+ <Target Name="libjpegBinariesDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
+ <DownloadPackageTask
+ package="https://github.com/freeswitch/windows-deps/releases/download/libjpeg-v$(libjpegVersion)_$(libjpegBuildNumber)/libjpeg-$(libjpegVersion)_$(libjpegBuildNumber)-binaries-$(Platform.ToLower())-$(Configuration.ToLower()).zip"
+ expectfileordirectory="$(libjpegLibDir)\binaries\$(Platform)\$(Configuration)\libjpeg.lib"
+ outputfolder=""
+ outputfilename=""
+ extractto="$(BaseDir)libs\"
+ />
+ </Target>
+ <Target Name="libjpegHeadersDownloadTarget" BeforeTargets="CustomBuild" DependsOnTargets="7za">
+ <DownloadPackageTask
+ package="https://github.com/freeswitch/windows-deps/releases/download/libjpeg-v$(libjpegVersion)_$(libjpegBuildNumber)/libjpeg-$(libjpegVersion)_$(libjpegBuildNumber)-headers.zip"
+ expectfileordirectory="$(libjpegLibDir)\include\jpeglib.h"
+ outputfolder=""
+ outputfilename=""
+ extractto="$(BaseDir)libs\"
+ />
+ </Target>
+
+ <ItemDefinitionGroup>
+ <ClCompile>
+ <AdditionalIncludeDirectories>$(libjpegLibDir)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ </ClCompile>
+ <Link>
+ <AdditionalLibraryDirectories>$(libjpegLibDir)\binaries\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalDependencies>libjpeg.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ </ItemDefinitionGroup>
+</Project>