AMBuildScript
changeset 3261 e4359292e59a
parent 3180 61db674548aa
child 3266 9f60b6ea9c95
     1.1 --- a/AMBuildScript	Sun Apr 17 16:12:45 2011 -0400
     1.2 +++ b/AMBuildScript	Sat Apr 23 21:53:53 2011 -0500
     1.3 @@ -69,15 +69,18 @@
     1.4  
     1.5  			#Set up defines
     1.6  			cxx = self.compiler.cxx
     1.7 -			if isinstance(cxx, Cpp.GCC):
     1.8 -				self.vendor = 'gcc'
     1.9 +			if isinstance(cxx, Cpp.CompatGCC):
    1.10 +				if isinstance(cxx, Cpp.GCC):
    1.11 +					self.vendor = 'gcc'
    1.12 +				elif isinstance(cxx, Cpp.Clang):
    1.13 +					self.vendor = 'clang'
    1.14  				self.compiler.AddToListVar('CDEFINES', 'stricmp=strcasecmp')
    1.15  				self.compiler.AddToListVar('CDEFINES', '_stricmp=strcasecmp')
    1.16  				self.compiler.AddToListVar('CDEFINES', '_snprintf=snprintf')
    1.17  				self.compiler.AddToListVar('CDEFINES', '_vsnprintf=vsnprintf')
    1.18  				self.compiler.AddToListVar('CFLAGS', '-pipe')
    1.19  				self.compiler.AddToListVar('CFLAGS', '-fno-strict-aliasing')
    1.20 -				if cxx.majorVersion >= 4:
    1.21 +				if (self.vendor == 'gcc' and cxx.majorVersion >= 4) or self.vendor == 'clang':
    1.22  					self.compiler.AddToListVar('CFLAGS', '-fvisibility=hidden')
    1.23  					self.compiler.AddToListVar('CXXFLAGS', '-fvisibility-inlines-hidden')
    1.24  				self.compiler.AddToListVar('CFLAGS', '-Wall')
    1.25 @@ -85,16 +88,18 @@
    1.26  				self.compiler.AddToListVar('CFLAGS', '-Wno-uninitialized')
    1.27  				self.compiler.AddToListVar('CFLAGS', '-Wno-unused')
    1.28  				self.compiler.AddToListVar('CFLAGS', '-Wno-switch')
    1.29 -				self.compiler.AddToListVar('CFLAGS', '-mfpmath=sse')
    1.30  				self.compiler.AddToListVar('CFLAGS', '-msse')
    1.31  				self.compiler.AddToListVar('CFLAGS', '-m32')
    1.32  				self.compiler.AddToListVar('POSTLINKFLAGS', '-m32')
    1.33 -				self.compiler.AddToListVar('CFLAGS', '-static-libgcc')
    1.34  				self.compiler.AddToListVar('CXXFLAGS', '-fno-exceptions')
    1.35  				self.compiler.AddToListVar('CXXFLAGS', '-fno-rtti')
    1.36  				self.compiler.AddToListVar('CXXFLAGS', '-fno-threadsafe-statics')
    1.37  				self.compiler.AddToListVar('CXXFLAGS', '-Wno-non-virtual-dtor')
    1.38 +				self.compiler.AddToListVar('CXXFLAGS', '-Wno-overloaded-virtual')
    1.39  				self.compiler.AddToListVar('CDEFINES', 'HAVE_STDINT_H')
    1.40 +				if self.vendor == 'gcc':
    1.41 +					self.compiler.AddToListVar('CFLAGS', '-mfpmath=sse')
    1.42 +					self.compiler.AddToListVar('CFLAGS', '-static-libgcc')
    1.43  			elif isinstance(cxx, Cpp.MSVC):
    1.44  				self.vendor = 'msvc'
    1.45  				if AMBuild.options.debug == '1':
    1.46 @@ -130,7 +135,7 @@
    1.47  			#Optimization
    1.48  			if AMBuild.options.opt == '1':
    1.49  				self.compiler.AddToListVar('CDEFINES', 'NDEBUG')
    1.50 -				if self.vendor == 'gcc':
    1.51 +				if self.vendor == 'gcc' or self.vendor == 'clang':
    1.52  					self.compiler.AddToListVar('CFLAGS', '-O3')
    1.53  				elif self.vendor == 'msvc':
    1.54  					self.compiler.AddToListVar('CFLAGS', '/Ox')
    1.55 @@ -141,7 +146,7 @@
    1.56  			if AMBuild.options.debug == '1':
    1.57  				self.compiler.AddToListVar('CDEFINES', 'DEBUG')
    1.58  				self.compiler.AddToListVar('CDEFINES', '_DEBUG')
    1.59 -				if self.vendor == 'gcc':
    1.60 +				if self.vendor == 'gcc' or self.vendor == 'clang':
    1.61  					self.compiler.AddToListVar('CFLAGS', '-g3')
    1.62  				elif self.vendor == 'msvc':
    1.63  					self.compiler.AddToListVar('CFLAGS', '/Od')