POSIX/SVID/X3J11 standard routines (libposix.a) (Part 5 of 5)

Lenny Tropiano lenny at icus.islp.ny.us
Thu Aug 3 11:53:46 AEST 1989



#! /bin/sh
# This is a shell archive.  Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file".  To overwrite existing
# files, type "sh file -c".  You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g..  If this archive is complete, you
# will see the following message at the end:
#		"End of archive 5 (of 5)."
# Contents:  Makeposix
# Wrapped by lenny at icus on Wed Aug  2 21:40:35 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f Makeposix -a "${1}" != "-c" ; then 
  echo shar: Will not over-write existing file \"Makeposix\"
else
echo shar: Extracting \"Makeposix\" \(16003 characters\)
sed "s/^X//" >Makeposix <<'END_OF_Makeposix'
X: use /bin/sh
X# Makeposix -- add a POSIX-conformant library to your system
X
X: a sanity check
XPATH='.:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc'
Xexport PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh $0; kill $$)
X
X(alias) >/dev/null 2>&1 && \
X    echo "(Some versions of ksh blow up on Makeposix, especially on" && \
X    echo "exotic machines. If yours does, try the Bourne shell instead.)"
X
XLIBC=/lib/libc.a
X
X# . ../configsys.sh
X
Xcase $1 in '') system="$species" ;; *) system=$1 ;; esac
X
Xif test -f /usr/lib/lint/llib-lc
Xthen
X	LINTLIB=/usr/lib/lint/llib-lc
Xelse
X	LINTLIB=/usr/lib/llib-lc
Xfi
X
Xcat <<EOF >/dev/null
XThis script generates a Makefile and lint library patch for your system that,
Xwhen applied, will move it a good part of the way towards conformance with the
XPOSIX/SVID/X3J11 C library standards.
X
XThis script assumes
X
X	1) that your C library is at $LIBC
X	2) that your lint library is at $LINTLIB
X
XIf either of these assumptions is incorrect, you'll need to edit the shell
Xvariable assignments at the beginning of the script.
X
XHit interrupt key to quit, return key to continue.
XEOF
X: read stuff
X
XUSG=-DUSG
X
XHDS=/usr/include
XLINTPATCH=posix.lint
X
X#
X# All pieces of libposix.a must be listed here
X#
XSTRINGS="strchr.o strrchr.o strcspn.o strpbrk.o strspn.o strtok.o strdup.o"
XMEM="memccpy.o memcpy.o memcmp.o memchr.o memset.o"
XDIRENT="seekdir.o readdir.o getdents.o closedir.o opendir.o rewinddir.o telldir.o"
XMKDIR="mkdir.o rmdir.o"
XSEARCH="lsearch.o lfind.o tsearch.o tfind.o bsearch.o"
XMISCOBJS="ssignal.o strtol.o getopt.o rename.o putpwent.o"
X
Xtrap 'rm -f /tmp/needed$$ /tmp/allobjs$$ /tmp/present$$ /tmp/remove$$; exit 0' 0 1 2 15
X
X#
X# ALLOBJS should list all possible libposix.a parts, with one trailing space
X#
XALLOBJS="$STRINGS $MEM $SEARCH $MISCOBJS "
X
X#
X# Put support modules that shouldn't show in the feature lists here
X#
XSUPPORT=getdents.o
X
Xecho $ALLOBJS | tr " " "\012" >/tmp/allobjs$$
Xecho " "
Xecho "Facilities available in the POSIX/SVID/X3J11 compatibility library:"
Xsort /tmp/allobjs$$ | grep -v $SUPPORT | pr -5 -t -l1
X
Xcase $system in SVR3)
X	echo " "
X	echo "You said you're running $system, I'll assume you have:"
X	echo $DIRENT | tr " " "\012" >/tmp/present$$
X	pr -5 -t -l1 </tmp/present$$ 
X;; 
X4.3BSD|BSD4_3)
X	echo " "
X	echo "You said you're running $system, I'll assume you have:"
X	echo $MEM | tr " " "\012" > /tmp/present$$
X	pr -5 -t -l1 </tmp/present$$ 
X	USG=
X;;
X4.[12]BSD|BSD4_[12])
X	USG=
X;; esac
Xecho " "
Xecho "Analyzing your C library, please wait..."
Xar t $LIBC $ALLOBJS 2>/dev/null >>/tmp/present$$
Xsort -u /tmp/present$$ -o /tmp/present$$
Xecho "POSIX/SVID/X3J11 library facilities already present on your system:"
Xgrep -v $SUPPORT </tmp/present$$ | pr -5 -t -l1 2>/dev/null 
Xecho " "
X: echo "Hit interrupt key to quit, return key to continue."
X: read stuff
X
Xif grep rewinddir /tmp/present$$ >/dev/null 2>&1
Xthen
X	cp /dev/null /tmp/needed$$
Xelse
X	echo $DIRENT | tr " " "\012" >/tmp/needed$$
X	echo "You don't have rewinddir, I'll assume you need the new dirent"
X	echo "package."
X	echo " "
Xfi
X
X# Extract already-present faculities from allobjs, preserving sort order
Xsed -e "/^.*$/s//\/&\/d/" </tmp/present$$ >/tmp/remove$$
Xsed -f /tmp/remove$$ </tmp/allobjs$$ >>/tmp/needed$$
Xecho " "
Xecho "POSIX/SVID/X3J11 library facilities that should be installed:"
Xsort /tmp/needed$$ | pr -5 -t -l1 2>/dev/null 
Xecho " "
X: echo "Hit interrupt key to quit, return key to continue."
X: read stuff
X
X# set corresponding shell variable for each object file needed
Xfor x in `tr "\012" " " </tmp/needed$$`
Xdo
X	set eval `expr $x : "\(.*\).o"`"=y" 
Xdone
X
Xecho " "
Xecho "A copy of your lint patch will be written to $LINTPATCH."
Xecho "/* POSIX library extensions */" >$LINTPATCH
X
Xif grep lockf $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	lockf(fd, fn, sz) int fd, fn; long sz; {return 0;}" >>$LINTPATCH
Xfi
Xif [ ! -f $HDS/dirent.h ]
Xthen
X	dirent='yes'
X	man4list="$man4list dirent.4"
Xfi
Xif grep getdents $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse 
X	cat >>$LINTPATCH <<EOF
X/* DIRECTORY(3C) */
X#include <dirent.h>
Xint	getdents(f, b, n) int f; char *b; unsigned n; { return 0; }
XEOF
Xfi
X
Xif grep closedir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	closedir(p) DIR *p; { return 0; }" >>$LINTPATCH
Xfi
Xif grep opendir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "DIR	*opendir(f) char *f; {return (DIR *)NULL;}" >>$LINTPATCH
Xfi
Xif grep readdir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "struct dirent	*readdir(p) DIR *p; {return (struct dirent*)NULL;}" >>$LINTPATCH
Xfi
Xif grep seekdir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "void	seekdir(p, l) DIR *p; long l; {}" >>$LINTPATCH
Xfi
Xif grep telldir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "long	telldir(p) DIR *p; {return 1L;}" >>$LINTPATCH
Xfi
X
Xif grep mkdir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* MKDIR(3) */" >>$LINTPATCH
X	echo "int	mkdir(s, p) char *s; int p; {return (0);}" >>$LINTPATCH
X	man3list="$man3list mkdir.3"
Xfi
Xif grep rmdir $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* RMDIR(3) */" >>$LINTPATCH
X	echo "int	rmdir(s) char *s; {return (0);}" >>$LINTPATCH
X	man3list="$man3list rmdir.3"
Xfi
X
Xif grep str /tmp/needed$$ >/dev/null 2>&1
Xthen
X	echo "/* STRING(3C) */" >>$LINTPATCH
X	strings='yes'
X	man3list="$man3list string.3"
Xfi
Xif grep strcat $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strcat(a, b) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strncat $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strncat(a, b, n) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strcmp $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	strcmp(a, b) char *a, *b; { return (0); }" >>$LINTPATCH
Xfi
Xif grep strncmp $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	strncmp(a, b, n) char *a, *b; { return (n); }" >>$LINTPATCH
Xfi
Xif grep strcpy $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strcpy(a, b) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strncpy $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strncpy(a, b, n) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strlen $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	strlen(s) char *s; { return (0); }" >>$LINTPATCH
Xfi
Xif grep strchr $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strchr(a, b) char *a, b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strrchr $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strrchr(a, b) char *a, b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strpbrk $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strpbrk(a, b) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strspn $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	strspn(a, b) char *a, *b; { return (0); }" >>$LINTPATCH
Xfi
Xif grep strcspn $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	strcspn(a, b) char *a, *b; { return (0); }" >>$LINTPATCH
Xfi
Xif grep strtok $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strtok(a, b) char *a, *b; { return (a); }" >>$LINTPATCH
Xfi
Xif grep strdup $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *	strdup(a) char *a; { return (a); }" >>$LINTPATCH
Xfi
X
Xif grep str /tmp/needed$$ >/dev/null 2>&1
Xthen
X	echo "/* MEMORY(3C) */" >>$LINTPATCH
X	memory='yes'
X	man3list="$man3list memory.3"
Xfi
Xif [ X$memccpy != X ]
Xthen
X	echo "char	*memccpy(a,b,c,n) char *a,*b; {return(a);}" >>$LINTPATCH
Xfi
Xif [ X$memchr != X ]
Xthen
X	echo "char	*memchr(s,c,n) char *s; {return (s);}" >>$LINTPATCH
Xfi
Xif [ X$memcmp != X ]
Xthen
X	echo "int	memcmp(a, b, n) char *a, *b; {return(n);}" >>$LINTPATCH
Xfi
Xif [ X$memcpy != X ]
Xthen
X	echo "char	*memcpy(a,b,n) char *a, *b; {return (a);}" >>$LINTPATCH
Xfi
Xif [ X$memset != X ]
Xthen
X	echo "char	*memset(s,c,n) char *s; {return (s);}" >>$LINTPATCH
Xfi
X
Xif grep lsearch $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* LSEARCH(3C) */" >>$LINTPATCH
X	echo "char *lsearch(k,b,n,w,c) char *k,*b; unsigned *n,w; int (*c)(); {return(k);}" >>$LINTPATCH
Xfi
Xif grep lfind $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *lfind(k,b,n,w,c) char *k,*b; unsigned *n,w; int (*c)();{return(k); }" >>$LINTPATCH
Xfi
X#include <search.h>
Xif grep bsearch /tmp/needed$$ >/dev/null 2>&1
Xthen
X	echo "/* BSEARCH(3C) */" >>$LINTPATCH
X	search='yes'
X	man3list="$man3list bsearch.3c"
Xfi
Xif grep bsearch $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *bsearch(k,b,n,w,c) char *k,*b; unsigned n,w; int (*c)();{return(k);}" >>$LINTPATCH
Xfi
Xif grep tsearch /tmp/needed$$ >/dev/null 2>&1
Xthen
X	echo "/* TSEARCH(3C) */" >>$LINTPATCH
X	search='yes'
X	man3list="$man3list tsearch.3c"
Xfi
Xif grep tsearch $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *tsearch(k,r,c) char *k, **r; int (*c)(); {return(k);}" >>$LINTPATCH
Xfi
Xif grep tfind $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "char *tfind(k,r,c) char *k,**r; int (*c)(); {return(k);}" >>$LINTPATCH
Xfi
Xif grep [gs]signal $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* SSIGNAL(3) */" >>$LINTPATCH
X	echo "int (*ssignal(s, a))() int (*a)(); { return (a); }" >>$LINTPATCH
X	echo "int gsignal(s) {return (s);}" >>$LINTPATCH
X	man3list="$man3list ssignal.3c"
Xfi
X
Xif grep strtol $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "long	strtol(s,t,b) char *s,**t; {return(0L);}" >>$LINTPATCH
X	man3list="$man3list strtol.3c"
Xfi
Xif grep getopt $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "int	getopt(c,v,o) char **v, *o; {return(c);}" >>$LINTPATCH
X	man3list="$man3list getopt.3c"
Xfi
Xif grep rename $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* RENAME(3) */" >>$LINTPATCH
X	echo "int	rename(s, t) char *s, *t; {return (0);}" >>$LINTPATCH
X	man3list="$man3list rename.3c"
Xfi
Xif grep putpwent $LINTLIB >/dev/null 2>&1
Xthen
X	: do nothing
Xelse
X	echo "/* PUTPWENT(3C) */" >>$LINTPATCH
X	echo "int putpwent(s,f) struct passwd *s; FILE *f; {return(0);}" >>$LINTPATCH
X	man3list="$man3list putpwent.3c"
Xfi
X
Xcat <<EOT >/dev/null
X
XProductions that can install these changes will now be written to Makefile.
XRemember to edit out the -DUSG from the CFLAGS line if you're on a non-AT&T
XUNIX (i.e. a V7 or BSD-based version).  -DUSG will be removed for you
Xautomatically if you had specified 4.2BSD or 4.3BSD as the type of
Xyour system.  Other installation instructions will be found in a
Xleading comment in the generated Makefile. 
XEOT
Xobjlist=`tr '\012' ' ' </tmp/needed$$`
X
Xcat >Makefile <<EOF
X# This makefile will install a number of X3J11/POSIX/SVID functions in your
X# standard C library. If you have a source license, the method described
X# in DIRENT.INSTALL is recommended instead.
X#
X# To make the library:
X#	a. Edit getdents.c if necessary to define UFS, NFS or BFS.
X#
X#	b. Type 'make'. If you get errors, stop and fix them.
X#	   This will create a local copy of the code named libposix.a
X#	   which you can use for testing or install in /lib.
X#
X# To install it:
X#
X#	a. Go superuser and type 'make install'. That's all there is to it.
X#	   You may want to do 'make -n install' first so you know what it's
X#	   doing. If you don't like the default action you can edit the
X#	   Makefile.
X#
X#	b. If you don't like this option, you can put the libposix.a library
X#	   in your libraries directory and add an appropriate -I option to
X#	   your include file search path.
X#
X# Note: the implementations of strchr() and strrchr() are pure C code, so they
X# may be marginally slower than the (presumably tuned) index/rindex in V7/BSD.
X# You can #define them to index/rindex via the the preprocessor, or ar x
X# copies of the index.o and rindex.o object files, patch the function names
X# with adb and wedge the copies in.
X
XSHELL = /bin/sh
XHDS = $HDS
XMAN = /usr/man
XLIBC = $LIBC
XLINTLIB = $LINTLIB
XSTRINGS= $STRINGS
XMEM= $MEM
XDIRENT= $DIRENT
XMKDIR= $MKDIR
XSEARCH= $SEARCH
XMISCOBJS= $MISCOBJS
XPORTOBJS = ${objlist}
X# CF = -Dvoid=int		# Uncomment this for cc versions with no void
XCC = cc
XCFLAGS = -O $USG -I. \$(CF)	
X
XMAINDIR = ..
XLIBSDIR = \$(MAINDIR)
X
Xlibposix.a: \$(PORTOBJS)
X	ar lruv libposix.a \$(PORTOBJS)
X	@echo "If you're on an AT&T UNIX, ignore the next error message"
X	-ranlib libposix.a
X	(cd profiled; ar lrc ../libposix_p.a \$?)
X	@echo "If you're on an AT&T UNIX, ignore the next error message"
X	ranlib libposix_p.a
X
X.c.o:
X	\${CC} -p \${CFLAGS} -c \$*.c
X	mv \$*.o profiled/\$*.o
X	\${CC} \${CFLAGS} -c \$*.c
X
Xexport: libposix.a
X	@rm -f $(LIBSDIR)/libposix.a
X	-ln libposix.a $(LIBSDIR)
X	@rm -f $(LIBSDIR)/profiled/libposix.a
X	-ln libposix_p.a $(LIBSDIR)/profiled/libposix.a
X	@-mkdir ../sys
X	@rm -f ../sys/dirent.h
X	-ln sys.dirent.h ../sys/dirent.h
X	@rm -f ../dirent.h ../search.h ../unistd.h ../memory.h ../string.h
X	-ln dirent.h search.h unistd.h memory.h string.h ..
X
XMakefile: Makeposix posix_conf
X	Makeposix
X
Xclean:
X	rm -f libposix.a *.o posix_conf Makefile profiled/*
X
Xtestdir: testdir.c libposix.a
X	\$(CC) \$(CFLAGS) \$(LFLAGS) testdir.c libposix.a -o testdir
X
Xmkdirtest: mkdirtest.c libposix.a
X	\$(CC) \$(CFLAGS) \$(LFLAGS) mkdirtest.c libposix.a -o mkdirtest
X
XLINTPATCH = $LINTPATCH
X
X# Restore original library, lint and header files
Xrestore:
X	-cp \$(LIBC)-orig \$(LIBC)
X	-cp \$(LINTLIB)-orig \$(LINTLIB)
X	-cp \$(LINTLIB).ln-orig \$(LINTLIB).ln
X	-cp \$(HDS)/string.h-orig \$(HDS)/string.h
X	-cp \$(HDS)/memory.h-orig \$(HDS)/memory.h
X	-cp \$(HDS)/search.h-orig \$(HDS)/search.h
X
X# Recompile the lint library (AT&T SVr2 or later)
Xrelint:
X	cp \$(LINTLIB) llib-lc.c
X	lint -c llib-lc.c; rm llib-lc.c
X	mv llib-lc.ln \$(LINTLIB).ln
X
X# Make everything (for test purposes)
Xtestlib.a: $ALLOBJS
X	ar lruv testlib.a $ALLOBJS
X	@echo "If you're on an AT&T UNIX, ignore the next error message"
X	-ranlib testlib.a
X
X# Install all the portability hacks
Xinstall: \$(PORTOBJS)
XEOF
Xif [ ! -f $HDS/unistd.h ]
Xthen
X	echo "	@echo 'Installing unistd.h header file...'" >>Makefile
X	echo "	-cp unistd.h \$(HDS)/unistd.h;" >>Makefile
Xfi
Xif [ "X$dirent" != "X" ]
Xthen
X	echo "	@echo 'Installing dirent library headers...'" >>Makefile
X	echo "	-cp dirent.h \$(HDS)/dirent.h;" >>Makefile
X	echo "	-cp sys.dirent.h \$(HDS)/sys/dirent.h;" >>Makefile
Xfi
Xif [ "X$strings" != "X" ]
Xthen
X	echo "	@echo 'Installing string library headers...'" >>Makefile
X	echo "	-cp \$(HDS)/string.h \$(HDS)/string.h-orig;" >>Makefile
X	echo "	-cp string.h \$(HDS)/string.h;" >>Makefile
Xfi
Xif [ "X$memory" != "X" ]
Xthen
X	echo "	@echo 'Installing memory library headers...'" >>Makefile
X	echo "	-cp \$(HDS)/memory.h \$(HDS)/memory.h-orig;" >>Makefile
X	echo "	-cp memory.h \$(HDS)/memory.h;" >>Makefile
Xfi
Xif [ "X$search" != "X" ]
Xthen
X	echo "	@echo 'Installing search library headers...'" >>Makefile
X	echo "	-cp \$(HDS)/search.h \$(HDS)/search.h-orig;" >>Makefile
X	echo "	-cp search.h \$(HDS)/search.h;" >>Makefile
Xfi
Xcat >>Makefile <<EOF
X	@echo "Installing new C library functions..."
X	-cp \$(LIBC) \$(LIBC)-orig
X	ar lruv \$(LIBC) \$(PORTOBJS)
X	@echo "If you're on an AT&T UNIX, ignore the next error message"
X	-ranlib \$(LIBC)
X	@echo "Installing extension library manuals..."
X	-cp ${man3list} \$(MAN)/man3;
X	-cp ${man4list} \$(MAN)/man4;
X	@echo "Installing lint library additions..."
X	cp \$(LINTLIB) \$(LINTLIB)-orig
X	cp \$(LINTLIB).ln \$(LINTLIB).ln-orig
X	cat $LINTPATCH >>\$(LINTLIB)
X	@echo "Your $LINTLIB will need to be recompiled"
X	@echo "If you are on an SVr2 or later, just do 'make relint'"
XEOF
X
Xcat <<EOF >/dev/null
X
XNow type 'make' to make the library. Test productions have been
Xincluded. When you're satisfied that everything works, go root and
Xtype 'make install' (you may want to look at the Makefile to make
Xsure it's not doing anything untoward).
X
XIf you're on SVr2 or later, you will probably want to do a 'make relint'
Xafter the installation. On V7, SIII and BSD systems you'll have to work out
Xyour own way of recompiling the modified lint file.
X
XA restore production is provided to back out the changes.
XEOF
X
Xtouch posix_conf
Xmkdir profiled 2>&1 >/dev/null
X# Portability library config script ends here
END_OF_Makeposix
if test 16003 -ne `wc -c <Makeposix`; then
    echo shar: \"Makeposix\" unpacked with wrong size!
fi
chmod +x Makeposix
# end of overwriting check
fi
echo shar: End of archive 5 \(of 5\).
cp /dev/null ark5isdone
MISSING=""
for I in 1 2 3 4 5 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 5 archives.
    rm -f ark[1-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0
-- 
Lenny Tropiano             ICUS Software Systems         [w] +1 (516) 589-7930
lenny at icus.islp.ny.us      Telex; 154232428 ICUS         [h] +1 (516) 968-8576
{ames,talcott,decuac,hombre,pacbell,sbcs}!icus!lenny     attmail!icus!lenny
        ICUS Software Systems -- PO Box 1; Islip Terrace, NY  11752



More information about the Unix-pc.sources mailing list