Added scripts

This commit is contained in:
ceriel 1991-10-10 14:39:33 +00:00
parent 64eacb4c9f
commit 66e3a001cc
8 changed files with 130 additions and 0 deletions

View file

@ -1 +1,8 @@
cc-and-mkdep.ack
cc-and-mkdep.all
cc-and-mkdep.sun
do_deps
do_resolve
em.pascal
lint-lib.ack
lint-lib.unix

7
bin/cc-and-mkdep.ack Executable file
View file

@ -0,0 +1,7 @@
: '$Header$'
: Compile and make dependencies. First argument is the file on which the
: dependencies must be produced. This version is for ACK.
n=$1
shift
exec $CC -Rcem-d$n -Rcem-m $*

20
bin/cc-and-mkdep.all Executable file
View file

@ -0,0 +1,20 @@
: '$Header$'
: Compile and make dependencies. First argument is the file on which the
: dependencies must be produced. This version is a generic one that should
: work for all Unix systems.
n=$1
shift
cpp_args=
for i in $*
do
case $i in
-I*|-D*|-U*) cpp_args="$cpp_args $i"
;;
-*) ;;
*) cpp_args="$cpp_args $i"
;;
esac
done
$UTIL_HOME/lib.bin/cpp -d $cpp_args > $n
exec $CC $*

7
bin/cc-and-mkdep.sun Executable file
View file

@ -0,0 +1,7 @@
: '$Header$'
: Compile and make dependencies. First argument is the file on which the
: dependencies must be produced. This version is for the SUN cc.
n=$1
shift
exec $CC -Qpath $UTIL_HOME/lib.bin -Qoption cpp -d$n -Qoption cpp -m $*

18
bin/do_deps Executable file
View file

@ -0,0 +1,18 @@
: '$Header$'
: Produce dependencies for all argument files
for i in $*
do
n=`basename $i .c`
if [ -f $n.dep ]
then
:
else
echo $n.'$(SUF): '$i > $n.dep
echo " head -5 $n.dep > $n.dp1" >> $n.dep
echo ' CC="$(CC)" UTIL_HOME="$(UTIL_HOME)" $(CC_AND_MKDEP) '$n.dp2 '$(CFLAGS)' -c $i >> $n.dep
echo " cat $n.dp1 $n.dp2 > $n.dep" >> $n.dep
echo " rm -f $n.dp1 $n.dp2" >> $n.dep
fi
done

47
bin/do_resolve Executable file
View file

@ -0,0 +1,47 @@
: '$Header$'
: Resolve name clashes in the files on the argument list. If these
: files reside in another directory, a copy is made in the current
: directory. If not, it is overwritten. Never do this in a source
: directory! A list of the new files is produced on standard output.
UTIL_BIN=$UTIL_HOME/bin
trap "rm -f tmp$$ a.out nmclash.* longnames clashes" 0 1 2 3 15
: first find out if we have to resolve problems with identifier significance.
cat > nmclash.c <<'EOF'
/* Accepted if many characters of long names are significant */
abcdefghijklmnopr() { }
abcdefghijklmnopq() { }
main() { }
EOF
if $CC nmclash.c
then : no identifier significance problem
for i in $*
do
echo $i
done
else
$UTIL_BIN/prid -l7 $* > longnames
: remove code generating routines from the clashes list.
: code generating routine names start with C_.
: also remove names starting with flt_.
sed '/^C_/d' < longnames | sed '/^flt_/d' > tmp$$
$UTIL_BIN/cclash -c -l7 tmp$$ > clashes
for i in $*
do
$UTIL_BIN/cid -Fclashes < $i > tmp$$
n=`basename $i .xxx`
if cmp -s $n tmp$$
then
rm -f tmp$$
else
mv tmp$$ $n
fi
echo $n
done
fi

12
bin/lint-lib.ack Executable file
View file

@ -0,0 +1,12 @@
: '$Header$'
: Create a lint library file. The name of the library file is constructed
: from the first argument. The second argument indicates the directory where
: the result is to be placed. This version is for ACK lint.
n=$1
shift
d=$1
shift
lint -L$n $*
mv $n.llb $d

12
bin/lint-lib.unix Executable file
View file

@ -0,0 +1,12 @@
: '$Header$'
: Create a lint library file. The name of the library file is constructed
: from the first argument. The second argument indicates the directory where
: the result is to be placed. This version is for Unix lint.
n=$1
shift
d=$1
shift
/usr/bin/lint -C$n $*
mv llib-l$n.ln $d