Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1089)

Unified Diff: build/common.gypi

Issue 115044: Add a variable and settings for -Dtarget_arch=ARM (per rtc). (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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"', {
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698