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

Side by Side Diff: build/common.gypi

Issue 695333003: Use thumb versions of external libraries with ARMv7. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Review comment Created 6 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « build/android/setup.gyp ('k') | build/config/android/config.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # IMPORTANT: 5 # IMPORTANT:
6 # Please don't directly include this file if you are building via gyp_chromium, 6 # Please don't directly include this file if you are building via gyp_chromium,
7 # since gyp_chromium is automatically forcing its inclusion. 7 # since gyp_chromium is automatically forcing its inclusion.
8 { 8 {
9 # Variables expected to be overriden on the GYP command line (-D) or by 9 # Variables expected to be overriden on the GYP command line (-D) or by
10 # ~/.gyp/include.gypi. 10 # ~/.gyp/include.gypi.
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 # build system. 157 # build system.
158 'android_webview_build%': 0, 158 'android_webview_build%': 0,
159 159
160 # This is set when building the Android WebView in ninja for the 160 # This is set when building the Android WebView in ninja for the
161 # telemetry bot. 161 # telemetry bot.
162 'android_webview_telemetry_build%': 0, 162 'android_webview_telemetry_build%': 0,
163 163
164 # Set ARM architecture version. 164 # Set ARM architecture version.
165 'arm_version%': 7, 165 'arm_version%': 7,
166 166
167 # Use Thumb on ARMv7
168 'arm_thumb%':0,
169
167 # Use aurax11 for clipboard implementation. This is true on linux_aura. 170 # Use aurax11 for clipboard implementation. This is true on linux_aura.
168 'use_clipboard_aurax11%': 0, 171 'use_clipboard_aurax11%': 0,
169 172
170 # goma settings. 173 # goma settings.
171 # 1 to use goma. 174 # 1 to use goma.
172 # If no gomadir is set, it uses the default gomadir. 175 # If no gomadir is set, it uses the default gomadir.
173 'use_goma%': 0, 176 'use_goma%': 0,
174 'gomadir%': '', 177 'gomadir%': '',
175 178
176 # The system root for cross-compiles. Default: none. 179 # The system root for cross-compiles. Default: none.
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 'android_channel%': '<(android_channel)', 295 'android_channel%': '<(android_channel)',
293 'android_webview_build%': '<(android_webview_build)', 296 'android_webview_build%': '<(android_webview_build)',
294 'android_webview_telemetry_build%': '<(android_webview_telemetry_build)', 297 'android_webview_telemetry_build%': '<(android_webview_telemetry_build)',
295 'use_goma%': '<(use_goma)', 298 'use_goma%': '<(use_goma)',
296 'gomadir%': '<(gomadir)', 299 'gomadir%': '<(gomadir)',
297 'enable_app_list%': '<(enable_app_list)', 300 'enable_app_list%': '<(enable_app_list)',
298 'use_default_render_theme%': '<(use_default_render_theme)', 301 'use_default_render_theme%': '<(use_default_render_theme)',
299 'buildtype%': '<(buildtype)', 302 'buildtype%': '<(buildtype)',
300 'branding%': '<(branding)', 303 'branding%': '<(branding)',
301 'arm_version%': '<(arm_version)', 304 'arm_version%': '<(arm_version)',
305 'arm_thumb%': '<(arm_thumb)',
302 'sysroot%': '<(sysroot)', 306 'sysroot%': '<(sysroot)',
303 'chroot_cmd%': '<(chroot_cmd)', 307 'chroot_cmd%': '<(chroot_cmd)',
304 'system_libdir%': '<(system_libdir)', 308 'system_libdir%': '<(system_libdir)',
305 309
306 # Set to 1 to enable fast builds. Set to 2 for even faster builds 310 # Set to 1 to enable fast builds. Set to 2 for even faster builds
307 # (it disables debug info for fastest compilation - only for use 311 # (it disables debug info for fastest compilation - only for use
308 # on compile-only bots). 312 # on compile-only bots).
309 'fastbuild%': 0, 313 'fastbuild%': 0,
310 314
311 # Set to 1 to not store any build metadata, e.g. ifdef out all __DATE__ 315 # Set to 1 to not store any build metadata, e.g. ifdef out all __DATE__
(...skipping 1500 matching lines...) Expand 10 before | Expand all | Expand 10 after
1812 }], 1816 }],
1813 ['chromecast==1', { 1817 ['chromecast==1', {
1814 'enable_mpeg2ts_stream_parser%': 1, 1818 'enable_mpeg2ts_stream_parser%': 1,
1815 'ffmpeg_branding%': 'Chrome', 1819 'ffmpeg_branding%': 'Chrome',
1816 'ozone_platform_ozonex%': 1, 1820 'ozone_platform_ozonex%': 1,
1817 'use_playready%': 0, 1821 'use_playready%': 0,
1818 'conditions': [ 1822 'conditions': [
1819 ['target_arch=="arm"', { 1823 ['target_arch=="arm"', {
1820 'arm_arch%': '', 1824 'arm_arch%': '',
1821 'arm_tune%': 'cortex-a9', 1825 'arm_tune%': 'cortex-a9',
1822 'arm_thumb%': 1, 1826 'arm_thumb%': 1,
Nico 2014/11/03 18:03:53 Does this still work?
1823 'video_hole%': 1, 1827 'video_hole%': 1,
1824 }], 1828 }],
1825 ], 1829 ],
1826 }], 1830 }],
1827 ['android_webview_build==1', { 1831 ['android_webview_build==1', {
1828 # When building the WebView in the Android tree, jarjar will remap all 1832 # When building the WebView in the Android tree, jarjar will remap all
1829 # the class names, so the JNI generator needs to know this. 1833 # the class names, so the JNI generator needs to know this.
1830 'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt' , 1834 'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt' ,
1831 }], 1835 }],
1832 ['OS=="linux" and target_arch!="mipsel"', { 1836 ['OS=="linux" and target_arch!="mipsel"', {
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
2254 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', { 2258 ['branding=="Chrome" and (OS=="win" or OS=="mac" or OS=="ios" or chromeos= =1)', {
2255 'enable_rlz%': 1, 2259 'enable_rlz%': 1,
2256 }], 2260 }],
2257 2261
2258 # Set default compiler flags depending on ARM version. 2262 # Set default compiler flags depending on ARM version.
2259 ['arm_version==6 and android_webview_build==0', { 2263 ['arm_version==6 and android_webview_build==0', {
2260 'arm_arch%': 'armv6', 2264 'arm_arch%': 'armv6',
2261 'arm_tune%': '', 2265 'arm_tune%': '',
2262 'arm_fpu%': 'vfp', 2266 'arm_fpu%': 'vfp',
2263 'arm_float_abi%': 'softfp', 2267 'arm_float_abi%': 'softfp',
2264 'arm_thumb%': 0, 2268 'arm_thumb%': 0,
Nico 2014/11/03 18:03:54 Isn't all the arm_thumb stuff here now one scope t
Fabrice (no longer in Chrome) 2014/11/03 18:31:22 Blasted! You are right, gyp is confusing :/ The al
2265 }], 2269 }],
2266 ['arm_version==7 and android_webview_build==0', { 2270 ['arm_version==7 and android_webview_build==0', {
2267 'arm_arch%': 'armv7-a', 2271 'arm_arch%': 'armv7-a',
2268 'arm_tune%': 'generic-armv7-a', 2272 'arm_tune%': 'generic-armv7-a',
2269 'conditions': [ 2273 'conditions': [
2270 ['arm_neon==1', { 2274 ['arm_neon==1', {
2271 'arm_fpu%': 'neon', 2275 'arm_fpu%': 'neon',
2272 }, { 2276 }, {
2273 'arm_fpu%': 'vfpv3-d16', 2277 'arm_fpu%': 'vfpv3-d16',
2274 }], 2278 }],
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
2335 # Do not disable seccomp_bpf anywhere without talking to 2339 # Do not disable seccomp_bpf anywhere without talking to
2336 # security@chromium.org! 2340 # security@chromium.org!
2337 ['((OS=="linux" or OS=="android") and ' 2341 ['((OS=="linux" or OS=="android") and '
2338 '(target_arch=="ia32" or target_arch=="x64" or ' 2342 '(target_arch=="ia32" or target_arch=="x64" or '
2339 'target_arch=="arm" or target_arch=="mipsel" or ' 2343 'target_arch=="arm" or target_arch=="mipsel" or '
2340 'target_arch=="arm64"))', { 2344 'target_arch=="arm64"))', {
2341 'use_seccomp_bpf%': 1, 2345 'use_seccomp_bpf%': 1,
2342 }, { 2346 }, {
2343 'use_seccomp_bpf%': 0, 2347 'use_seccomp_bpf%': 0,
2344 }], 2348 }],
2349
2350 ['arm_thumb==1', {
2351 'thumb_option%': "-mthumb",
2352 }, {
2353 'thumb_option%': "",
2354 }],
2355
2345 # Set component build with LTO until all tests pass. 2356 # Set component build with LTO until all tests pass.
2346 # This also reduces link time. 2357 # This also reduces link time.
2347 ['use_lto==1', { 2358 ['use_lto==1', {
2348 'component%': "shared_library", 2359 'component%': "shared_library",
2349 }], 2360 }],
2350 ], 2361 ],
2351 2362
2352 # older history files use fts2 instead of fts3 2363 # older history files use fts2 instead of fts3
2353 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)', 2364 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)',
2354 2365
(...skipping 1437 matching lines...) Expand 10 before | Expand all | Expand 10 after
3792 ], 3803 ],
3793 'ldflags': [ 3804 'ldflags': [
3794 '-m64', 3805 '-m64',
3795 ], 3806 ],
3796 }], 3807 }],
3797 ], 3808 ],
3798 }], 3809 }],
3799 ['target_arch=="arm"', { 3810 ['target_arch=="arm"', {
3800 'target_conditions': [ 3811 'target_conditions': [
3801 ['_toolset=="target"', { 3812 ['_toolset=="target"', {
3813 'cflags': [ '<(thumb_option)' ],
3802 'conditions': [ 3814 'conditions': [
3803 ['clang==0', { 3815 ['clang==0', {
3804 'cflags_cc': [ 3816 'cflags_cc': [
3805 # The codesourcery arm-2009q3 toolchain warns at that the ABI 3817 # The codesourcery arm-2009q3 toolchain warns at that the ABI
3806 # has changed whenever it encounters a varargs function. T his 3818 # has changed whenever it encounters a varargs function. T his
3807 # silences those warnings, as they are not helpful and 3819 # silences those warnings, as they are not helpful and
3808 # clutter legitimate warnings. 3820 # clutter legitimate warnings.
3809 '-Wno-abi', 3821 '-Wno-abi',
3810 ], 3822 ],
3811 }], 3823 }],
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
3865 '-mfloat-abi=<(arm_float_abi)', 3877 '-mfloat-abi=<(arm_float_abi)',
3866 ], 3878 ],
3867 'conditions': [ 3879 'conditions': [
3868 ['use_lto==1 or use_lto_o2==1', { 3880 ['use_lto==1 or use_lto_o2==1', {
3869 'ldflags': [ 3881 'ldflags': [
3870 '-mfloat-abi=<(arm_float_abi)', 3882 '-mfloat-abi=<(arm_float_abi)',
3871 ], 3883 ],
3872 }], 3884 }],
3873 ], 3885 ],
3874 }], 3886 }],
3875 ['arm_thumb==1', { 3887 ['use_lto==1 or use_lto_o2==1', {
3876 'cflags': [ 3888 'ldflags': [
3877 '-mthumb', 3889 '<(thumb_option)',
3878 ],
3879 'conditions': [
3880 ['use_lto==1 or use_lto_o2==1', {
3881 'ldflags': [
3882 '-mthumb',
3883 ],
3884 }],
3885 ], 3890 ],
3886 }], 3891 }],
3887 ['OS=="android"', { 3892 ['OS=="android"', {
3888 # Most of the following flags are derived from what Android 3893 # Most of the following flags are derived from what Android
3889 # uses by default when building for arm, reference for which 3894 # uses by default when building for arm, reference for which
3890 # can be found in the following file in the Android NDK: 3895 # can be found in the following file in the Android NDK:
3891 # toolchains/arm-linux-androideabi-4.9/setup.mk 3896 # toolchains/arm-linux-androideabi-4.9/setup.mk
3892 'cflags': [ 3897 'cflags': [
3893 # The tree-sra optimization (scalar replacement for 3898 # The tree-sra optimization (scalar replacement for
3894 # aggregates enabling subsequent optimizations) leads to 3899 # aggregates enabling subsequent optimizations) leads to
(...skipping 733 matching lines...) Expand 10 before | Expand all | Expand 10 after
4628 'cflags': [ 4633 'cflags': [
4629 '--sysroot=<(android_ndk_sysroot)', 4634 '--sysroot=<(android_ndk_sysroot)',
4630 ], 4635 ],
4631 'ldflags': [ 4636 'ldflags': [
4632 '--sysroot=<(android_ndk_sysroot)', 4637 '--sysroot=<(android_ndk_sysroot)',
4633 '-nostdlib', 4638 '-nostdlib',
4634 ], 4639 ],
4635 'libraries': [ 4640 'libraries': [
4636 '-l<(android_stlport_library)', 4641 '-l<(android_stlport_library)',
4637 # Manually link the libgcc.a that the cross compiler uses. 4642 # Manually link the libgcc.a that the cross compiler uses.
4638 '<!(<(android_toolchain)/*-gcc -print-libgcc-file-name)', 4643 '<!(<(android_toolchain)/*-gcc <(thumb_option) -print-libgcc-f ile-name)',
4639 '-lc', 4644 '-lc',
4640 '-ldl', 4645 '-ldl',
4641 '-lm', 4646 '-lm',
4642 ], 4647 ],
4643 }], 4648 }],
4644 ['android_webview_build==1', { 4649 ['android_webview_build==1', {
4645 'cflags': [ 4650 'cflags': [
4646 # Android predefines this as 1; undefine it here so Chromium 4651 # Android predefines this as 1; undefine it here so Chromium
4647 # can redefine it later to be 2 for chromium code and unset 4652 # can redefine it later to be 2 for chromium code and unset
4648 # for third party code. This works because cflags are added 4653 # for third party code. This works because cflags are added
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
4693 # NOTE: The stlport header include paths below are specified in 4698 # NOTE: The stlport header include paths below are specified in
4694 # cflags rather than include_dirs because they need to come 4699 # cflags rather than include_dirs because they need to come
4695 # after include_dirs. Think of them like system headers, but 4700 # after include_dirs. Think of them like system headers, but
4696 # don't use '-isystem' because the arm-linux-androideabi-4.4.3 4701 # don't use '-isystem' because the arm-linux-androideabi-4.4.3
4697 # toolchain (circa Gingerbread) will exhibit strange errors. 4702 # toolchain (circa Gingerbread) will exhibit strange errors.
4698 # The include ordering here is important; change with caution. 4703 # The include ordering here is important; change with caution.
4699 ['android_webview_build==0', { 4704 ['android_webview_build==0', {
4700 'cflags': [ 4705 'cflags': [
4701 '-isystem<(android_stlport_include)', 4706 '-isystem<(android_stlport_include)',
4702 ], 4707 ],
4703 'ldflags': [ 4708 'conditions': [
4704 '-L<(android_stlport_libs_dir)', 4709 ['target_arch=="arm" and arm_thumb==1', {
4710 'ldflags': [ '-L<(android_stlport_libs_dir)/thumb' ]
4711 }, {
4712 'ldflags': [ '-L<(android_stlport_libs_dir)' ]
4713 }],
4705 ], 4714 ],
4706 }, { # else: android_webview_build!=0 4715 }, { # else: android_webview_build!=0
4707 'aosp_build_settings': { 4716 'aosp_build_settings': {
4708 # Specify that we want to statically link stlport from the 4717 # Specify that we want to statically link stlport from the
4709 # NDK. This will provide all the include and library paths 4718 # NDK. This will provide all the include and library paths
4710 # automatically at build time, and link the right library. 4719 # automatically at build time, and link the right library.
4711 'LOCAL_NDK_STL_VARIANT': 'stlport_static', 4720 'LOCAL_NDK_STL_VARIANT': 'stlport_static',
4712 }, 4721 },
4713 }], 4722 }],
4714 ['target_arch=="ia32"', { 4723 ['target_arch=="ia32"', {
(...skipping 1166 matching lines...) Expand 10 before | Expand all | Expand 10 after
5881 # settings in target dicts. SYMROOT is a special case, because many other 5890 # settings in target dicts. SYMROOT is a special case, because many other
5882 # Xcode variables depend on it, including variables such as 5891 # Xcode variables depend on it, including variables such as
5883 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5892 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5884 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5893 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5885 # files to appear (when present) in the UI as actual files and not red 5894 # files to appear (when present) in the UI as actual files and not red
5886 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5895 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5887 # and therefore SYMROOT, needs to be set at the project level. 5896 # and therefore SYMROOT, needs to be set at the project level.
5888 'SYMROOT': '<(DEPTH)/xcodebuild', 5897 'SYMROOT': '<(DEPTH)/xcodebuild',
5889 }, 5898 },
5890 } 5899 }
OLDNEW
« no previous file with comments | « build/android/setup.gyp ('k') | build/config/android/config.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698