From: Jarkko Hietaniemi Date: Wed, 20 Jun 2001 14:00:23 +0000 (+0000) Subject: MPE/iX fixes from Mark Bixby (a Configure fix is also needed.) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=b62e3068b8477412c1bf4f7b95e7ddafa8c143a1;p=p5sagit%2Fp5-mst-13.2.git MPE/iX fixes from Mark Bixby (a Configure fix is also needed.) p4raw-id: //depot/perl@10752 --- diff --git a/ext/Filter/t/call.t b/ext/Filter/t/call.t index dc667c9..0c086ab 100644 --- a/ext/Filter/t/call.t +++ b/ext/Filter/t/call.t @@ -50,7 +50,7 @@ sub import { filter_add(bless []) } EOM my $a = `$Perl "-I." $Inc -e "use ${module} ;" 2>&1` ; -ok(1, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'NetWare') && $? != 0))) ; +ok(1, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'mpeix') && $? != 0))) ; ok(2, $a =~ /^Can't locate object method "filter" via package "MyTest"/) ; # no reference parameter in filter_add @@ -67,7 +67,7 @@ sub import { filter_add() } EOM $a = `$Perl "-I." $Inc -e "use ${module} ;" 2>&1` ; -ok(3, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'NetWare') && $? != 0))) ; +ok(3, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'mpeix') && $? != 0))) ; #ok(4, $a =~ /^usage: filter_add\(ref\) at ${module}.pm/) ; ok(4, $a =~ /^Not enough arguments for Filter::Util::Call::filter_add/) ; diff --git a/ext/IO/lib/IO/t/io_sock.t b/ext/IO/lib/IO/t/io_sock.t index b752fd8..1c9bcc7 100755 --- a/ext/IO/lib/IO/t/io_sock.t +++ b/ext/IO/lib/IO/t/io_sock.t @@ -270,6 +270,9 @@ if( $server_pid) { ### a recv(2) call on the socket, while ungetc(3) put back a character ### to an IO buffer, which never again was read. # + if ($^O eq 'mpeix') { + print "ok 19 # skipped: broken on MPE/iX\n"; + } else { $sock = IO::Socket::INET->new("localhost:$serverport") || IO::Socket::INET->new("127.0.0.1:$serverport"); @@ -292,6 +295,7 @@ if( $server_pid) { print "not "; } print "ok 19\n"; + } ### TEST 20 ### Stop the server diff --git a/hints/mpeix.sh b/hints/mpeix.sh index f6fd44c..6b4b877 100644 --- a/hints/mpeix.sh +++ b/hints/mpeix.sh @@ -23,6 +23,10 @@ _nm=$nm nm_opt='-configperl' usenm='true' # +# Work around the broken inline cat bug that corrupts here docs +# +alias -x cat=/bin/cat +# # Various directory locations. # # Which ones of these does Configure get wrong? @@ -43,7 +47,7 @@ startsh='#!/bin/sh' test -z "$cc" && cc='gcc' cccdlflags='none' ccflags="$ccflags -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE -D_POSIX_JOB_CONTROL -DIS_SOCKET_CLIB_ITSELF" -locincpth="$locincpth /usr/local/include /usr/contrib/include /BIND/PUB/include" +locincpth="$locincpth /usr/local/include /usr/contrib/include /BINDFW/CURRENT/include /SYSLOG/PUB" test -z "$optimize" && optimize="-O2" ranlib='/bin/true' # Special compiling options for certain source files. @@ -62,7 +66,7 @@ for mpe_remove in bind bsd BSD c curses m socket str svipc syslog; do libswanted="$*" done libswanted="$libswanted bind syslog curses svipc socket str m c" -loclibpth="$loclibpth /usr/local/lib /usr/contrib/lib /BIND/PUB/lib /SYSLOG/PUB" +loclibpth="$loclibpth /usr/local/lib /usr/contrib/lib /BINDFW/CURRENT/lib /SYSLOG/PUB" # # External functions and data items. # @@ -83,10 +87,12 @@ loclibpth="$loclibpth /usr/local/lib /usr/contrib/lib /BIND/PUB/lib /SYSLOG/PUB" # Unix named functions that are really vanilla MPE functions that do something # completely different than on POSIX or Unix. d_crypt='define' +d_dbmclose='undef' d_difftime='define' d_dlerror='undef' d_dlopen='undef' d_Gconvert='gcvt((x),(n),(b))' +d_gettimeod='undef' d_inetaton='undef' d_link='undef' d_mblen='define' @@ -101,6 +107,9 @@ d_pwage='undef' d_pwcomment='undef' d_pwgecos='undef' d_pwpasswd='undef' +d_setegid='undef' +d_seteuid='undef' +d_setitimer='undef' d_setpgid='undef' d_setsid='undef' d_setvbuf='define' @@ -120,6 +129,7 @@ d_wctomb='define' # # Include files. # +i_gdbm='undef' # the port is currently incomplete i_termios='undef' # we have termios, but not the full set (just tcget/setattr) i_time='define' i_systime='undef' diff --git a/lib/File/Temp/security.t b/lib/File/Temp/security.t index f9be237..7f557e3 100755 --- a/lib/File/Temp/security.t +++ b/lib/File/Temp/security.t @@ -27,7 +27,7 @@ ok(1); # The high security tests must currently be skipped on some platforms my $skipplat = ( ( # No sticky bits. - $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'os2' || $^O eq 'dos' + $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'os2' || $^O eq 'dos' || $^O eq 'mpeix' ) ? 1 : 0 ); # Can not run high security tests in perls before 5.6.0 diff --git a/lib/FileHandle.t b/lib/FileHandle.t index eaddf49..c994c8b 100755 --- a/lib/FileHandle.t +++ b/lib/FileHandle.t @@ -8,6 +8,10 @@ BEGIN { print "1..0\n"; exit 0; } + if ($^O eq 'mpeix') { + print "1..0 # Skip: broken on MPE/iX\n"; + exit 0; + } } use FileHandle; diff --git a/mpeix/mpeixish.h b/mpeix/mpeixish.h index 8dba0a8..821d593 100644 --- a/mpeix/mpeixish.h +++ b/mpeix/mpeixish.h @@ -138,4 +138,10 @@ #undef PWAGE #undef PWCOMMENT -#define ITIMER_REAL 0 +/* various missing external function declarations */ + +#include +extern key_t ftok (char *pathname, char id); +extern char *gcvt (double value, int ndigit, char *buf); +extern int isnan (double value); +extern void srand48(long int seedval); diff --git a/mpeix/relink b/mpeix/relink index a36e23c..073b707 100755 --- a/mpeix/relink +++ b/mpeix/relink @@ -8,6 +8,6 @@ gcc -o perl perlmain.o \ lib/auto/DynaLoader/DynaLoader.a \ libperl.a \ `cat ext.libs` \ - -L/BIND/PUB/lib -lbind \ + -L/BINDFW/CURRENT/lib -lbind \ -L/SYSLOG/PUB -lsyslog callci 'linkedit "altprog ./perl;xl=/usr/lib/libcurses.sl,/lib/libsvipc.sl,/usr/lib/libsocket.sl,/usr/lib/libstr.sl,/lib/libm.sl,/lib/libc.sl"' diff --git a/t/op/pwent.t b/t/op/pwent.t index d811f06..01dbd24 100755 --- a/t/op/pwent.t +++ b/t/op/pwent.t @@ -3,7 +3,7 @@ BEGIN { chdir 't' if -d 't'; @INC = '../lib'; - eval {my @n = getpwuid 0}; + eval {my @n = getpwuid 0; setpwent()}; if ($@ && $@ =~ /(The \w+ function is unimplemented)/) { print "1..0 # Skip: $1\n"; exit 0;