diff options
Diffstat (limited to 'devel/cflow/files/patch-cflow.sh')
| -rw-r--r-- | devel/cflow/files/patch-cflow.sh | 198 |
1 files changed, 198 insertions, 0 deletions
diff --git a/devel/cflow/files/patch-cflow.sh b/devel/cflow/files/patch-cflow.sh new file mode 100644 index 000000000000..3b1e275ae891 --- /dev/null +++ b/devel/cflow/files/patch-cflow.sh @@ -0,0 +1,198 @@ +--- cflow.sh.orig Sun Feb 19 12:59:18 1995 ++++ cflow.sh Wed Jun 3 16:03:01 1998 +@@ -1,41 +1,38 @@ +-#! @CFLOW_SHELL@ ++#!/bin/sh - + + # cflow - print a function call hierarchy + # This script is contributed to the public domain by Andrew Moore + # of Talke Studio. + +-# exit on errors.. ++: ${F2C:=f2c} ++: ${LEX:=flex} ++: ${YACC:="bison -y"} ++: ${CC:=gcc} ++: ${CPP:="$CC -E"} ++: ${PRCC:=/usr/local/bin/prcc} ++: ${PRCG:=/usr/local/bin/prcg} ++: ${RM:=/bin/rm} + +-# this values can be overriden by devining them in the +-# enviornment +-F2C=${F2C:=f2c} +-LEX=${LEX:=flex} +-YACC={YACC:="bison -y"} +-CC=${CC:=gcc} +-CPP=${CPP:="$CC -E"} +-PRCC=${PRCC:=@PRCC@} +-PRCG=${PRCG:=@PRCG@} + TMPFILE=/tmp/cflow.$$ + + +-function prcc { ++prcc () { + if [ $verbose ]; then + echo $PRCC $* >/dev/tty + fi +- +- command $PRCC $* ++ $PRCC $* + } + +-function prcg { ++prcg () { + + if [ $verbose ]; then + echo $PRCG $* >/dev/tty + fi +- command $PRCG $* ++ $PRCG $* + } + +-function echo { +- builtin echo -e "$*" ++echo () { ++ printf "$*\n" + } + + +@@ -50,8 +47,7 @@ + + progname=$0 + +-function usage +-{ ++usage () { + echo $progname [-AaginPXVvxh] [-d n] [-w n] [-r name] [cpp-opts] files + echo "\t-a\tprint a seperate cal graph for each function" + echo "\t-A\teliminate ansi keywords" +@@ -86,8 +82,7 @@ + exclude_directory="$exclude_directory".$$ + fi + +-function do_mkdir +-{ ++do_mkdir () { + for i in $* + do + mkdir -p $i +@@ -98,27 +93,24 @@ + done + } + +-function remove_exclude_files +-{ ++remove_exclude_files () { + if [ -d $exclude_directory ]; then +- rm -rf $exclude_directory ++ $RM -rf $exclude_directory + fi + } + + +-function remove_tmp_file +-{ ++remove_tmp_file () { + if [ "$save_temps" ] ; then + echo temp file in $TMPFILE + else +- rm $TMPFILE ++ $RM $TMPFILE + fi + } + +-# call this once when we get are include files ++# call this once when we get our include files + # called only if we want to exclude files +-function exclude +-{ ++exclude () { + if [ "$exclude_files" ]; then + do_mkdir $exclude_directory + fi +@@ -136,12 +128,9 @@ + done + } + +-#builtin -d echo # use gnu echo + + # echo command line is $* >& 2 + while getopts aghsAPD:I:X:nU:d:ir:Vvw:x c; do +-# echo option is $c +-# echo OPTARG = $OPTARG + case $c in + D) + CPP="$CPP -D$OPTARG" +@@ -202,44 +191,48 @@ + esac + done + ++shift $(expr $OPTIND - 1) ++ ++if [ $# -eq 0 ]; then ++ usage ++fi ++ + if [ "$exclude_files" ]; then + exclude + CPP="$CPP -I$exclude_directory" + + fi + +- +- +- +-let count=$OPTIND-1 +-shift $count +-unset count +- +-if [ $# -eq 0 ]; then +- usage ++cat >${TMPFILE}.c <<\EOF ++#ifdef __GNUC__ ++ yes; ++#endif ++EOF ++if ${CPP} ${TMPFILE}.c | egrep yes >/dev/null 2>&1; then ++ CPP="${CPP} -D__attribute__(x)=" + fi ++$RM -f ${TMPFILE}.c + +-for c in $* +-do ++for c in $*; do + case $c in + *.c|*.cc|*.C) + cname=$c + ;; + *.f) +- cname=`basename $c .f`.c ++ cname=$(basename $c .f).c + cat $c | $F2C >$cname + ;; + *.F) +- cname=`basename $c .F`.C ++ cname=$(basename $c .F).C + cat $c | $F2C >$cname + ;; + *.l) +- cname=`basename $c .l`.c ++ cname=$(basename $c .l).c + $LEX $c + sed '/# line/d' lex.yy.c >$cname + ;; + *.y) +- cname=`basename $c .y`.c ++ cname=$(basename $c .y).c + $YACC $c + sed '/# line/d' y.tab.c >$cname + ;; +@@ -267,6 +260,7 @@ + + $CPP $cname >>$TMPFILE + done ++ + + if [ "$no_prcg" ]; then + PRCG=cat |
