OLD | NEW |
1 # Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2009 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 { | 5 { |
6 'variables': { | 6 'variables': { |
7 # .gyp files should set chromium_code to 1 if they build Chromium-specific | 7 # .gyp files should set chromium_code to 1 if they build Chromium-specific |
8 # code, as opposed to external code. This variable is used to control | 8 # code, as opposed to external code. This variable is used to control |
9 # such things as the set of warnings to enable, and whether warnings are | 9 # such things as the set of warnings to enable, and whether warnings are |
10 # treated as errors. | 10 # treated as errors. |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 ], | 129 ], |
130 'linkflags': [ | 130 'linkflags': [ |
131 '-m32', | 131 '-m32', |
132 '-pthread', | 132 '-pthread', |
133 ], | 133 ], |
134 'scons_variable_settings': { | 134 'scons_variable_settings': { |
135 'LIBPATH': ['$LIB_DIR'], | 135 'LIBPATH': ['$LIB_DIR'], |
136 # Linking of large files uses lots of RAM, so serialize links | 136 # Linking of large files uses lots of RAM, so serialize links |
137 # using the handy flock command from util-linux. | 137 # using the handy flock command from util-linux. |
138 'FLOCK_LINK': ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], | 138 'FLOCK_LINK': ['flock', '$TOP_BUILDDIR/linker.lock', '$LINK'], |
| 139 'FLOCK_SHLINK': ['flock', '$TOP_BUILDDIR/linker.lock', '$SHLINK'], |
| 140 'FLOCK_LDMODULE': ['flock', '$TOP_BUILDDIR/linker.lock', '$LDMODULE'], |
139 | 141 |
140 # We have several cases where archives depend on each other in | 142 # We have several cases where archives depend on each other in |
141 # a cyclic fashion. Since the GNU linker does only a single | 143 # a cyclic fashion. Since the GNU linker does only a single |
142 # pass over the archives we surround the libraries with | 144 # pass over the archives we surround the libraries with |
143 # --start-group and --end-group (aka -( and -) ). That causes | 145 # --start-group and --end-group (aka -( and -) ). That causes |
144 # ld to loop over the group until no more undefined symbols | 146 # ld to loop over the group until no more undefined symbols |
145 # are found. In an ideal world we would only make groups from | 147 # are found. In an ideal world we would only make groups from |
146 # those libraries which we knew to be in cycles. However, | 148 # those libraries which we knew to be in cycles. However, |
147 # that's tough with SCons, so we bodge it by making all the | 149 # that's tough with SCons, so we bodge it by making all the |
148 # archives a group by redefining the linking command here. | 150 # archives a group by redefining the linking command here. |
149 # | 151 # |
150 # TODO: investigate whether we still have cycles that | 152 # TODO: investigate whether we still have cycles that |
151 # require --{start,end}-group. There has been a lot of | 153 # require --{start,end}-group. There has been a lot of |
152 # refactoring since this was first coded, which might have | 154 # refactoring since this was first coded, which might have |
153 # eliminated the circular dependencies. | 155 # eliminated the circular dependencies. |
154 'LINKCOM': [['$FLOCK_LINK', '-o', '$TARGET', '$LINKFLAGS', '$SOURCES',
'$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], | 156 'LINKCOM': [['$FLOCK_LINK', '-o', '$TARGET', '$LINKFLAGS', '$SOURCES',
'$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], |
155 'SHLINKCOM': [['$FLOCK_LINK', '-o', '$TARGET', '$SHLINFLAGS', '$SOURCE
S', '$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], | 157 'SHLINKCOM': [['$FLOCK_SHLINK', '-o', '$TARGET', '$SHLINKFLAGS', '$SOU
RCES', '$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], |
| 158 'LDMODULECOM': [['$FLOCK_LDMODULE', '-o', '$TARGET', '$LDMODULEFLAGS',
'$SOURCES', '$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-grou
p']], |
156 'IMPLICIT_COMMAND_DEPENDENCIES': 0, | 159 'IMPLICIT_COMMAND_DEPENDENCIES': 0, |
157 }, | 160 }, |
158 'scons_import_variables': [ | 161 'scons_import_variables': [ |
159 'CC', | 162 'CC', |
160 'CXX', | 163 'CXX', |
161 'LINK', | 164 'LINK', |
162 ], | 165 ], |
163 'scons_propagate_variables': [ | 166 'scons_propagate_variables': [ |
164 'CC', | 167 'CC', |
165 'CCACHE_DIR', | 168 'CCACHE_DIR', |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
331 # settings in target dicts. SYMROOT is a special case, because many other | 334 # settings in target dicts. SYMROOT is a special case, because many other |
332 # Xcode variables depend on it, including variables such as | 335 # Xcode variables depend on it, including variables such as |
333 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 336 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
334 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 337 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
335 # files to appear (when present) in the UI as actual files and not red | 338 # files to appear (when present) in the UI as actual files and not red |
336 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 339 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
337 # and therefore SYMROOT, needs to be set at the project level. | 340 # and therefore SYMROOT, needs to be set at the project level. |
338 'SYMROOT': '<(DEPTH)/xcodebuild', | 341 'SYMROOT': '<(DEPTH)/xcodebuild', |
339 }, | 342 }, |
340 } | 343 } |
OLD | NEW |