Blob Blame History Raw
--- perl-5.8.8-RC1/Configure.bz178343	2006-01-30 19:42:47.000000000 -0500
+++ perl-5.8.8-RC1/Configure	2006-01-30 20:04:53.000000000 -0500
@@ -20279,6 +20279,17 @@
 chmod +x Cppsym.try
 $eunicefix Cppsym.try
 ./Cppsym < Cppsym.know > Cppsym.true
+: Add in any cpp "predefined macros" :
+tHdrH=`mktemp ./XXXXXX`
+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'
 : now check the C compiler for additional symbols
 postprocess_cc_v=''
 case "$osname" in
--- perl-5.8.8-RC1/utils/h2ph.PL.bz178343	2006-01-13 12:56:47.000000000 -0500
+++ perl-5.8.8-RC1/utils/h2ph.PL	2006-01-30 20:01:15.000000000 -0500
@@ -778,8 +778,16 @@
             if ($opt_D) {
                 print PREAMBLE "# $_=$define{$_}\n";
             }
-
-            if ($define{$_} =~ /^(\d+)U?L{0,2}$/i) {
+	    if ($define{$_} =~ /^\((.*)\)$/) {
+	      # parenthesized value:  d=(v)
+		$define{$_} = $1;
+	    };
+	    if ($define{$_} =~ /^([+-]?(\d+)?\.\d+([eE][+-]?\d+)?)[FL]?$/ ) {
+	      # float:
+		print PREAMBLE
+                    "unless (defined &$_) { sub $_() { $1 } }\n\n";
+	    } elsif ($define{$_} =~ /^([+-]?\d+)U?L{0,2}$/i) {
+	      # integer:
                 print PREAMBLE
                     "unless (defined &$_) { sub $_() { $1 } }\n\n";
             } elsif ($define{$_} =~ /^\w+$/) {
@@ -805,9 +813,8 @@
         @Config{'ccsymbols', 'cppsymbols', 'cppccsymbols'};
 
     # Split compiler pre-definitions into `key=value' pairs:
-    foreach (split /\s+/, $allsymbols) {
-        /(.+?)=(.+)/ and $define{$1} = $2;
-
+    while( $allsymbols=~/([^\s]+)=((\\\s|[^\s])+)/g ) {
+        $define{$1} = $2;	
         if ($opt_D) {
             print STDERR "$_:  $1 -> $2\n";
         }