This patch does not fix new bugs introduced by IV-preservation madness. Also, the second chunk may cause problems for other platforms needing makedef.pl. But with it applied, perl compiles on EMX. Enjoy, Ilya --- ./makedef.pl~~ Thu Dec 14 14:50:00 2000 +++ ./makedef.pl Fri Dec 29 20:00:22 2000 @@ -143,16 +143,7 @@ if ($PLATFORM eq 'win32') { elsif ($PLATFORM eq 'os2') { ($v = $]) =~ s/(\d\.\d\d\d)(\d\d)$/$1_$2/; $v .= '-thread' if $ARCHNAME =~ /-thread/; - #$sum = 0; - #for (split //, $v) { - # $sum = ($sum * 33) + ord; - # $sum &= 0xffffff; - #} - #$sum += $sum >> 5; - #$sum &= 0xffff; - #$sum = printf '%X', $sum; ($dll = $define{PERL_DLL}) =~ s/\.dll$//i; - # print STDERR "'$dll' <= '$define{PERL_DLL}'\n"; print <<"---EOP---"; LIBRARY '$dll' INITINSTANCE TERMINSTANCE DESCRIPTION '\@#perl5-porters\@perl.org:$v#\@ Perl interpreter' @@ -822,4 +813,13 @@ PerlIOBase_close PerlIO_define_layer PerlIO_pending PerlIO_unread -PerlIO_push \ No newline at end of file +PerlIO_push +PerlIO_apply_layers +perlsio_binmode +PerlIO_binmode +PerlIO_init +PerlIO_tmpfile +PerlIO_setpos +PerlIO_getpos +PerlIO_vsprintf +PerlIO_sprintf --- ./opcode.pl~~ Tue Dec 5 05:39:46 2000 +++ ./opcode.pl Wed Dec 27 20:17:42 2000 @@ -1,5 +1,6 @@ #!/usr/bin/perl +chmod 0666, "opcode.h", "opnames.h"; unlink "opcode.h", "opnames.h"; open(OC, ">opcode.h") || die "Can't create opcode.h: $!\n"; open(ON, ">opnames.h") || die "Can't create opnames.h: $!\n"; --- ./os2/os2.c~~ Mon Dec 4 20:49:36 2000 +++ ./os2/os2.c Wed Dec 27 20:26:46 2000 @@ -1162,10 +1162,13 @@ tcp1(char *name, int arg) ((void (*)(int)) fcn) (arg); } +#ifndef HAS_GETHOSTENT /* Older versions of EMX did not have it... */ void * gethostent() { return tcp0("GETHOSTENT"); } void * getnetent() { return tcp0("GETNETENT"); } void * getprotoent() { return tcp0("GETPROTOENT"); } void * getservent() { return tcp0("GETSERVENT"); } +#endif + void sethostent(x) { tcp1("SETHOSTENT", x); } void setnetent(x) { tcp1("SETNETENT", x); } void setprotoent(x) { tcp1("SETPROTOENT", x); }