Re: [perl #23791] Many errors in build under NCR MP-RAS
Andy Dougherty [Tue, 16 Sep 2003 13:47:55 +0000 (09:47 -0400)]
Message-ID: <Pine.SOL.4.53.0309161345020.13081@maxwell.phys.lafayette.edu>

p4raw-id: //depot/perl@21247

ext/POSIX/hints/svr4.pl
hints/svr4.sh

index 31e6640..23a5a8f 100644 (file)
@@ -1,16 +1,24 @@
-# For NCR systems with uname -a output like the following:
+# For NCR MP-RAS systems with uname -a output like the following:
 #      foo foo 4.0 3.0 3441 Pentium III(TM)-ISA/PCI
 #      foo foo 4.0 3.0 4400 Pentium II(TM)-ISA/PCI
+#      foo foo 4.2 1.1.2 shg2 386at
 # the system needs to explicitly link against -lmw to pull in some
 # symbols such as _mwoflocheckl and possibly others.
-#      Configure sets archname='3441-svr4.0' or '4400-svr4.0'
+# For the first two, Configure sets archname='3441-svr4.0' or '4400-svr4.0'.
 # The regex below is an attempt to get both systems as well as
 # any reasonable future permutations.
 # Thanks to Doug Hendricks for the original info.
+#  (See hints/svr4.sh for more details.)
 #      A. Dougherty  Tue Oct 30 10:20:07 EST 2001
+#
 if ($Config{'archname'} =~ /[34]4[0-9][0-9]-svr4/) {
     $self->{LIBS} = ['-lm -posix -lcposix -lmw'];
 }
+# A better NCR MP-RAS test, thanks to W. Geoffrey Rommel, is to
+# look for /etc/issue and /etc/.relid.  A. Dougherty, September 16, 2003
+elsif( -e '/etc/issue' && -e '/etc/.relid') {
+    $self->{LIBS} = ['-lm -posix -lcposix -lmw'];
+}
 # Not sure what OS this one is.
 elsif ($Config{archname} =~ /RM\d\d\d-svr4/) {
     $self->{LIBS} = ['-lm -lc -lposix -lcposix'];
index b3be9ac..aa1008d 100644 (file)
@@ -140,19 +140,28 @@ esac
 #      foo foo 4.0 3.0 3441 Pentium III(TM)-ISA/PCI
 # Similar errors reported for
 #       foo foo 4.0 3.0 4400 pentium ii(tm)-isapci '
-
-# Configure sets osname=svr4.0, osvers=3.0, archname='3441-svr4.0'
-case "$myuname" in
-*3441*|*4400*isapci)
-    # With the NCR High Performance C Compiler R3.0c, miniperl fails 
-    # t/op/regexp.t test 461 unless we compile with optimizie=-g.
-    # The whole O/S is being phased out, so more detailed probing
-    # is probably not warranted.
-    case "$optimize" in 
+# and also for
+#      foo foo 4.2 1.1.2 shg2 386at
+# W. Geoffrey Rommel, 2003-09-09 reported:
+# I have talked to a developer at NCR, and there seems to be no
+# reliable way to make sure that this is really MP-RAS. It's not
+# in uname, it's not in the kernel, it's not in sysinfo ...
+# However, the files /etc/issue and /etc/.relid are present in MP-RAS.
+#
+# Other System V-derived systems may have /etc/issue, but /etc/.relid
+# may well be unique.  Configure-time tests for the POSIX
+# _mwoflocheckl issue (see ext/POSIX/hints/svr4.pl) would be appreciated.
+#
+if test -f /etc/issue -a -f /etc/.relid; then
+    # With the NCR High Performance C Compiler R3.0c, miniperl fails
+    # t/op/regexp.t test 461 unless we compile with optimize=-g.
+    # Volunteers are needed to determine just which files need special
+    # treatment.  For now, use optimize=-g for everything.
+    #
+    case "$optimize" in
     '') optimize='-g' ;;
     esac
-    ;;
-esac
+fi
 
 # Configure may fail to find lstat() since it's a static/inline function
 # in <sys/stat.h> on Unisys U6000 SVR4, UnixWare 2.x, and possibly other