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

Side by Side Diff: build/common.gypi

Issue 255023003: Linux: Switch 32-bit official builds to use the bundled 64-bit linker. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | third_party/binutils/download.py » ('j') | third_party/binutils/download.py » ('J')
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 707 matching lines...) Expand 10 before | Expand all | Expand 10 after
718 # Whether PPAPI is enabled. 718 # Whether PPAPI is enabled.
719 ['OS=="android" or OS=="ios" or embedded==1', { 719 ['OS=="android" or OS=="ios" or embedded==1', {
720 'enable_plugins%': 0, 720 'enable_plugins%': 0,
721 }, { 721 }, {
722 'enable_plugins%': 1, 722 'enable_plugins%': 1,
723 }], 723 }],
724 724
725 # linux_use_bundled_gold: whether to use the gold linker binary checked 725 # linux_use_bundled_gold: whether to use the gold linker binary checked
726 # into third_party/binutils. Force this off via GYP_DEFINES when you 726 # into third_party/binutils. Force this off via GYP_DEFINES when you
727 # are using a custom toolchain and need to control -B in ldflags. 727 # are using a custom toolchain and need to control -B in ldflags.
728 # Gold is not used for 32-bit linux builds as it runs out of address 728 # Do not use 32-bit gold on 32-bit hosts as it runs out address space
729 # space. 729 » # for component=static_library builds.
mithro-old 2014/04/28 19:01:21 Tab.
Nico 2014/04/28 19:01:46 :set expandtab | retab
Lei Zhang 2014/04/28 19:13:22 Done.
730 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', { 730 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', {
731 'linux_use_bundled_gold%': 1, 731 'linux_use_bundled_gold%': 1,
732 }, { 732 }, {
733 'linux_use_bundled_gold%': 0, 733 'linux_use_bundled_gold%': 0,
734 }], 734 }],
735 735
736 # linux_use_bundled_binutils: whether to use the binary binutils 736 # linux_use_bundled_binutils: whether to use the binary binutils
737 # checked into third_party/binutils. These are not multi-arch so cannot 737 # checked into third_party/binutils. These are not multi-arch so cannot
738 # be used except on x86 and x86-64 (the only two architectures which 738 # be used except on x86 and x86-64 (the only two architectures which
739 # are currently checke in). Force this off via GYP_DEFINES when you 739 # are currently checke in). Force this off via GYP_DEFINES when you
(...skipping 693 matching lines...) Expand 10 before | Expand all | Expand 10 after
1433 'CXX%': '<(CXX)', 1433 'CXX%': '<(CXX)',
1434 }], 1434 }],
1435 # All Chrome builds have breakpad symbols, but only process the 1435 # All Chrome builds have breakpad symbols, but only process the
1436 # symbols from official builds. 1436 # symbols from official builds.
1437 ['(branding=="Chrome" and buildtype=="Official")', { 1437 ['(branding=="Chrome" and buildtype=="Official")', {
1438 'linux_dump_symbols%': 1, 1438 'linux_dump_symbols%': 1,
1439 1439
1440 # Omit unwind support in official release builds to save space. We 1440 # Omit unwind support in official release builds to save space. We
1441 # can use breakpad for these builds. 1441 # can use breakpad for these builds.
1442 'release_unwind_tables%': 0, 1442 'release_unwind_tables%': 0,
1443
1444 'conditions': [
1445 # For official builds, use a 64-bit linker to avoid running out
1446 # of address space. The buildbots should have a 64-bit kernel
1447 # and a 64-bit libc installed.
1448 ['host_arch=="ia32" and target_arch=="ia32"', {
1449 'linux_use_bundled_gold%': '1',
1450 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin',
1451 }],
1452 ],
1443 }], 1453 }],
1444 ], 1454 ],
1445 }], # os_posix==1 and OS!="mac" and OS!="ios" 1455 }], # os_posix==1 and OS!="mac" and OS!="ios"
1446 ['OS=="ios"', { 1456 ['OS=="ios"', {
1447 'disable_nacl%': 1, 1457 'disable_nacl%': 1,
1448 'enable_background%': 0, 1458 'enable_background%': 0,
1449 'icu_use_data_file_flag%': 1, 1459 'icu_use_data_file_flag%': 1,
1450 'input_speech%': 0, 1460 'input_speech%': 0,
1451 'use_system_libxml%': 1, 1461 'use_system_libxml%': 1,
1452 'use_system_sqlite%': 1, 1462 'use_system_sqlite%': 1,
(...skipping 2330 matching lines...) Expand 10 before | Expand all | Expand 10 after
3783 # Avoids errors with current NDK: 3793 # Avoids errors with current NDK:
3784 # "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" 3794 # "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"
3785 '-finstrument-functions-exclude-file-list=arm_neon.h', 3795 '-finstrument-functions-exclude-file-list=arm_neon.h',
3786 ], 3796 ],
3787 }], 3797 }],
3788 ], 3798 ],
3789 }], 3799 }],
3790 ['linux_dump_symbols==1', { 3800 ['linux_dump_symbols==1', {
3791 'cflags': [ '-g' ], 3801 'cflags': [ '-g' ],
3792 'conditions': [ 3802 'conditions': [
3793 # TODO(thestig) We should not need to specify chromeos==0 here, 3803 ['OS=="linux" and host_arch=="ia32" and linux_use_bundled_gold==0' , {
3794 # but somehow ChromeOS uses gold despite linux_use_bundled_gold==0 .
3795 # http://crbug.com./360082
3796 ['linux_use_bundled_gold==0 and chromeos==0 and OS!="android"', {
3797 'target_conditions': [ 3804 'target_conditions': [
3798 ['_toolset=="target"', { 3805 ['_toolset=="target"', {
3799 'ldflags': [ 3806 'ldflags': [
3800 # Workarounds for linker OOM. 3807 # Attempt to use less memory to prevent the linker from
3808 # running out of address space. Considering installing a
3809 # 64-bit kernel and switching to a 64-bit linker.
3801 '-Wl,--no-keep-memory', 3810 '-Wl,--no-keep-memory',
3802 '-Wl,--reduce-memory-overheads',
Lei Zhang 2014/04/28 18:51:56 --reduce-memory-overheads is a PITA because it's G
3803 ], 3811 ],
3804 }], 3812 }],
3805 ], 3813 ],
3806 }], 3814 }],
3807 ], 3815 ],
3808 }], 3816 }],
3809 # TODO(dmikurube): Kill {linux|android}_use_tcmalloc. http://crbug.com /345554 3817 # TODO(dmikurube): Kill {linux|android}_use_tcmalloc. http://crbug.com /345554
3810 ['use_allocator!="tcmalloc" and (use_allocator!="see_use_tcmalloc" or ((OS=="linux" and linux_use_tcmalloc==0) or (OS=="android" and android_use_tcmal loc==0)))', { 3818 ['use_allocator!="tcmalloc" and (use_allocator!="see_use_tcmalloc" or ((OS=="linux" and linux_use_tcmalloc==0) or (OS=="android" and android_use_tcmal loc==0)))', {
3811 'defines': ['NO_TCMALLOC'], 3819 'defines': ['NO_TCMALLOC'],
3812 }], 3820 }],
(...skipping 1403 matching lines...) Expand 10 before | Expand all | Expand 10 after
5216 # settings in target dicts. SYMROOT is a special case, because many other 5224 # settings in target dicts. SYMROOT is a special case, because many other
5217 # Xcode variables depend on it, including variables such as 5225 # Xcode variables depend on it, including variables such as
5218 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5226 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5219 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5227 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5220 # files to appear (when present) in the UI as actual files and not red 5228 # files to appear (when present) in the UI as actual files and not red
5221 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5229 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5222 # and therefore SYMROOT, needs to be set at the project level. 5230 # and therefore SYMROOT, needs to be set at the project level.
5223 'SYMROOT': '<(DEPTH)/xcodebuild', 5231 'SYMROOT': '<(DEPTH)/xcodebuild',
5224 }, 5232 },
5225 } 5233 }
OLDNEW
« no previous file with comments | « no previous file | third_party/binutils/download.py » ('j') | third_party/binutils/download.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698