h2ph
Kurt D. Starsinic [Fri, 23 Apr 1999 12:37:23 +0000 (08:37 -0400)]
To: perl5-porters@perl.org, Jarkko Hietaniemi <jhi@iki.fi>,
        Graham Barr <gbarr@pobox.com>, Gurusamy Sarathy <gsar@activestate.com>
Cc: Lionel Cons <lionel.cons@cern.ch>,
        Ilya Zakharevich <ilya@math.ohio-state.edu>,
        David Hayes <david@bdel.com>
Message-ID: <19990423123723.A49550@O2.chapin.edu>

p4raw-id: //depot/cfgperl@3266

utils/h2ph.PL

index 6011d98..0b0208b 100644 (file)
@@ -528,7 +528,7 @@ sub inc_dirs
 sub build_preamble_if_necessary
 {
     # Increment $VERSION every time this function is modified:
-    my $VERSION     = 1;
+    my $VERSION     = 2;
     my $preamble    = "$Dest_dir/_h2ph_pre.ph";
 
     # Can we skip building the preamble file?
@@ -556,6 +556,9 @@ sub build_preamble_if_necessary
             if ($define{$_} =~ /^\d+$/) {
                 print PREAMBLE
                     "unless (defined &$_) { sub $_() { $define{$_} } }\n\n";
+            } elsif ($define{$_} =~ /^\w+$/) {
+                print PREAMBLE
+                    "unless (defined &$_) { sub $_() { &$define{$_} } }\n\n";
             } else {
                 print PREAMBLE
                     "unless (defined &$_) { sub $_() { \"",
@@ -576,8 +579,7 @@ sub _extract_cc_defines
 
     # Split compiler pre-definitions into `key=value' pairs:
     foreach (split /\s+/, $allsymbols) {
-        /(.*?)=(.*)/;
-        $define{$1} = $2;
+        /(.+?)=(.+)/ and $define{$1} = $2;
 
         if ($opt_D) {
             print STDERR "$_:  $1 -> $2\n";