home *** CD-ROM | disk | FTP | other *** search
- # To incorporate the 7300/3b1 shared library, run this script in place
- # of 'CC'.
- # You can skip this is you have the shcc program installed as cc in
- # your path.
- # First: Run 'Configure' through to the end and run 'make depend'.
- # Second: Edit 'makefile' ( not Makefile ) and set CC = 3b1cc.
- # Third: Edit 'x2p/makefile' and set CC = 3b1cc.
- #
- # Do not use '3b1cc' as the default compiler. The call to the default
- # compiler is used by 'perl' and will not be available when running
- # 'perl'.
- #
- # Note: This script omits libraries which are redundant in the shared
- # library. It is an excerpt from a grander version available upon
- # request from "zebra!vern" or "vern@zebra.alphacdc.com".
-
- CC="cc"
- LIBS=
- INCL=
-
- LD="ld"
- SHAREDLIB="/lib/crt0s.o /lib/shlib.ifile"
-
- # Local variables
- COBJS=
- LOBJS=
- TARG=
- FLAGS=
- CMD=
-
- # These are libraries which are incorporated in the shared library
- OMIT="-lmalloc"
-
- # These routines are in libc.a but not in the shared library
- if [ ! -f vsprintf.o -o ! -f doprnt.o ]
- then
- echo "Extracting vsprintf.o from libc.a"
- ar -x /lib/libc.a vsprintf.o doprnt.o
- fi
-
- CMD="$CC"
- while [ $# -gt 0 ]
- do
- case $1 in
- -c) CFLAG=$1;;
- -o) CFLAG=$1
- shift
- TARG="$1";;
- -l*) match=false
- for i in $OMIT
- do
- [ "$i" = "$1" ] && match=true
- done
- [ "$match" != false ] || LIBS="$LIBS $1";;
- -*) FLAGS="$FLAGS $1";;
- *.c) COBJS="$COBJS $1";;
- *.o) LOBJS="$LOBJS $1";;
- *) TARG="$1";;
- esac
- shift
- done
-
- if [ -n "$COBJS" ]
- then
- CMD="$CMD $FLAGS $INCL $LPATHS $LIBS $COBJS $CFLAG $TARG"
- elif [ -n "$LOBJS" ]
- then
- LOBJS="$LOBJS vsprintf.o doprnt.o"
- CMD="$LD -r $LOBJS $LPATHS $LIBS -o temp.o"
- echo "\t$CMD"
- $CMD
- CMD="$LD -s temp.o $SHAREDLIB -o $TARG"
- echo "\t$CMD"
- $CMD
- ccrslt=$?
- if [ $ccrslt -ne 0 ]
- then
- exit $ccrslt
- fi
- CMD="rm -f temp.o"
- else
- exit 1
- fi
- echo "\t$CMD"
- $CMD
- ccrslt=$?
- rm -f $$.c
- exit $ccrslt
-