Chromium Code Reviews| Index: build/build-ctags.sh |
| diff --git a/build/build-ctags.sh b/build/build-ctags.sh |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..d2ac962181a19a72cfa5bcfb57b59db21c602c52 |
| --- /dev/null |
| +++ b/build/build-ctags.sh |
| @@ -0,0 +1,49 @@ |
| +#!/bin/sh |
| + |
| +# Copyright (c) 2013 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 [[ a"`ctags --version | head -1 | grep \"^Exuberant Ctags\"`" == "a" ]]; then |
|
jln (very slow on Chromium)
2013/10/07 23:56:26
This is a bash form for test, but you're executing
jww
2013/10/08 20:19:23
Done.
|
| + cat <<EOF |
| + You must be using Exuberant Ctags, not just standard GNU ctags. If you are on |
| + Debian or a related flavor of Linux, you may want to try running |
| + apt-get install exuberant-ctags. |
| +EOF |
| + exit |
| +fi |
| + |
| +CHROME_SRC_DIR="`pwd`" |
|
jln (very slow on Chromium)
2013/10/07 23:56:26
$PWD?
jww
2013/10/08 20:19:23
Done.
|
| + |
| +fail() { |
| + echo "Failed to create ctags for $1" |
| + exit 1 |
| +} |
| + |
| +ctags_cmd() { |
| + echo "ctags --languages=C++ $1 --exclude=.git -R -f .tmp_tags" |
| +} |
| + |
| +build_dir() { |
| + local extraexcludes="" |
| + if [[ a"$1" == "a--extra-excludes" ]]; then |
| + extraexcludes="--exclude=third_party --exclude=build --exclude=out" |
| + shift |
| + fi |
| + |
| + cd "$CHROME_SRC_DIR/$1" || fail $1 |
| + # Redirect error messages so they aren't seen because they are almost always |
| + # errors about components that you just happen to have not built (NaCl, for |
| + # example). |
| + $(ctags_cmd "$extraexcludes") 2> /dev/null || fail $1 |
| + mv -f .tmp_tags .tags |
| +} |
| + |
| +# We always build the top level but leave all submodules as optional. |
| +build_dir --extra-excludes "" "top level" |
| + |
| +# Build any other directies that are listed on the command line. |
| +for dir in $@; do |
| + build_dir "$1" |
| + shift |
| +done |