Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Side by Side Diff: build/config/BUILDCONFIG.gn

Issue 2784063002: Config changes to support target_os="fuchsia" (Closed)
Patch Set: self review Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 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 # WHAT IS THIS FILE? 6 # WHAT IS THIS FILE?
7 # ============================================================================= 7 # =============================================================================
8 # 8 #
9 # This is the master GN build configuration. This file is loaded after the 9 # This is the master GN build configuration. This file is loaded after the
10 # build args (args.gn) for the build directory and after the toplevel ".gn" 10 # build args (args.gn) for the build directory and after the toplevel ".gn"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 # release (!is_debug). This might be better expressed as a tri-state 128 # release (!is_debug). This might be better expressed as a tri-state
129 # (debug, release, official) but for historical reasons there are two 129 # (debug, release, official) but for historical reasons there are two
130 # separate flags. 130 # separate flags.
131 is_official_build = false 131 is_official_build = false
132 132
133 # Whether we're a traditional desktop unix. 133 # Whether we're a traditional desktop unix.
134 is_desktop_linux = current_os == "linux" 134 is_desktop_linux = current_os == "linux"
135 135
136 # Set to true when compiling with the Clang compiler. Typically this is used 136 # Set to true when compiling with the Clang compiler. Typically this is used
137 # to configure warnings. 137 # to configure warnings.
138 is_clang = current_os == "mac" || current_os == "ios" || 138 is_clang =
139 current_os == "linux" || current_os == "chromeos" 139 current_os == "mac" || current_os == "ios" || current_os == "linux" ||
140 current_os == "chromeos" || current_os == "fuchsia"
140 141
141 # Allows the path to a custom target toolchain to be injected as a single 142 # Allows the path to a custom target toolchain to be injected as a single
142 # argument, and set as the default toolchain. 143 # argument, and set as the default toolchain.
143 custom_toolchain = "" 144 custom_toolchain = ""
144 145
145 # This should not normally be set as a build argument. It's here so that 146 # This should not normally be set as a build argument. It's here so that
146 # every toolchain can pass through the "global" value via toolchain_args(). 147 # every toolchain can pass through the "global" value via toolchain_args().
147 host_toolchain = "" 148 host_toolchain = ""
148 149
149 # DON'T ADD MORE FLAGS HERE. Read the comment above. 150 # DON'T ADD MORE FLAGS HERE. Read the comment above.
150 } 151 }
151 152
152 declare_args() { 153 declare_args() {
153 # Debug build. Enabling official builds automatically sets is_debug to false. 154 # Debug build. Enabling official builds automatically sets is_debug to false.
154 is_debug = !is_official_build 155 is_debug = !is_official_build
155 } 156 }
156 157
157 declare_args() { 158 declare_args() {
158 # Component build. Setting to true compiles targets declared as "components" 159 # Component build. Setting to true compiles targets declared as "components"
159 # as shared libraries loaded dynamically. This speeds up development time. 160 # as shared libraries loaded dynamically. This speeds up development time.
160 # When false, components will be linked statically. 161 # When false, components will be linked statically.
161 # 162 #
162 # For more information see 163 # For more information see
163 # https://chromium.googlesource.com/chromium/src/+/master/docs/component_build .md 164 # https://chromium.googlesource.com/chromium/src/+/master/docs/component_build .md
164 is_component_build = is_debug && current_os != "ios" 165 is_component_build =
166 is_debug && current_os != "ios" && current_os != "fuchsia"
165 } 167 }
166 168
167 assert(!(is_debug && is_official_build), "Can't do official debug builds") 169 assert(!(is_debug && is_official_build), "Can't do official debug builds")
168 170
169 # ============================================================================== 171 # ==============================================================================
170 # TOOLCHAIN SETUP 172 # TOOLCHAIN SETUP
171 # ============================================================================== 173 # ==============================================================================
172 # 174 #
173 # Here we set the default toolchain, as well as the variable host_toolchain 175 # Here we set the default toolchain, as well as the variable host_toolchain
174 # which will identify the toolchain corresponding to the local system when 176 # which will identify the toolchain corresponding to the local system when
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 } else { 224 } else {
223 _default_toolchain = "//build/toolchain/android:android_$target_cpu" 225 _default_toolchain = "//build/toolchain/android:android_$target_cpu"
224 } 226 }
225 } else if (target_os == "chromeos" || target_os == "linux") { 227 } else if (target_os == "chromeos" || target_os == "linux") {
226 # See comments in build/toolchain/cros/BUILD.gn about board compiles. 228 # See comments in build/toolchain/cros/BUILD.gn about board compiles.
227 if (is_clang) { 229 if (is_clang) {
228 _default_toolchain = "//build/toolchain/linux:clang_$target_cpu" 230 _default_toolchain = "//build/toolchain/linux:clang_$target_cpu"
229 } else { 231 } else {
230 _default_toolchain = "//build/toolchain/linux:$target_cpu" 232 _default_toolchain = "//build/toolchain/linux:$target_cpu"
231 } 233 }
234 } else if (target_os == "fuchsia") {
235 _default_toolchain = "//build/toolchain/fuchsia:$target_cpu"
232 } else if (target_os == "ios") { 236 } else if (target_os == "ios") {
233 _default_toolchain = "//build/toolchain/mac:ios_clang_$target_cpu" 237 _default_toolchain = "//build/toolchain/mac:ios_clang_$target_cpu"
234 } else if (target_os == "mac") { 238 } else if (target_os == "mac") {
235 assert(host_os == "mac", "Mac cross-compiles are unsupported.") 239 assert(host_os == "mac", "Mac cross-compiles are unsupported.")
236 _default_toolchain = host_toolchain 240 _default_toolchain = host_toolchain
237 } else if (target_os == "win") { 241 } else if (target_os == "win") {
238 # On Windows we use the same toolchain for host and target by default. 242 # On Windows we use the same toolchain for host and target by default.
239 assert(target_os == host_os, "Win cross-compiles only work on win hosts.") 243 assert(target_os == host_os, "Win cross-compiles only work on win hosts.")
240 if (is_clang) { 244 if (is_clang) {
241 _default_toolchain = "//build/toolchain/win:clang_$target_cpu" 245 _default_toolchain = "//build/toolchain/win:clang_$target_cpu"
(...skipping 30 matching lines...) Expand all
272 # generally too different despite being based on the Linux kernel). 276 # generally too different despite being based on the Linux kernel).
273 # 277 #
274 # Do not add more is_* variants here for random lesser-used Unix systems like 278 # Do not add more is_* variants here for random lesser-used Unix systems like
275 # aix or one of the BSDs. If you need to check these, just check the 279 # aix or one of the BSDs. If you need to check these, just check the
276 # current_os value directly. 280 # current_os value directly.
277 281
278 if (current_os == "win" || current_os == "winrt_81" || 282 if (current_os == "win" || current_os == "winrt_81" ||
279 current_os == "winrt_81_phone" || current_os == "winrt_10") { 283 current_os == "winrt_81_phone" || current_os == "winrt_10") {
280 is_android = false 284 is_android = false
281 is_chromeos = false 285 is_chromeos = false
286 is_fuchsia = false
282 is_ios = false 287 is_ios = false
283 is_linux = false 288 is_linux = false
284 is_mac = false 289 is_mac = false
285 is_nacl = false 290 is_nacl = false
286 is_posix = false 291 is_posix = false
287 is_win = true 292 is_win = true
288 } else if (current_os == "mac") { 293 } else if (current_os == "mac") {
289 is_android = false 294 is_android = false
290 is_chromeos = false 295 is_chromeos = false
296 is_fuchsia = false
291 is_ios = false 297 is_ios = false
292 is_linux = false 298 is_linux = false
293 is_mac = true 299 is_mac = true
294 is_nacl = false 300 is_nacl = false
295 is_posix = true 301 is_posix = true
296 is_win = false 302 is_win = false
297 } else if (current_os == "android") { 303 } else if (current_os == "android") {
298 is_android = true 304 is_android = true
299 is_chromeos = false 305 is_chromeos = false
306 is_fuchsia = false
300 is_ios = false 307 is_ios = false
301 is_linux = false 308 is_linux = false
302 is_mac = false 309 is_mac = false
303 is_nacl = false 310 is_nacl = false
304 is_posix = true 311 is_posix = true
305 is_win = false 312 is_win = false
306 } else if (current_os == "chromeos") { 313 } else if (current_os == "chromeos") {
307 is_android = false 314 is_android = false
308 is_chromeos = true 315 is_chromeos = true
316 is_fuchsia = false
309 is_ios = false 317 is_ios = false
310 is_linux = true 318 is_linux = true
311 is_mac = false 319 is_mac = false
312 is_nacl = false 320 is_nacl = false
313 is_posix = true 321 is_posix = true
314 is_win = false 322 is_win = false
315 } else if (current_os == "nacl") { 323 } else if (current_os == "nacl") {
316 # current_os == "nacl" will be passed by the nacl toolchain definition. 324 # current_os == "nacl" will be passed by the nacl toolchain definition.
317 # It is not set by default or on the command line. We treat is as a 325 # It is not set by default or on the command line. We treat is as a
318 # Posix variant. 326 # Posix variant.
319 is_android = false 327 is_android = false
320 is_chromeos = false 328 is_chromeos = false
329 is_fuchsia = false
321 is_ios = false 330 is_ios = false
322 is_linux = false 331 is_linux = false
323 is_mac = false 332 is_mac = false
324 is_nacl = true 333 is_nacl = true
325 is_posix = true 334 is_posix = true
326 is_win = false 335 is_win = false
336 } else if (current_os == "fuchsia") {
337 is_android = false
338 is_chromeos = false
339 is_fuchsia = true
340 is_ios = false
341 is_linux = false
342 is_mac = false
343 is_nacl = false
344 is_posix = true
345 is_win = false
327 } else if (current_os == "ios") { 346 } else if (current_os == "ios") {
328 is_android = false 347 is_android = false
329 is_chromeos = false 348 is_chromeos = false
349 is_fuchsia = false
330 is_ios = true 350 is_ios = true
331 is_linux = false 351 is_linux = false
332 is_mac = false 352 is_mac = false
333 is_nacl = false 353 is_nacl = false
334 is_posix = true 354 is_posix = true
335 is_win = false 355 is_win = false
336 } else if (current_os == "linux") { 356 } else if (current_os == "linux") {
337 is_android = false 357 is_android = false
338 is_chromeos = false 358 is_chromeos = false
359 is_fuchsia = false
339 is_ios = false 360 is_ios = false
340 is_linux = true 361 is_linux = true
341 is_mac = false 362 is_mac = false
342 is_nacl = false 363 is_nacl = false
343 is_posix = true 364 is_posix = true
344 is_win = false 365 is_win = false
345 } 366 }
346 367
347 # ============================================================================= 368 # =============================================================================
348 # SOURCES FILTERS 369 # SOURCES FILTERS
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 set_defaults("component") { 672 set_defaults("component") {
652 if (is_component_build) { 673 if (is_component_build) {
653 configs = default_shared_library_configs 674 configs = default_shared_library_configs
654 if (is_android) { 675 if (is_android) {
655 configs -= [ "//build/config/android:hide_all_but_jni_onload" ] 676 configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
656 } 677 }
657 } else { 678 } else {
658 configs = default_compiler_configs 679 configs = default_compiler_configs
659 } 680 }
660 } 681 }
OLDNEW
« build/build_config.h ('K') | « build/build_config.h ('k') | build/config/compiler/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698