0
Files
src/buildtools
Dirk Pranke a10dd1dc68 Roll GN from r1496 (0790d304) to r1546 (b85982b3)
Now that we can use CIPD to install GN binaries, we can finally
roll GN and catch up w/ multiple months of changes :)

    https://gn.googlesource.com/gn.git/+log/0790d304..b85982b

    b85982b3 visual_studio_writer: Make OutDir equal to $(SolutionDir).
    9434c3d2 Make gen.py compatible with python3
    b199e54b [docs] : Split 'gn help' heading and usage summary when exceed 80 cols
    5bc90b63 stdout: use dim colors
    24411bec Make gn check faster
    3941394b [docs] regenerate docs/reference.md
    93ac4e04 Some documentation of gn check --check-generated
    fd1532f2 [docs] Fix Markdown format missing `
    74657a61 Add gn check --check-generated to check dependencies of generated files
    6b943827 Fixed typo (missing parenthesis) in get_path_info documentation
    d062e74f Improve config documentation.
    e15f243a gen.py: Pass -pthread, not -lpthread, in ldflags.
    013513c9 gn recipe: Do not pass libraries in LDFLAGS in the Linux recipe
    1152229e gen.py: Pass -pthread via ldflags, not libs
    01237e9c Remove references to ARM-optimized math implementation
    0ac93dd2 For proper order put -lpthreads as a 'library' not a 'linker flag'
    1ab6fa2c Attempt to unbreak build with MSVC 15.8.4
    082fbe39 Pass -lpthread when linking instead of -pthread
    d69a9c37 [help] Fixing help issues.
    04685d69 Add --dump-json-tree option for format subcommand.
    57586fdb Suppress warning on VS2017.
    4dcd2776 Port to FreeBSD.
    5519dc2f Reintroduce the ICF flag, turn it on for bots
    53107bfc [infra] Update XCode version
    377ad041 Enable LTO for release builds
    282a428c Disable ICF on Darwin, make it default for Release
    71b537ce [format] Extend `gn format` to take a list of files.
    b5a2ac6e Improve help output.
    d837047a format: Ensure that formatting always reaches a fixedpoint in one run
    8ed01d3b Docs: regenerate docs
    d84a862e More efficient Value implementation.
    bcfb6471 cleanup label_ptr.h
    88bd8a8d build/gen.py: Add --no-strip option.
    894143c3 format: Fix incorrect dewrap of `if`
    45314e29 [metadata] Return metadata in postorder.
    e49432fa [metadata] Actually collect the metadata
    c1780c21 [metadata] Allow specification of rebase dir
    5a9e0a2c [metadata] Adding metadata vars to write_data target
    d021d391 [metadata] Add generated_file target type
    27b66b57 Allow whitespace in include directives.
    c6841d31 Fix a crash on invalid on `not_needed(scope)` without a 2nd argument.
    54be6f11 Allow NOSORT to be the last line in a comment in addition to the first.
    a07831bb [metadata] Adding `meta` command
    0587778f [metadata] Walk function
    96c77296 [metadata] Add metadata walk to target
    a27e8dc0 [metadata] Adding basic metadata walking
    2000587b [metadata] Adding metadata output to gn desc
    0e1b8843 [metadata] Adding metadata variable to target
    ecc95221 Add links to the "Using GN build" presentation.
    13ac6ca4 Test that not_needed works with forward_variables_from

Change-Id: I8db493df2a27c9b8ffe066a11179ffedb2b0f47a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1522549
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Cr-Commit-Position: refs/heads/master@{#645379}
2019-03-28 17:42:01 +00:00
..

This repository contains hashes of build tools used by Chromium and related
projects. The actual binaries are pulled from Google Storage, normally as part
of a gclient hook.

The repository is separate so that the shared build tools can be shared between
the various Chromium-related projects without each one needing to maintain
their own versionining of each binary.

________________________________________
UPDATING AND ROLLING BUILDTOOLS MANUALLY

When you update buildtools, you should roll the new version into the Chromium
repository right away. Otherwise, the next person who makes a change will end
up rolling (and testing) your change. If there are any unresolved problems with
your change, the next person will be blocked.

  - From the buildtools directory, make a branch, edit and upload normally.

  - Get your change reviewed and landed. There are no trybots so landing will
    be very fast.

  - Get the hash for the commit that commit-bot made. Make a new branch in
    the Chromium repository and paste the hash into the line in //DEPS
    labeled "buildtools_revision".

  - You can TBR changes to the DEPS file since the git hashes can't be reviewed
    in any practical way. Submit that patch to the commit queue.

  - If this roll identifies a problem with your patch, fix it promptly. If you
    are unable to fix it promptly, it's best to revert your buildtools patch
    to avoid blocking other people that want to make changes.

________________________
ADDING BINARIES MANUALLY

One uploads new versions of the tools using the 'gsutil' binary from the
Google Storage SDK:

  https://developers.google.com/storage/docs/gsutil

There is a checked-in version of gsutil as part of depot_tools.

To initialize gsutil's credentials:

  python ~/depot_tools/third_party/gsutil/gsutil config

  That will give a URL which you should log into with your web browser.

  Copy the code back to the command line util. Ignore the project ID (it's OK
  to just leave blank when prompted).