8322 nl: misleading-indentation
[unleashed/tickless.git] / usr / src / tools / scripts / build_cscope.sh
blobcb9ab74893838390d48cf80928c6ecd94eb73b38
1 #!/bin/ksh -p
3 # CDDL HEADER START
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License, Version 1.0 only
7 # (the "License"). You may not use this file except in compliance
8 # with the License.
10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11 # or http://www.opensolaris.org/os/licensing.
12 # See the License for the specific language governing permissions
13 # and limitations under the License.
15 # When distributing Covered Code, include this CDDL HEADER in each
16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
17 # If applicable, add the following below this CDDL HEADER, with the
18 # fields enclosed by brackets "[]" replaced with your own identifying
19 # information: Portions Copyright [yyyy] [name of copyright owner]
21 # CDDL HEADER END
24 # Copyright 2005 Sun Microsystems, Inc. All rights reserved.
25 # Use is subject to license terms.
27 # ident "%Z%%M% %I% %E% SMI"
31 # The CDPATH variable causes ksh's `cd' builtin to emit messages to stdout
32 # under certain circumstances, which can really screw things up; unset it.
34 unset CDPATH
36 PROG=`basename $0`
37 PATH=/opt/onbld/bin:$PATH export PATH
38 if [ -n "$BUILD_TOOLS" ]; then
39 PATH=$BUILD_TOOLS/onbld/bin:$PATH export PATH
42 CONF=tools/scripts/build_cscope.conf
45 # Print the provided failure message and exit with an error.
47 fail()
49 echo $PROG: $@ > /dev/stderr
50 exit 1
53 if [ $# -ne 1 ]; then
54 echo "Usage: $PROG <env_file>"
55 exit 1
59 # Setup environment variables
61 if [ -f "$1" ]; then
62 if [[ $1 = */* ]]; then
63 . $1
64 else
65 . ./$1
67 elif [ -f "/opt/onbld/env/$1" ]; then
68 . "/opt/onbld/env/$1"
69 else
70 fail "cannot find env file as $1 or /opt/onbld/env/$1"
73 [ -z "$SRC" ] && fail "\$SRC is not set"
74 [ ! -d "$SRC" ] && fail "\$SRC ($SRC) is not a directory"
77 # Despite our name, we actually build cscope, ctags, and etags
78 # cross-references.
80 cd $SRC
81 while read name flags dirs; do
82 [ "$name" = "" -o "$name" = "#" ] && continue
83 [ "$flags" = "\"\"" ] && flags=
84 xref -c $dirs
85 xref $flags $dirs || fail "cannot build $name cross-reference"
86 done < $CONF