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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 '-pthread', | 124 '-pthread', |
125 '-march=pentium4', | 125 '-march=pentium4', |
126 '-fno-exceptions', | 126 '-fno-exceptions', |
127 '-msse2', | 127 '-msse2', |
128 '-mfpmath=sse', | 128 '-mfpmath=sse', |
129 ], | 129 ], |
130 'linkflags': [ | 130 'linkflags': [ |
131 '-m32', | 131 '-m32', |
132 '-pthread', | 132 '-pthread', |
133 ], | 133 ], |
134 'scons_settings': { | 134 'scons_variable_settings': { |
135 'LIBPATH': ['$DESTINATION_ROOT/lib'], | 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', '$DESTINATION_ROOT/linker.lock', '$LINK'], | 138 'FLOCK_LINK': ['flock', '$DESTINATION_ROOT/linker.lock', '$LINK'], |
139 | 139 |
140 # We have several cases where archives depend on each other in | 140 # We have several cases where archives depend on each other in |
141 # a cyclic fashion. Since the GNU linker does only a single | 141 # a cyclic fashion. Since the GNU linker does only a single |
142 # pass over the archives we surround the libraries with | 142 # pass over the archives we surround the libraries with |
143 # --start-group and --end-group (aka -( and -) ). That causes | 143 # --start-group and --end-group (aka -( and -) ). That causes |
144 # ld to loop over the group until no more undefined symbols | 144 # ld to loop over the group until no more undefined symbols |
145 # are found. In an ideal world we would only make groups from | 145 # are found. In an ideal world we would only make groups from |
146 # those libraries which we knew to be in cycles. However, | 146 # those libraries which we knew to be in cycles. However, |
147 # that's tough with SCons, so we bodge it by making all the | 147 # that's tough with SCons, so we bodge it by making all the |
148 # archives a group by redefining the linking command here. | 148 # archives a group by redefining the linking command here. |
149 # | 149 # |
150 # TODO: investigate whether we still have cycles that | 150 # TODO: investigate whether we still have cycles that |
151 # require --{start,end}-group. There has been a lot of | 151 # require --{start,end}-group. There has been a lot of |
152 # refactoring since this was first coded, which might have | 152 # refactoring since this was first coded, which might have |
153 # eliminated the circular dependencies. | 153 # eliminated the circular dependencies. |
154 'LINKCOM': [['$FLOCK_LINK', '-o', '$TARGET', '$LINKFLAGS', '$SOURCES',
'$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], | 154 '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']], | 155 'SHLINKCOM': [['$FLOCK_LINK', '-o', '$TARGET', '$SHLINFLAGS', '$SOURCE
S', '$_LIBDIRFLAGS', '-Wl,--start-group', '$_LIBFLAGS', '-Wl,--end-group']], |
156 'IMPLICIT_COMMAND_DEPENDENCIES': 0, | 156 'IMPLICIT_COMMAND_DEPENDENCIES': 0, |
157 }, | 157 }, |
| 158 'scons_import_variables': [ |
| 159 'CC', |
| 160 'CXX', |
| 161 'LINK', |
| 162 ], |
| 163 'scons_propagate_variables': [ |
| 164 'CC', |
| 165 'CCACHE_DIR', |
| 166 'CXX', |
| 167 'DISTCC_DIR', |
| 168 'DISTCC_HOSTS', |
| 169 'HOME', |
| 170 'LINK', |
| 171 ], |
158 }, | 172 }, |
159 }], | 173 }], |
160 ['OS=="mac"', { | 174 ['OS=="mac"', { |
161 'target_defaults': { | 175 'target_defaults': { |
162 'mac_bundle': 0, | 176 'mac_bundle': 0, |
163 'xcode_settings': { | 177 'xcode_settings': { |
164 'ALWAYS_SEARCH_USER_PATHS': 'NO', | 178 'ALWAYS_SEARCH_USER_PATHS': 'NO', |
165 'GCC_C_LANGUAGE_STANDARD': 'c99', | 179 'GCC_C_LANGUAGE_STANDARD': 'c99', |
166 'GCC_CW_ASM_SYNTAX': 'NO', | 180 'GCC_CW_ASM_SYNTAX': 'NO', |
167 'GCC_DYNAMIC_NO_PIC': 'YES', | 181 'GCC_DYNAMIC_NO_PIC': 'YES', |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 # settings in target dicts. SYMROOT is a special case, because many other | 312 # settings in target dicts. SYMROOT is a special case, because many other |
299 # Xcode variables depend on it, including variables such as | 313 # Xcode variables depend on it, including variables such as |
300 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 314 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
301 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 315 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
302 # files to appear (when present) in the UI as actual files and not red | 316 # files to appear (when present) in the UI as actual files and not red |
303 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 317 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
304 # and therefore SYMROOT, needs to be set at the project level. | 318 # and therefore SYMROOT, needs to be set at the project level. |
305 'SYMROOT': '<(DEPTH)/xcodebuild', | 319 'SYMROOT': '<(DEPTH)/xcodebuild', |
306 }, | 320 }, |
307 } | 321 } |
OLD | NEW |