Chromium Code Reviews| Index: build/common.gypi | 
| diff --git a/build/common.gypi b/build/common.gypi | 
| index d39128b1e23488a54a4aa840dd5caf5af1b20df6..908d4f72c25234aa3ca2dc0fb2898e5f01b15c78 100644 | 
| --- a/build/common.gypi | 
| +++ b/build/common.gypi | 
| @@ -211,11 +211,11 @@ | 
| # Python version. | 
| 'python_ver%': '2.6', | 
| - # Set ARM-v7 compilation flags | 
| - 'armv7%': 0, | 
| + # Set ARM architecture version. | 
| + 'arm_version%': 7, | 
| 
 
Torne
2013/04/11 13:04:22
This changes the default; is this intentional?
 
Fredrik Öhrn
2013/04/11 13:42:19
Maybe I misunderstood your comments on the previou
 
Torne
2013/04/11 13:55:00
That envsetup.sh script is specifically for Androi
 
Fredrik Öhrn
2013/04/11 15:18:46
Well, I could perhaps add an arm_version 0 default
 
 | 
| - # Set Neon compilation flags (only meaningful if armv7==1). | 
| - 'arm_neon%': 1, | 
| + # Set Neon compilation flags. | 
| + 'arm_neon%': 0, | 
| 
 
Torne
2013/04/11 13:04:22
Same here.
 
Fredrik Öhrn
2013/04/11 15:18:46
I have to keep arm_neon disabled when changing the
 
Fredrik Öhrn
2013/04/11 15:37:13
Turns out libvpx throws some handcrafted armv6 ass
 
 | 
