# and edit it to reflect your system. Some packages may include samples
# of config.h for certain machines, so you might look for one of those.)
#
-# $RCSfile: Configure,v $$Revision: 4.0.1.6 $$Date: 91/11/11 16:26:51 $
+# $RCSfile: Configure,v $$Revision: 4.0.1.7 $$Date: 92/06/08 11:38:16 $
#
# Yes, you may rip this off to use in other distribution packages.
# (Note: this Configure script was generated automatically. Rather than
echo "(I see you are using the Korn shell. Some ksh's blow up on Configure," && \
echo "especially on exotic machines. If yours does, try the Bourne shell instead.)"
+unset CDPATH
if test ! -d ../UU; then
if test ! -d UU; then
mkdir UU
cppminus=''
d_bcmp=''
d_bcopy=''
+d_safebcpy=''
d_bzero=''
d_castneg=''
castflags=''
d_getprior=''
d_htonl=''
d_index=''
+d_isascii=''
d_killpg=''
d_lstat=''
d_memcmp=''
d_memcpy=''
+d_safemcpy=''
+d_memmove=''
+d_memset=''
d_mkdir=''
d_msg=''
d_msgctl=''
d_open3=''
d_readdir=''
d_rename=''
+d_rewindir=''
d_rmdir=''
+d_seekdir=''
d_select=''
d_sem=''
d_semctl=''
d_strerror=''
d_symlink=''
d_syscall=''
+d_telldir=''
d_truncate=''
d_vfork=''
d_voidsig=''
attrlist="$attrlist u3b2 u3b20 u3b200 u3b5 ultrix unix vax venix xenix"
attrlist="$attrlist z8000"
boPATH=""
-eoPATH="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb /bsd43/usr/bin"
+eoPATH="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb /bsd43/usr/bin /usr/ccs/lib /opt/SUNWste/bin /usr/opt/SUNWste/bin"
d_newshome="/usr/NeWS"
errnolist=errnolist
h_fcntl=false
d_ndir=ndir
voidwant=1
voidwant=7
-libswanted="c_s net_s net socket nsl_s nsl nm ndir ndbm dbm PW malloc sun m bsd BSD x posix ucb"
+libswanted="c_s net_s net socket nsl_s nsl nm ndir dir ndbm dbm PW malloc sun m bsd BSD x posix ucb"
inclwanted='/usr/include /usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan /usr/ucbinclude'
: Now test for existence of everything in MANIFEST
echo "First let's make sure your kit is complete. Checking..."
-awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -200
+awk '$1 !~ /PACKINGLIST/ {print $1}' ../MANIFEST | split -100
rm -f missing
for filelist in x??; do
(cd ..; ls `cat UU/$filelist` >/dev/null 2>>UU/missing)
done
if test -s missing; then
+ echo "WARNING: the following files are missing:"
cat missing
- kill $$
+ echo "INTERRUPT NOW, OR HIT RETURN TO PROCEED AT YOUR OWN RISK"
+ read junk
+else
+ echo "Looks good..."
fi
-echo "Looks good..."
: some greps do not return status, grrr.
echo "grimblepritz" >contains.txt
mips*) dflt="$dflt mips";;
[23]100) dflt="$dflt mips";;
next*) dflt="$dflt next" ;;
+ 6000) dflt="$dflt mc6000";;
esac
+ test -f "../hints/$1.sh" && dflt="$dflt $1"
+
case "$1" in
aix) dflt="$dflt aix_rs" ;;
sunos) case "$3" in
4.0.2) dflt="$dflt sunos_4_0_2" ;;
esac
;;
- dnix) dflt="$dflt dnix" ;;
- genix) dflt="$dflt genix" ;;
- hp*ux) dflt="$dflt hpux" ;;
- next) dflt="$dflt next" ;;
+ hp*ux) dflt="$dflt hpux"
+ extra_hints="hp"`echo $5 | sed -e s#/#_#g -e s/..$/00/`
+ if test -f ../hints/$extra_hints.sh; then
+ dflt="$dflt $extra_hints"
+ fi;;
irix) dflt="$dflt sgi" ;;
ultrix) case "$3" in
+ 1*) dflt="$dflt ultrix_1" ;;
3*) dflt="$dflt ultrix_3" ;;
4*) dflt="$dflt ultrix_4" ;;
esac
;;
uts) dflt="$dflt uts" ;;
$2) if test -f /etc/systemid; then
- set `echo $3 | sed 's/\./ /` $4
+ set `echo $3 | sed 's/\./ /'` $4
if test -f ../hints/sco_$1_$2_$3.sh; then
dflt="$dflt sco_$1_$2_$3"
elif test -f ../hints/sco_$1_$2.sh; then
echo "If you don't want the manual sources installed, answer 'none'."
case "$mansrc" in
'')
- dflt=`./loc . none /usr/man/local/man1 /usr/man/man.L /usr/man/manl /usr/man/mann /usr/man/u_man/man1 /usr/man/man1`
+ dflt=`./loc . none /usr/man/local/man1 /usr/man/man.L /usr/man/manl /usr/man/mann /usr/man/u_man/man1 /usr/man/man1 /usr/local/man/man1`
;;
*) dflt="$mansrc"
;;
: make some quick guesses about what we are up against
echo " "
+echo exit 1 >bsd
+echo exit 1 >usg
+echo exit 1 >v7
+echo exit 1 >osf1
+echo exit 1 >eunice
+echo exit 1 >xenix
+echo exit 1 >venix
cat $usrinclude/signal.h $usrinclude/sys/signal.h >guess.txt 2>/dev/null
if test "$usrinclude" = "/bsd43/usr/include" ; then
echo "Looks kind of like a SysV MIPS running BSD, but we'll see..."
echo exit 0 >bsd
- echo exit 1 >usg
- echo exit 1 >v7
+elif test -f /osf_boot || $contains "OSF/1" /usr/include/ctype.h; then
+ echo "Looks like an OSF/1 system, but we'll see..."
+ echo exit 0 >osf1
elif test `echo abc | tr a-z A-Z` = Abc ; then
echo "Looks kind of like a USG system, but we'll see..."
- echo exit 1 >bsd
echo exit 0 >usg
- echo exit 1 >v7
elif $contains SIGTSTP guess.txt >/dev/null 2>&1 ; then
echo "Looks kind of like a BSD system, but we'll see..."
echo exit 0 >bsd
- echo exit 1 >usg
- echo exit 1 >v7
else
echo "Looks kind of like a version 7 system, but we'll see..."
- echo exit 1 >bsd
- echo exit 1 >usg
echo exit 0 >v7
fi
case "$eunicefix" in
echo " "
echo "Congratulations. You aren't running Eunice."
d_eunice="$undef"
- echo "exit 1" >eunice
;;
esac
if test -f /xenix; then
else
echo " "
echo "It's not Xenix..."
- echo "exit 1" >xenix
fi
chmod +x xenix
$eunicefix xenix
else
echo "Nor is it Venix..."
fi
- echo "exit 1" >venix
fi
-chmod +x bsd usg v7 eunice venix
+chmod +x bsd usg v7 osf1 eunice venix
$eunicefix bsd usg v7 eunice venix
: see what memory models we can support
cc="$ans"
fi
case "$cc" in
-gcc*) cpp=`./loc gcc-cpp $cpp $pth`
+*gcc*) cpp=`./loc gcc-cpp $cpp $pth`
case "$nativegcc" in
'') case "$ccflags" in
*-fpcc-struct-return*) dflt=n;;
case "$dflt" in
*LANGUAGE_C*);;
*) dflt="$dflt -DLANGUAGE_C";;
+ *) if osf1; then
+ dflt="$dflt -D__LANGUAGE_C__"
+ else
+ dflt="$dflt -DLANGUAGE_C"
+ fi
+ ;;
esac
fi
if $contains '_NO_PROTO' $usrinclude/signal.h >/dev/null 2>&1; then
case "$dflt" in
*_NO_PROTO*);;
- *) dflt="$dflt -D_NO_PROTO";;
+ *) osf1 || dflt="$dflt -D_NO_PROTO";;
esac
fi
case "$dflt" in
Your C compiler may want other flags. For this question you should
include -I/whatever and -DWHATEVER flags and any other flags used by
the C compiler, but you should NOT include libraries or ld flags like
--lwhatever. To use no flags, specify the word "none".
+-lwhatever. For instance, this would be a good place to specify
+-DDEBUGGING. To use no flags, specify the word "none".
EOH
rp="Any additional cc flags? [$dflt]"
if test -f $xxx; then
echo "Found -l$thislib."
case "$dflt" in
- *"-l$thislib "*|*"-l$thatlib "*);;
+ *-l$thislib\ *|*-l$thatlib\ *);;
*) dflt="$dflt -l$thislib ";;
esac
else
if test -f $xxx; then
echo "Found -l$thislib."
case "$dflt" in
- *"-l$thislib "*|*"-l$thatlib "*);;
+ *-l$thislib\ *|*-l$thatlib\ *);;
*) dflt="$dflt -l$thislib ";;
esac
else
if test -f $xxx; then
echo "Found -l$thislib as a shared object only."
case "$dflt" in
- *"-l$thislib "*|*"-l$thatlib "*);;
+ *-l$thislib\ *|*-l$thatlib\ *);;
*) dflt="$dflt -l$thislib ";;
esac
else
fi
done
+case "$bin" in
+ ?????????????????????????)
+ cat <<EOF
+
+NOTE: you have a fairly long path name there. Some systems have trouble
+executing a script if the #! line ends up longer than 32 characters. If
+you have this trouble you may have to reinstall somewhere else, or make
+a symbolic link from someplace with a shorter name.
+
+EOF
+ ;;
+esac
+
case "$installbin" in
'')
dflt=`echo $bin | sed 's#^/afs/#/afs/.#'`
} u;
if (sizeof(long) > 4)
- u.l = (0x08070605 << 32) | 0x04030201;
+ u.l = (0x08070605L << 32) | 0x04030201L;
else
- u.l = 0x04030201;
+ u.l = 0x04030201L;
for (i=0; i < sizeof(long); i++)
printf("%c",u.c[i]+'0');
printf("\n");
esac
set /usr/ccs/lib/libc.so
test -f $1 || set /usr/lib/libc.so
+test -f $1 || set /usr/shlib/libc.so
test -f $1 || set /usr/lib/libc.so.[0-9]*
test -f $1 || set /lib/libsys_s.a
eval set \$$#
<libc.tmp >libc.list; \
$contains '^printf$' libc.list >/dev/null 2>&1; then
echo done
+elif $sed -n -e 's/^[ ]*[0-9][0-9a-f]*[ ]*Def. Text[ ]*//p' \
+ < libc.tmp | $sed -e 's/\[.*\]//' > libc.list; \
+ $contains '^printf$' libc.list >/dev/null 2>&1; then
+ echo done
else
nm -p $* 2>/dev/null >libc.tmp
$sed -n -e 's/^.* [AT] *_[_.]*//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list
if $contains "^$1\$" libc.list >/dev/null 2>&1;
then echo "$1() found";
eval "case \"\$$2\" in undef) . whoa; esac"; eval "$2=\$td";
-else echo "$1() not found";
+else echo "$1() NOT found";
eval "case \"\$$2\" in define) . whoa; esac"; eval "$2=\$tu"; fi'
: see if bcmp exists
set bcopy d_bcopy
eval $inlibc
+case "$d_safebcpy" in
+'')
+ : assume the worst
+ d_safebcpy=undef
+ case "$d_bcopy" in
+ define)
+ echo "Checking to see if your bcopy() can do overlapping copies..."
+ $cat >safebcpy.c <<'EOCP'
+main()
+{
+ char buf[128];
+ register char *b;
+ register int len;
+ register int off;
+ register int align;
+
+ for (align = 7; align >= 0; align--) {
+ for (len = 36; len; len--) {
+ b = buf+align;
+ bcopy("abcdefghijklmnopqrstuvwxyz0123456789", b, len);
+ for (off = 1; off <= len; off++) {
+ bcopy(b, b+off, len);
+ bcopy(b+off, b, len);
+ if (bcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len))
+ exit(1);
+ }
+ }
+ }
+ exit(0);
+}
+EOCP
+ if $cc safebcpy.c -o safebcpy $ccflags >/dev/null 2>&1 ; then
+ if ./safebcpy; then
+ echo "It can."
+ d_safebcpy=define
+ else
+ echo "It can't."
+ fi
+ else
+ echo "(I can't compile the test program, so we'll assume not...)"
+ fi
+ ;;
+ esac
+ ;;
+esac
+
: see if bzero exists
set bzero d_bzero
eval $inlibc
val2="$define"
fi
else
- echo 'vprintf() not found.'
+ echo 'vprintf() NOT found.'
val="$undef"
val2="$undef"
fi
cryptlib=-lcrypt
fi
if $test -z "$cryptlib"; then
- echo 'crypt() not found.'
+ echo 'crypt() NOT found.'
val="$undef"
else
val="$define"
: index or strcpy
echo " "
case "$d_index" in
-undef) dflt=n;;
+undef) dflt=y;;
+define) dflt=n;;
*) if $test -f /unix; then
dflt=n
else
fi
fi
+: see if isascii exists
+set isascii d_isascii
+eval $inlibc
+
: see if killpg exists
set killpg d_killpg
eval $inlibc
set memcpy d_memcpy
eval $inlibc
+case "$d_safemcpy" in
+'')
+ : assume the worst
+ d_safemcpy=undef
+ case "$d_memcpy" in
+ define)
+ echo "Checking to see if your memcpy() can do overlapping copies..."
+ $cat >safemcpy.c <<'EOCP'
+main()
+{
+ char buf[128];
+ register char *b;
+ register int len;
+ register int off;
+ register int align;
+
+ for (align = 7; align >= 0; align--) {
+ for (len = 36; len; len--) {
+ b = buf+align;
+ memcpy(b,"abcdefghijklmnopqrstuvwxyz0123456789", len);
+ for (off = 1; off <= len; off++) {
+ memcpy(b+off, b, len);
+ memcpy(b, b+off, len);
+ if (memcmp(b, "abcdefghijklmnopqrstuvwxyz0123456789", len))
+ exit(1);
+ }
+ }
+ }
+ exit(0);
+}
+EOCP
+ if $cc safemcpy.c -o safemcpy $ccflags >/dev/null 2>&1 ; then
+ if ./safemcpy; then
+ echo "It can."
+ d_safemcpy=define
+ else
+ echo "It can't."
+ fi
+ else
+ echo "(I can't compile the test program, so we'll assume not...)"
+ fi
+ ;;
+ esac
+ ;;
+esac
+
+: see if memmove exists
+set memmove d_memmove
+eval $inlibc
+
+: see if memset exists
+set memset d_memset
+eval $inlibc
+
: see if mkdir exists
set mkdir d_mkdir
eval $inlibc
*) mallocsrc='';
mallocobj='';
mallocptrtype=void
- val="$define"
+ val="$undef"
;;
esac
set d_mymalloc
echo "ndbm.h found."
else
val="$undef"
- echo "ndbm.h not found."
+ echo "ndbm.h NOT found."
fi
set d_ndbm
eval $setvar
echo "dbm.h found."
else
val="$undef"
- echo "dbm.h not found."
+ echo "dbm.h NOT found."
fi
set d_odbm
eval $setvar
set rename d_rename
eval $inlibc
+: see if rewindir exists
+set rewinddir d_rewindir
+eval $inlibc
+
: see if rmdir exists
set rmdir d_rmdir
eval $inlibc
+: see if seekdir exists
+set seekdir d_seekdir
+eval $inlibc
+
: see if select exists
set select d_select
eval $inlibc
echo "ICK, NOTHING WORKED!!! You may have to diddle the includes.";;
esac
+: see if telldir exists
+set telldir d_telldir
+eval $inlibc
+
: see if signal is declared as pointer to function returning int or void
echo " "
$cppstdin $cppflags $cppminus < $usrinclude/signal.h >d_voidsig.txt
echo "gdbm.h found."
else
val="$undef"
- echo "gdbm.h not found."
+ echo "gdbm.h NOT found."
fi
set i_gdbm
eval $setvar
echo "sys/ioctl.h found."
else
val="$undef"
- echo "sys/ioctl.h not found, assuming ioctl args are defined in sgtty.h."
+ echo "sys/ioctl.h NOT found, assuming ioctl args are defined in sgtty.h."
fi
set i_sysioctl
eval $setvar
cppminus='$cppminus'
d_bcmp='$d_bcmp'
d_bcopy='$d_bcopy'
+d_safebcpy='$d_safebcpy'
d_bzero='$d_bzero'
d_castneg='$d_castneg'
castflags='$castflags'
d_getprior='$d_getprior'
d_htonl='$d_htonl'
d_index='$d_index'
+d_isascii='$d_isascii'
d_killpg='$d_killpg'
d_lstat='$d_lstat'
d_memcmp='$d_memcmp'
d_memcpy='$d_memcpy'
+d_safemcpy='$d_safemcpy'
+d_memmove='$d_memmove'
+d_memset='$d_memset'
d_mkdir='$d_mkdir'
d_msg='$d_msg'
d_msgctl='$d_msgctl'
d_open3='$d_open3'
d_readdir='$d_readdir'
d_rename='$d_rename'
+d_rewindir='$d_rewindir'
d_rmdir='$d_rmdir'
+d_seekdir='$d_seekdir'
d_select='$d_select'
d_sem='$d_sem'
d_semctl='$d_semctl'
d_strerror='$d_strerror'
d_symlink='$d_symlink'
d_syscall='$d_syscall'
+d_telldir='$d_telldir'
d_truncate='$d_truncate'
d_vfork='$d_vfork'
d_voidsig='$d_voidsig'
Makefile.SH Precursor to Makefile
PACKINGLIST Which files came from which kits
README The Instructions
+README.ncr Special instructions for NCR
README.uport Special instructions for Microports
README.xenix Special instructions for Xenix
Wishlist Some things that may or may not happen
arg.h Public declarations for the above
array.c Numerically subscripted arrays
array.h Public declarations for the above
+atarist/FILES
+atarist/README.ST
+atarist/RESULTS
+atarist/atarist.c
+atarist/config.h
+atarist/echo.c
+atarist/explain
+atarist/makefile.sm
+atarist/makefile.st
+atarist/osbind.pl
+atarist/perldb.diff
+atarist/perlglob.c
+atarist/test/binhandl
+atarist/test/ccon
+atarist/test/dbm
+atarist/test/err
+atarist/test/gdbm
+atarist/test/gdbm.t
+atarist/test/glob
+atarist/test/osexample.pl
+atarist/test/pi.pl
+atarist/test/printenv
+atarist/test/readme
+atarist/test/sig
+atarist/test/tbinmode
+atarist/usersub.c
+atarist/usub/README.ATARI
+atarist/usub/acurses.mus
+atarist/usub/makefile.st
+atarist/usub/usersub.c
+atarist/wildmat.c
c2ph.SH program to translate dbx stabs to perl
c2ph.doc documentation for c2ph
cflags.SH A script that emits C compilation flags per file
hash.c Associative arrays
hash.h Public declarations for the above
hints/3b1.sh
+hints/3b1cc
hints/3b2.sh
hints/aix_rs.sh
hints/aix_rt.sh
hints/apollo_C6_7.sh
hints/apollo_C6_8.sh
hints/aux.sh
+hints/cray.sh
+hints/dgux.sh
hints/dnix.sh
hints/dynix.sh
hints/fps.sh
hints/greenhills.sh
hints/hp9000_300.sh
hints/hp9000_400.sh
+hints/hp9000_700.sh
hints/hp9000_800.sh
hints/hpux.sh
hints/i386.sh
hints/isc_3_2_2.sh
+hints/mc6000.sh
hints/mips.sh
hints/mpc.sh
hints/ncr_tower.sh
hints/next.sh
hints/opus.sh
-hints/osf_1.sh
+hints/osf1.sh
hints/sco_2_3_0.sh
hints/sco_2_3_1.sh
hints/sco_2_3_2.sh
hints/sco_2_3_3.sh
+hints/sco_2_3_4.sh
hints/sco_3.sh
hints/sgi.sh
+hints/solaris_2_0.sh
hints/stellar.sh
hints/sunos_3_4.sh
hints/sunos_3_5.sh
hints/sunos_4_0_2.sh
hints/svr4.sh
hints/ti1500.sh
+hints/titan.sh
+hints/ultrix_1.sh
hints/ultrix_3.sh
hints/ultrix_4.sh
+hints/unisysdynix.sh
+hints/utekv.sh
hints/uts.sh
hints/vax.sh
installperl Perl script to do "make install" dirty work
lib/importenv.pl Perl routine to get environment into variables
lib/look.pl A "look" equivalent
lib/newgetopt.pl A perl library supporting long option parsing
+lib/open2.pl
lib/perldb.pl Perl debugging routines
lib/pwd.pl Routines to keep track of PWD environment variable
lib/shellwords.pl Perl library to split into words with shell quoting
os2/alarm.c An implementation of alarm()
os2/alarm.h Header file for same
os2/config.h Configuration file for OS/2
+os2/crypt.c
os2/dir.h Directory header
os2/director.c Directory routines
os2/eg/alarm.pl Example of alarm code
os2/selfrun.bat A self running perl script for DOS
os2/selfrun.cmd Example of extproc feature
os2/suffix.c Code for creating backup filenames
+os2/tests.dif
patchlevel.h The current patch level of perl
perl.c main()
perl.h Global declarations
perlsh A poor man's perl shell
perly.fixer A program to remove yacc stack limitations
perly.y Yacc grammar for perl
+pstruct
regcomp.c Regular expression compiler
regcomp.h Private declarations for above
regexec.c Regular expression evaluator
esac
echo "Extracting Makefile (with variable substitutions)"
+rm -f Makefile
cat >Makefile <<!GROK!THIS!
-# $RCSfile: Makefile.SH,v $$Revision: 4.0.1.3 $$Date: 91/11/05 15:48:11 $
+# $RCSfile: Makefile.SH,v $$Revision: 4.0.1.4 $$Date: 92/06/08 11:40:43 $
#
# $Log: Makefile.SH,v $
+# Revision 4.0.1.4 92/06/08 11:40:43 lwall
+# patch20: cray didn't give enough memory to /bin/sh
+# patch20: various and sundry fixes
+#
# Revision 4.0.1.3 91/11/05 15:48:11 lwall
# patch11: saberized perl
# patch11: added support for dbz
public = perl taintperl $suidperl
+shellflags = $shellflags
+
# To use an alternate make, set $altmake in config.sh.
MAKE = ${altmake-make}
cat >>Makefile <<'!NO!SUBS!'
-CCCMD = `sh cflags $@`
+CCCMD = `sh $(shellflags) cflags $@`
private =
touch perly.h
perly.c: perly.y perly.fixer
- @ echo 'Expect either' 29 shift/reduce and 59 reduce/reduce conflicts...
- @ echo ' or' 27 shift/reduce and 61 reduce/reduce conflicts...
+ @ \
+case "$(YACC)" in \
+ *bison*) echo 'Expect' 25 shift/reduce and 59 reduce/reduce conflicts;; \
+ *) echo 'Expect' 27 shift/reduce and 57 reduce/reduce conflicts;; \
+esac
$(YACC) -d perly.y
- sh ./perly.fixer y.tab.c perly.c
+ sh $(shellflags) ./perly.fixer y.tab.c perly.c
mv y.tab.h perly.h
echo 'extern YYSTYPE yylval;' >>perly.h
./perl installperl
clean:
- rm -f *.o all perl taintperl suidperl
+ rm -f *.o all perl taintperl suidperl perly.c
cd x2p; $(MAKE) clean
realclean: clean
test: perl
- cd t && chmod +x TEST */*.t
- - cd t && (rm -f perl; $(SLN) ../perl .) && ./perl TEST </dev/tty
+ - cd t && (rm -f perl; $(SLN) ../perl perl) && ./perl TEST </dev/tty
clist:
echo $(c) | tr ' ' '\012' >.clist
$(obj) hash.o:
@ echo "You haven't done a "'"make depend" yet!'; exit 1
makedepend: makedepend.SH
- /bin/sh makedepend.SH
+ /bin/sh $(shellflags) makedepend.SH
!NO!SUBS!
$eunicefix Makefile
case `pwd` in
built-in cpp
perl to C translator
multi-threading
+make more easily embeddable
+built-in globbing
+compile to threaded code
+rewrite regexp parser for better integrated optimization
+add structured types and objects
+allow for lexical scoping
--- /dev/null
+
+Shipping list for the perl 4.019 atariST port:
+
+perl.diffs contains diffs from the following perl 4.019 files:
+
+ perl.h arg.h handy.h doarg.c doio.c eval.c malloc.c perl.c regcomp.c
+ str.c toke.c util.c
+
+ the file `explain' contains a brief explaination of the diffs in
+ `perl.diffs'
+
+The following files are supplied whole (not as diffs) and replace files with
+the same name from the perl 4.019 distribution:
+
+ config.h usersub.c
+
+The following files are specific to this atariST port:
+
+ atarist.c echo.c wildmat.c perlglob.c
+ makefile.sm makefile.st
+
+The following files are in usub/
+
+ makefile.st README.ATARI usersub.c acurses.mus
+
+The following files should be added to the perl 4.019 library:
+
+ osbind.pl perldb.diff (diffs against perldb.pl in perl 4.019 lib)
+
+AtariST specific tests
+
+ test/*
+
+Misc:
+
+ FILES README.ST (read this) RESULTS (explains results of tests)
+ explain (explains perl.diffs)
+
+Some binary distributions will also contain:
+ perl.ttp uperl.a cperl.ttp (cursesperl) perld.ttp
+ (these are all buildable using the material above).
+
+If you are missing any of the files on this list, please mail me. Please
+dont ask me to mail binaries. Some of the binaries are available at
+various atari archives, including atari.archive.umich.edu in
+atari/languages/perl4019.zoo.
+
+ ++jrb bammi@cadence.com
--- /dev/null
+For the atariST bsd derived curses use acurses.mus (its got its own wrinkles!)
d_voidsig='undef'
-d_tosignal='int';
-echo "If you're going to use shared libraries, don't include -lmalloc, and"
-echo "change cc to '/bin/ccc' when editing config.sh at the end."
+d_tosignal='int'
+gidtype='int'
+groupstype='int'
+uidtype='int'
+# Note that 'Configure' is run from 'UU', hence the strange 'ln'
+# command.
+for i in .. ../x2p
+do
+ rm -f $i/3b1cc
+ ln ../hints/3b1cc $i
+done
+echo "\nIf you want to use the 3b1 shared libraries, complete this script then"
+echo "read the header in 3b1cc. [Type carriage return to continue]\c"
+read vch
--- /dev/null
+# To incorporate the 7300/3b1 shared library, run this script in place
+# of 'CC'.
+# 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
+d_setregid='undef'
+d_setreuid='undef'
+d_setrgid='undef'
+d_setruid='undef'
+d_setegid='undef'
+d_seteuid='undef'
+alignbytes=8
+dolist_cflags='optimize=""'
+tdolist_cflags='optimize=""'
+regexec_cflags='optimize=""'
+tregexec_cflags='optimize=""'
eval_cflags='optimize=""'
-toke_cflags='optimize=""'
teval_cflags='optimize=""'
+toke_cflags='optimize=""'
ttoke_cflags='optimize=""'
ccflags="$ccflags -D_NO_PROTO"
-cppstdin='/lib/cpp -D_AIX -D_IBMR2'
+cppstdin='/lib/cpp -D_AIX -D_IBMR2 -U__STR__'
cppminus=''
#
# Makefile for compiling Perl under OS/2
#
-# Needs a Unix compatible make.
-# This makefile works for an initial compilation. It does not
-# include all dependencies and thus is unsuitable for serious
-# development work. Hey, I'm just inheriting what Diomidis gave me.
-#
-# Originally by Diomidis Spinellis, March 1990
-# Adjusted for OS/2 port by Raymond Chen, June 1990
+# Needs Microsoft C 6.00 and NMAKE
#
-# Source files
-SRC = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c \
-eval.c form.c hash.c perl.y perly.c regcomp.c regexec.c \
-stab.c str.c toke.c util.c os2.c popen.c director.c
+EXP = c:\ms\lib\setargv.obj -link /noe
+
+DEF = os2\perl.def
+BAD = os2\perl.bad
-# Object files
-OBJ = perl.obj array.obj cmd.obj cons.obj consarg.obj doarg.obj doio.obj \
-dolist.obj dump.obj eval.obj form.obj hash.obj perly.obj regcomp.obj \
-regexec.obj stab.obj str.obj toke.obj util.obj os2.obj popen.obj \
-director.obj suffix.obj
+OBJ = array.obj cmd.obj cons.obj consarg.obj doarg.obj doio.obj \
+ dolist.obj dump.obj eval.obj form.obj hash.obj perl.obj perly.obj \
+ regcomp.obj regexec.obj stab.obj str.obj toke.obj util.obj
+OBJO = os2.obj popen.obj suffix.obj director.obj alarm.obj crypt.obj
-# Files in the OS/2 distribution
-DOSFILES=config.h director.c makefile os2.c popen.c suffix.c readme.os2
+LIBS = lgdbm.lib
-# Yacc flags
+YACC=bison
YFLAGS=-d
-# Manual pages
-MAN=perlman.1 perlman.2 perlman.3 perlman.4
+CC=cl -nologo
+CCL=cl -nologo -B2C2L -B3C3L
-CC=cl
-# CBASE = flags everybody gets
-# CPLAIN = flags for modules that give the compiler indigestion
-# CFLAGS = flags for milder modules
-# PERL = which version of perl to build
-#
-# For preliminary building: No optimization, DEBUGGING set, symbols included.
-#CBASE=-AL -Zi -G2 -Gs -DDEBUGGING
-#CPLAIN=$(CBASE) -Od
-#CFLAGS=$(CBASE) -Od
-#PERL=perlsym.exe
-
-# For the final build: Optimization on, no DEBUGGING, symbols stripped.
-CBASE=-AL -Zi -G2 -Gs
-CPLAIN=$(CBASE) -Oilt
-CFLAGS=$(CBASE) -Ox
-PERL=perl.exe
-
-# Destination directory for executables
-DESTDIR=\usr\bin
-
-# Deliverables
-#
-all: $(PERL) glob.exe
-
-perl.exe: $(OBJ) perl.arp
- link @perl.arp,perl,nul,/stack:32767 /NOE;
- exehdr /nologo /newfiles /pmtype:windowcompat perl.exe >nul
-
-perlsym.exe: $(OBJ) perl.arp
- link @perl.arp,perlsym,nul,/stack:32767 /NOE /CODE;
- exehdr /nologo /newfiles /pmtype:windowcompat perlsym.exe >nul
-
-perl.arp:
- echo array+cmd+cons+consarg+doarg+doio+dolist+dump+ >perl.arp
- echo eval+form+hash+perl+perly+regcomp+regexec+stab+suffix+ >>perl.arp
- echo str+toke+util+os2+popen+director+\c600\lib\setargv >>perl.arp
-
-glob.exe: glob.c
- $(CC) glob.c \c600\lib\setargv.obj -link /NOE
- exehdr /nologo /newfiles /pmtype:windowcompat glob.exe >nul
-
-array.obj: array.c
- $(CC) $(CPLAIN) -c array.c
-cmd.obj: cmd.c
-cons.obj: cons.c perly.h
-consarg.obj: consarg.c
-# $(CC) $(CPLAIN) -c consarg.c
-doarg.obj: doarg.c
-doio.obj: doio.c
-dolist.obj: dolist.c
-dump.obj: dump.c
-eval.obj: eval.c evalargs.xc
- $(CC) /B3 \c600\binp\c3l $(CFLAGS) -c eval.c
-form.obj: form.c
-hash.obj: hash.c
-perl.obj: perl.y
-perly.obj: perly.c
-regcomp.obj: regcomp.c
-regexec.obj: regexec.c
-stab.obj: stab.c
- $(CC) $(CPLAIN) -c stab.c
-str.obj: str.c
-suffix.obj: suffix.c
-toke.obj: toke.c
- $(CC) /B3 \c600\binp\c3l $(CFLAGS) -c toke.c
-util.obj: util.c
-# $(CC) $(CPLAIN) -c util.c
-perly.h: ytab.h
- cp ytab.h perly.h
-director.obj: director.c
-popen.obj: popen.c
-os2.obj: os2.c
-
-perl.1: $(MAN)
- nroff -man $(MAN) >perl.1
-
-install: all
- exepack perl.exe $(DESTDIR)\perl.exe
- exepack glob.exe $(DESTDIR)\glob.exe
+CFLAGS=-W1 -AL -Zep -J -G2s -Olt -Gt 2048 -DDEBUGGING
+#CFLAGS=-W1 -AL -Ziep -J -G2 -Od -Gt 2048 -DDEBUGGING
-clean:
- rm -f *.obj *.exe perl.1 perly.h perl.arp
+LDFLAGS=-AL -Lp -F 8000
+#LDFLAGS=-AL -Lp -Zi -Li -F 8000
+
+STRIP=bind -nologo
+#STRIP=rem
+
+.c.obj:
+ $(CC) -c $(CFLAGS) $<
+
+{os2}.c{}.obj:
+ $(CC) -c $(CFLAGS) -I. -Ios2 $<
-tags:
- ctags *.c *.h *.xc
+all: perl.exe perlglob.exe
-dosperl:
- mv $(DOSFILES) ../perl30.new
+perl.exe: $(OBJ) $(OBJO)
+ $(CC) $(LDFLAGS) $(OBJ) $(OBJO) $(LIBS) os2\perl.def -o $@ $(EXP)
+ $(STRIP) $@ -n @$(BAD)
-doskit:
- mv $(DOSFILES) ../os2
+$(OBJ) $(OBJO): config.h
+perl.obj str.obj cons.obj toke.obj: perly.h
+
+config.h: os2\config.h
+ cp os2\config.h config.h
+
+perly.c perly.h: perly.y
+ $(YACC) $(YFLAGS) -o $*.c $*.y
+
+eval.obj: eval.c
+ $(CCL) -c $(CFLAGS) $*.c
+toke.obj: toke.c
+ $(CCL) -c $(CFLAGS) $*.c
+
+perlglob.exe: os2\glob.c os2\director.c
+ $(CC) -Zep -G2s -Olt -Lp os2\glob.c $(DEF) -o $@ $(EXP)
+ $(STRIP) $@ -n @$(BAD)
+
+clean:
+ -rm perly.c perly.h config.h *.obj >nul
(-W1 -Od -Ocgelt hash.c str.c util.c walk.c)
setargv.obj
-..\os2\a2p.def
+..\os2\perl.def
a2p.exe
-AL -LB -S0x9000
-NAME AWK2PERL WINDOWCOMPAT NEWFILES
-DESCRIPTION 'AWK to PERL translator - for MS-DOS and OS/2'
+(deprecated)
-#define PATCHLEVEL 19
+#define PATCHLEVEL 20