| 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 |