develooper Front page | perl.perl5.porters | Postings from November 1999

[PATCH: 5.005_62]fix Configure awk blemish (os390 && possibly other platforms)

Thread Previous | Thread Next
Peter Prymmer
November 30, 1999 15:04
[PATCH: 5.005_62]fix Configure awk blemish (os390 && possibly other platforms)
Message ID:

On OS/390 during the run of Configure -des we see a problem on stderr:

 Your select() operates on 32 bits at a time.
 /bin/awk: Syntax error Context is:
 >>>     {print $}       <<<
 Generating a list of signal names and numbers...

the reason is that the cpp does not leave file names in its output on this
platform hence $fieldn is '' (and $pos is '???').  I've tried running:

   awk "{print $}" some_text.file

on T62 Unix, AIX, HP-UX, Solaris, and dgux; and no vendor supplied awk can 
handle that construct (admittedly I've not tried that with gawk on any 
platform).  Hence the following patch eliminates the use of awk altogether 
in forming the initial signal list if $fieldn is blank.  Sharp eyed Configure 
hackers may note that the $fieldn value is used in the $awkprog in the 
findhdr script, but on this platform all the headers that are found are 
found with the initial -f test and the do loop in UU/findhdr never gets 
executed here (but at least the stderr warnings are redirected in findhdr).

With this applied to a virgin _62 kit perl builds and tests OK on OS/390.  
I've not tested this on any other platform, and I do not have a recent 
dist kit to even patch that up - sorry :-{

--- Configure.orig	Tue Oct  5 20:20:23 1999
+++ Configure	Tue Nov 30 13:00:42 1999
@@ -12178,10 +12178,17 @@
 : Remove SIGSTKSIZE used by Linux.
 : Remove SIGSTKSZ used by Posix.
 : Remove SIGTYP void lines used by OS2.
-xxx=`echo '#include <signal.h>' |
+if [ "X$fieldn" = X ]; then
+    xxx=`echo '#include <signal.h>' |
+	$cppstdin $cppminus $cppflags 2>/dev/null |
+	$grep '^[ 	]*#.*include' | 
+	$sed 's!"!!g' | $sort | $uniq`
+    xxx=`echo '#include <signal.h>' |
 	$cppstdin $cppminus $cppflags 2>/dev/null |
 	$grep '^[ 	]*#.*include' | 
 	$awk "{print \\$$fieldn}" | $sed 's!"!!g' | $sort | $uniq`
 : Check this list of files to be sure we have parsed the cpp output ok.
 : This will also avoid potentially non-existent files, such 
 : as ../foo/bar.h
End of Patch.

Peter Prymmer

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About