summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/dist/s_tags
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/dist/s_tags')
-rwxr-xr-xsrc/third_party/wiredtiger/dist/s_tags45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/third_party/wiredtiger/dist/s_tags b/src/third_party/wiredtiger/dist/s_tags
index faed132d05b..edb1567992c 100755
--- a/src/third_party/wiredtiger/dist/s_tags
+++ b/src/third_party/wiredtiger/dist/s_tags
@@ -1,41 +1,43 @@
#! /bin/sh
-# Build tags file.
-#
-t=__a.c
-trap 'rm -f $t; exit 0' 0 1 2 3 13 15
+# Build tags files.
+trap 'rm -f tags' 0 1 2 3 13 15
# Skip this when building release packages
test -n "$WT_RELEASE_BUILD" && exit 0
+# We have to be in the dist directory to run.
+test -f s_tags || {
+ echo "s_tags requires dist be the current working directory"
+ exit 1
+}
+
# We require ctags which may not be installed.
type ctags > /dev/null 2>&1 || {
- echo 'skipped: ctags not found' > $t
+ echo 'skipped: ctags not found'
exit 0
}
# Test to see what flags this ctags binary supports.
-# Use the -d, -t and -w flags to ctags if available.
flags=""
-echo "f() { int a; }" > $t
for i in -d -t -w --language-force=C; do
- if ctags $i $t 2>/dev/null; then
+ if ctags $i ../src/conn/api_strerror.c 2>/dev/null; then
flags="$i $flags"
fi
done
-# Generate a tags file for the build directory
-(cd ../build_posix
-rm -f tags
-ctags $flags ../src/include/*.in ../src/*/*.[chi] 2>/dev/null)
+# Generate a tags file for the standard build directory.
+(cd ../build_posix &&
+rm -f tags &&
+ctags $flags ../src/include/*.in `find ../src -name '*.[chi]'` 2>/dev/null)
-# Put the shared tags file in the include directory, it's at the same level in
-# the tree as the other source files.
-(cd ../src/include
-rm -f tags
-ctags $flags ../include/*.in ../*/*.[chi] 2>/dev/null)
+# Generate a tags file for the src/include directory.
+(cd ../src/include &&
+rm -f tags &&
+ctags $flags ../include/*.in `find .. -name '*.[chi]'` 2>/dev/null)
-# Link the tags file into place if we're at the right level.
+# Link the tags file into place in the standard source directories, if we're
+# at the right level.
link_tag()
{
if test -e ../include/tags; then
@@ -46,8 +48,9 @@ link_tag()
# Link to the tags file from standard build and source directories.
dirs="`python -c 'import dist; dist.print_source_dirs()'` ../src/os_win"
for i in $dirs; do
- if expr "$i" : ".*/include" > /dev/null; then
- continue
- fi
+ expr "$i" : ".*/include" > /dev/null && continue
+
(cd $i && link_tag)
done
+
+exit 0