You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kscope/src/kscope_config

166 lines
3.0 KiB

# Configures KScope parameters
# Checks that the given executable is indeed a Cscope-compatible application
# and determines which options it supports.
verifyCscope()
{
CSCOPE_EXE=`basename $CSCOPE_PATH`
if [ $DEBUG ]
then
echo -n Checking $CSCOPE_EXE version...
fi
# Get the executable's version
CSCOPE_VER_MAJOR=`$CSCOPE_PATH -V 2>&1 | grep -i $CSCOPE_EXE | sed -e "s/.*version \([1-9][0-9]*\)\.\([0-9]\).*/\1/"`
CSCOPE_VER_MINOR=`$CSCOPE_PATH -V 2>&1 | grep -i $CSCOPE_EXE | sed -e "s/.*version \([1-9][0-9]*\)\.\([0-9]\).*/\2/"`
if [ -n "$CSCOPE_VER_MAJOR" -a "$CSCOPE_VER_MINOR" ]
then
echo $CSCOPE_VER_MAJOR.$CSCOPE_VER_MINOR
if [ $DEBUG ]
then
echo -n Cscope support for line mode verbose output...
fi
# Check for verbose output
if [ "`$CSCOPE_PATH -h 2>&1 | grep "\-v"`" ]
then
CSCOPE_VERBOSE=Yes
else
CSCOPE_VERBOSE=No
fi
echo $CSCOPE_VERBOSE
if [ $DEBUG ]
then
echo -n Cscope support slow path definitions...
fi
# Check for slow-path definitions
if [ "`$CSCOPE_PATH -h 2>&1 | grep "\-D"`" ]
then
CSCOPE_SLOWPATH=Yes
else
CSCOPE_SLOWPATH=No
fi
echo $CSCOPE_SLOWPATH
else
echo ERROR
if [ $DEBUG ]
then
echo -e "\n *** ERROR *** The \"cscope\" executable does not appear to be a Cscope compatible programme"
fi
fi
}
DEBUG=0
CSCOPE_OPTIONS_ONLY=
# Parse command-line parameters
# Supported options:
# -d: Debug mode
# -co: Check Cscope options only
for opt in $@
do
case "$opt" in
"-d") DEBUG=1
;;
"-co") CSCOPE_OPTIONS_ONLY=1
;;
esac
done
if [ $DEBUG ]
then
echo -n Looking for cscope...
fi
if [ -z "$CSCOPE_PATH" ]
then
CSCOPE_PATH=`which cscope`
fi
if [ -n "$CSCOPE_PATH" -a -x "$CSCOPE_PATH" ]
then
echo $CSCOPE_PATH
verifyCscope
else
echo ERROR
if [ $DEBUG ]
then
echo -e "\n *** ERROR *** No Cscope executable found"
fi
fi
if [ -n "$CSCOPE_OPTIONS_ONLY" ]
then
exit
fi
if [ $DEBUG ]
then
echo -n Looking for Ctags...
fi
if [ -z "$CTAGS_PATH" ]
then
for CTAGS_NAME in exctags ctags-exuberant exuberant-ctags ctags
do
CTAGS_PATH=`which $CTAGS_NAME`
if [ -n "$CTAGS_PATH" -a -x "$CTAGS_PATH" ]
then
break
fi
done
fi
if [ -n "$CTAGS_PATH" ]
then
echo $CTAGS_PATH
# echo -n Checking for Exuberant-Ctags compatibility...
CTAGS_EXUB=`$CTAGS_PATH --help | grep -c "\-\-excmd=number"`
if [ $CTAGS_EXUB -gt 0 ]
then
CTAGS_EXUB_PATH=$CTAGS_PATH
echo Yes
else
echo ERROR
# echo -e "\n *** ERROR *** The \"ctags\" executable does not appear to be compatible with Exuberant Ctags"
fi
else
echo ERROR
# echo -e "\n *** ERROR *** No Ctags executable found"
fi
# echo -n Looking for Dot...
if [ -z "$DOT_PATH" ]
then
DOT_PATH=`which dot`
fi
if [ -n "$DOT_PATH" -a -x "$DOT_PATH" ]
then
echo $DOT_PATH
# echo -n Checking if dot handles the -Tplain option...
echo "digraph G {Hello->World}" | $DOT_PATH -Tplain 2>&1 /dev/null
if [ $? -eq 0 ]
then
echo Yes
else
echo ERROR
# echo -e "\n *** ERROR *** The \"dot\" executable does not support -Tplain"
fi
else
echo ERROR
# echo -e "\n *** ERROR *** No Dot executable found"
fi