diff options
author | dpranke <dpranke@chromium.org> | 2015-10-12 23:20:33 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-13 06:21:19 +0000 |
commit | d4da5ab4987c2c22d96dcf8c4b3ac2449aa16c0f (patch) | |
tree | 125f2ec1dce6d8d5beed45329388dd1d982d9714 /build_overrides | |
parent | db54eaf0cb213a4495dc2e4264fab57515b0a9d4 (diff) | |
download | chromium_src-d4da5ab4987c2c22d96dcf8c4b3ac2449aa16c0f.zip chromium_src-d4da5ab4987c2c22d96dcf8c4b3ac2449aa16c0f.tar.gz chromium_src-d4da5ab4987c2c22d96dcf8c4b3ac2449aa16c0f.tar.bz2 |
Move //build/module_args/v8.gni to //build_overrides.
The original intent of the build/module_args directory was to
provide a place where different repos could customize settings
as needed depending on their dependencies and needs.
However, given that you can't really yet embed GN by just
deps-ing in //build/config and //build/toolchain, you end up
needing to deps-in all of build, and so there was no good way to
have different settings per-repo in //build/module_args.
This CL changes the approach such that we will have an additional
top-level directory called //build_overrides, which is therefore
separate from //build and can be properly customized.
It is unfortunate that we need to use two top-level directories
for GN, but we don't have a good alternative at this time. Once
we can remove the GYP build and further clean up the structure
and dependencies of //build we will hopefully be able to do better.
R=brettw@chromium.org
BUG=541791
Review URL: https://codereview.chromium.org/1397493004
Cr-Commit-Position: refs/heads/master@{#353690}
Diffstat (limited to 'build_overrides')
-rw-r--r-- | build_overrides/README.md | 20 | ||||
-rw-r--r-- | build_overrides/v8.gni | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/build_overrides/README.md b/build_overrides/README.md new file mode 100644 index 0000000..d26312c --- /dev/null +++ b/build_overrides/README.md @@ -0,0 +1,20 @@ +# Build overrides in GN + +This directory is used to allow different products to customize settings +for repos that are DEPS'ed in or shared. + +For example: V8 could be built on its own (in a "standalone" configuration), +and it could be built as part of Chromium. V8 might define a top-level +target, //v8:d8 (a simple executable), that should only be built in the +standalone configuration. To figure out whether or not it should be +in a standalone configuration, v8 can create a file, build_overrides/v8.gni, +that contains a variable, `build_standalone_d8 = true`. +and import it (as import("//build_overrides/v8.gni") from its top-level +BUILD.gn file. + +Chromium, on the other hand, might not need to build d8, and so it would +create its own build_overrides/v8.gni file, and in it set +`build_standalone_d8 = false`. + +The two files should define the same set of variables, but the values can +vary as appropriate to the needs of the two different builds. diff --git a/build_overrides/v8.gni b/build_overrides/v8.gni new file mode 100644 index 0000000..4fc5f98 --- /dev/null +++ b/build_overrides/v8.gni @@ -0,0 +1,20 @@ +# Copyright 2015 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +if (is_android) { + import("//build/config/android/config.gni") +} + +# TODO(sky): nuke this. Temporary while sorting out http://crbug.com/465456. +enable_correct_v8_arch = false + +v8_use_external_startup_data = !(is_chromeos || is_win || is_ios) + +# V8 extras +# Adding V8 extras files requires API owners review +# Be sure to synchronize with build/common.gypi + +v8_extra_library_files = [] +v8_experimental_extra_library_files = + [ "../third_party/WebKit/Source/core/streams/ByteLengthQueuingStrategy.js" ] |