This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[perl #38385] _h2ph_pre.ph / $Config{cppsymbols} omits gcc-3.4+ cpp "predefined macros"
[perl5.git] / Configure
index d1d4f70..6419e5f 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -26,7 +26,7 @@
 
 # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $
 #
-# Generated on Wed Feb 15 09:59:58 CET 2006 [metaconfig 3.0 PL70]
+# Generated on Thu Mar  2 21:01:10 CET 2006 [metaconfig 3.0 PL70]
 # (with additional metaconfig patches by perlbug@perl.org)
 
 cat >c1$$ <<EOF
@@ -20187,7 +20187,7 @@ set prot.h i_prot
 eval $inhdr
 
 echo " "
-$echo "Guessing which symbols your C compiler and preprocessor define..." >&4 
+$echo "Guessing which symbols your C compiler and preprocessor define..." >&4
 $cat <<'EOSH' > Cppsym.know
 a29k ABI64 aegis AES_SOURCE AIX AIX32 AIX370
 AIX41 AIX42 AIX43 AIX_SOURCE aixpc ALL_SOURCE
@@ -20318,6 +20318,19 @@ EOSH
 chmod +x Cppsym.try
 $eunicefix Cppsym.try
 ./Cppsym < Cppsym.know > Cppsym.true
+: Add in any linux cpp "predefined macros":
+if [[ "$osname" == *linux* ]] && [[ "$gccversion" != "" ]]; then
+  tHdrH=_tmpHdr
+  rm -f $tHdrH'.h' $tHdrH
+  touch $tHdrH'.h'
+  if cpp -dM $tHdrH'.h' > $tHdrH'_cppsym.h' && [ -s $tHdrH'_cppsym.h' ]; then
+     sed 's/#define[\ \  ]*//;s/[\ \     ].*$//' <$tHdrH'_cppsym.h' >$tHdrH'_cppsym.real'
+     if [ -s $tHdrH'_cppsym.real' ]; then
+       cat $tHdrH'_cppsym.real' Cppsym.know | sort | uniq | ./Cppsym | sort | uniq > Cppsym.true
+     fi
+  fi
+  rm -f $tHdrH'.h' $tHdrH'_cppsym.h' $tHdrH'_cppsym.real'
+fi
 : now check the C compiler for additional symbols
 postprocess_cc_v=''
 case "$osname" in