| # The system root for cross-compiles. Default: none. | 
| 'sysroot%': '', | 
| @@ -610,7 +610,7 @@ | 
| ['OS=="linux" and target_arch=="arm" and chromeos==0', { | 
| # Set some defaults for arm/linux chrome builds | 
| - 'armv7%': 1, | 
| + 'arm_version%': 7, | 
| 
 
Torne
2013/04/11 13:04:22
This is setting it to the same value as above; if
 
 | 
| 'linux_breakpad%': 0, | 
| 'linux_use_tcmalloc%': 0, | 
| # sysroot needs to be an absolute path otherwise it generates | 
| @@ -709,7 +709,7 @@ | 
| 'fastbuild%': '<(fastbuild)', | 
| 'dcheck_always_on%': '<(dcheck_always_on)', | 
| 'python_ver%': '<(python_ver)', | 
| - 'armv7%': '<(armv7)', | 
| + 'arm_version%': '<(arm_version)', | 
| 'arm_neon%': '<(arm_neon)', | 
| 'sysroot%': '<(sysroot)', | 
| 'system_libdir%': '<(system_libdir)', | 
| @@ -926,16 +926,6 @@ | 
| # Set to 1 to link against gsettings APIs instead of using dlopen(). | 
| 'linux_link_gsettings%': 0, | 
| - # Set Thumb compilation flags. | 
| - 'arm_thumb%': 0, | 
| - | 
| - # Set ARM fpu compilation flags (only meaningful if armv7==1 and | 
| - # arm_neon==0). | 
| - 'arm_fpu%': 'vfpv3', | 
| - | 
| - # Set ARM float abi compilation flag. | 
| - 'arm_float_abi%': 'softfp', | 
| - | 
| # Enable use of OpenMAX DL FFT routines. | 
| 'use_openmax_dl_fft%': '<(use_openmax_dl_fft)', | 
| @@ -1036,6 +1026,9 @@ | 
| 'windows_sdk_default_path': '<(DEPTH)/third_party/platformsdk_win8/files', | 
| 'directx_sdk_default_path': '<(DEPTH)/third_party/directxsdk/files', | 
| + # Backward compatibility only, use arm_version. | 
| + 'armv7': 0, | 
| 
 
Torne
2013/04/11 13:04:22
This shouldn't be necessary; this value will alway
 
Fredrik Öhrn
2013/04/11 13:42:19
I had to put it in or gyp would throw and undefine
 
 | 
| + | 
| # Whether we are using the rlz library or not. Platforms like Android send | 
| # rlz codes for searches but do not use the library. | 
| 'enable_rlz%': 0, | 
| @@ -1174,7 +1167,7 @@ | 
| }], | 
| ['target_arch=="arm"', { | 
| 'conditions': [ | 
| - ['armv7==0', { | 
| + ['arm_version<7', { | 
| 'android_app_abi%': 'armeabi', | 
| }, { | 
| 'android_app_abi%': 'armeabi-v7a', | 
| @@ -1593,6 +1586,54 @@ | 
| ['branding=="Chrome" and (OS=="win" or OS=="mac" or chromeos==1)', { | 
| 'enable_rlz%': 1, | 
| }], | 
| + | 
| + ['android_webview_build==1', { | 
| + # The WebView build gets its cpu-specific flags from the Android build system. | 
| + 'arm_arch%': '', | 
| + 'arm_tune%': '', | 
| + 'arm_fpu%': '', | 
| + 'arm_float_abi%': '', | 
| + 'arm_thumb%': 0, | 
| + }, { | 
| + 'conditions': [ | 
| 
 
Torne
2013/04/11 13:04:22
I generally prefer not to use nested conditions se
 
 | 
| + # Set default compiler flags depending on ARM version. | 
| + ['arm_version==5', { | 
| + # Flags suitable for Android emulator | 
| + 'arm_arch%': 'armv5te', | 
| + 'arm_tune%': 'xscale', | 
| + 'arm_fpu%': '', | 
| + 'arm_float_abi%': 'soft', | 
| + 'arm_thumb%': 0, | 
| + }], | 
| + ['arm_version==6', { | 
| + 'arm_arch%': 'armv6', | 
| + 'arm_tune%': '', | 
| + 'arm_fpu%': '', | 
| + 'arm_float_abi%': 'soft', | 
| + 'arm_thumb%': 0, | 
| + }], | 
| + ['arm_version==7', { | 
| + 'arm_arch%': 'armv7-a', | 
| + 'arm_tune%': 'cortex-a8', | 
| + 'conditions': [ | 
| + ['arm_neon==1', { | 
| + 'arm_fpu%': 'neon', | 
| + }, { | 
| + 'arm_fpu%': 'vfpv3-d16', | 
| + }], | 
| + ], | 
| + 'arm_float_abi%': 'softfp', | 
| + 'arm_thumb%': 1, | 
| + }], | 
| + ], | 
| + }], | 
| + | 
| + # Set armv7 for backward compatibility. | 
| + ['arm_version==7', { | 
| + 'armv7': 1, | 
| + }, { | 
| + 'armv7': 0, | 
| + }], | 
| ], | 
| # List of default apps to install in new profiles. The first list contains | 
| @@ -2793,25 +2834,31 @@ | 
| '-Wno-abi', | 
| ], | 
| 'conditions': [ | 
| - ['arm_thumb==1 and android_webview_build==0', { | 
| + ['arm_arch!=""', { | 
| 'cflags': [ | 
| - '-mthumb', | 
| - ] | 
| + '-march=<(arm_arch)', | 
| + ], | 
| }], | 
| - ['armv7==1 and android_webview_build==0', { | 
| + ['arm_tune!=""', { | 
| 'cflags': [ | 
| - '-march=armv7-a', | 
| - '-mtune=cortex-a8', | 
| - '-mfloat-abi=<(arm_float_abi)', | 
| + '-mtune=<(arm_tune)', | 
| ], | 
| - 'conditions': [ | 
| - ['arm_neon==1', { | 
| - 'cflags': [ '-mfpu=neon', ], | 
| - }, { | 
| - 'cflags': [ '-mfpu=<(arm_fpu)', ], | 
| - }], | 
| + }], | 
| + ['arm_fpu!=""', { | 
| + 'cflags': [ | 
| + '-mfpu=<(arm_fpu)', | 
| ], | 
| }], | 
| + ['arm_float_abi!=""', { | 
| + 'cflags': [ | 
| + '-mfloat-abi=<(arm_float_abi)', | 
| + ], | 
| + }], | 
| + ['arm_thumb==1', { | 
| + 'cflags': [ | 
| + '-mthumb', | 
| + ] | 
| + }], | 
| ['OS=="android"', { | 
| # Most of the following flags are derived from what Android | 
| # uses by default when building for arm, reference for which | 
| @@ -2837,23 +2884,9 @@ | 
| '-fuse-ld=gold', | 
| ], | 
| 'conditions': [ | 
| - ['arm_thumb==1 and android_webview_build==0', { | 
| + ['arm_thumb==1', { | 
| 'cflags': [ '-mthumb-interwork' ], | 
| }], | 
| - ['armv7==0 and android_webview_build==0', { | 
| - # Flags suitable for Android emulator | 
| 
 
Torne
2013/04/11 13:04:22
This block doesn't seem to have a replacement..
 
Fredrik Öhrn
2013/04/11 13:42:19
It's replaced by the arm_version==5 block on line
 
 | 
| - 'cflags': [ | 
| - '-march=armv5te', | 
| - '-mtune=xscale', | 
| - '-msoft-float', | 
| - ], | 
| - 'defines': [ | 
| - '__ARM_ARCH_5__', | 
| - '__ARM_ARCH_5T__', | 
| - '__ARM_ARCH_5E__', | 
| - '__ARM_ARCH_5TE__', | 
| - ], | 
| - }], | 
| ['profiling==1', { | 
| 'cflags': [ | 
| '-marm', # Probably reduntant, but recommend by "perf" docs. |