diff options
-rwxr-xr-x | Configure | 86 | ||||
-rw-r--r-- | MANIFEST | 42 | ||||
-rw-r--r-- | Makefile.SH | 39 | ||||
-rw-r--r-- | README | 24 | ||||
-rw-r--r-- | h2pl/README | 71 | ||||
-rw-r--r-- | os2/Makefile | 124 | ||||
-rw-r--r-- | patchlevel.h | 2 | ||||
-rw-r--r-- | usub/Makefile | 16 |
8 files changed, 371 insertions, 33 deletions
@@ -8,16 +8,7 @@ # 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.) # -# $Header: Configure,v 3.0.1.7 90/03/28 09:14:53 lwall Locked $ - -: make sure these files are renamed -test -f config_h.SH || mv -f config.h.SH config_h.SH -test -f perl_man.1 || mv -f perl.man.1 perl_man.1 -test -f perl_man.2 || mv -f perl.man.2 perl_man.2 -test -f perl_man.3 || mv -f perl.man.3 perl_man.3 -test -f perl_man.4 || mv -f perl.man.4 perl_man.4 -test -f t/op.s || mv -f t/op.subst t/op.s - +# $Header: Configure,v 3.0.1.8 90/08/09 01:47:24 lwall Locked $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than @@ -113,6 +104,7 @@ d_bcopy='' d_bzero='' d_castneg='' d_charsprf='' +d_chsize='' d_crypt='' cryptlib='' d_csh='' @@ -140,6 +132,7 @@ d_odbm='' d_readdir='' d_rename='' d_rmdir='' +d_select='' d_setegid='' d_seteuid='' d_setpgrp='' @@ -161,6 +154,7 @@ d_strctcpy='' d_strerror='' d_symlink='' d_syscall='' +d_truncate='' d_varargs='' d_vfork='' d_voidsig='' @@ -212,6 +206,7 @@ n='' c='' package='' randbits='' +scriptdir='' sig_name='' spitshell='' shsharp='' @@ -1406,19 +1401,21 @@ elif test -f /lib/libc.a; then else ans=`loc libc.a blurfl/dyick $libpth` if test ! -f "$ans"; then - ans=`loc libc blurfl/dyick $libpth` + ans=`loc Slibc.a blurfl/dyick $xlibpth` fi if test ! -f "$ans"; then - ans=`loc clib blurfl/dyick $libpth` + ans=`loc Mlibc.a blurfl/dyick $xlibpth` fi if test ! -f "$ans"; then - ans=`loc Slibc.a blurfl/dyick $xlibpth` + ans=`loc Llibc.a blurfl/dyick $xlibpth` fi if test ! -f "$ans"; then - ans=`loc Mlibc.a blurfl/dyick $xlibpth` + ans=`loc libc blurfl/dyick $libpth` fi if test ! -f "$ans"; then - ans=`loc Llibc.a blurfl/dyick $xlibpth` + ans=`loc clib blurfl/dyick $libpth` + else + libnames="$libnames "`loc clib blurfl/dyick $libpth` fi if test -f "$ans"; then echo "Your C library is in $ans, of all places." @@ -1584,6 +1581,10 @@ else d_charvspr="$undef" fi +: see if chsize exists +set chsize d_chsize +eval $inlibc + : see if crypt exists echo " " if $contains '^crypt$' libc.list >/dev/null 2>&1; then @@ -1908,6 +1909,10 @@ eval $inlibc set rmdir d_rmdir eval $inlibc +: see if select exists +set select d_select +eval $inlibc + : see if setegid exists set setegid d_setegid eval $inlibc @@ -2078,6 +2083,10 @@ case "$flags" in esac $rm -f try.c try +: see if truncate exists +set truncate d_truncate +eval $inlibc + : see if this is a varargs system echo " " if $test -r /usr/include/varargs.h ; then @@ -2511,6 +2520,49 @@ y*) mallocsrc='malloc.c'; mallocobj='malloc.o';; *) mallocsrc=''; mallocobj='';; esac +: determine where public executables go +case "$scriptdir" in +'') + dflt="$bin" + : guess some guesses + test -d /usr/share/scripts && dflt=/usr/share/scripts + test -d /usr/share/bin && dflt=/usr/share/bin + ;; +*) dflt="$scriptdir" + ;; +esac +cont=true +$cat <<EOM + +Some installations have a separate directory just for executable scripts so +that they can mount it across multiple architectures but keep the scripts in +one spot. You might, for example, have a subdirectory of /usr/share for this. +Or you might just lump your scripts in with all your other executables. + +EOM +while $test "$cont" ; do + rp="Where do you keep publicly executable scripts? (~name ok) [$dflt]" + $echo $n "$rp $c" + . myread + scriptdir="$ans" + scriptdir=`./filexp "$scriptdir"` + if test -d $scriptdir; then + cont='' + else + case "$fastread" in + yes) dflt=y;; + *) dflt=n;; + esac + rp="Directory $scriptdir doesn't exist. Use that name anyway? [$dflt]" + $echo $n "$rp $c" + . myread + dflt='' + case "$ans" in + y*) cont='';; + esac + fi +done + : determine compiler compiler case "$yacc" in '') dflt=yacc;; @@ -2607,6 +2659,7 @@ d_bcopy='$d_bcopy' d_bzero='$d_bzero' d_castneg='$d_castneg' d_charsprf='$d_charsprf' +d_chsize='$d_chsize' d_crypt='$d_crypt' cryptlib='$cryptlib' d_csh='$d_csh' @@ -2634,6 +2687,7 @@ d_odbm='$d_odbm' d_readdir='$d_readdir' d_rename='$d_rename' d_rmdir='$d_rmdir' +d_select='$d_select' d_setegid='$d_setegid' d_seteuid='$d_seteuid' d_setpgrp='$d_setpgrp' @@ -2655,6 +2709,7 @@ d_strctcpy='$d_strctcpy' d_strerror='$d_strerror' d_symlink='$d_symlink' d_syscall='$d_syscall' +d_truncate='$d_truncate' d_varargs='$d_varargs' d_vfork='$d_vfork' d_voidsig='$d_voidsig' @@ -2706,6 +2761,7 @@ n='$n' c='$c' package='$package' randbits='$randbits' +scriptdir='$scriptdir' sig_name='$sig_name' spitshell='$spitshell' shsharp='$shsharp' @@ -40,8 +40,8 @@ eg/muck A program to find missing make dependencies eg/muck.man Manual page for muck eg/myrup A program to find lightly loaded machines eg/nih Script to insert #! workaround -eg/rename A program to rename files eg/relink A program to change symbolic links +eg/rename A program to rename files eg/rmfrom A program to feed doomed filenames to eg/scan/scan_df Scan for filesystem anomalies eg/scan/scan_last Scan for login anomalies @@ -63,26 +63,42 @@ evalargs.xc The arg evaluator of eval.c form.c Format processing form.h Public declarations for the above gettest A little script to test the get* routines +h2ph.SH A thing to turn C .h file into perl .ph files +h2pl/README How to turn .ph files into .pl files +h2pl/cbreak.pl cbreak routines using .ph +h2pl/cbreak2.pl cbreak routines using .pl +h2pl/eg/sizeof.ph Sample sizeof array initialization +h2pl/eg/sys/errno.pl Sample translated errno.pl +h2pl/eg/sys/ioctl.pl Sample translated ioctl.pl +h2pl/eg/sysexits.pl Sample translated sysexits.pl +h2pl/getioctlsizes Program to extract types from ioctl.h +h2pl/mksizes Program to make %sizeof array. +h2pl/mkvars Program to make .pl from .ph files +h2pl/tcbreak cbreak test routine using .ph +h2pl/tcbreak2 cbreak test routine using .pl handy.h Handy definitions hash.c Associative arrays hash.h Public declarations for the above ioctl.pl Sample ioctl.pl lib/abbrev.pl An abbreviation table builder -lib/look.pl A "look" equivalent lib/complete.pl A command completion subroutine lib/ctime.pl A ctime workalike lib/dumpvar.pl A variable dumper +lib/flush.pl Routines to do single flush lib/getopt.pl Perl library supporting option parsing lib/getopts.pl Perl library supporting option parsing lib/importenv.pl Perl routine to get environment into variables +lib/look.pl A "look" equivalent +lib/nsyslog.pl Newer syslog.pl lib/perldb.pl Perl debugging routines +lib/pwd.pl Routines to keep track of PWD environment variable lib/stat.pl Perl library supporting stat function lib/syslog.pl Perl library supporting syslogging lib/termcap.pl Perl library supporting termcap usage lib/validate.pl Perl library supporting wholesale file mode validation makedepend.SH Precursor to makedepend makedir.SH Precursor to makedir -makelib.SH A thing to turn C .h file into perl .h files +makelib.SH Deprecated (renamed to h2ph) malloc.c A version of malloc you might not want msdos/Changes.dds Expanation of MS-DOS patches by Diomidis Spinellis msdos/Makefile MS-DOS makefile @@ -97,19 +113,26 @@ msdos/eg/lf.bat Convert files from MS-DOS to Unix line termination msdos/glob.c A command equivalent to csh glob msdos/msdos.c MS-DOS ioctl, sleep, gete?[gu]if, spawn, aspawn msdos/popen.c My_popen and my_pclose for MS-DOS +os2/Makefile Makefile for OS/2 +os2/README.OS2 Notes for OS/2 +os2/config.h Configuration file for OS/2 +os2/eg/os2.pl Sample script for OS/2 +os2/eg/syscalls.pl Example of syscall on OS/2 +os2/popen.c Code for opening pipes +os2/suffix.c Code for creating backup filenames patchlevel.h The current patch level of perl perl.h Global declarations +perl.y Yacc grammar for perl perl_man.1 The manual page(s), first fourth perl_man.2 The manual page(s), second fourth perl_man.3 The manual page(s), third fourth perl_man.4 The manual page(s), fourth fourth -perl.y Yacc grammar for perl perlsh A poor man's perl shell perly.c main() regcomp.c Regular expression compiler regcomp.h Private declarations for above -regexp.h Public declarations for the above regexec.c Regular expression evaluator +regexp.h Public declarations for the above server A server to test sockets spat.h Search pattern declarations stab.c Symbol table stuff @@ -175,13 +198,13 @@ t/op.range See if .. works t/op.read See if read() works t/op.regexp See if regular expressions work t/op.repeat See if x operator works +t/op.s See if substitutions work t/op.sleep See if sleep works t/op.sort See if sort works t/op.split See if split works t/op.sprintf See if sprintf works t/op.stat See if stat works t/op.study See if study works -t/op.s See if substitutions work t/op.substr See if substr works t/op.time See if time functions work t/op.undef See if undef works @@ -190,6 +213,13 @@ t/op.vec See if vectors work t/op.write See if write works t/re_tests Input file for op.regexp toke.c The tokener +usersub.c User supplied (possibly proprietary) subroutines +usub/Makefile Makefile for curseperl +usub/curses.mus Glue routines for BSD curses +usub/man2mus A manual page to .mus translator +usub/mus A .mus to .c translator +usub/pager A sample pager in curseperl +usub/usersub.c An initialization file to call curses glue routines util.c Utility routines util.h Public declarations for the above x2p/EXTERN.h Same as above diff --git a/Makefile.SH b/Makefile.SH index 122b6dcf4c..33ba8ab73e 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -25,9 +25,13 @@ esac echo "Extracting Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! -# $Header: Makefile.SH,v 3.0.1.6 90/03/27 15:27:15 lwall Locked $ +# $Header: Makefile.SH,v 3.0.1.7 90/08/09 02:19:56 lwall Locked $ # # $Log: Makefile.SH,v $ +# Revision 3.0.1.7 90/08/09 02:19:56 lwall +# patch19: Configure now asks where you want to put scripts +# patch19: Added support for linked-in C subroutines +# # Revision 3.0.1.6 90/03/27 15:27:15 lwall # patch16: MSDOS support # @@ -56,6 +60,7 @@ cat >Makefile <<!GROK!THIS! CC = $cc YACC = $yacc bin = $bin +scriptdir = $scriptdir privlib = $privlib mansrc = $mansrc manext = $manext @@ -76,13 +81,15 @@ public = perl taintperl $suidperl cat >>Makefile <<'!NO!SUBS!' private = +scripts = h2ph + MAKE = make -manpages = perl.man +manpages = perl.man h2ph.man util = -sh = Makefile.SH makedepend.SH +sh = Makefile.SH makedepend.SH h2ph.SH h1 = EXTERN.h INTERN.h arg.h array.h cmd.h config.h form.h handy.h h2 = hash.h perl.h regcomp.h regexp.h spat.h stab.h str.h util.h @@ -117,31 +124,39 @@ SHELL = /bin/sh .c.o: $(CC) -c $(CFLAGS) $(LARGE) $*.c -all: $(public) $(private) $(util) perl.man +all: $(public) $(private) $(util) perl.man uperl.o $(scripts) cd x2p; $(MAKE) all touch all # This is the standard version that contains no "taint" checks and is # used for all scripts that aren't set-id or running under something set-id. -perl: perl.o $(obj) - $(CC) $(LARGE) $(LDFLAGS) $(obj) perl.o $(libs) -o perl +perl: perl.o $(obj) usersub.o + $(CC) $(LARGE) $(LDFLAGS) $(obj) perl.o usersub.o $(libs) -o perl + +uperl.o: perl.o $(obj) + ld $(LARGE) $(LDFLAGS) -r $(obj) perl.o $(libs) -o uperl.o + +saber: perl.c + # load $(c) perl.c # This version, if specified in Configure, does ONLY those scripts which need # set-id emulation. Suidperl must be setuid root. It contains the "taint" # checks as well as the special code to validate that the script in question # has been invoked correctly. -suidperl: tperl.o sperly.o $(tobj) - $(CC) $(LARGE) $(LDFLAGS) sperly.o $(tobj) tperl.o $(libs) -o suidperl +suidperl: tperl.o sperly.o $(tobj) usersub.o + $(CC) $(LARGE) $(LDFLAGS) sperly.o $(tobj) tperl.o usersub.o $(libs) \ + -o suidperl # This version interprets scripts that are already set-id either via a wrapper # or through the kernel allowing set-id scripts (bad idea). Taintperl must # NOT be setuid to root or anything else. The only difference between it # and normal perl is the presence of the "taint" checks. -taintperl: tperl.o tperly.o $(tobj) - $(CC) $(LARGE) $(LDFLAGS) tperly.o $(tobj) tperl.o $(libs) -o taintperl +taintperl: tperl.o tperly.o $(tobj) usersub.o + $(CC) $(LARGE) $(LDFLAGS) tperly.o $(tobj) tperl.o usersub.o $(libs) \ + -o taintperl # Replicating all this junk is yucky, but I don't see a portable way to fix it. @@ -270,7 +285,7 @@ perly.h: perl.c touch perly.h perl.c: perl.y - @ echo Expect 25 shift/reduce errors... + @ echo Expect 29 shift/reduce and 59 reduce/reduce conflicts... $(YACC) -d perl.y mv y.tab.c perl.c mv y.tab.h perly.h @@ -308,6 +323,8 @@ esac cat >>Makefile <<'!NO!SUBS!' - test $(bin) = /usr/bin || rm -f /usr/bin/perl - test $(bin) = /usr/bin || $(SLN) $(bin)/perl /usr/bin || cp $(bin)/perl /usr/bin + - chmod +x $(scripts) + - cp $(scripts) $(scriptdir) - sh ./makedir $(privlib) - \ if test `pwd` != $(privlib); then \ @@ -17,6 +17,26 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + My interpretation of the GNU General Public License is that no Perl + script falls under the terms of the License unless you explicitly put + said script under the terms of the License yourself. Furthermore, any + object code linked with uperl.o does not automatically fall under the + terms of the License, provided such object code only adds definitions + of subroutines and variables, and does not otherwise impair the + resulting interpreter from executing any standard Perl script. I + consider linking in C subroutines in this manner to be the moral + equivalent of defining subroutines in the Perl language itself. You + may sell such an object file as proprietary provided that you provide + or offer to provide the Perl source, as specified by the GNU General + Public License. (This is merely an alternate way of specifying input + to the program.) You may also sell a binary produced by the dumping of + a running Perl script that belongs to you, provided that you provide or + offer to provide the Perl source as specified by the License. (The + fact that a Perl interpreter and your code are in the same binary file + is, in this case, a form of mere aggregation.) This is my interpretation + of the License. If you still have concerns or difficulties understanding + my intent, feel free to contact me. + -------------------------------------------------------------------------- Perl is a language that combines some of the features of C, sed, awk and shell. @@ -80,10 +100,14 @@ Installation SGI machines may need -Ddouble="long float". Ultrix (2.3) may need to hand assemble teval.s with a -J switch. Ultrix on MIPS machines may need -DLANGUAGE_C. + MIPS machines may need to turn off -O on perly.c and tperly.c. SCO Xenix may need -m25000 for yacc. Xenix 386 needs -Sm10000 for yacc. Genix needs to use libc rather than libc_s, or #undef VARARGS. NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR. + A/UX may need -ZP -DPOSIX, and -g if big cc is used. + FPS machines may need -J and -DBADSWITCH. + If you get syntax errors on '(', try -DCRIPPLED_CC or -DBADSWITCH or both. Machines with half-implemented dbm routines will need to #undef ODBM & NDBM. C's that don't try to restore registers on longjmp() may need -DJMPCLOBBER. (Try this if you get random glitches.) diff --git a/h2pl/README b/h2pl/README new file mode 100644 index 0000000000..5fe8ae7aa3 --- /dev/null +++ b/h2pl/README @@ -0,0 +1,71 @@ +[This file of Tom Christiansen's has been edited to change makelib to h2ph +and .h to .ph where appropriate--law.] + +This directory contains files to help you convert the *.ph files generated my +h2ph out of the perl source directory into *.pl files with all the +indirection of the subroutine calls removed. The .ph version will be more +safely portable, because if something isn't defined on the new system, like +&TIOCGETP, then you'll get a fatal run-time error on the system lacking that +function. Using the .pl version means that the subsequent scripts will give +you a 0 $TIOCGETP and God only knows what may then happen. Still, I like the +.pl stuff because they're faster to load. + +FIrst, you need to run h2ph on things like sys/ioctl.h to get stuff +into the perl library directory, often /usr/local/lib/perl. For example, + # h2ph sys/ioctl.h +takes /usr/include/sys/ioctl.h as input and writes (without i/o redirection) +the file /usr/local/lib/perl/sys/ioctl.ph, which looks like this + + eval 'sub TIOCM_RTS {0004;}'; + eval 'sub TIOCM_ST {0010;}'; + eval 'sub TIOCM_SR {0020;}'; + eval 'sub TIOCM_CTS {0040;}'; + eval 'sub TIOCM_CAR {0100;}'; + +and much worse, rather than what Larry's ioctl.pl from the perl source dir has, +which is: + + $TIOCM_RTS = 0004; + $TIOCM_ST = 0010; + $TIOCM_SR = 0020; + $TIOCM_CTS = 0040; + $TIOCM_CAR = 0100; + +[Workaround for fixed bug in makedir/h2ph deleted--law.] + +The more complicated ioctl subs look like this: + + eval 'sub TIOCGSIZE {&TIOCGWINSZ;}'; + eval 'sub TIOCGWINSZ {&_IOR("t", 104, \'struct winsize\');}'; + eval 'sub TIOCSETD {&_IOW("t", 1, \'int\');}'; + eval 'sub TIOCGETP {&_IOR("t", 8,\'struct sgttyb\');}'; + +The _IO[RW] routines use a %sizeof array, which (presumably) +is keyed on the type name with the value being the size in bytes. + +To build %sizeof, try running this in this directory: + + % ./getioctlsizes + +Which will tell you which things the %sizeof array needs +to hold. You can try to build a sizeof.ph file with: + + % ./getioctlsizes | ./mksizes > sizeof.ph + +Note that mksizes hardcodes the #include files for all the types, so it will +probably require customization. Once you have sizeof.ph, install it in the +perl library directory. Run my tcbreak script to see whether you can do +ioctls in perl now. You'll get some kind of fatal run-time error if you +can't. That script should be included in this directory. + +If this works well, now you can try to convert the *.ph files into +*.pl files. Try this: + + foreach file ( sysexits.ph sys/{errno.ph,ioctl.ph} ) + ./mkvars $file > t/$file:r.pl + end + +The last one will be the hardest. If it works, should be able to +run tcbreak2 and have it work the same as tcbreak. + +Good luck. diff --git a/os2/Makefile b/os2/Makefile new file mode 100644 index 0000000000..68cbcf287c --- /dev/null +++ b/os2/Makefile @@ -0,0 +1,124 @@ +# +# 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 +# + +# 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 + +# 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 + +# Files in the OS/2 distribution +DOSFILES=config.h director.c makefile os2.c popen.c suffix.c readme.os2 + +# Yacc flags +YFLAGS=-d + +# Manual pages +MAN=perlman.1 perlman.2 perlman.3 perlman.4 + +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 + +clean: + rm -f *.obj *.exe perl.1 perly.h perl.arp + +tags: + ctags *.c *.h *.xc + +dosperl: + mv $(DOSFILES) ../perl30.new + +doskit: + mv $(DOSFILES) ../os2 diff --git a/patchlevel.h b/patchlevel.h index 1af605efed..111b8fe68d 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -1 +1 @@ -#define PATCHLEVEL 18 +#define PATCHLEVEL 19 diff --git a/usub/Makefile b/usub/Makefile new file mode 100644 index 0000000000..cf3a48b3ea --- /dev/null +++ b/usub/Makefile @@ -0,0 +1,16 @@ +SRC = /usr/local/src/perl +GLOBINCS = +LOCINCS = +LIBS = -lcurses -ltermlib + +curseperl: $(SRC)/uperl.o usersub.o curses.o + cc $(SRC)/uperl.o usersub.o curses.o $(LIBS) -lm -o curseperl + +usersub.o: usersub.c + cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g usersub.c + +curses.o: curses.c + cc -c -I$(SRC) $(GLOBINCS) -DDEBUGGING -g curses.c + +curses.c: curses.mus + mus curses.mus >curses.c |