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 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
625 'enable_load_completion_hacks%': 1, | 625 'enable_load_completion_hacks%': 1, |
626 | 626 |
627 # Automatically select platforms under ozone. Turn this off to | 627 # Automatically select platforms under ozone. Turn this off to |
628 # build only explicitly selected platforms. | 628 # build only explicitly selected platforms. |
629 'ozone_auto_platforms%': 1, | 629 'ozone_auto_platforms%': 1, |
630 | 630 |
631 # If this is set clang is used as host compiler, but not as target | 631 # If this is set clang is used as host compiler, but not as target |
632 # compiler. Always do this by default. | 632 # compiler. Always do this by default. |
633 'host_clang%': 1, | 633 'host_clang%': 1, |
634 | 634 |
635 # Link-Time Optimizations | |
636 # crbug.com/407544 | |
637 'use_lto%': 0, | |
638 'use_lto_o2%': 0, | |
pasko
2014/10/10 11:59:21
it's worth explaining what use_lto_o2 is. Does use
Fabrice (no longer in Chrome)
2014/10/13 15:45:12
Done.
| |
639 | |
635 'conditions': [ | 640 'conditions': [ |
636 # A flag for POSIX platforms | 641 # A flag for POSIX platforms |
637 ['OS=="win"', { | 642 ['OS=="win"', { |
638 'os_posix%': 0, | 643 'os_posix%': 0, |
639 }, { | 644 }, { |
640 'os_posix%': 1, | 645 'os_posix%': 1, |
641 }], | 646 }], |
642 | 647 |
643 # A flag for BSD platforms | 648 # A flag for BSD platforms |
644 ['OS=="freebsd" or OS=="openbsd"', { | 649 ['OS=="freebsd" or OS=="openbsd"', { |
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1172 'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)', | 1177 'spdy_proxy_auth_property%': '<(spdy_proxy_auth_property)', |
1173 'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)', | 1178 'spdy_proxy_auth_value%': '<(spdy_proxy_auth_value)', |
1174 'enable_mdns%' : '<(enable_mdns)', | 1179 'enable_mdns%' : '<(enable_mdns)', |
1175 'enable_service_discovery%' : '<(enable_service_discovery)', | 1180 'enable_service_discovery%' : '<(enable_service_discovery)', |
1176 'enable_wifi_bootstrapping%': '<(enable_wifi_bootstrapping)', | 1181 'enable_wifi_bootstrapping%': '<(enable_wifi_bootstrapping)', |
1177 'enable_hangout_services_extension%' : '<(enable_hangout_services_extension) ', | 1182 'enable_hangout_services_extension%' : '<(enable_hangout_services_extension) ', |
1178 'v8_optimized_debug%': '<(v8_optimized_debug)', | 1183 'v8_optimized_debug%': '<(v8_optimized_debug)', |
1179 'proprietary_codecs%': '<(proprietary_codecs)', | 1184 'proprietary_codecs%': '<(proprietary_codecs)', |
1180 'use_goma%': '<(use_goma)', | 1185 'use_goma%': '<(use_goma)', |
1181 'gomadir%': '<(gomadir)', | 1186 'gomadir%': '<(gomadir)', |
1187 'use_lto%': '<(use_lto)', | |
1188 'use_lto_o2%': '<use_lto_o2', | |
1182 'video_hole%': '<(video_hole)', | 1189 'video_hole%': '<(video_hole)', |
1183 'enable_load_completion_hacks%': '<(enable_load_completion_hacks)', | 1190 'enable_load_completion_hacks%': '<(enable_load_completion_hacks)', |
1184 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', | 1191 'support_pre_M6_history_database%': '<(support_pre_M6_history_database)', |
1185 | 1192 |
1186 # Whether or not we are building the Athena shell. | 1193 # Whether or not we are building the Athena shell. |
1187 'use_athena%': '0', | 1194 'use_athena%': '0', |
1188 | 1195 |
1189 # Use system protobuf instead of bundled one. | 1196 # Use system protobuf instead of bundled one. |
1190 'use_system_protobuf%': 0, | 1197 'use_system_protobuf%': 0, |
1191 | 1198 |
(...skipping 1104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2296 # Do not disable seccomp_bpf anywhere without talking to | 2303 # Do not disable seccomp_bpf anywhere without talking to |
2297 # security@chromium.org! | 2304 # security@chromium.org! |
2298 ['((OS=="linux" or OS=="android") and ' | 2305 ['((OS=="linux" or OS=="android") and ' |
2299 '(target_arch=="ia32" or target_arch=="x64" or ' | 2306 '(target_arch=="ia32" or target_arch=="x64" or ' |
2300 'target_arch=="arm" or target_arch=="mipsel" or ' | 2307 'target_arch=="arm" or target_arch=="mipsel" or ' |
2301 'target_arch=="arm64"))', { | 2308 'target_arch=="arm64"))', { |
2302 'use_seccomp_bpf%': 1, | 2309 'use_seccomp_bpf%': 1, |
2303 }, { | 2310 }, { |
2304 'use_seccomp_bpf%': 0, | 2311 'use_seccomp_bpf%': 0, |
2305 }], | 2312 }], |
2313 # Set component build with LTO until all tests pass. | |
2314 # This reduces link time | |
pasko
2014/10/10 11:59:21
nit:
s/This reduces link time/This reduces link t
Fabrice (no longer in Chrome)
2014/10/13 15:45:12
Done.
| |
2315 ['use_lto==1', { | |
2316 'component%': "shared_library", | |
2317 }], | |
2306 ], | 2318 ], |
2307 | 2319 |
2308 # older history files use fts2 instead of fts3 | 2320 # older history files use fts2 instead of fts3 |
2309 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)', | 2321 'sqlite_enable_fts2%': '<(support_pre_M6_history_database)', |
2310 | 2322 |
2311 # The path to the ANGLE library. | 2323 # The path to the ANGLE library. |
2312 'angle_path': '<(DEPTH)/third_party/angle', | 2324 'angle_path': '<(DEPTH)/third_party/angle', |
2313 | 2325 |
2314 # List of default apps to install in new profiles. The first list contains | 2326 # List of default apps to install in new profiles. The first list contains |
2315 # the source files as found in svn. The second list, used only for linux, | 2327 # the source files as found in svn. The second list, used only for linux, |
(...skipping 1422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3738 '-target arm-linux-gnueabihf', | 3750 '-target arm-linux-gnueabihf', |
3739 ], | 3751 ], |
3740 'ldflags': [ | 3752 'ldflags': [ |
3741 '-target arm-linux-gnueabihf', | 3753 '-target arm-linux-gnueabihf', |
3742 ], | 3754 ], |
3743 }], | 3755 }], |
3744 ['arm_arch!=""', { | 3756 ['arm_arch!=""', { |
3745 'cflags': [ | 3757 'cflags': [ |
3746 '-march=<(arm_arch)', | 3758 '-march=<(arm_arch)', |
3747 ], | 3759 ], |
3760 'conditions': [ | |
3761 ['use_lto==1 or use_lto_o2==1', { | |
3762 'ldflags': [ | |
3763 '-march=<(arm_arch)', | |
3764 ], | |
3765 }], | |
3766 ], | |
3748 }], | 3767 }], |
3749 ['clang==1 and OS!="android"', { | 3768 ['clang==1 and OS!="android"', { |
3750 'cflags': [ | 3769 'cflags': [ |
3751 # We need to disable clang's builtin assembler as it can't | 3770 # We need to disable clang's builtin assembler as it can't |
3752 # handle several asm files, crbug.com/124610 | 3771 # handle several asm files, crbug.com/124610 |
3753 '-no-integrated-as', | 3772 '-no-integrated-as', |
3754 ], | 3773 ], |
3755 }], | 3774 }], |
3756 ['arm_tune!=""', { | 3775 ['arm_tune!=""', { |
3757 'cflags': [ | 3776 'cflags': [ |
3758 '-mtune=<(arm_tune)', | 3777 '-mtune=<(arm_tune)', |
3759 ], | 3778 ], |
3779 'conditions': [ | |
3780 ['use_lto==1 or use_lto_o2==1', { | |
3781 'ldflags': [ | |
3782 '-mtune=<(arm_tune)', | |
3783 ], | |
3784 }], | |
3785 ], | |
3760 }], | 3786 }], |
3761 ['arm_fpu!=""', { | 3787 ['arm_fpu!=""', { |
3762 'cflags': [ | 3788 'cflags': [ |
3763 '-mfpu=<(arm_fpu)', | 3789 '-mfpu=<(arm_fpu)', |
3764 ], | 3790 ], |
3791 'conditions': [ | |
3792 ['use_lto==1 or use_lto_o2==1', { | |
3793 'ldflags': [ | |
3794 '-mfpu=<(arm_fpu)', | |
3795 ], | |
3796 }], | |
3797 ], | |
3765 }], | 3798 }], |
3766 ['arm_float_abi!=""', { | 3799 ['arm_float_abi!=""', { |
3767 'cflags': [ | 3800 'cflags': [ |
3768 '-mfloat-abi=<(arm_float_abi)', | 3801 '-mfloat-abi=<(arm_float_abi)', |
3769 ], | 3802 ], |
3803 'conditions': [ | |
3804 ['use_lto==1 or use_lto_o2==1', { | |
3805 'ldflags': [ | |
3806 '-mfloat-abi=<(arm_float_abi)', | |
3807 ], | |
3808 }], | |
3809 ], | |
3770 }], | 3810 }], |
3771 ['arm_thumb==1', { | 3811 ['arm_thumb==1', { |
3772 'cflags': [ | 3812 'cflags': [ |
3773 '-mthumb', | 3813 '-mthumb', |
3774 ], | 3814 ], |
3815 'conditions': [ | |
3816 ['use_lto==1 or use_lto_o2==1', { | |
3817 'ldflags': [ | |
3818 '-mthumb', | |
3819 ], | |
3820 }], | |
3821 ], | |
3775 }], | 3822 }], |
3776 ['OS=="android"', { | 3823 ['OS=="android"', { |
3777 # Most of the following flags are derived from what Android | 3824 # Most of the following flags are derived from what Android |
3778 # uses by default when building for arm, reference for which | 3825 # uses by default when building for arm, reference for which |
3779 # can be found in the following file in the Android NDK: | 3826 # can be found in the following file in the Android NDK: |
3780 # toolchains/arm-linux-androideabi-4.9/setup.mk | 3827 # toolchains/arm-linux-androideabi-4.9/setup.mk |
3781 'cflags': [ | 3828 'cflags': [ |
3782 # The tree-sra optimization (scalar replacement for | 3829 # The tree-sra optimization (scalar replacement for |
3783 # aggregates enabling subsequent optimizations) leads to | 3830 # aggregates enabling subsequent optimizations) leads to |
3784 # invalid code generation when using the Android NDK's | 3831 # invalid code generation when using the Android NDK's |
(...skipping 1874 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5659 # make generator doesn't support CC_wrapper without CC | 5706 # make generator doesn't support CC_wrapper without CC |
5660 # in make_global_settings yet. | 5707 # in make_global_settings yet. |
5661 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { | 5708 ['use_goma==1 and ("<(GENERATOR)"=="ninja" or clang==1)', { |
5662 'make_global_settings': [ | 5709 'make_global_settings': [ |
5663 ['CC_wrapper', '<(gomadir)/gomacc'], | 5710 ['CC_wrapper', '<(gomadir)/gomacc'], |
5664 ['CXX_wrapper', '<(gomadir)/gomacc'], | 5711 ['CXX_wrapper', '<(gomadir)/gomacc'], |
5665 ['CC.host_wrapper', '<(gomadir)/gomacc'], | 5712 ['CC.host_wrapper', '<(gomadir)/gomacc'], |
5666 ['CXX.host_wrapper', '<(gomadir)/gomacc'], | 5713 ['CXX.host_wrapper', '<(gomadir)/gomacc'], |
5667 ], | 5714 ], |
5668 }], | 5715 }], |
5716 ['use_lto==1', { | |
5717 'target_defaults': { | |
5718 'target_conditions': [ | |
5719 ['_toolset=="target"', { | |
5720 'cflags': [ | |
5721 '-flto', | |
5722 '-ffat-lto-objects', | |
5723 ], | |
5724 }], | |
5725 ], | |
5726 }, | |
5727 }], | |
5728 ['use_lto==1 or use_lto_o2==1', { | |
5729 'target_defaults': { | |
5730 'target_conditions': [ | |
5731 ['_toolset=="target"', { | |
5732 'ldflags': [ | |
5733 '-flto=32', | |
5734 ], | |
5735 }], | |
5736 ], | |
5737 }, | |
5738 }], | |
5669 ], | 5739 ], |
5670 'xcode_settings': { | 5740 'xcode_settings': { |
5671 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! | 5741 # DON'T ADD ANYTHING NEW TO THIS BLOCK UNLESS YOU REALLY REALLY NEED IT! |
5672 # This block adds *project-wide* configuration settings to each project | 5742 # This block adds *project-wide* configuration settings to each project |
5673 # file. It's almost always wrong to put things here. Specify your | 5743 # file. It's almost always wrong to put things here. Specify your |
5674 # custom xcode_settings in target_defaults to add them to targets instead. | 5744 # custom xcode_settings in target_defaults to add them to targets instead. |
5675 | 5745 |
5676 'conditions': [ | 5746 'conditions': [ |
5677 # In an Xcode Project Info window, the "Base SDK for All Configurations" | 5747 # In an Xcode Project Info window, the "Base SDK for All Configurations" |
5678 # setting sets the SDK on a project-wide basis. In order to get the | 5748 # setting sets the SDK on a project-wide basis. In order to get the |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
5729 # settings in target dicts. SYMROOT is a special case, because many other | 5799 # settings in target dicts. SYMROOT is a special case, because many other |
5730 # Xcode variables depend on it, including variables such as | 5800 # Xcode variables depend on it, including variables such as |
5731 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 5801 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
5732 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 5802 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
5733 # files to appear (when present) in the UI as actual files and not red | 5803 # files to appear (when present) in the UI as actual files and not red |
5734 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 5804 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
5735 # and therefore SYMROOT, needs to be set at the project level. | 5805 # and therefore SYMROOT, needs to be set at the project level. |
5736 'SYMROOT': '<(DEPTH)/xcodebuild', | 5806 'SYMROOT': '<(DEPTH)/xcodebuild', |
5737 }, | 5807 }, |
5738 } | 5808 } |
OLD | NEW |