OS/2 support bits (from Ilya Zakharevich)
Gurusamy Sarathy [Sat, 16 Oct 1999 04:07:02 +0000 (04:07 +0000)]
p4raw-id: //depot/perl@4393

hints/os2.sh
makedef.pl
os2/Makefile.SHs
t/lib/glob-basic.t

index 6eef5e3..0167a0a 100644 (file)
@@ -124,8 +124,8 @@ fi
 aout_ldflags="$aout_ldflags"
 
 aout_d_fork='define'
-aout_ccflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.'
-aout_cppflags='-DPERL_CORE -DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.'
+aout_ccflags='-DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.'
+aout_cppflags='-DDOSISH -DPERL_IS_AOUT -DOS2=2 -DEMBED -I.'
 aout_use_clib='c'
 aout_usedl='undef'
 aout_archobjs="os2.o dl_os2.o"
index 7586f71..d870293 100644 (file)
@@ -259,6 +259,7 @@ threads_mutex
 nthreads
 nthreads_cond
 os2_cond_wait
+os2_stat
 pthread_join
 pthread_create
 pthread_detach
@@ -654,7 +655,8 @@ elsif ($PLATFORM eq 'os2') {
   /^\s*[\da-f:]+\s+(\w+)/i and $mapped{$1}++ foreach <MAP>;
   close MAP or die 'Cannot close miniperl.map';
   
-  @missing = grep { !exists $mapped{$_} } keys %export;
+  @missing = grep { !exists $mapped{$_} and !exists $bincompat5005{$_} }
+    keys %export;
   delete $export{$_} foreach @missing;
 }
 
index f7f8402..ba503ff 100644 (file)
@@ -20,7 +20,7 @@ PERL_FULLVERSION = $perl_fullversion
 
 OPTIMIZE       = $optimize
 AOUT_OPTIMIZE  = \$(OPTIMIZE)
-AOUT_CCCMD     = \$(CC) $aout_ccflags \$(AOUT_OPTIMIZE)
+AOUT_CCCMD     = \$(CC) -DPERL_CORE $aout_ccflags \$(AOUT_OPTIMIZE)
 AOUT_AR                = $aout_ar
 AOUT_OBJ_EXT   = $aout_obj_ext
 AOUT_LIB_EXT   = $aout_lib_ext
index 5189db4..e3e53fe 100755 (executable)
@@ -35,11 +35,15 @@ print "ok 2\n";
 # look up the user's home directory
 # should return a list with one item, and not set ERROR
 if ($^O ne 'MSWin32') {
+  eval {
     ($name, $home) = (getpwuid($>))[0,7];
+    1;
+  } and do {
     @a = File::Glob::glob("~$name", GLOB_TILDE);
     if (scalar(@a) != 1 || $a[0] ne $home || GLOB_ERROR) {
        print "not ";
     }
+  };
 }
 print "ok 3\n";
 
@@ -69,7 +73,8 @@ mkdir $dir, 0;
 @a = File::Glob::glob("$dir/*", GLOB_ERR);
 #print "\@a = ", array(@a);
 rmdir $dir;
-if (scalar(@a) != 0 || ($^O ne 'MSWin32' && GLOB_ERROR == 0)) {
+if (scalar(@a) != 0 || (($^O ne 'MSWin32' and $^O ne 'os2')
+                       && GLOB_ERROR == 0)) {
     print "not ";
 }
 print "ok 6\n";