From 7403d6272538de8a2af598caa0da2e2a5d1d4186 Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Sat, 7 May 2022 20:16:32 +0100 Subject: [PATCH 1/2] Don't export vorbisenc functions from vorbis.dll on Windows This matches the behaviour on other platforms, as well as the behaviour with MinGW autotools builds, and reduces the size of the resulting DLL significantly. Co-authored-by: evpobr --- lib/CMakeLists.txt | 4 ---- win32/vorbis.def | 7 ------- 2 files changed, 11 deletions(-) diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index daa7d7153..b9cabd8de 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -57,10 +57,6 @@ set(VORBISENC_SOURCES vorbisenc.c ) -if(WIN32) - list(APPEND VORBIS_SOURCES vorbisenc.c) -endif() - if(WIN32) list(APPEND VORBIS_SOURCES ../win32/vorbis.def) list(APPEND VORBISENC_SOURCES ../win32/vorbisenc.def) diff --git a/win32/vorbis.def b/win32/vorbis.def index 884f8f023..1310b6c24 100644 --- a/win32/vorbis.def +++ b/win32/vorbis.def @@ -48,11 +48,4 @@ vorbis_synthesis_idheader ; vorbis_window ;_analysis_output_always -vorbis_encode_init -vorbis_encode_setup_managed -vorbis_encode_setup_vbr -vorbis_encode_init_vbr -vorbis_encode_setup_init -vorbis_encode_ctl -; vorbis_version_string From 4282ef991c25253d38511eafd1e637cb8c9b6a24 Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Sat, 7 May 2022 22:32:06 +0100 Subject: [PATCH 2/2] Add libvorbisenc to the VS2010 project files --- .../libvorbis/libvorbis_dynamic.vcxproj | 4 +- .../VS2010/libvorbis/libvorbis_static.vcxproj | 2 - .../libvorbisenc/libvorbisenc_dynamic.vcxproj | 206 ++++++++++++++++++ .../libvorbisenc/libvorbisenc_static.vcxproj | 168 ++++++++++++++ .../libvorbisfile_dynamic.vcxproj | 5 +- .../libvorbisfile_static.vcxproj | 3 + win32/VS2010/vorbis_dynamic.sln | 10 + win32/VS2010/vorbis_static.sln | 10 + .../vorbisdec/vorbisdec_dynamic.vcxproj | 2 +- .../VS2010/vorbisdec/vorbisdec_static.vcxproj | 2 +- .../vorbisenc/vorbisenc_dynamic.vcxproj | 5 +- .../VS2010/vorbisenc/vorbisenc_static.vcxproj | 5 +- 12 files changed, 412 insertions(+), 10 deletions(-) create mode 100644 win32/VS2010/libvorbisenc/libvorbisenc_dynamic.vcxproj create mode 100644 win32/VS2010/libvorbisenc/libvorbisenc_static.vcxproj diff --git a/win32/VS2010/libvorbis/libvorbis_dynamic.vcxproj b/win32/VS2010/libvorbis/libvorbis_dynamic.vcxproj index c806a53e8..9af3e7470 100644 --- a/win32/VS2010/libvorbis/libvorbis_dynamic.vcxproj +++ b/win32/VS2010/libvorbis/libvorbis_dynamic.vcxproj @@ -230,7 +230,6 @@ - @@ -276,11 +275,10 @@ - - + \ No newline at end of file diff --git a/win32/VS2010/libvorbis/libvorbis_static.vcxproj b/win32/VS2010/libvorbis/libvorbis_static.vcxproj index 18a1b151f..29a553993 100644 --- a/win32/VS2010/libvorbis/libvorbis_static.vcxproj +++ b/win32/VS2010/libvorbis/libvorbis_static.vcxproj @@ -179,7 +179,6 @@ - @@ -225,7 +224,6 @@ - diff --git a/win32/VS2010/libvorbisenc/libvorbisenc_dynamic.vcxproj b/win32/VS2010/libvorbisenc/libvorbisenc_dynamic.vcxproj new file mode 100644 index 000000000..506e6e131 --- /dev/null +++ b/win32/VS2010/libvorbisenc/libvorbisenc_dynamic.vcxproj @@ -0,0 +1,206 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + libvorbisenc + {fe83f3a3-6261-4e5d-8b2e-2295f255a2da} + libvorbisenc + Win32Proj + + + + DynamicLibrary + Unicode + + + DynamicLibrary + Unicode + + + DynamicLibrary + Unicode + + + DynamicLibrary + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + Disabled + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + Cdecl + + + libogg.lib;libvorbis.lib;%(AdditionalDependencies) + $(OutDir)libvorbisenc.dll + ..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories) + ..\..\vorbisenc.def + true + $(OutDir)libvorbisenc.pdb + Windows + $(OutDir)libvorbisenc.lib + MachineX86 + + + + + X64 + + + Disabled + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + ProgramDatabase + Cdecl + + + libogg.lib;libvorbis.lib;%(AdditionalDependencies) + $(OutDir)libvorbisenc.dll + ..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories) + ..\..\vorbisenc.def + true + $(OutDir)libvorbisenc.pdb + Windows + $(OutDir)libvorbisenc.lib + MachineX64 + + + + + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + Cdecl + + + libogg.lib;libvorbis.lib;%(AdditionalDependencies) + $(OutDir)libvorbisenc.dll + ..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories) + ..\..\vorbisenc.def + false + Windows + true + true + $(OutDir)libvorbisenc.lib + MachineX86 + + + + + X64 + + + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + Cdecl + + + libogg.lib;libvorbis.lib;%(AdditionalDependencies) + $(OutDir)libvorbisenc.dll + ..\..\..\..\libogg\win32\VS2010\$(Platform)\$(Configuration);..\$(Platform)\$(Configuration);%(AdditionalLibraryDirectories) + ..\..\vorbisenc.def + false + Windows + true + true + $(OutDir)libvorbisenc.lib + MachineX64 + + + + + + + + + + + {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + + + + + + + + \ No newline at end of file diff --git a/win32/VS2010/libvorbisenc/libvorbisenc_static.vcxproj b/win32/VS2010/libvorbisenc/libvorbisenc_static.vcxproj new file mode 100644 index 000000000..f6f913e8a --- /dev/null +++ b/win32/VS2010/libvorbisenc/libvorbisenc_static.vcxproj @@ -0,0 +1,168 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + libvorbisenc + {ED701F82-1475-42EB-A738-86C3B275A469} + libvorbisenc + Win32Proj + + + + StaticLibrary + Unicode + + + StaticLibrary + Unicode + + + StaticLibrary + Unicode + + + StaticLibrary + Unicode + + + + + + + + + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + + + + Disabled + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + EditAndContinue + Cdecl + + + $(OutDir)$(ProjectName)_static.lib + + + + + X64 + + + Disabled + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + + Level3 + ProgramDatabase + Cdecl + + + $(OutDir)$(ProjectName)_static.lib + + + + + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + Cdecl + + + $(OutDir)$(ProjectName)_static.lib + + + + + X64 + + + ..\..\..\include;..\..\..\..\libogg\include;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBVORBISENC_EXPORTS;%(PreprocessorDefinitions) + MultiThreadedDLL + + + Level3 + ProgramDatabase + Cdecl + + + $(OutDir)$(ProjectName)_static.lib + + + + + + + + + + + {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + + + + + + + + \ No newline at end of file diff --git a/win32/VS2010/libvorbisfile/libvorbisfile_dynamic.vcxproj b/win32/VS2010/libvorbisfile/libvorbisfile_dynamic.vcxproj index 503d609eb..2fbc66c5e 100644 --- a/win32/VS2010/libvorbisfile/libvorbisfile_dynamic.vcxproj +++ b/win32/VS2010/libvorbisfile/libvorbisfile_dynamic.vcxproj @@ -197,7 +197,10 @@ {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + + - + \ No newline at end of file diff --git a/win32/VS2010/libvorbisfile/libvorbisfile_static.vcxproj b/win32/VS2010/libvorbisfile/libvorbisfile_static.vcxproj index c78f28847..df65ca197 100644 --- a/win32/VS2010/libvorbisfile/libvorbisfile_static.vcxproj +++ b/win32/VS2010/libvorbisfile/libvorbisfile_static.vcxproj @@ -159,6 +159,9 @@ {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + + diff --git a/win32/VS2010/vorbis_dynamic.sln b/win32/VS2010/vorbis_dynamic.sln index cae06d9da..53107e7e4 100644 --- a/win32/VS2010/vorbis_dynamic.sln +++ b/win32/VS2010/vorbis_dynamic.sln @@ -9,6 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vorbisdec", "vorbisdec\vorb EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vorbisenc", "vorbisenc\vorbisenc_dynamic.vcxproj", "{E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbisenc", "libvorbisenc\libvorbisenc_dynamic.vcxproj", "{FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -49,6 +51,14 @@ Global {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|Win32.Build.0 = Release|Win32 {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|x64.ActiveCfg = Release|x64 {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|x64.Build.0 = Release|x64 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Debug|Win32.ActiveCfg = Debug|Win32 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Debug|Win32.Build.0 = Debug|Win32 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Debug|x64.ActiveCfg = Debug|x64 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Debug|x64.Build.0 = Debug|x64 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Release|Win32.ActiveCfg = Release|Win32 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Release|Win32.Build.0 = Release|Win32 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Release|x64.ActiveCfg = Release|x64 + {FE83F3A3-6261-4E5D-8B2E-2295F255A2DA}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/win32/VS2010/vorbis_static.sln b/win32/VS2010/vorbis_static.sln index 7e1729aab..0c486e1a7 100644 --- a/win32/VS2010/vorbis_static.sln +++ b/win32/VS2010/vorbis_static.sln @@ -9,6 +9,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vorbisdec", "vorbisdec\vorb EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vorbisenc", "vorbisenc\vorbisenc_static.vcxproj", "{E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libvorbisenc", "libvorbisenc\libvorbisenc_static.vcxproj", "{ED701F82-1475-42EB-A738-86C3B275A469}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -49,6 +51,14 @@ Global {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|Win32.Build.0 = Release|Win32 {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|x64.ActiveCfg = Release|x64 {E48B6A8B-F7FE-4DA8-8248-E64DBAC4F56C}.Release|x64.Build.0 = Release|x64 + {ED701F82-1475-42EB-A738-86C3B275A469}.Debug|Win32.ActiveCfg = Debug|Win32 + {ED701F82-1475-42EB-A738-86C3B275A469}.Debug|Win32.Build.0 = Debug|Win32 + {ED701F82-1475-42EB-A738-86C3B275A469}.Debug|x64.ActiveCfg = Debug|x64 + {ED701F82-1475-42EB-A738-86C3B275A469}.Debug|x64.Build.0 = Debug|x64 + {ED701F82-1475-42EB-A738-86C3B275A469}.Release|Win32.ActiveCfg = Release|Win32 + {ED701F82-1475-42EB-A738-86C3B275A469}.Release|Win32.Build.0 = Release|Win32 + {ED701F82-1475-42EB-A738-86C3B275A469}.Release|x64.ActiveCfg = Release|x64 + {ED701F82-1475-42EB-A738-86C3B275A469}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/win32/VS2010/vorbisdec/vorbisdec_dynamic.vcxproj b/win32/VS2010/vorbisdec/vorbisdec_dynamic.vcxproj index 70097a3d1..f89a1e888 100644 --- a/win32/VS2010/vorbisdec/vorbisdec_dynamic.vcxproj +++ b/win32/VS2010/vorbisdec/vorbisdec_dynamic.vcxproj @@ -210,4 +210,4 @@ - + \ No newline at end of file diff --git a/win32/VS2010/vorbisdec/vorbisdec_static.vcxproj b/win32/VS2010/vorbisdec/vorbisdec_static.vcxproj index 753a6b619..b6456676f 100644 --- a/win32/VS2010/vorbisdec/vorbisdec_static.vcxproj +++ b/win32/VS2010/vorbisdec/vorbisdec_static.vcxproj @@ -210,4 +210,4 @@ - + \ No newline at end of file diff --git a/win32/VS2010/vorbisenc/vorbisenc_dynamic.vcxproj b/win32/VS2010/vorbisenc/vorbisenc_dynamic.vcxproj index 115f8b849..2f2c4c3f9 100644 --- a/win32/VS2010/vorbisenc/vorbisenc_dynamic.vcxproj +++ b/win32/VS2010/vorbisenc/vorbisenc_dynamic.vcxproj @@ -210,8 +210,11 @@ {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + {fe83f3a3-6261-4e5d-8b2e-2295f255a2da} + - + \ No newline at end of file diff --git a/win32/VS2010/vorbisenc/vorbisenc_static.vcxproj b/win32/VS2010/vorbisenc/vorbisenc_static.vcxproj index 065ed5680..8355b0848 100644 --- a/win32/VS2010/vorbisenc/vorbisenc_static.vcxproj +++ b/win32/VS2010/vorbisenc/vorbisenc_static.vcxproj @@ -210,8 +210,11 @@ {3a214e06-b95e-4d61-a291-1f8df2ec10fd} + + {ED701F82-1475-42EB-A738-86C3B275A469} + - + \ No newline at end of file