0

clang update script: add --extra-tools, deprecate --tools flag

plugins and blink_gc_plugin are always mandatory for Chromium builds,
so just always include them. In order to avoid breaking codesearch
bots, --tools is now a synonym for --extra-tools and will be removed.

BUG=none

Review-Url: https://codereview.chromium.org/2609683002
Cr-Commit-Position: refs/heads/master@{#441601}
This commit is contained in:
dcheng
2017-01-04 22:41:45 -08:00
committed by Commit bot
parent d33eda3411
commit f239071ad5
2 changed files with 7 additions and 8 deletions
docs
tools/clang/scripts

@ -97,16 +97,15 @@ Synopsis:
```shell ```shell
tools/clang/scripts/update.py --bootstrap --force-local-build --without-android \ tools/clang/scripts/update.py --bootstrap --force-local-build --without-android \
--tools blink_gc_plugin plugins rewrite_to_chrome_style --extra-tools rewrite_to_chrome_style
``` ```
Running this command builds the [Oilpan plugin](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/blink_gc_plugin/), Running this command builds the [Oilpan plugin](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/blink_gc_plugin/),
the [Chrome style the [Chrome style
plugin](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/plugins/), plugin](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/plugins/),
and the [Blink to Chrome style rewriter](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/rewrite_to_chrome_style/). Additional arguments to `--tools` should be the name of and the [Blink to Chrome style rewriter](https://chromium.googlesource.com/chromium/src/+/master/tools/clang/rewrite_to_chrome_style/). Additional arguments to `--extra-tools` should be the name of
subdirectories in subdirectories in
[//tools/clang](https://chromium.googlesource.com/chromium/src/+/master/tools/clang). [//tools/clang](https://chromium.googlesource.com/chromium/src/+/master/tools/clang).
Generally, `--tools` should always include `blink_gc_plugin` and `plugins`: otherwise, Chromium won't build.
It is important to use --bootstrap as there appear to be [bugs](https://crbug.com/580745) It is important to use --bootstrap as there appear to be [bugs](https://crbug.com/580745)
in the clang library this script produces if you build it with gcc, which is the default. in the clang library this script produces if you build it with gcc, which is the default.

@ -633,6 +633,7 @@ def UpdateClang(args):
cc_args = base_cmake_args if sys.platform != 'win32' else cmake_args cc_args = base_cmake_args if sys.platform != 'win32' else cmake_args
if cc is not None: cc_args.append('-DCMAKE_C_COMPILER=' + cc) if cc is not None: cc_args.append('-DCMAKE_C_COMPILER=' + cc)
if cxx is not None: cc_args.append('-DCMAKE_CXX_COMPILER=' + cxx) if cxx is not None: cc_args.append('-DCMAKE_CXX_COMPILER=' + cxx)
chrome_tools = list(set(['plugins', 'blink_gc_plugin'] + args.extra_tools))
cmake_args += base_cmake_args + [ cmake_args += base_cmake_args + [
'-DLLVM_BINUTILS_INCDIR=' + binutils_incdir, '-DLLVM_BINUTILS_INCDIR=' + binutils_incdir,
'-DCMAKE_C_FLAGS=' + ' '.join(cflags), '-DCMAKE_C_FLAGS=' + ' '.join(cflags),
@ -645,7 +646,7 @@ def UpdateClang(args):
# explicitly, https://crbug.com/622775 # explicitly, https://crbug.com/622775
'-DENABLE_LINKER_BUILD_ID=ON', '-DENABLE_LINKER_BUILD_ID=ON',
'-DCHROMIUM_TOOLS_SRC=%s' % os.path.join(CHROMIUM_DIR, 'tools', 'clang'), '-DCHROMIUM_TOOLS_SRC=%s' % os.path.join(CHROMIUM_DIR, 'tools', 'clang'),
'-DCHROMIUM_TOOLS=%s' % ';'.join(args.tools)] '-DCHROMIUM_TOOLS=%s' % ';'.join(chrome_tools)]
EnsureDirExists(LLVM_BUILD_DIR) EnsureDirExists(LLVM_BUILD_DIR)
os.chdir(LLVM_BUILD_DIR) os.chdir(LLVM_BUILD_DIR)
@ -663,7 +664,7 @@ def UpdateClang(args):
RunCommand(['ninja'], msvc_arch='x64') RunCommand(['ninja'], msvc_arch='x64')
if args.tools: if chrome_tools:
# If any Chromium tools were built, install those now. # If any Chromium tools were built, install those now.
RunCommand(['ninja', 'cr-install'], msvc_arch='x64') RunCommand(['ninja', 'cr-install'], msvc_arch='x64')
@ -846,9 +847,8 @@ def main():
help='print current clang version (e.g. x.y.z) and exit.') help='print current clang version (e.g. x.y.z) and exit.')
parser.add_argument('--run-tests', action='store_true', parser.add_argument('--run-tests', action='store_true',
help='run tests after building; only for local builds') help='run tests after building; only for local builds')
parser.add_argument('--tools', nargs='*', parser.add_argument('--extra-tools', '--tools', nargs='*',
help='select which chrome tools to build', help='select additional chrome tools to build')
default=['plugins', 'blink_gc_plugin'])
parser.add_argument('--without-android', action='store_false', parser.add_argument('--without-android', action='store_false',
help='don\'t build Android ASan runtime (linux only)', help='don\'t build Android ASan runtime (linux only)',
dest='with_android', dest='with_android',