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

Side by Side Diff: build/common.gypi

Issue 605623002: Enable debug fission for Release build (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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
« 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 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
831 'enable_plugins%': 0, 831 'enable_plugins%': 0,
832 }, { 832 }, {
833 'enable_plugins%': 1, 833 'enable_plugins%': 1,
834 }], 834 }],
835 835
836 # linux_use_bundled_gold: whether to use the gold linker binary checked 836 # linux_use_bundled_gold: whether to use the gold linker binary checked
837 # into third_party/binutils. Force this off via GYP_DEFINES when you 837 # into third_party/binutils. Force this off via GYP_DEFINES when you
838 # are using a custom toolchain and need to control -B in ldflags. 838 # are using a custom toolchain and need to control -B in ldflags.
839 # Do not use 32-bit gold on 32-bit hosts as it runs out address space 839 # Do not use 32-bit gold on 32-bit hosts as it runs out address space
840 # for component=static_library builds. 840 # for component=static_library builds.
841 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', { 841 ['OS=="linux" and (target_arch=="x64" or target_arch=="arm")', {
mithro-old 2014/09/25 04:51:09 This is whether to use bundled gold by default.
842 'linux_use_bundled_gold%': 1, 842 'linux_use_bundled_gold%': 1,
843 }, { 843 }, {
844 'linux_use_bundled_gold%': 0, 844 'linux_use_bundled_gold%': 0,
845 }], 845 }],
846 846
847 # linux_use_bundled_binutils: whether to use the binary binutils 847 # linux_use_bundled_binutils: whether to use the binary binutils
848 # checked into third_party/binutils. These are not multi-arch so cannot 848 # checked into third_party/binutils. These are not multi-arch so cannot
849 # be used except on x86 and x86-64 (the only two architectures which 849 # be used except on x86 and x86-64 (the only two architectures which
850 # are currently checke in). Force this off via GYP_DEFINES when you 850 # are currently checke in). Force this off via GYP_DEFINES when you
851 # are using a custom toolchain and need to control -B in cflags. 851 # are using a custom toolchain and need to control -B in cflags.
mithro-old 2014/09/25 04:51:08 This is whether to use bundled binutils by default
852 ['OS=="linux" and (target_arch=="x64")', { 852 ['OS=="linux" and (target_arch=="x64")', {
853 'linux_use_bundled_binutils%': 1, 853 'linux_use_bundled_binutils%': 1,
854 }, { 854 }, {
855 'linux_use_bundled_binutils%': 0, 855 'linux_use_bundled_binutils%': 0,
856 }], 856 }],
857 857
858 # linux_use_gold_flags: whether to use build flags that rely on gold. 858 # linux_use_gold_flags: whether to use build flags that rely on gold.
859 # On by default for x64 Linux. 859 # On by default for x64 Linux.
mithro-old 2014/09/25 04:51:08 This is whether to use gold *flags* by default. N
860 ['OS=="linux" and target_arch=="x64"', { 860 ['OS=="linux" and target_arch=="x64"', {
861 'linux_use_gold_flags%': 1, 861 'linux_use_gold_flags%': 1,
862 }, { 862 }, {
863 'linux_use_gold_flags%': 0, 863 'linux_use_gold_flags%': 0,
864 }], 864 }],
865 865
866 # linux_use_debug_fission: whether to use split DWARF debug info 866 # linux_use_debug_fission: whether to use split DWARF debug info
867 # files. This can reduce link time significantly, but is incompatible 867 # files. This can reduce link time significantly, but is incompatible
868 # with some utilities such as icecc and ccache. Requires gold and 868 # with some utilities such as icecc and ccache. Requires gold and
869 # gcc >= 4.8 or clang. 869 # gcc >= 4.8 or clang.
870 # http://gcc.gnu.org/wiki/DebugFission 870 # http://gcc.gnu.org/wiki/DebugFission
mithro-old 2014/09/25 04:51:08 This is whether to enable debug fission by default
871 ['OS=="linux" and target_arch=="x64"', { 871 ['OS=="linux" and target_arch=="x64"', {
872 'linux_use_debug_fission%': 1, 872 'linux_use_debug_fission%': 1,
873 }, { 873 }, {
874 'linux_use_debug_fission%': 0, 874 'linux_use_debug_fission%': 0,
875 }], 875 }],
876 876
877 ['OS=="android" or OS=="ios"', { 877 ['OS=="android" or OS=="ios"', {
878 'enable_captive_portal_detection%': 0, 878 'enable_captive_portal_detection%': 0,
879 }, { 879 }, {
880 'enable_captive_portal_detection%': 1, 880 'enable_captive_portal_detection%': 1,
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
1149 'enable_plugin_installation%': '<(enable_plugin_installation)', 1149 'enable_plugin_installation%': '<(enable_plugin_installation)',
1150 'enable_plugins%': '<(enable_plugins)', 1150 'enable_plugins%': '<(enable_plugins)',
1151 'enable_session_service%': '<(enable_session_service)', 1151 'enable_session_service%': '<(enable_session_service)',
1152 'enable_themes%': '<(enable_themes)', 1152 'enable_themes%': '<(enable_themes)',
1153 'enable_autofill_dialog%': '<(enable_autofill_dialog)', 1153 'enable_autofill_dialog%': '<(enable_autofill_dialog)',
1154 'enable_prod_wallet_service%': '<(enable_prod_wallet_service)', 1154 'enable_prod_wallet_service%': '<(enable_prod_wallet_service)',
1155 'enable_background%': '<(enable_background)', 1155 'enable_background%': '<(enable_background)',
1156 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)', 1156 'linux_use_bundled_gold%': '<(linux_use_bundled_gold)',
1157 'linux_use_bundled_binutils%': '<(linux_use_bundled_binutils)', 1157 'linux_use_bundled_binutils%': '<(linux_use_bundled_binutils)',
1158 'linux_use_gold_flags%': '<(linux_use_gold_flags)', 1158 'linux_use_gold_flags%': '<(linux_use_gold_flags)',
1159 'linux_use_debug_fission%': '<(linux_use_debug_fission)', 1159 'linux_use_debug_fission%': '<(linux_use_debug_fission)',
mithro-old 2014/09/25 04:51:09 This is where we override the defaults from the en
1160 'use_canvas_skia%': '<(use_canvas_skia)', 1160 'use_canvas_skia%': '<(use_canvas_skia)',
1161 'test_isolation_mode%': '<(test_isolation_mode)', 1161 'test_isolation_mode%': '<(test_isolation_mode)',
1162 'test_isolation_outdir%': '<(test_isolation_outdir)', 1162 'test_isolation_outdir%': '<(test_isolation_outdir)',
1163 'test_isolation_fail_on_missing': '<(test_isolation_fail_on_missing)', 1163 'test_isolation_fail_on_missing': '<(test_isolation_fail_on_missing)',
1164 'enable_printing%': '<(enable_printing)', 1164 'enable_printing%': '<(enable_printing)',
1165 'enable_spellcheck%': '<(enable_spellcheck)', 1165 'enable_spellcheck%': '<(enable_spellcheck)',
1166 'enable_google_now%': '<(enable_google_now)', 1166 'enable_google_now%': '<(enable_google_now)',
1167 'cld_version%': '<(cld_version)', 1167 'cld_version%': '<(cld_version)',
1168 'cld2_table_size%': '<(cld2_table_size)', 1168 'cld2_table_size%': '<(cld2_table_size)',
1169 'cld2_data_source%': '<(cld2_data_source)', 1169 'cld2_data_source%': '<(cld2_data_source)',
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 'use_chromevox_next%': 0, 1506 'use_chromevox_next%': 0,
1507 1507
1508 'conditions': [ 1508 'conditions': [
1509 # Enable the Syzygy optimization step for the official builds. 1509 # Enable the Syzygy optimization step for the official builds.
1510 ['OS=="win" and buildtype=="Official" and syzyasan!=1', { 1510 ['OS=="win" and buildtype=="Official" and syzyasan!=1', {
1511 'syzygy_optimize%': 1, 1511 'syzygy_optimize%': 1,
1512 }, { 1512 }, {
1513 'syzygy_optimize%': 0, 1513 'syzygy_optimize%': 0,
1514 }], 1514 }],
1515 # Get binutils version so we can enable debug fission if we can. 1515 # Get binutils version so we can enable debug fission if we can.
1516 ['os_posix==1 and OS!="mac" and OS!="ios"', { 1516 ['os_posix==1 and OS!="mac" and OS!="ios"', {
mithro-old 2014/09/25 04:51:08 This is where binutils version information is popu
1517 'conditions': [ 1517 'conditions': [
1518 # compiler_version doesn't work with clang 1518 # compiler_version doesn't work with clang
1519 # TODO(mithro): Land https://codereview.chromium.org/199793014/ so 1519 # TODO(mithro): Land https://codereview.chromium.org/199793014/ so
1520 # compiler_version works with clang. 1520 # compiler_version works with clang.
1521 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so 1521 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so
1522 # that it takes effect here. 1522 # that it takes effect here.
1523 ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan== 0 and ubsan_vptr==0', { 1523 ['clang==0 and asan==0 and lsan==0 and tsan==0 and msan==0 and ubsan== 0 and ubsan_vptr==0', {
1524 'binutils_version%': '<!pymod_do_main(compiler_version target assemb ler)', 1524 'binutils_version%': '<!pymod_do_main(compiler_version target assemb ler)',
1525 }], 1525 }],
1526 # On Android we know the binutils version in the toolchain. 1526 # On Android we know the binutils version in the toolchain.
(...skipping 12 matching lines...) Expand all
1539 }], 1539 }],
1540 ], 1540 ],
1541 }, { 1541 }, {
1542 'binutils_version%': 0, 1542 'binutils_version%': 0,
1543 }], 1543 }],
1544 # The version of GCC in use, set later in platforms that use GCC and have 1544 # The version of GCC in use, set later in platforms that use GCC and have
1545 # not explicitly chosen to build with clang. Currently, this means all 1545 # not explicitly chosen to build with clang. Currently, this means all
1546 # platforms except Windows, Mac and iOS. 1546 # platforms except Windows, Mac and iOS.
1547 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that 1547 # TODO(glider): set clang to 1 earlier for ASan and TSan builds so that
1548 # it takes effect here. 1548 # it takes effect here.
1549 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0 and ubsan_vptr==0', { 1549 ['os_posix==1 and OS!="mac" and OS!="ios" and clang==0 and asan==0 and lsa n==0 and tsan==0 and msan==0 and ubsan_vptr==0', {
mithro-old 2014/09/25 04:51:09 This is where gcc version information is populated
1550 'conditions': [ 1550 'conditions': [
1551 ['OS=="android" and android_webview_build==0', { 1551 ['OS=="android" and android_webview_build==0', {
1552 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )', 1552 'host_gcc_version%': '<!pymod_do_main(compiler_version host compiler )',
1553 # We directly set the gcc version since we know what we use. 1553 # We directly set the gcc version since we know what we use.
1554 'gcc_version%': 49, 1554 'gcc_version%': 49,
1555 }], 1555 }],
1556 ['OS=="android" and android_webview_build==1', { 1556 ['OS=="android" and android_webview_build==1', {
1557 # Android WebView uses a hermetic clang toolchain for host builds. 1557 # Android WebView uses a hermetic clang toolchain for host builds.
1558 'host_gcc_version%': 0, 1558 'host_gcc_version%': 0,
1559 # Android WebView uses the GCC toolchain from the Android build. 1559 # Android WebView uses the GCC toolchain from the Android build.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1598 ['(branding=="Chrome" and buildtype=="Official")', { 1598 ['(branding=="Chrome" and buildtype=="Official")', {
1599 'linux_dump_symbols%': 1, 1599 'linux_dump_symbols%': 1,
1600 1600
1601 # Omit unwind support in official release builds to save space. We 1601 # Omit unwind support in official release builds to save space. We
1602 # can use breakpad for these builds. 1602 # can use breakpad for these builds.
1603 'release_unwind_tables%': 0, 1603 'release_unwind_tables%': 0,
1604 1604
1605 'conditions': [ 1605 'conditions': [
1606 # For official builds, use a 64-bit linker to avoid running out 1606 # For official builds, use a 64-bit linker to avoid running out
1607 # of address space. The buildbots should have a 64-bit kernel 1607 # of address space. The buildbots should have a 64-bit kernel
1608 # and a 64-bit libc installed. 1608 # and a 64-bit libc installed.
mithro-old 2014/09/25 04:51:09 There seems to be some type of special override he
1609 ['host_arch=="ia32" and target_arch=="ia32"', { 1609 ['host_arch=="ia32" and target_arch=="ia32"', {
1610 'linux_use_bundled_gold%': '1', 1610 'linux_use_bundled_gold%': '1',
1611 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin', 1611 'binutils_dir%': 'third_party/binutils/Linux_x64/Release/bin',
1612 }], 1612 }],
1613 ], 1613 ],
1614 }], 1614 }],
1615 ], 1615 ],
1616 }], # os_posix==1 and OS!="mac" and OS!="ios" 1616 }], # os_posix==1 and OS!="mac" and OS!="ios"
1617 ['OS=="ios"', { 1617 ['OS=="ios"', {
1618 'disable_nacl%': 1, 1618 'disable_nacl%': 1,
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1830 }], 1830 }],
1831 ], 1831 ],
1832 }], 1832 }],
1833 ['android_webview_build==1', { 1833 ['android_webview_build==1', {
1834 # When building the WebView in the Android tree, jarjar will remap all 1834 # When building the WebView in the Android tree, jarjar will remap all
1835 # the class names, so the JNI generator needs to know this. 1835 # the class names, so the JNI generator needs to know this.
1836 'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt' , 1836 'jni_generator_jarjar_file': '../android_webview/build/jarjar-rules.txt' ,
1837 }], 1837 }],
1838 ['OS=="linux" and target_arch!="mipsel"', { 1838 ['OS=="linux" and target_arch!="mipsel"', {
1839 # TODO(thakis): This is here to measure perf for a while. 1839 # TODO(thakis): This is here to measure perf for a while.
1840 'clang%': 1, 1840 'clang%': 1,
mithro-old 2014/09/25 04:51:08 Not sure what is going on here....
1841 }], # OS=="mac" 1841 }], # OS=="mac"
1842 ['OS=="mac"', { 1842 ['OS=="mac"', {
1843 'conditions': [ 1843 'conditions': [
1844 # All Chrome builds have breakpad symbols, but only process the 1844 # All Chrome builds have breakpad symbols, but only process the
1845 # symbols from official builds. 1845 # symbols from official builds.
1846 ['(branding=="Chrome" and buildtype=="Official")', { 1846 ['(branding=="Chrome" and buildtype=="Official")', {
1847 'mac_strip_release%': 1, 1847 'mac_strip_release%': 1,
1848 }], 1848 }],
1849 ], 1849 ],
1850 }], # OS=="mac" 1850 }], # OS=="mac"
(...skipping 1645 matching lines...) Expand 10 before | Expand all | Expand 10 after
3496 # enabled when not building on Chrome OS. 3496 # enabled when not building on Chrome OS.
3497 # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc 3497 # TODO(phajdan.jr): Use -fstack-protector-strong when our gcc
3498 # supports it. 3498 # supports it.
3499 'target_defaults': { 3499 'target_defaults': {
3500 'cflags': [ 3500 'cflags': [
3501 '-fstack-protector', 3501 '-fstack-protector',
3502 '--param=ssp-buffer-size=4', 3502 '--param=ssp-buffer-size=4',
3503 ], 3503 ],
3504 }, 3504 },
3505 }], 3505 }],
3506 ['os_posix==1 and OS!="mac" and OS!="ios"', { 3506 ['os_posix==1 and OS!="mac" and OS!="ios"', {
mithro-old 2014/09/25 04:51:09 Check this bit here.
3507 'target_defaults': { 3507 'target_defaults': {
3508 # Enable -Werror by default, but put it in a variable so it can 3508 # Enable -Werror by default, but put it in a variable so it can
3509 # be disabled in ~/.gyp/include.gypi on the valgrind builders. 3509 # be disabled in ~/.gyp/include.gypi on the valgrind builders.
3510 'variables': { 3510 'variables': {
3511 'werror%': '-Werror', 3511 'werror%': '-Werror',
3512 'libraries_for_target%': '', 3512 'libraries_for_target%': '',
3513 }, 3513 },
3514 'defines': [ 3514 'defines': [
3515 '_FILE_OFFSET_BITS=64', 3515 '_FILE_OFFSET_BITS=64',
3516 ], 3516 ],
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
3596 ], 3596 ],
3597 }], 3597 }],
3598 ['debug_unwind_tables==1', { 3598 ['debug_unwind_tables==1', {
3599 'cflags': ['-funwind-tables'], 3599 'cflags': ['-funwind-tables'],
3600 }, { 3600 }, {
3601 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'], 3601 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'],
3602 }], 3602 }],
3603 # TODO(mostynb): shuffle clang/gcc_version/binutils_version 3603 # TODO(mostynb): shuffle clang/gcc_version/binutils_version
3604 # definitions in to the right scope to use them when setting 3604 # definitions in to the right scope to use them when setting
3605 # linux_use_debug_fission, so it can be used here alone. 3605 # linux_use_debug_fission, so it can be used here alone.
3606 ['linux_use_debug_fission==1 and linux_use_gold_flags==1 and (clan g==1 or gcc_version>=48) and binutils_version>=223', { 3606 ['linux_use_debug_fission==1 and linux_use_gold_flags==1 and (clan g==1 or gcc_version>=48) and binutils_version>=223', {
mithro-old 2014/09/25 04:51:08 Check this is working for you under debug builds.
3607 'cflags': ['-gsplit-dwarf'], 3607 'cflags': ['-gsplit-dwarf'],
3608 }], 3608 }],
3609 ], 3609 ],
3610 }, 3610 },
3611 'Release_Base': { 3611 'Release_Base': {
3612 'variables': { 3612 'variables': {
3613 'release_optimize%': '2', 3613 'release_optimize%': '2',
3614 # Binaries become big and gold is unable to perform GC 3614 # Binaries become big and gold is unable to perform GC
3615 # and remove unused sections for some of test targets 3615 # and remove unused sections for some of test targets
3616 # on 32 bit platform. 3616 # on 32 bit platform.
(...skipping 15 matching lines...) Expand all
3632 # can be removed at link time with --gc-sections. 3632 # can be removed at link time with --gc-sections.
3633 '-fdata-sections', 3633 '-fdata-sections',
3634 '-ffunction-sections', 3634 '-ffunction-sections',
3635 ], 3635 ],
3636 'ldflags': [ 3636 'ldflags': [
3637 # Specifically tell the linker to perform optimizations. 3637 # Specifically tell the linker to perform optimizations.
3638 # See http://lwn.net/Articles/192624/ . 3638 # See http://lwn.net/Articles/192624/ .
3639 '-Wl,-O1', 3639 '-Wl,-O1',
3640 '-Wl,--as-needed', 3640 '-Wl,--as-needed',
3641 ], 3641 ],
3642 'conditions' : [ 3642 'conditions' : [
mithro-old 2014/09/25 04:51:08 Can you test your conditions in this section rathe
3643 ['no_gc_sections==0', { 3643 ['no_gc_sections==0', {
3644 'ldflags': [ 3644 'ldflags': [
3645 '-Wl,--gc-sections', 3645 '-Wl,--gc-sections',
3646 ], 3646 ],
3647 }], 3647 }],
3648 ['OS=="android" and target_arch!="arm64"', { 3648 ['OS=="android" and target_arch!="arm64"', {
3649 # We don't omit frame pointers on arm64 since they are required 3649 # We don't omit frame pointers on arm64 since they are required
3650 # to correctly unwind stackframes which contain system library 3650 # to correctly unwind stackframes which contain system library
3651 # function frames (crbug.com/391706). 3651 # function frames (crbug.com/391706).
3652 'cflags': [ 3652 'cflags': [
(...skipping 23 matching lines...) Expand all
3676 }], 3676 }],
3677 ], 3677 ],
3678 }], 3678 }],
3679 ['release_unwind_tables==1', { 3679 ['release_unwind_tables==1', {
3680 'cflags': ['-funwind-tables'], 3680 'cflags': ['-funwind-tables'],
3681 }, { 3681 }, {
3682 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'], 3682 'cflags': ['-fno-unwind-tables', '-fno-asynchronous-unwind-table s'],
3683 }], 3683 }],
3684 ], 3684 ],
3685 }, 3685 },
3686 }, 3686 },
mithro-old 2014/09/25 04:51:09 This is popped up a couple of levels, there could
3687 'conditions': [ 3687 'conditions': [
3688
3689 ['linux_use_debug_fission==1 and linux_use_gold_flags==1 and (clang==1 or gcc_version>=48) and binutils_version>=223', {
3690 'target_conditions': [
3691 ['_toolset=="target"', {
3692 'cflags': ['-gsplit-dwarf'],
3693 },
3694 ],
3695 ]
3696 }],
3688 ['target_arch=="ia32"', { 3697 ['target_arch=="ia32"', {
3689 'target_conditions': [ 3698 'target_conditions': [
3690 ['_toolset=="target"', { 3699 ['_toolset=="target"', {
3691 'asflags': [ 3700 'asflags': [
3692 # Needed so that libs with .s files (e.g. libicudata.a) 3701 # Needed so that libs with .s files (e.g. libicudata.a)
3693 # are compatible with the general 32-bit-ness. 3702 # are compatible with the general 32-bit-ness.
3694 '-32', 3703 '-32',
3695 ], 3704 ],
3696 # All floating-point computations on x87 happens in 80-bit 3705 # All floating-point computations on x87 happens in 80-bit
3697 # precision. Because the C and C++ language standards allow 3706 # precision. Because the C and C++ language standards allow
(...skipping 621 matching lines...) Expand 10 before | Expand all | Expand 10 after
4319 # in gold which can generate crashy binaries. As 4328 # in gold which can generate crashy binaries. As
4320 # a security measure, -pie takes precedence for 4329 # a security measure, -pie takes precedence for
4321 # now. 4330 # now.
4322 #'-Wl,--icf=safe', 4331 #'-Wl,--icf=safe',
4323 '-Wl,--icf=none', 4332 '-Wl,--icf=none',
4324 ], 4333 ],
4325 }], 4334 }],
4326 ], 4335 ],
4327 }], 4336 }],
4328 ], 4337 ],
4329 }], 4338 }],
mithro-old 2014/09/25 04:51:08 This is a bunch of extra stuff based on the binuti
4330 ['linux_use_bundled_binutils==1', { 4339 ['linux_use_bundled_binutils==1', {
4331 'cflags': [ 4340 'cflags': [
4332 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 4341 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
4333 ], 4342 ],
4334 }], 4343 }],
4335 ['linux_use_bundled_gold==1', { 4344 ['linux_use_bundled_gold==1', {
4336 # Put our binutils, which contains gold in the search path. We pass 4345 # Put our binutils, which contains gold in the search path. We pass
4337 # the path to gold to the compiler. gyp leaves unspecified what the 4346 # the path to gold to the compiler. gyp leaves unspecified what the
4338 # cwd is when running the compiler, so the normal gyp path-munging 4347 # cwd is when running the compiler, so the normal gyp path-munging
4339 # fails us. This hack gets the right path. 4348 # fails us. This hack gets the right path.
4340 'ldflags': [ 4349 'ldflags': [
4341 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', 4350 '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)',
4342 ], 4351 ],
4343 }], 4352 }],
4344 # Some binutils 2.23 releases may or may not have new dtags enabled, 4353 # Some binutils 2.23 releases may or may not have new dtags enabled,
4345 # but they are all compatible with --disable-new-dtags, 4354 # but they are all compatible with --disable-new-dtags,
4346 # because the new dynamic tags are not created by default. 4355 # because the new dynamic tags are not created by default.
4347 ['binutils_version>=223', { 4356 ['binutils_version>=223', {
4348 # Newer binutils don't set DT_RPATH unless you disable "new" dtags 4357 # Newer binutils don't set DT_RPATH unless you disable "new" dtags
4349 # and the new DT_RUNPATH doesn't work without --no-as-needed flag. 4358 # and the new DT_RUNPATH doesn't work without --no-as-needed flag.
4350 # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags 4359 # FIXME(mithro): Figure out the --as-needed/--no-as-needed flags
4351 # inside this file to allow usage of --no-as-needed and removal of 4360 # inside this file to allow usage of --no-as-needed and removal of
4352 # this flag. 4361 # this flag.
4353 'ldflags': [ 4362 'ldflags': [
4354 '-Wl,--disable-new-dtags', 4363 '-Wl,--disable-new-dtags',
4355 ], 4364 ],
4356 }], 4365 }],
mithro-old 2014/09/25 04:51:08 This is a bunch of extra stuff based on the versio
4357 ['gcc_version>=47 and clang==0', { 4366 ['gcc_version>=47 and clang==0', {
4358 'target_conditions': [ 4367 'target_conditions': [
4359 ['_toolset=="target"', { 4368 ['_toolset=="target"', {
4360 'cflags_cc': [ 4369 'cflags_cc': [
4361 '-std=gnu++11', 4370 '-std=gnu++11',
4362 # See comment for -Wno-c++11-narrowing. 4371 # See comment for -Wno-c++11-narrowing.
4363 '-Wno-narrowing', 4372 '-Wno-narrowing',
4364 # TODO(thakis): Remove, http://crbug.com/263960 4373 # TODO(thakis): Remove, http://crbug.com/263960
4365 '-Wno-literal-suffix', 4374 '-Wno-literal-suffix',
4366 ], 4375 ],
(...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after
5625 }], 5634 }],
5626 ['enable_new_npdevice_api==1', { 5635 ['enable_new_npdevice_api==1', {
5627 'target_defaults': { 5636 'target_defaults': {
5628 'defines': [ 5637 'defines': [
5629 'ENABLE_NEW_NPDEVICE_API', 5638 'ENABLE_NEW_NPDEVICE_API',
5630 ], 5639 ],
5631 }, 5640 },
5632 }], 5641 }],
5633 # Don't warn about the "typedef 'foo' locally defined but not used" 5642 # Don't warn about the "typedef 'foo' locally defined but not used"
5634 # for gcc 4.8 and higher. 5643 # for gcc 4.8 and higher.
5635 # TODO: remove this flag once all builds work. See crbug.com/227506 5644 # TODO: remove this flag once all builds work. See crbug.com/227506
mithro-old 2014/09/25 04:51:08 Some more conditions based on gcc_version and simi
5636 ['gcc_version>=48 and clang==0', { 5645 ['gcc_version>=48 and clang==0', {
5637 'target_defaults': { 5646 'target_defaults': {
5638 'cflags': [ 5647 'cflags': [
5639 '-Wno-unused-local-typedefs', 5648 '-Wno-unused-local-typedefs',
5640 ], 5649 ],
5641 }, 5650 },
5642 }], 5651 }],
5643 ['gcc_version>=48 and clang==0 and host_clang==1', { 5652 ['gcc_version>=48 and clang==0 and host_clang==1', {
5644 'target_defaults': { 5653 'target_defaults': {
5645 'target_conditions': [ 5654 'target_conditions': [
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
5779 # settings in target dicts. SYMROOT is a special case, because many other 5788 # settings in target dicts. SYMROOT is a special case, because many other
5780 # Xcode variables depend on it, including variables such as 5789 # Xcode variables depend on it, including variables such as
5781 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something 5790 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something
5782 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the 5791 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the
5783 # files to appear (when present) in the UI as actual files and not red 5792 # files to appear (when present) in the UI as actual files and not red
5784 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, 5793 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR,
5785 # and therefore SYMROOT, needs to be set at the project level. 5794 # and therefore SYMROOT, needs to be set at the project level.
5786 'SYMROOT': '<(DEPTH)/xcodebuild', 5795 'SYMROOT': '<(DEPTH)/xcodebuild',
5787 }, 5796 },
5788 } 5797 }
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