Chromium Code Reviews| Index: build/common.gypi |
| =================================================================== |
| --- build/common.gypi (revision 15410) |
| +++ build/common.gypi (working copy) |
| @@ -49,9 +49,15 @@ |
| # Yes(1) means include release.vsprops. |
| # Once all vsprops settings are migrated into gyp, this can go away. |
| 'msvs_use_common_release%': 1, |
| + |
| + # The architecture that we're building on. |
| + 'target_arch%': 'IA32', |
|
Mark Mentovai
2009/05/06 21:08:27
I would prefer not using caps on the right-hand si
sgk
2009/05/06 22:38:08
Done.
|
| }, |
| 'target_defaults': { |
| 'conditions': [ |
| + ['target_arch=="ARM"', { |
| + 'defines': ['__ARMEL__'], |
|
Dean McNamee
2009/05/07 15:32:01
Why are we defining this? It should be defined by
|
| + }], |
| ['branding=="Chrome"', { |
| 'defines': ['GOOGLE_CHROME_BUILD'], |
| }, { # else: branding!="Chrome" |
| @@ -137,55 +143,18 @@ |
| }, |
| }, |
| 'conditions': [ |
| - [ 'OS=="linux"', { |
| + ['OS=="linux"', { |
| 'target_defaults': { |
| - 'asflags': [ |
| - # Needed so that libs with .s files (e.g. libicudata.a) |
| - # are compatible with the general 32-bit-ness. |
| - '-32', |
| - ], |
| # Enable -Werror by default, but put it in a variable so it can |
| # be disabled in ~/.gyp/include.gypi on the valgrind builders. |
| 'variables': { |
| 'werror%': '-Werror', |
| }, |
| - # All floating-point computations on x87 happens in 80-bit |
| - # precision. Because the C and C++ language standards allow |
| - # the compiler to keep the floating-point values in higher |
| - # precision than what's specified in the source and doing so |
| - # is more efficient than constantly rounding up to 64-bit or |
| - # 32-bit precision as specified in the source, the compiler, |
| - # especially in the optimized mode, tries very hard to keep |
| - # values in x87 floating-point stack (in 80-bit precision) |
| - # as long as possible. This has important side effects, that |
| - # the real value used in computation may change depending on |
| - # how the compiler did the optimization - that is, the value |
| - # kept in 80-bit is different than the value rounded down to |
| - # 64-bit or 32-bit. There are possible compiler options to make |
| - # this behavior consistent (e.g. -ffloat-store would keep all |
| - # floating-values in the memory, thus force them to be rounded |
| - # to its original precision) but they have significant runtime |
| - # performance penalty. |
| - # |
| - # -mfpmath=sse -msse2 makes the compiler use SSE instructions |
| - # which keep floating-point values in SSE registers in its |
| - # native precision (32-bit for single precision, and 64-bit for |
| - # double precision values). This means the floating-point value |
| - # used during computation does not change depending on how the |
| - # compiler optimized the code, since the value is always kept |
| - # in its specified precision. |
| 'cflags': [ |
| - '-m32', |
| - '-pthread', |
| - '-march=pentium4', |
| - '-fno-exceptions', |
| - '-msse2', |
| - '-mfpmath=sse', |
| - '-Wall', |
| - '<(werror)', # See note above about the werror variable. |
| + '<(werror)', # See note above about the werror variable. |
| + '-pthread', |
| ], |
| 'ldflags': [ |
| - '-m32', |
| '-pthread', |
| ], |
| 'scons_variable_settings': { |
| @@ -288,6 +257,56 @@ |
| 'cflags': ['-g'], |
| }, |
| }, |
| + 'conditions': [ |
| + [ 'target_arch=="ARM"', { |
| + 'cflags': [ |
| + '-fno-exceptions', |
| + '-Wall', |
| + ], |
| + }, { # else: target_arch != ARM |
| + 'asflags': [ |
| + # Needed so that libs with .s files (e.g. libicudata.a) |
| + # are compatible with the general 32-bit-ness. |
| + '-32', |
| + ], |
| + # All floating-point computations on x87 happens in 80-bit |
| + # precision. Because the C and C++ language standards allow |
| + # the compiler to keep the floating-point values in higher |
| + # precision than what's specified in the source and doing so |
| + # is more efficient than constantly rounding up to 64-bit or |
| + # 32-bit precision as specified in the source, the compiler, |
| + # especially in the optimized mode, tries very hard to keep |
| + # values in x87 floating-point stack (in 80-bit precision) |
| + # as long as possible. This has important side effects, that |
| + # the real value used in computation may change depending on |
| + # how the compiler did the optimization - that is, the value |
| + # kept in 80-bit is different than the value rounded down to |
| + # 64-bit or 32-bit. There are possible compiler options to make |
| + # this behavior consistent (e.g. -ffloat-store would keep all |
| + # floating-values in the memory, thus force them to be rounded |
| + # to its original precision) but they have significant runtime |
| + # performance penalty. |
| + # |
| + # -mfpmath=sse -msse2 makes the compiler use SSE instructions |
| + # which keep floating-point values in SSE registers in its |
| + # native precision (32-bit for single precision, and 64-bit for |
| + # double precision values). This means the floating-point value |
| + # used during computation does not change depending on how the |
| + # compiler optimized the code, since the value is always kept |
| + # in its specified precision. |
| + 'cflags': [ |
| + '-m32', |
| + '-march=pentium4', |
| + '-fno-exceptions', |
| + '-msse2', |
| + '-mfpmath=sse', |
| + '-Wall', |
| + ], |
| + 'ldflags': [ |
| + '-m32', |
| + ], |
| + }], |
| + ], |
| }, |
| }], |
| ['OS=="mac"', { |