
As a prelude to starting to move the build fully over to Python 3, this CL changes all of the GN `action` and `action_foreach` targets that appear to require Python 2 over to `python2_action` and `python2_action_foreach`. This CL by itself should produce no functional change since we'll still be using Python 2 by default, and the new templates are passthroughs in that config. To start using Python3, you can run `gn gen --script-executable=python3 //out/Default` on Unix; on Python3 you need to point to an actual python3.exe and not the python3.bat wrapper in depot_tools; once we can roll GN forward to a version that contains https://gn-review.googlesource.com/c/gn/+/10560 (which will hopefully happen in the next day or two), that won't be necessary. The Fuchsia build will not work until http://fxrev.dev/446479 lands and is rolled in. No-Presubmit: true Bug: 1112471 AX-Relnotes: n/a Change-Id: I891155502e0940a8075cf26d675f54b803d91242 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2510878 Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Bruce Dawson <brucedawson@chromium.org> Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Commit-Queue: Dirk Pranke <dpranke@google.com> Cr-Commit-Position: refs/heads/master@{#824216}
About
//build
contains:
- Core GN templates and configuration
- Core Python build scripts
Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
v8, etc), it should be kept as self-contained as possible by not referring
to files outside of it. Some exceptions exist (//testing
, select
//third_party
subdirectories), but new dependencies tend to break these other
projects, and so should be avoided.
Changes to //build
should be landed in the Chromium repo. They will then be
replicated to the stand-alone build repo
by the gsubtreed tool.
Note: You can find all directories already available through gsubtreed in the
list of all chromium repos.
Contents
//build/config
- Common templates via.gni
files.//build/toolchain
- GN toolchain definitions.Other .py files
- Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.
Files referenced by //.gn
:
//build/BUILDCONFIG.gn
- Included by allBUILD.gn
files.//build/secondary
- An overlay forBUILD.gn
files. Enables addingBUILD.gn
to directories that live in sub-repositories.//build_overrides
- Refer to //build_overrides/README.md.