|
99 | 99 | ['OS=="linux" and host_arch=="ia32"', { |
100 | 100 | 'binutils_dir%': 'third_party/binutils/Linux_ia32/Release/bin', |
101 | 101 | }], |
102 | | - |
103 | | - # linux_use_bundled_gold: whether to use the gold linker binary checked |
104 | | - # into third_party/binutils. Force this off via GYP_DEFINES when you |
105 | | - # are using a custom toolchain and need to control -B in ldflags. |
106 | | - # Do not use 32-bit gold on 32-bit hosts as it runs out address space |
107 | | - # for component=static_library builds. |
108 | | - ['((OS=="linux" or OS=="android") and (target_arch=="x64" or target_arch=="arm" or (target_arch=="ia32" and host_arch=="x64"))) or (OS=="linux" and target_arch=="mipsel")', { |
109 | | - 'linux_use_bundled_gold%': 1, |
110 | | - }, { |
111 | | - 'linux_use_bundled_gold%': 0, |
112 | | - }], |
113 | | - # linux_use_bundled_binutils: whether to use the binary binutils |
114 | | - # checked into third_party/binutils. These are not multi-arch so cannot |
115 | | - # be used except on x86 and x86-64 (the only two architectures which |
116 | | - # are currently checke in). Force this off via GYP_DEFINES when you |
117 | | - # are using a custom toolchain and need to control -B in cflags. |
118 | | - ['OS=="linux" and (target_arch=="ia32" or target_arch=="x64")', { |
119 | | - 'linux_use_bundled_binutils%': 1, |
120 | | - }, { |
121 | | - 'linux_use_bundled_binutils%': 0, |
122 | | - }], |
123 | | - # linux_use_gold_flags: whether to use build flags that rely on gold. |
124 | | - # On by default for x64 Linux. |
125 | | - ['OS=="linux" and target_arch=="x64"', { |
126 | | - 'linux_use_gold_flags%': 1, |
127 | | - }, { |
128 | | - 'linux_use_gold_flags%': 0, |
129 | | - }], |
130 | 102 | ], |
131 | 103 |
|
132 | 104 | # Indicates if gcmole tools are downloaded by a hook. |
|
990 | 962 | '-mx32', |
991 | 963 | ], |
992 | 964 | }], # v8_target_arch=="x32" |
993 | | - ['linux_use_gold_flags==1', { |
994 | | - # Newer gccs and clangs support -fuse-ld, use the flag to force gold |
995 | | - # selection. |
996 | | - # gcc -- http://gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc/Optimize-Options.html |
997 | | - 'ldflags': [ '-fuse-ld=gold', ], |
998 | | - }], |
999 | | - ['linux_use_bundled_binutils==1', { |
1000 | | - 'cflags': [ |
1001 | | - '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', |
1002 | | - ], |
1003 | | - }], |
1004 | | - ['linux_use_bundled_gold==1', { |
1005 | | - # Put our binutils, which contains gold in the search path. We pass |
1006 | | - # the path to gold to the compiler. gyp leaves unspecified what the |
1007 | | - # cwd is when running the compiler, so the normal gyp path-munging |
1008 | | - # fails us. This hack gets the right path. |
1009 | | - 'ldflags': [ |
1010 | | - '-B<!(cd <(DEPTH) && pwd -P)/<(binutils_dir)', |
1011 | | - ], |
1012 | | - }], |
1013 | 965 | ['OS=="win"', { |
1014 | 966 | 'defines': [ |
1015 | 967 | 'WIN32', |
|
1195 | 1147 | }], |
1196 | 1148 | ], |
1197 | 1149 | }], |
1198 | | - ['linux_use_gold_flags==1', { |
1199 | | - 'target_conditions': [ |
1200 | | - ['_toolset=="target"', { |
1201 | | - 'ldflags': [ |
1202 | | - # Experimentation found that using four linking threads |
1203 | | - # saved ~20% of link time. |
1204 | | - # https://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/281527606915bb36 |
1205 | | - # Only apply this to the target linker, since the host |
1206 | | - # linker might not be gold, but isn't used much anyway. |
1207 | | - '-Wl,--threads', |
1208 | | - '-Wl,--thread-count=4', |
1209 | | - ], |
1210 | | - }], |
1211 | | - ], |
1212 | | - }], |
1213 | 1150 | ['v8_optimized_debug==0', { |
1214 | 1151 | 'msvs_settings': { |
1215 | 1152 | 'VCCLCompilerTool': { |
|
0 commit comments