Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 Loading... | |
| 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 } |
| OLD | NEW |