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')