@@ -654,28 +654,32 @@ def GetCflags(self, configname, arch=None):
654
654
self ._WarnUnimplemented ("MACH_O_TYPE" )
655
655
self ._WarnUnimplemented ("PRODUCT_TYPE" )
656
656
657
- if arch is not None :
658
- archs = [arch ]
659
- else :
660
- assert self .configname
661
- archs = self .GetActiveArchs (self .configname )
662
- if len (archs ) != 1 :
663
- # TODO: Supporting fat binaries will be annoying.
664
- self ._WarnUnimplemented ("ARCHS" )
665
- archs = ["i386" ]
666
- cflags .append ("-arch " + archs [0 ])
667
-
668
- if archs [0 ] in ("i386" , "x86_64" ):
669
- if self ._Test ("GCC_ENABLE_SSE3_EXTENSIONS" , "YES" , default = "NO" ):
670
- cflags .append ("-msse3" )
671
- if self ._Test (
672
- "GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS" , "YES" , default = "NO"
673
- ):
674
- cflags .append ("-mssse3" ) # Note 3rd 's'.
675
- if self ._Test ("GCC_ENABLE_SSE41_EXTENSIONS" , "YES" , default = "NO" ):
676
- cflags .append ("-msse4.1" )
677
- if self ._Test ("GCC_ENABLE_SSE42_EXTENSIONS" , "YES" , default = "NO" ):
678
- cflags .append ("-msse4.2" )
657
+ # If GYP_CROSSCOMPILE (--cross-compiling), disable architecture-specific
658
+ # additions and assume these will be provided as required via CC_host,
659
+ # CXX_host, CC_target and CXX_target.
660
+ if not gyp .common .CrossCompileRequested ():
661
+ if arch is not None :
662
+ archs = [arch ]
663
+ else :
664
+ assert self .configname
665
+ archs = self .GetActiveArchs (self .configname )
666
+ if len (archs ) != 1 :
667
+ # TODO: Supporting fat binaries will be annoying.
668
+ self ._WarnUnimplemented ("ARCHS" )
669
+ archs = ["i386" ]
670
+ cflags .append ("-arch " + archs [0 ])
671
+
672
+ if archs [0 ] in ("i386" , "x86_64" ):
673
+ if self ._Test ("GCC_ENABLE_SSE3_EXTENSIONS" , "YES" , default = "NO" ):
674
+ cflags .append ("-msse3" )
675
+ if self ._Test (
676
+ "GCC_ENABLE_SUPPLEMENTAL_SSE3_INSTRUCTIONS" , "YES" , default = "NO"
677
+ ):
678
+ cflags .append ("-mssse3" ) # Note 3rd 's'.
679
+ if self ._Test ("GCC_ENABLE_SSE41_EXTENSIONS" , "YES" , default = "NO" ):
680
+ cflags .append ("-msse4.1" )
681
+ if self ._Test ("GCC_ENABLE_SSE42_EXTENSIONS" , "YES" , default = "NO" ):
682
+ cflags .append ("-msse4.2" )
679
683
680
684
cflags += self ._Settings ().get ("WARNING_CFLAGS" , [])
681
685
@@ -938,16 +942,17 @@ def GetLdflags(self, configname, product_dir, gyp_to_build_path, arch=None):
938
942
+ gyp_to_build_path (self ._Settings ()["ORDER_FILE" ])
939
943
)
940
944
941
- if arch is not None :
942
- archs = [arch ]
943
- else :
944
- assert self .configname
945
- archs = self .GetActiveArchs (self .configname )
946
- if len (archs ) != 1 :
947
- # TODO: Supporting fat binaries will be annoying.
948
- self ._WarnUnimplemented ("ARCHS" )
949
- archs = ["i386" ]
950
- ldflags .append ("-arch " + archs [0 ])
945
+ if not gyp .common .CrossCompileRequested ():
946
+ if arch is not None :
947
+ archs = [arch ]
948
+ else :
949
+ assert self .configname
950
+ archs = self .GetActiveArchs (self .configname )
951
+ if len (archs ) != 1 :
952
+ # TODO: Supporting fat binaries will be annoying.
953
+ self ._WarnUnimplemented ("ARCHS" )
954
+ archs = ["i386" ]
955
+ ldflags .append ("-arch " + archs [0 ])
951
956
952
957
# Xcode adds the product directory by default.
953
958
# Rewrite -L. to -L./ to work around http://www.openradar.me/25313838
0 commit comments