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

Side by Side Diff: build/common.gypi

Issue 239163003: Split linux_use_gold_binary into linux_use_bundled_gold and linux_use_bundled_binutils. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | 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 714 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 }, { 725 }, {
726 'enable_plugin_installation%': 1, 726 'enable_plugin_installation%': 1,
727 }], 727 }],
728 728
729 ['OS=="android" or OS=="ios" or embedded==1', { 729 ['OS=="android" or OS=="ios" or embedded==1', {
730 'enable_plugins%': 0, 730 'enable_plugins%': 0,
731 }, { 731 }, {
732 'enable_plugins%': 1, 732 'enable_plugins%': 1,
733 }], 733 }],
734 734
735 # linux_use_gold_binary: whether to use the binary checked into 735 # linux_use_bundled_gold: whether to use the gold linker binary checked
736 # third_party/binutils. Gold is not used for 32-bit linux builds 736 # into third_party/binutils. Force this off via GYP_DEFINES when you
737 # as it runs out of address space. 737 # are using a custom toolchain and need to control -B in ldflags.
738 # Gold is not used for 32-bit linux builds as it runs out of address
739 # space.
738 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', { 740 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', {
739 'linux_use_gold_binary%': 1, 741 'linux_use_bundled_gold%': 1,
740 }, { 742 }, {
741 'linux_use_gold_binary%': 0, 743 'linux_use_bundled_gold%': 0,
744 }],
745
746 # linux_use_bundled_binutils: whether to use the binary binutils
747 # checked into third_party/binutils. These are not multi-arch so cannot
748 # be used except on x86 and x86-64 (the only two architectures which
749 # are currently checke in). Force this off via GYP_DEFINES when you
750 # are using a custom toolchain and need to control -B in cflags.
751 ['OS=="linux" and (target_arch=="x64")', {
752 'linux_use_bundled_binutils%': 1,
753 }, {
754 'linux_use_bundled_binutils%': 0,
742 }], 755 }],
743 756
744 # linux_use_gold_flags: whether to use build flags that rely on gold. 757 # linux_use_gold_flags: whether to use build flags that rely on gold.
745 # On by default for x64 Linux. Temporarily off for ChromeOS as 758 # On by default for x64 Linux. Temporarily off for ChromeOS as
746 # it failed on a buildbot. 759 # it failed on a buildbot.
747 ['OS=="linux" and target_arch=="x64" and chromeos==0', { 760 ['OS=="linux" and target_arch=="x64" and chromeos==0', {
748 'linux_use_gold_flags%': 1, 761 'linux_use_gold_flags%': 1,
749 }, { 762 }, {
750 'linux_use_gold_flags%': 0, 763 'linux_use_gold_flags%': 0,
751 }], 764 }],
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 'clang_type_profiler%': '<(clang_type_profiler)', 1002 'clang_type_profiler%': '<(clang_type_profiler)',
990 'order_profiling%': '<(order_profiling)', 1003 'order_profiling%': '<(order_profiling)',
991 'order_text_section%': '<(order_text_section)', 1004 'order_text_section%': '<(order_text_section)',
992 'enable_extensions%': '<(enable_extensions)', 1005 'enable_extensions%': '<(enable_extensions)',
993 'enable_plugin_installation%': '<(enable_plugin_installation)', 1006 'enable_plugin_installation%': '<(enable_plugin_installation)',
994 'enable_plugins%': '<(enable_plugins)', 1007 'enable_plugins%': '<(enable_plugins)',
995 'enable_session_service%': '<(enable_session_service)', 1008 'enable_session_service%': '<(enable_session_service)',
996 'enable_themes%': '<(enable_themes)', 1009 'enable_themes%': '<(enable_themes)',
997 'enable_autofill_dialog%': '<(enable_autofill_dialog)', 1010 'enable_autofill_dialog%': '<(enable_autofill_dialog)',
998 'enable_background%': '<(enable_background)', 1011 'enable_background%': '<(enable_background)',
999 'linux_use_gold_binary%': '<(linux_use_gold_binary)', 1012 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)',
1013 'linux_use_bundled_binutils%': '<(linux_use_bundled_binutils)',
1000 'linux_use_gold_flags%': '<(linux_use_gold_flags)', 1014 'linux_use_gold_flags%': '<(linux_use_gold_flags)',
1001 'use_canvas_skia%': '<(use_canvas_skia)', 1015 'use_canvas_skia%': '<(use_canvas_skia)',
1002 'test_isolation_mode%': '<(test_isolation_mode)', 1016 'test_isolation_mode%': '<(test_isolation_mode)',
1003 'test_isolation_outdir%': '<(test_isolation_outdir)', 1017 'test_isolation_outdir%': '<(test_isolation_outdir)',
1004 'test_isolation_fail_on_missing': '<(test_isolation_fail_on_missing)', 1018 'test_isolation_fail_on_missing': '<(test_isolation_fail_on_missing)',
1005 'enable_printing%': '<(enable_printing)', 1019 'enable_printing%': '<(enable_printing)',
1006 'enable_spellcheck%': '<(enable_spellcheck)', 1020 'enable_spellcheck%': '<(enable_spellcheck)',
1007 'enable_google_now%': '<(enable_google_now)', 1021 'enable_google_now%': '<(enable_google_now)',
1008 'cld_version%': '<(cld_version)', 1022 'cld_version%': '<(cld_version)',
1009 'cld2_table_size%': '<(cld2_table_size)', 1023 'cld2_table_size%': '<(cld2_table_size)',
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1357 # compiler_version works with clang. 1371 # compiler_version works with clang.
1358 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so 1372 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so
1359 # that it takes effect here. 1373 # that it takes effect here.
1360 ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0', { 1374 ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0', {
1361 'binutils_version%': '<!(python <(DEPTH)/build/compiler_version.py a ssembler)', 1375 'binutils_version%': '<!(python <(DEPTH)/build/compiler_version.py a ssembler)',
1362 }], 1376 }],
1363 # On Android we know the binutils version in the toolchain. 1377 # On Android we know the binutils version in the toolchain.
1364 ['OS=="android"', { 1378 ['OS=="android"', {
1365 'binutils_version%': 222, 1379 'binutils_version%': 222,
1366 }], 1380 }],
1381 ['host_arch=="x64"', {
1382 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin',
1383 }],
1384 ['host_arch=="ia32"', {
1385 'binutils_dir%': 'third_party/binutils/Linux_ia32/Release/bin',
1386 }],
1367 # Our version of binutils in third_party/binutils 1387 # Our version of binutils in third_party/binutils
1368 ['linux_use_gold_binary==1', { 1388 ['linux_use_bundled_binutils==1', {
1369 'binutils_version%': 224, 1389 'binutils_version%': 224,
1370 'conditions': [
1371 ['host_arch=="x64"', {
1372 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin',
1373 }],
1374 ['host_arch=="ia32"', {
1375 'binutils_dir%': 'third_party/binutils/Linux_ia32/Release/bin',
1376 }],
1377 ],
1378 }], 1390 }],
1379 ], 1391 ],
1380 }, { 1392 }, {
1381 'binutils_version%': 0, 1393 'binutils_version%': 0,
1382 }], 1394 }],
1383 # The version of GCC in use, set later in platforms that use GCC and have 1395 # The version of GCC in use, set later in platforms that use GCC and have
1384 # not explicitly chosen to build with clang. Currently, this means all 1396 # not explicitly chosen to build with clang. Currently, this means all
1385 # platforms except Windows, Mac and iOS. 1397 # platforms except Windows, Mac and iOS.
1386 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that 1398 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that
1387 # it takes effect here. 1399 # it takes effect here.
(...skipping 2433 matching lines...) Expand 10 before | Expand all | Expand 10 after
3821 # "third_party/android_tools/ndk/toolchains/arm-linux-androide abi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include/a rm_neon.h:3426:3: error: argument must be a constant" 3833 # "third_party/android_tools/ndk/toolchains/arm-linux-androide abi-4.6/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.6/include/a rm_neon.h:3426:3: error: argument must be a constant"
3822 '-finstrument-functions-exclude-file-list=arm_neon.h', 3834 '-finstrument-functions-exclude-file-list=arm_neon.h',
3823 ], 3835 ],
3824 }], 3836 }],
3825 ], 3837 ],
3826 }], 3838 }],
3827 ['linux_dump_symbols==1', { 3839 ['linux_dump_symbols==1', {
3828 'cflags': [ '-g' ], 3840 'cflags': [ '-g' ],
3829 'conditions': [ 3841 'conditions': [
3830 # TODO(thestig) We should not need to specify chromeos==0 here, 3842 # TODO(thestig) We should not need to specify chromeos==0 here,
3831 # but somehow ChromeOS uses gold despite linux_use_gold_binary==0. 3843 # but somehow ChromeOS uses gold despite linux_use_bundled_gold==0 .
3832 # http://crbug.com./360082 3844 # http://crbug.com./360082
3833 ['linux_use_gold_binary==0 and chromeos==0 and OS!="android"', { 3845 ['linux_use_bundled_gold==0 and chromeos==0 and OS!="android"', {
3834 'target_conditions': [ 3846 'target_conditions': [
3835 ['_toolset=="target"', { 3847 ['_toolset=="target"', {
3836 'ldflags': [ 3848 'ldflags': [
3837 # Workarounds for linker OOM. 3849 # Workarounds for linker OOM.
3838 '-Wl,--no-keep-memory', 3850 '-Wl,--no-keep-memory',
3839 '-Wl,--reduce-memory-overheads', 3851 '-Wl,--reduce-memory-overheads',
3840 ], 3852 ],
3841 }], 3853 }],
3842 ], 3854 ],
3843 }], 3855 }],
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
3886 ['gcc_version>=48', { 3898 ['gcc_version>=48', {
3887 'cflags': [ 3899 'cflags': [
3888 '-fuse-ld=gold', 3900 '-fuse-ld=gold',
3889 ], 3901 ],
3890 'ldflags': [ 3902 'ldflags': [
3891 '-fuse-ld=gold', 3903 '-fuse-ld=gold',
3892 ], 3904 ],
3893 }] 3905 }]
3894 ], 3906 ],
3895 }], 3907 }],
3896 ['linux_use_gold_binary==1', { 3908 ['linux_use_bundled_binutils==1', {
3897 » # Put our binutils, which contains gold in the search path. We pass
3898 » # the path to gold to the compiler. gyp leaves unspecified what the
3899 » # cwd is when running the compiler, so the normal gyp path-munging
3900 » # fails us. This hack gets the right path.
3901 'cflags': [ 3909 'cflags': [
3902 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 3910 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
3903 ], 3911 ],
3912 }],
3913 ['linux_use_bundled_gold==1', {
3914 # Put our binutils, which contains gold in the search path. We pass
3915 # the path to gold to the compiler. gyp leaves unspecified what the
3916 # cwd is when running the compiler, so the normal gyp path-munging
3917 # fails us. This hack gets the right path.
3904 'ldflags': [ 3918 'ldflags': [
3905 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 3919 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
3906 ], 3920 ],
3907 }], 3921 }],
3908 ['binutils_version>=224', { 3922 ['binutils_version>=224', {
3909 » # Newer binutils don't set DT_RPATH unless you disable "new" dtags 3923 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
3910 » # and the new DT_RUNPATH doesn't work without --no-as-needed flag. 3924 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
3911 » # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags 3925 # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags
3912 » # inside this file to allow usage of --no-as-needed and removal of 3926 # inside this file to allow usage of --no-as-needed and removal of
3913 » # this flag. 3927 # this flag.
3914 'ldflags': [ 3928 'ldflags': [
3915 '-Wl,--disable-new-dtags', 3929 '-Wl,--disable-new-dtags',
3916 ], 3930 ],
3917 }] 3931 }]
3918 ], 3932 ],
3919 }, 3933 },
3920 }], 3934 }],
3921 # FreeBSD-specific options; note that most FreeBSD options are set above, 3935 # FreeBSD-specific options; note that most FreeBSD options are set above,
3922 # with Linux. 3936 # with Linux.
3923 ['OS=="freebsd"', { 3937 ['OS=="freebsd"', {
(...skipping 1308 matching lines...) Expand 10 before | Expand all | Expand 10 after
5232 # settings in target dicts. SYMROOT is a special case, because many other 5246 # settings in target dicts. SYMROOT is a special case, because many other
5233 # Xcode variables depend on it, including variables such as 5247 # Xcode variables depend on it, including variables such as
5234 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5248 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5235 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5249 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5236 # files to appear (when present) in the UI as actual files and not red 5250 # files to appear (when present) in the UI as actual files and not red
5237 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5251 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5238 # and therefore SYMROOT, needs to be set at the project level. 5252 # and therefore SYMROOT, needs to be set at the project level.
5239 'SYMROOT': '<(DEPTH)/xcodebuild', 5253 'SYMROOT': '<(DEPTH)/xcodebuild',
5240 }, 5254 },
5241 } 5255 }
OLDNEW
« 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