Kaydet (Commit) cd42e5f3 authored tarafından Michael Stahl's avatar Michael Stahl

fdo#82430: MSVC build: avoid using SSE2 instructions in some externals

Hopefully this should fix up the most important external libraries.

Change-Id: I744cb5a2ce7fafb10852059050cf24589d6ca400
üst 37c00bff
...@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\ ...@@ -20,6 +20,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,coinmp,\
external/coinmp/no-binaries.patch.1 \ external/coinmp/no-binaries.patch.1 \
external/coinmp/werror-format-security.patch.0 \ external/coinmp/werror-format-security.patch.0 \
external/coinmp/werror-undef.patch.0 \ external/coinmp/werror-undef.patch.0 \
external/coinmp/coinmp-msvc-disable-sse2.patch.1 \
$(if $(filter MSC,$(COM)),external/coinmp/windows.build.patch.1) \ $(if $(filter MSC,$(COM)),external/coinmp/windows.build.patch.1) \
$(if $(filter MACOSX,$(OS)),external/coinmp/macosx.build.patch.1) \ $(if $(filter MACOSX,$(OS)),external/coinmp/macosx.build.patch.1) \
$(if $(filter MSC,$(COM)),$(if $(filter 120,$(VCVER)),external/coinmp/coinmp-vs2013.patch.1)) \ $(if $(filter MSC,$(COM)),$(if $(filter 120,$(VCVER)),external/coinmp/coinmp-vs2013.patch.1)) \
......
--- coinmp/BuildTools/MSVisualStudio/v10/Release.props.orig 2014-10-02 14:22:21.497268171 +0200
+++ coinmp/BuildTools/MSVisualStudio/v10/Release.props 2014-10-02 14:22:30.193267497 +0200
@@ -6,6 +6,7 @@
<ItemDefinitionGroup>
<ClCompile>
<StringPooling>true</StringPooling>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup />
...@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,freetype,3)) ...@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,freetype,3))
$(eval $(call gb_UnpackedTarball_add_patches,freetype,\ $(eval $(call gb_UnpackedTarball_add_patches,freetype,\
external/freetype/freetype-2.4.8.patch \ external/freetype/freetype-2.4.8.patch \
external/freetype/freetype-msvc-disable-sse2.patch.1 \
)) ))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
--- freetype/builds/win32/vc2010/freetype.vcxproj.orig 2014-10-02 15:41:17.712900843 +0200
+++ freetype/builds/win32/vc2010/freetype.vcxproj 2014-10-02 15:41:59.059897637 +0200
@@ -105,6 +105,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -130,6 +131,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
@@ -155,6 +157,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Singlethreaded|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>..\..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
...@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,glew,\ ...@@ -21,6 +21,7 @@ $(eval $(call gb_UnpackedTarball_fix_end_of_line,glew,\
ifeq ($(OS)$(COM),WNTMSC) ifeq ($(OS)$(COM),WNTMSC)
$(eval $(call gb_UnpackedTarball_set_patchflags,glew,--binary)) $(eval $(call gb_UnpackedTarball_set_patchflags,glew,--binary))
$(eval $(call gb_UnpackedTarball_add_patches,glew,\ $(eval $(call gb_UnpackedTarball_add_patches,glew,\
external/glew/glew-msvc-disable-sse2.patch.1 \
external/glew/glew-fix-rc-error.patch.1 \ external/glew/glew-fix-rc-error.patch.1 \
external/glew/glew-vc2013-project.patch.1 \ external/glew/glew-vc2013-project.patch.1 \
)) ))
......
--- glew/build//vc10/common.props.orig 2014-10-02 15:06:57.027060664 +0200
+++ glew/build//vc10/common.props 2014-10-02 15:06:59.026060509 +0200
@@ -10,6 +10,7 @@
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(INCLUDE_DIR)</AdditionalIncludeDirectories>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
...@@ -22,7 +22,7 @@ ifeq ($(COM),MSC) ...@@ -22,7 +22,7 @@ ifeq ($(COM),MSC)
$(call gb_ExternalProject_get_state_target,icu,build) : $(call gb_ExternalProject_get_state_target,icu,build) :
$(call gb_ExternalProject_run,build,\ $(call gb_ExternalProject_run,build,\
export LIB="$(ILIB)" \ export LIB="$(ILIB)" \
&& CFLAGS="$(SOLARINC) $(gb_DEBUG_CFLAGS)" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$(SOLARINC) $(gb_DEBUG_CFLAGS)" \ && CFLAGS="-arch:SSE $(SOLARINC) $(gb_DEBUG_CFLAGS)" CPPFLAGS="$(SOLARINC)" CXXFLAGS="$(SOLARINC) $(gb_DEBUG_CFLAGS)" \
INSTALL=`cygpath -m /usr/bin/install` \ INSTALL=`cygpath -m /usr/bin/install` \
./runConfigureICU \ ./runConfigureICU \
$(if $(MSVC_USE_DEBUG_RUNTIME),--enable-debug --disable-release) \ $(if $(MSVC_USE_DEBUG_RUNTIME),--enable-debug --disable-release) \
......
...@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,lcms2,3)) ...@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_set_patchlevel,lcms2,3))
$(eval $(call gb_UnpackedTarball_add_patches,lcms2,\ $(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
external/lcms2/lcms2.patch \ external/lcms2/lcms2.patch \
external/lcms2/lcms2-2.4-windows.patch \ external/lcms2/lcms2-2.4-windows.patch \
external/lcms2/lcms2-msvc-disable-sse2.patch.1 \
external/lcms2/lcms2-vc2013-project.patch \ external/lcms2/lcms2-vc2013-project.patch \
external/lcms2/lcms2-config-guess.patch.0 \ external/lcms2/lcms2-config-guess.patch.0 \
)) ))
......
--- lcms2/Projects/VC2010/lcms2_DLL/lcms2_DLL.vcxproj.orig 2014-10-02 15:15:40.228020086 +0200
+++ lcms2/Projects/VC2010/lcms2_DLL/lcms2_DLL.vcxproj 2014-10-02 15:15:42.243019930 +0200
@@ -133,6 +133,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<Optimization>Full</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
...@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchflags,libgltf,--binary)) ...@@ -16,6 +16,7 @@ $(eval $(call gb_UnpackedTarball_set_patchflags,libgltf,--binary))
$(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1)) $(eval $(call gb_UnpackedTarball_set_patchlevel,libgltf,1))
$(eval $(call gb_UnpackedTarball_add_patches,libgltf,\ $(eval $(call gb_UnpackedTarball_add_patches,libgltf,\
external/libgltf/libgltf-msvc-disable-sse2.patch.1 \
)) ))
# vim: set noet sw=4 ts=4: # vim: set noet sw=4 ts=4:
--- libgltf/build/win32/libgltf.vcxproj.orig 2014-10-02 15:27:23.057965577 +0200
+++ libgltf/build/win32/libgltf.vcxproj 2014-10-02 15:27:25.845965361 +0200
@@ -90,6 +90,7 @@
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<Optimization>MaxSpeed</Optimization>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>..\..\inc;$(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
CFLAGS = $(CFLAGS) /D "HAVE_LZMA_H" CFLAGS = $(CFLAGS) /D "HAVE_LZMA_H"
!endif !endif
CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
+CFLAGS = $(CFLAGS) $(SOLARINC) +CFLAGS = $(CFLAGS) -arch:SSE $(SOLARINC)
# The linker and its options. # The linker and its options.
LD = link.exe LD = link.exe
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
CFLAGS = $(CFLAGS) /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H" CFLAGS = $(CFLAGS) /D "HAVE_STDIO_H" /D "HAVE_STDLIB_H"
CFLAGS = $(CFLAGS) /D "HAVE_STRING_H" /D "HAVE_CTYPE_H" CFLAGS = $(CFLAGS) /D "HAVE_STRING_H" /D "HAVE_CTYPE_H"
CFLAGS = $(CFLAGS) /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H" CFLAGS = $(CFLAGS) /D "HAVE_MALLOC_H" /D "HAVE_MEMORY_H"
+CFLAGS = $(CFLAGS) $(SOLARINC) -I$(WORKDIR)\UnpackedTarball\xml2\include -I$(WORKDIR)/UnpackedTarball/icu/source/i18n -I$(WORKDIR)/UnpackedTarball/icu/source/common +CFLAGS = $(CFLAGS) -arch:SSE $(SOLARINC) -I$(WORKDIR)\UnpackedTarball\xml2\include -I$(WORKDIR)/UnpackedTarball/icu/source/i18n -I$(WORKDIR)/UnpackedTarball/icu/source/common
+!if "$(MSVC_USE_DEBUG_RUNTIME)" != "" +!if "$(MSVC_USE_DEBUG_RUNTIME)" != ""
+CFLAGS = $(CFLAGS) /MDd +CFLAGS = $(CFLAGS) /MDd
+!endif +!endif
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /W3 $(CRUNTIME) /D "_REENTRANT" CFLAGS = /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /W3 $(CRUNTIME) /D "_REENTRANT"
CFLAGS = $(CFLAGS) /I$(BASEDIR) /I$(XSLT_SRCDIR) /I$(INCPREFIX) CFLAGS = $(CFLAGS) /I$(BASEDIR) /I$(XSLT_SRCDIR) /I$(INCPREFIX)
CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE
+CFLAGS = $(CFLAGS) $(SOLARINC) -I$(WORKDIR)\UnpackedTarball\xml2\include -I$(WORKDIR)/UnpackedTarball/icu/source/i18n -I$(WORKDIR)/UnpackedTarball/icu/source/common +CFLAGS = $(CFLAGS) -arch:SSE $(SOLARINC) -I$(WORKDIR)\UnpackedTarball\xml2\include -I$(WORKDIR)/UnpackedTarball/icu/source/i18n -I$(WORKDIR)/UnpackedTarball/icu/source/common
# The linker and its options. # The linker and its options.
LD = link.exe LD = link.exe
......
...@@ -32,7 +32,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalProject ...@@ -32,7 +32,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalProject
MOZ_MSVCVERSION=9 OS_TARGET=WIN95 \ MOZ_MSVCVERSION=9 OS_TARGET=WIN95 \
$(if $(filter X86_64,$(CPUNAME)),USE_64=1) \ $(if $(filter X86_64,$(CPUNAME)),USE_64=1) \
LIB="$(ILIB)" \ LIB="$(ILIB)" \
XCFLAGS="$(SOLARINC)" \ XCFLAGS="-arch:SSE $(SOLARINC)" \
$(MAKE) -j1 nss_build_all RC="rc.exe $(SOLARINC)" \ $(MAKE) -j1 nss_build_all RC="rc.exe $(SOLARINC)" \
NSINSTALL='$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py' \ NSINSTALL='$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py' \
,nss) ,nss)
......
...@@ -31,6 +31,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\ ...@@ -31,6 +31,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,python3,\
external/python3/python-3.3.3-msvc2012-winxp.patch.1 \ external/python3/python-3.3.3-msvc2012-winxp.patch.1 \
external/python3/python-3.3.5-pyexpat-symbols.patch.1 \ external/python3/python-3.3.5-pyexpat-symbols.patch.1 \
external/python3/python-3.3.5-vs2013.patch.1 \ external/python3/python-3.3.5-vs2013.patch.1 \
external/python3/python-msvc-disable-sse2.patch.1 \
external/python3/python-lsan.patch.0 \ external/python3/python-lsan.patch.0 \
)) ))
......
fdo#82430 disable SSE2 default of MSVC2012
--- python3/PCbuild/release.props.old 2014-10-01 23:47:33.348095403 +0200
+++ python3/PCbuild/release.props 2014-10-01 23:48:05.051092945 +0200
@@ -9,6 +9,7 @@
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment