# HG changeset patch # User Jonathan Buschmann # Date 1430518742 -7200 # Node ID 2d407e62d2547a09f54d2a7a05988ebac5447c89 # Parent 6c98089d9ffa3c7d6b2df8adf17f315e5ca48cf7 Cscope scripts Add Unix script for running cscope Take into account the arg cscope path for Windows diff -r 6c98089d9ffa -r 2d407e62d254 plat/unix/update_scopedb.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plat/unix/update_scopedb.sh Sat May 02 00:19:02 2015 +0200 @@ -0,0 +1,72 @@ +#!/bin/sh + +set -e + +PROG_NAME=$0 +CSCOPE_EXE=cscope +DB_FILE=cscope.out +PROJECT_ROOT= + +ShowUsage() { + echo "Usage:" + echo " $PROG_NAME " + echo "" + echo " -e [exe=cscope]: The cscope executable to run" + echo " -f [file=cscope.out]: The path to the ctags file to update" + echo " -p [dir=]: The path to the project root" + echo "" +} + + +while getopts "h?e:f:p:" opt; do + case $opt in + h|\?) + ShowUsage + exit 0 + ;; + e) + CSCOPE_EXE=$OPTARG + ;; + f) + DB_FILE=$OPTARG + ;; + p) + PROJECT_ROOT=$OPTARG + ;; + esac +done + +shift $((OPTIND - 1)) + +if [ "$1" != "" ]; then + echo "Invalid Argument: $1" + exit 1 +fi + +echo "Locking cscope DB file..." +echo $$ > "$DB_FILE.lock" + +# Remove lock and temp file if script is stopped unexpectedly. +trap "rm -f \"$DB_FILE.lock\" \"$DB_FILE.temp\"" 0 3 4 15 + +PREVIOUS_DIR=$(pwd) +if [ -d "$PROJECT_ROOT" ]; then + cd "$PROJECT_ROOT" +fi + +echo "Running cscope" +echo "$CSCOPE_EXE -R -b -k -f \"$DB_FILE.temp\"" +"$CSCOPE_EXE" -R -v -b -k -f "$DB_FILE.temp" + +if [ -d "$PROJECT_ROOT" ]; then + cd "$PREVIOUS_DIR" +fi + +echo "Replacing cscope DB file" +echo "mv -f \"$DB_FILE.temp\" \"$DB_FILE\"" +mv -f "$DB_FILE.temp" "$DB_FILE" + +echo "Unlocking cscope DB file..." +rm -f "$DB_FILE.lock" + +echo "Done." diff -r 6c98089d9ffa -r 2d407e62d254 plat/win32/update_scopedb.cmd --- a/plat/win32/update_scopedb.cmd Wed Apr 29 21:24:16 2015 -0700 +++ b/plat/win32/update_scopedb.cmd Sat May 02 00:19:02 2015 +0200 @@ -6,7 +6,7 @@ rem ========================================== set CSCOPE_EXE=cscope -set DB_FILE=scope.out +set DB_FILE=cscope.out :ParseArgs if [%1]==[] goto :DoneParseArgs @@ -43,7 +43,7 @@ echo locked > "%DB_FILE%.lock" echo Running cscope -cscope -R -b -k -f "%DB_FILE%" +"%CSCOPE_EXE%" -R -b -k -f "%DB_FILE%" if ERRORLEVEL 1 ( echo ERROR: Cscope executable returned non-zero code. )