diff options
Diffstat (limited to 'scons/gallium.py')
| -rw-r--r-- | scons/gallium.py | 26 | 
1 files changed, 19 insertions, 7 deletions
| diff --git a/scons/gallium.py b/scons/gallium.py index bf6172b4d7..483bd5d29e 100644 --- a/scons/gallium.py +++ b/scons/gallium.py @@ -263,7 +263,11 @@ def generate(env):          if msvc and env['toolchain'] != 'winddk':              cppdefines += [                  'VC_EXTRALEAN', +                '_USE_MATH_DEFINES', +                '_CRT_SECURE_NO_WARNINGS',                  '_CRT_SECURE_NO_DEPRECATE', +                '_SCL_SECURE_NO_WARNINGS', +                '_SCL_SECURE_NO_DEPRECATE',              ]          if debug:              cppdefines += ['_DEBUG'] @@ -334,14 +338,27 @@ def generate(env):          else:              ccflags += ['-O3', '-g3']          if env['profile']: -            ccflags += ['-pg'] +            # See http://code.google.com/p/jrfonseca/wiki/Gprof2Dot#Which_options_should_I_pass_to_gcc_when_compiling_for_profiling? +            ccflags += [ +                '-fno-omit-frame-pointer', +                '-fno-optimize-sibling-calls', +            ]          if env['machine'] == 'x86':              ccflags += [                  '-m32',                  #'-march=pentium4', -                '-mmmx', '-msse', '-msse2', # enable SIMD intrinsics                  #'-mfpmath=sse',              ] +            if platform != 'windows': +                # XXX: -mstackrealign causes stack corruption on MinGW. Ditto +                # for -mincoming-stack-boundary=2.  Still enable it on other +                # platforms for now, but we can't rely on it for cross platform +                # code. We have to use __attribute__((force_align_arg_pointer)) +                # instead. +                ccflags += [ +                    '-mmmx', '-msse', '-msse2', # enable SIMD intrinsics +                    '-mstackrealign', # ensure stack is aligned +                ]          if env['machine'] == 'x86_64':              ccflags += ['-m64']          # See also: @@ -375,11 +392,6 @@ def generate(env):                  '/O2', # optimize for speed                  #'/fp:fast', # fast floating point               ] -        if env['profile']: -            ccflags += [ -                '/Gh', # enable _penter hook function -                '/GH', # enable _pexit hook function -            ]          ccflags += [              '/W3', # warning level              #'/Wp64', # enable 64 bit porting warnings | 
