summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xConfigure67
-rw-r--r--Makefile.SH22
-rw-r--r--README2
-rw-r--r--eg/sysvipc/README9
-rw-r--r--os2/README.OS2167
-rw-r--r--patchlevel.h2
-rw-r--r--x2p/Makefile.SH13
7 files changed, 201 insertions, 81 deletions
diff --git a/Configure b/Configure
index 9d5f0328cb..ca11e1315a 100755
--- a/Configure
+++ b/Configure
@@ -8,14 +8,14 @@
# 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.9 90/08/13 21:48:46 lwall Locked $
+# $Header: Configure,v 3.0.1.10 90/10/15 14:37:52 lwall Locked $
#
# Yes, you may rip this off to use in other distribution packages.
# (Note: this Configure script was generated automatically. Rather than
# working with this copy of Configure, you may wish to get metaconfig.)
: sanity checks
-PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc:/usr/new:/usr/new/bin:/usr/nbin:$PATH"
+PATH="$PATH:.:/bin:/usr/bin:/usr/local/bin:/usr/ucb:/usr/local:/usr/lbin:/etc:/usr/new:/usr/new/bin:/usr/nbin"
export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$)
if test ! -t 0; then
@@ -154,6 +154,7 @@ d_strctcpy=''
d_strerror=''
d_symlink=''
d_syscall=''
+d_sysvipc=''
d_truncate=''
d_varargs=''
d_vfork=''
@@ -162,6 +163,7 @@ d_volatile=''
d_vprintf=''
d_charvspr=''
d_wait4=''
+d_waitpid=''
gidtype=''
i_dirent=''
d_dirnamlen=''
@@ -169,6 +171,7 @@ i_fcntl=''
i_grp=''
i_niin=''
i_pwd=''
+d_pwcomment=''
d_pwquota=''
d_pwage=''
d_pwchange=''
@@ -232,7 +235,7 @@ define='define'
undef='undef'
: change the next line if compiling for Xenix/286 on Xenix/386
xlibpth='/usr/lib/386 /lib/386'
-libpth='/usr/lib /usr/local/lib /usr/lib/large /lib '$xlibpth' /lib/large /usr/lib/small /lib/small'
+libpth='/usr/ccs/lib /usr/lib /usr/local/lib /usr/lib/large /lib '$xlibpth' /lib/large /usr/lib/small /lib/small'
smallmach='pdp11 i8086 z8000 i80286 iAPX286'
rmlist='kit[1-9]isdone kit[1-9][0-9]isdone'
trap 'echo " "; rm -f $rmlist; exit 1' 1 2 3
@@ -259,11 +262,12 @@ attrlist="$attrlist ns32000 ns16000 iAPX286 mc300 mc500 mc700 sparc"
attrlist="$attrlist nsc32000 sinix xenix venix posix ansi M_XENIX"
attrlist="$attrlist $mc68k __STDC__ UTS M_I8086 M_I186 M_I286 M_I386"
attrlist="$attrlist i186 __m88k__ m88k DGUX __DGUX__"
-pth="/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"
+pth="/usr/ccs/bin /bin /usr/bin /usr/ucb /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"
d_newshome="/usr/NeWS"
defvoidused=7
libswanted="net_s net nsl_s nsl socket nm ndir ndbm dbm sun m bsd BSD x c_s"
inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd /usr/include/lan'
+
: some greps do not return status, grrr.
echo "grimblepritz" >grimble
if grep blurfldyick grimble >/dev/null 2>&1 ; then
@@ -1126,7 +1130,7 @@ for thislib in $libswanted; do
*) thatlib="${thislib}_s";;
*) thatlib=NONE;;
esac
- xxx=`loc lib$thislib.a X /usr/lib /usr/local/lib /lib`
+ xxx=`loc lib$thislib.a X /usr/ccs/lib /usr/lib /usr/local/lib /lib`
if test -f $xxx; then
echo "Found -l$thislib."
case "$dflt" in
@@ -1274,25 +1278,25 @@ if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
cppstdin="$cc -E"
cppminus='';
else
- echo 'Nope, maybe "'$cpp'" will work...'
- $cpp <testcpp.c >testcpp.out 2>&1
+ echo 'Nope...maybe "'"$cc"' -E -" will work...'
+ $cc -E - <testcpp.c >testcpp.out 2>&1
if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
echo "Yup, it does."
- cppstdin="$cpp"
- cppminus='';
+ cppstdin="$cc -E"
+ cppminus='-';
else
- echo 'No such luck...maybe "'$cpp' -" will work...'
- $cpp - <testcpp.c >testcpp.out 2>&1
+ echo 'No such luck, maybe "'$cpp'" will work...'
+ $cpp <testcpp.c >testcpp.out 2>&1
if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
echo "It works!"
cppstdin="$cpp"
- cppminus='-';
+ cppminus='';
else
- echo 'Nixed again...maybe "'"$cc"' -E -" will work...'
- $cc -E - <testcpp.c >testcpp.out 2>&1
+ echo 'Nixed again...maybe "'$cpp' -" will work...'
+ $cpp - <testcpp.c >testcpp.out 2>&1
if $contains 'abc.*xyz' testcpp.out >/dev/null 2>&1 ; then
echo "Hooray, it works! I was beginning to wonder."
- cppstdin="$cc -E"
+ cppstdin="$cpp"
cppminus='-';
else
echo 'Nope...maybe "'"$cc"' -P" will work...'
@@ -1357,7 +1361,7 @@ case "$libc" in
'') libc=unknown;;
esac
case "$libpth" in
-'') libpth='/lib /usr/lib /usr/local/lib';;
+'') libpth='/usr/ccs/lib /lib /usr/lib /usr/local/lib';;
esac
case "$libs" in
*-lc_s*) libc=`loc libc_s.a $libc $libpth`
@@ -1388,7 +1392,9 @@ case "$libs" in
done
;;
esac
-set /usr/lib/libc.so.[0-9]*
+set /usr/ccs/lib/libc.so
+test -f $1 || set /usr/lib/libc.so
+test -f $1 || set /usr/lib/libc.so.[0-9]*
eval set \$$#
if test -f "$1"; then
echo "Your shared C library is in $1."
@@ -1440,7 +1446,7 @@ echo " "
set `echo $libc $libnames | tr ' ' '\012' | sort | uniq`
$echo $n "Extracting names from $* for later perusal...$c"
nm $* 2>/dev/null >libc.tmp
-$sed -n -e 's/^.* [AT] *_[_.]*//p' -e 's/^.* [AT] //p' <libc.tmp >libc.list
+$sed -n -e 's/^.* [ATD] *_[_.]*//p' -e 's/^.* [ATD] //p' <libc.tmp >libc.list
if $contains '^printf$' libc.list >/dev/null 2>&1; then
echo "done"
else
@@ -1453,7 +1459,8 @@ else
$sed -n -e 's/^_//' \
-e 's/^\([a-zA-Z_0-9]*\).*xtern.*text.*/\1/p' <libc.tmp >libc.list
$contains '^printf$' libc.list >/dev/null 2>&1 || \
- $sed -n -e 's/^.*|FUNC |GLOB .*|//p' <libc.tmp >libc.list
+ $sed -n -e 's/^.*|FUNC |GLOB .*|//p' -e 's/^.*|FUNC |WEAK .*|//p' \
+ <libc.tmp >libc.list
if $contains '^printf$' libc.list >/dev/null 2>&1; then
echo "done"
else
@@ -1860,7 +1867,12 @@ echo " "
if $test -r /usr/include/pwd.h ; then
i_pwd="$define"
echo "pwd.h found."
- $cppstdin $cppflags </usr/include/pwd.h >$$.h
+ $cppstdin $cppflags $cppminus </usr/include/pwd.h >$$.h
+ if $contains 'pw_comment' $$.h >/dev/null 2>&1; then
+ d_pwcomment="$define"
+ else
+ d_pwcomment="$undef"
+ fi
if $contains 'pw_quota' $$.h >/dev/null 2>&1; then
d_pwquota="$define"
else
@@ -1889,6 +1901,7 @@ if $test -r /usr/include/pwd.h ; then
rm -f $$.h
else
i_pwd="$undef"
+ d_pwcomment="$undef"
d_pwquota="$undef"
d_pwage="$undef"
d_pwchange="$undef"
@@ -2083,6 +2096,10 @@ case "$flags" in
esac
$rm -f try.c try
+: see if there is System V IPC
+set msgget d_sysvipc
+eval $inlibc
+
: see if truncate exists
set truncate d_truncate
eval $inlibc
@@ -2103,7 +2120,7 @@ eval $inlibc
: see if signal is declared as pointer to function returning int or void
echo " "
-$cppstdin $cppflags < /usr/include/signal.h >$$.tmp
+$cppstdin $cppflags $cppminus < /usr/include/signal.h >$$.tmp
if $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then
echo "You have void (*signal())() instead of int."
d_voidsig="$define"
@@ -2139,6 +2156,10 @@ $rm -f try.*
set wait4 d_wait4
eval $inlibc
+: see if there is a waitpid
+set waitpid d_waitpid
+eval $inlibc
+
: check for void type
echo " "
$cat <<EOM
@@ -2494,7 +2515,6 @@ uidtype="$ans"
Log='$Log'
Header='$Header'
-
: determine which malloc to compile in
echo " "
case "$usemymalloc" in
@@ -2709,6 +2729,7 @@ d_strctcpy='$d_strctcpy'
d_strerror='$d_strerror'
d_symlink='$d_symlink'
d_syscall='$d_syscall'
+d_sysvipc='$d_sysvipc'
d_truncate='$d_truncate'
d_varargs='$d_varargs'
d_vfork='$d_vfork'
@@ -2717,6 +2738,7 @@ d_volatile='$d_volatile'
d_vprintf='$d_vprintf'
d_charvspr='$d_charvspr'
d_wait4='$d_wait4'
+d_waitpid='$d_waitpid'
gidtype='$gidtype'
i_dirent='$i_dirent'
d_dirnamlen='$d_dirnamlen'
@@ -2724,6 +2746,7 @@ i_fcntl='$i_fcntl'
i_grp='$i_grp'
i_niin='$i_niin'
i_pwd='$i_pwd'
+d_pwcomment='$d_pwcomment'
d_pwquota='$d_pwquota'
d_pwage='$d_pwage'
d_pwchange='$d_pwchange'
diff --git a/Makefile.SH b/Makefile.SH
index cccdc725b8..39a7f099cd 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -25,9 +25,12 @@ esac
echo "Extracting Makefile (with variable substitutions)"
cat >Makefile <<!GROK!THIS!
-# $Header: Makefile.SH,v 3.0.1.8 90/08/13 21:50:49 lwall Locked $
+# $Header: Makefile.SH,v 3.0.1.9 90/10/15 14:41:34 lwall Locked $
#
# $Log: Makefile.SH,v $
+# Revision 3.0.1.9 90/10/15 14:41:34 lwall
+# patch29: various portability fixes
+#
# Revision 3.0.1.8 90/08/13 21:50:49 lwall
# patch28: not all yaccs are the same
#
@@ -69,13 +72,14 @@ mansrc = $mansrc
manext = $manext
CFLAGS = $ccflags $optimize
LDFLAGS = $ldflags
+CLDFLAGS = $ldflags
SMALL = $small
LARGE = $large $split
mallocsrc = $mallocsrc
mallocobj = $mallocobj
SLN = $sln
-libs = $libs -lm
+libs = $libs
public = perl taintperl $suidperl
@@ -101,7 +105,7 @@ h = $(h1) $(h2)
c1 = array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c
c2 = eval.c form.c hash.c $(mallocsrc) perly.c regcomp.c regexec.c
-c3 = stab.c str.c toke.c util.c
+c3 = stab.c str.c toke.c util.c usersub.c
c = $(c1) $(c2) $(c3)
@@ -135,10 +139,10 @@ all: $(public) $(private) $(util) perl.man uperl.o $(scripts)
# used for all scripts that aren't set-id or running under something set-id.
perl: perl.o $(obj) usersub.o
- $(CC) $(LARGE) $(LDFLAGS) $(obj) perl.o usersub.o $(libs) -o perl
+ $(CC) $(LARGE) $(CLDFLAGS) $(obj) perl.o usersub.o $(libs) -o perl
uperl.o: perl.o $(obj)
- ld $(LARGE) $(LDFLAGS) -r $(obj) perl.o $(libs) -o uperl.o
+ -ld $(LARGE) $(LDFLAGS) -r $(obj) perl.o $(libs) -o uperl.o
saber: perl.c
# load $(c) perl.c
@@ -149,7 +153,7 @@ saber: perl.c
# has been invoked correctly.
suidperl: tperl.o sperly.o $(tobj) usersub.o
- $(CC) $(LARGE) $(LDFLAGS) sperly.o $(tobj) tperl.o usersub.o $(libs) \
+ $(CC) $(LARGE) $(CLDFLAGS) sperly.o $(tobj) tperl.o usersub.o $(libs) \
-o suidperl
# This version interprets scripts that are already set-id either via a wrapper
@@ -158,7 +162,7 @@ suidperl: tperl.o sperly.o $(tobj) usersub.o
# and normal perl is the presence of the "taint" checks.
taintperl: tperl.o tperly.o $(tobj) usersub.o
- $(CC) $(LARGE) $(LDFLAGS) tperly.o $(tobj) tperl.o usersub.o $(libs) \
+ $(CC) $(LARGE) $(CLDFLAGS) 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.
@@ -349,9 +353,9 @@ clean:
rm -f *.o all perl taintperl suidperl perl.man
cd x2p; $(MAKE) clean
-realclean:
+realclean: clean
cd x2p; $(MAKE) realclean
- rm -f perl *.orig */*.orig *~ */*~ *.o core $(addedbyconf) perl.man
+ rm -f *.orig */*.orig *~ */*~ core $(addedbyconf) h2ph h2ph.man
rm -f perl.c perly.h t/perl Makefile config.h makedepend makedir
rm -f x2p/Makefile
diff --git a/README b/README
index 98d557300c..c25d7da51b 100644
--- a/README
+++ b/README
@@ -91,7 +91,7 @@ Installation
Some compilers will not compile or optimize the larger files without
some extra switches to use larger jump offsets or allocate larger
internal tables. It's okay to insert rules for specific files into
- Makefile.SH, since a default rule only take effect in the
+ Makefile.SH, since a default rule only takes effect in the
absence of a specific rule.
The 3b2 needs to turn off -O.
diff --git a/eg/sysvipc/README b/eg/sysvipc/README
new file mode 100644
index 0000000000..54094f1d85
--- /dev/null
+++ b/eg/sysvipc/README
@@ -0,0 +1,9 @@
+FYEnjoyment, here are the test scripts I used while implementing SysV
+IPC in Perl. Each of them must be run with the parameter "s" for
+"send" or "r" for "receive"; in each case, the receiver is the server
+and the sender is the client.
+
+--
+Chip Salzenberg at ComDev/TCT <chip@tct.uucp>, <uunet!ateng!tct!chip>
+
+
diff --git a/os2/README.OS2 b/os2/README.OS2
index f79fab948a..99cd9a24c1 100644
--- a/os2/README.OS2
+++ b/os2/README.OS2
@@ -1,8 +1,10 @@
-
Notes on the OS/2 Perl port
Raymond Chen
- (rjc@math.princeton.edu)
+ (rjc@math.princeton.edu)
+
+ Kai Uwe Rommel
+ (rommel@lan.informatik.tu-muenchen.dbp.de)
-1. Background.
@@ -16,28 +18,28 @@ directory.
1. Compiling.
-Perl has been compiled under MS-DOS using the Microsoft C compiler
-version 6.0. Before compiling install dir.h as <sys/dir.h>. You will
-need a Unix-like make program and something like yacc (e.g. bison). I
-just ran yacc on my UNIX box and downloaded the resulting y.tab.[ch]
+Perl has been compiled under MS-DOS using the Microsoft C compiler
+version 6.0. Before compiling install dir.h as <sys/dir.h>. You will
+need a Unix-like make program and something like yacc (e.g. bison). I
+just ran yacc on my UNIX box and downloaded the resulting y.tab.[ch]
files. Compilation takes 45 minutes on a 16MHz 386 machine running
-no jobs other than the compiler, so you will probably need something to
+no jobs other than the compiler, so you will probably need something to
do in the meantime. Like, say, lunch. (Compilation time does not
-include formatting the manual.) If you compile with optimization
+include formatting the manual.) If you compile with optimization
turned off, it takes about half as long.
The executable is 270k (perlsym.exe is 473k; if you compile
-without optimization, the sizes are 329K/531K), and the top level
-directory needs 800K for sources, 550K for object code, and 800K for the
+without optimization, the sizes are 329K/531K), and the top level
+directory needs 800K for sources, 550K for object code, and 800K for the
executables, assuming you want to build both perl.exe and perlsym.exe
with full optimization.
-The makefile will compile glob for you which you will need to place
-somewhere in your path so that perl globbing will work correctly. All
-the tests were run, although some modifications were necessary because
-OS/2 isn't UNIX. The tests that failed failed because of limitations of
-the operating system and aren't the fault of the compiler. a2p and s2p
-were not tested.
+The makefile will compile glob for you which you will need to place
+somewhere in your path so that perl globbing will work correctly. All
+the tests were run, although some modifications were necessary because
+OS/2 isn't UNIX. The tests that failed failed because of limitations of
+the operating system and aren't the fault of the compiler. a2p and s2p
+were not tested.
In the eg directory you will find the syscalls.pl header file,
and a sample program that demonstrates some of the improvements
@@ -46,20 +48,20 @@ system calls.
2. Using OS/2 Perl
-The OS/2 version of perl has much of the functionality of the Unix
-version. Here are some things that don't work: sockets, password
-functions, [gs]et[eug]id, dbm functions, fork.
+The OS/2 version of perl has much of the functionality of the Unix
+version. Here are some things that don't work: sockets, password
+functions, [gs]et[eug]id, dbm functions, fork.
One thing that doesn't work is "split" with no arguments. Somehow,
yylval.arg is empty ... [[ Wait, sorry, I fixed that. --rjc ]]
Care has been taken to implement the rest, although the implementation
-might not be the best possible. Here are short notes on the tricky
-bits:
+might not be the best possible. Here are short notes on the tricky
+bits:
2.1. In-place editing.
-Files currently can be edited in-place provided you are creating a
+Files currently can be edited in-place provided you are creating a
backup. Considerable effort is made to ensure that a reasonable
name for the backup is selected, while still remaining within
the 8.3 contraints of the FAT filesystem. (HPFS users have nothing
@@ -76,14 +78,14 @@ Style 0: Append the suffix exactly as UNIX perl would do it.
swallow it. FAT will rarely accept it.)
Style 1: If the suffix begins with a '.', change the file extension
- to whatever you supplied. If the name matches the original
+ to whatever you supplied. If the name matches the original
name, use the fallback method.
-Style 2: If the suffix is a single character, not a '.', try to add the
+Style 2: If the suffix is a single character, not a '.', try to add the
suffix to the following places, using the first one that works.
- [1] Append to extension.
- [2] Append to filename,
- [3] Replace end of extension,
+ [1] Append to extension.
+ [2] Append to filename,
+ [3] Replace end of extension,
[4] Replace end of filename.
If the name matches the original name, use the fallback method.
@@ -116,7 +118,7 @@ suffix = "~" (style 2)
longname.fil => longname.fi~
longname.fi~ => longnam~.fi~
longnam~.fi~ => longnam~.$$$
-
+
2.2. Directory access.
Are implemented, but in order to support telldir() and seekdir(),
@@ -125,7 +127,7 @@ then handing out pieces of it each time you do a readdir().
2.3. Pipes and redirection.
-Pipes and redirection are supported. Although OS/2 does not
+Pipes and redirection are supported. Although OS/2 does not
terminate programs which try to write to closed pipes, perl will
kill them for you if you do it like this:
@@ -174,24 +176,24 @@ the syscalls I've written so far:
The arguments you pass are handed off to OS/2 without interpretation,
and the return value is returned straight to you. However, you don't
-have to supply arguments for the ones whose descriptions are "must be
+have to supply arguments for the ones whose descriptions are "must be
zero"; perl will supply the mandatory zeros for you.
2.5. Binary file access
-Files are opened in text mode by default. This means that CR LF pairs
-are translated to LF. If binary access is needed the `binarymode'
-function should be used. There is currently no way to reverse the
-effect of the binary function. If that is needed close and reopen the
-file.
+Files are opened in text mode by default. This means that CR LF pairs
+are translated to LF. If binary access is needed the `binarymode'
+function should be used. There is currently no way to reverse the
+effect of the binary function. If that is needed close and reopen the
+file.
2.6. Priority
-The getpriority and setpriority functions are implemented, but since
-OS/2 priorities are different from UNIX priorities, the arguments aren't
-the same. Basically, the arguments you pass are handed directly to
-OS/2. The only exception is the last argument to setpriority. To make
-it easier to make delta priorities, if the priority class is 0xff, it
+The getpriority and setpriority functions are implemented, but since
+OS/2 priorities are different from UNIX priorities, the arguments aren't
+the same. Basically, the arguments you pass are handed directly to
+OS/2. The only exception is the last argument to setpriority. To make
+it easier to make delta priorities, if the priority class is 0xff, it
is changed to 0. That way, you can write
setpriority(0,0,-2)
@@ -204,8 +206,8 @@ to decrease the delta by 2.
2.7. Interpreter startup.
-The effect of the Unix #!/bin/perl interpreter startup can be obtained
-under OS/2 by giving the script a .cmd extension and beginning the script
+The effect of the Unix #!/bin/perl interpreter startup can be obtained
+under OS/2 by giving the script a .cmd extension and beginning the script
with the line
extproc C:\binp\perl.exe -S
@@ -264,7 +266,7 @@ to make popen() do much of the same sort of preprocessing
as do_spawn does (which means, of course, that we probably
should yank out code to be dished off into a subroutine).
-In do_spawn(), use DosExecPgm instead of spawnl in order to get more
+In do_spawn(), use DosExecPgm instead of spawnl in order to get more
precise reasons why the child terminated (RESULTCODES).
@@ -273,3 +275,82 @@ precise reasons why the child terminated (RESULTCODES).
Raymond Chen <rjc@math.princeton.edu>
1817 Oxford St. Apt 6
Berkeley, CA 94709-1828 USA
+
+-----------------------
+I picked up the OS/2 port with patches 19-28. When compiling, I found
+out that os2.c and director.c were missing. I had to rewrite them because
+even the original author of the port (Raymond Chen) did no longer have them.
+
+I had directory routines laying around, this was no big deal.
+I rewrote os2.c, but did not implement the syscall() as described above.
+I had not the time and did not really need it. Feel free ...
+
+Changes to above described port:
+
+- the small program GLOB is now named PERLGLOB for better ordering in
+ my /bin directory
+
+- added help page (well, a graphical user interface would be overkill
+ but a simple help page should be in every program :-)
+
+- several cosmetic changes in standard distribution files because of
+ naming conventions etc., #ifdef'd OS2
+
+- syscall() not supported as noted above
+
+- chdir now recognizes also drive letters and changes also the drive
+
+- new mypopen(), mypclose() functions and simulation routines for DOS mode,
+ they are selected automatically in real mode
+- the new pclose() does not kill the child, my experience is that this is
+ not needed.
+
+- setpriority is now: setpriority(class, pid, val)
+ see description of DosSetPrty() for class and val meanings
+- getpriority is now: getpriority(dummy, pid)
+ see description of DosGetPrty()
+
+- kill is now: kill(pid, sig)
+ where sig can be 0 (kill process)
+ 1-3 (send process flags A-C, see DosFlagProcess())
+ if pid is less than zero, the signal is sent to the whole
+ process tree originating at -pid.
+
+The following files are now new with patch >=29:
+
+readme.os2 this file
+
+dir.h sys/dir.h
+director.c directory routines
+os2.c kernel of OS/2 port (see below)
+popen.c new popen.c
+mktemp.c enhanced mktemp(), uses TMP env. variable, used by popen.c
+
+perl.cs Compiler Shell script for perl itself
+perl.def linker definition file for perl
+perl.bad names of protect-only API calls for BIND
+perlglob.cs Compiler Shell script for perl globbing program
+perlglob.def linker definition file for perlglob
+a2p.cs Compiler Shell script for a2p (see below)
+a2p.def linker definition file for a2p
+makefile Makefile, not tested
+
+perlsh.cmd the converted perlsh
+selfrun.cmd sample selfrunning perl script for OS/2
+selfrun.bat sample selfrunning perl script for DOS mode
+
+Note: I don't use make but my own utility, the Compiler Shell CS.
+It was posted in comp.binaries.os2 or you can ask me for the newest
+version. The .CS files are the "makefiles" for it.
+
+Note: MS C 6.00 is required. C 5.1 is not capable of compiling perl,
+especially not with -DDEBUGGING
+
+
+ August 1990
+
+ Kai Uwe Rommel
+ rommel@lan.informatik.tu-muenchen.dbp.de
+ Breslauer Str. 25
+ D-8756 Kahl/Main
+ West (yes, still!) Germany
diff --git a/patchlevel.h b/patchlevel.h
index afbe4bd0c7..46afcbbb08 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -1 +1 @@
-#define PATCHLEVEL 28
+#define PATCHLEVEL 29
diff --git a/x2p/Makefile.SH b/x2p/Makefile.SH
index 99c4bb60b4..673a639727 100644
--- a/x2p/Makefile.SH
+++ b/x2p/Makefile.SH
@@ -18,9 +18,12 @@ case "$mallocsrc" in
esac
echo "Extracting x2p/Makefile (with variable substitutions)"
cat >Makefile <<!GROK!THIS!
-# $Header: Makefile.SH,v 3.0.1.5 90/08/13 22:41:05 lwall Locked $
+# $Header: Makefile.SH,v 3.0.1.6 90/10/16 11:28:18 lwall Locked $
#
# $Log: Makefile.SH,v $
+# Revision 3.0.1.6 90/10/16 11:28:18 lwall
+# patch29: various portability fixes
+#
# Revision 3.0.1.5 90/08/13 22:41:05 lwall
# patch28: shift/reduce count was off for a2p's Makefile
#
@@ -63,7 +66,7 @@ LARGE = $large $split
mallocsrc = $mallocsrc
mallocobj = $mallocobj
-libs = $libs -lm
+libs = $libs
!GROK!THIS!
cat >>Makefile <<'!NO!SUBS!'
@@ -105,7 +108,7 @@ a2p.c: a2p.y
$(YACC) a2p.y
mv y.tab.c a2p.c
-a2p.o: a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h handy.h ../config.h
+a2p.o: a2p.c a2py.c a2p.h EXTERN.h util.h INTERN.h handy.h ../config.h str.h hash.h
$(CC) -c $(CFLAGS) $(LARGE) a2p.c
install: a2p s2p
@@ -137,8 +140,8 @@ fi
clean:
rm -f *.o
-realclean:
- rm -f a2p *.orig */*.orig *.o core $(addedbyconf)
+realclean: clean
+ rm -f a2p *.orig */*.orig core $(addedbyconf) a2p.c s2p all
# The following lint has practically everything turned on. Unfortunately,
# you have to wade through a lot of mumbo jumbo that can't be suppressed.