0.49 2011-03-30  rurban
  Fixes for spaces in current dir (Windows and cygwin mostly).
  With spaces in pwd we get a harmless EUMM warning:
  "Typemap ...C/t/typemap not found." but I don't to fix EUMM also now.

diff -u  ./C/C.pm.orig
--- ./C/C.pm.orig	2011-02-21 08:46:27.000000000 +0100
+++ ./C/C.pm	2011-03-30 14:22:21.107305700 +0200
@@ -1,5 +1,5 @@
 package Inline::C;
-$VERSION = '0.48';
+$VERSION = '0.49';
 
 use strict;
 require Inline;
@@ -38,12 +38,13 @@
 sub validate {
     my $o = shift;
 
+    print STDERR "validate Stage\n" if $o->{CONFIG}{BUILD_NOISY};
     $o->{ILSM} ||= {};
     $o->{ILSM}{XS} ||= {};
     $o->{ILSM}{MAKEFILE} ||= {};
     if (not $o->UNTAINT) {
 	require FindBin;
-	$o->{ILSM}{MAKEFILE}{INC} = "-I$FindBin::Bin";
+	$o->{ILSM}{MAKEFILE}{INC} = "-I\"$FindBin::Bin\"";
     }
     $o->{ILSM}{AUTOWRAP} = 0 if not defined $o->{ILSM}{AUTOWRAP};
     $o->{ILSM}{XSMODE} = 0 if not defined $o->{ILSM}{XSMODE};
@@ -79,8 +80,11 @@
 	    $o->add_list($o->{ILSM}{MAKEFILE}, $key, $value, []);
 	    next;
 	}
-	if ($key eq 'INC' or
-	    $key eq 'MYEXTLIB' or
+	if ($key eq 'INC') {
+	    $o->add_string($o->{ILSM}{MAKEFILE}, $key, quote_space($value), '');
+	    next;
+	}
+	if ($key eq 'MYEXTLIB' or
 	    $key eq 'OPTIMIZE' or
 	    $key eq 'CCFLAGS' or
 	    $key eq 'LDDLFLAGS') {
@@ -94,14 +98,14 @@
 	      $value = File::Spec->rel2abs($value);
           }
           else {
-          for (my $i = 0; $i < scalar(@$value); $i++) {
+            for (my $i = 0; $i < scalar(@$value); $i++) {
 	      croak "TYPEMAPS file '${$value}[$i]' not found"
 	        unless -f ${$value}[$i];
-            ${$value}[$i] = File::Spec->rel2abs(${$value}[$i]);
+              ${$value}[$i] = File::Spec->rel2abs(${$value}[$i]);
             }
           }
-	    $o->add_list($o->{ILSM}{MAKEFILE}, $key, $value, []);
-	    next;
+	  $o->add_list($o->{ILSM}{MAKEFILE}, $key, $value, []);
+	  next;
 	}
 	if ($key eq 'AUTO_INCLUDE') {
 	    $o->add_text($o->{ILSM}, $key, $value, '');
@@ -338,6 +342,7 @@
 sub get_maps {
     my $o = shift;
 
+    print STDERR "get_maps Stage\n" if $o->{CONFIG}{BUILD_NOISY};
     my $typemap = '';
     my $file;
     $file = File::Spec->catfile($Config::Config{installprivlib},"ExtUtils","typemap");
@@ -353,7 +358,9 @@
     if (not $o->UNTAINT) {
 	require FindBin;
 	$file = File::Spec->catfile($FindBin::Bin,"typemap");
-	push(@{$o->{ILSM}{MAKEFILE}{TYPEMAPS}}, $file) if -f $file;
+        if ( -f $file ) {
+	   push(@{$o->{ILSM}{MAKEFILE}{TYPEMAPS}}, $file);
+        }
     }
 }
 
@@ -691,8 +698,10 @@
 sub write_Makefile_PL {
     my $o = shift;
     $o->{ILSM}{xsubppargs} = '';
+    my $i = 0;
     for (@{$o->{ILSM}{MAKEFILE}{TYPEMAPS}}) {
-	$o->{ILSM}{xsubppargs} .= "-typemap $_ ";
+	$o->{ILSM}{xsubppargs} .= "-typemap \"$_\" ";
+        $o->{ILSM}{MAKEFILE}{TYPEMAPS}->[$i++] = fix_space($_);
     }
 
     my %options = (
@@ -847,7 +856,9 @@
 	if (/^(\w+)\s*=\s*\S+.*$/ and
 	    $fix = $fixes{$1}
 	   ) {
-	    print MAKEFILE "$1 = $o->{ILSM}{$fix}\n"
+	    my $fixed = $o->{ILSM}{$fix};
+	    $fixed = fix_space($fixed) if $fix eq 'install_lib';
+	    print MAKEFILE "$1 = $fixed\n";
 	}
 	else {
 	    print MAKEFILE;
@@ -856,6 +867,16 @@
     close MAKEFILE;
 }
 
+sub quote_space {
+    $_[0] = '"'.$_[0].'"' if $_[0] and $_[0] =~ /\s/;
+    $_[0];
+}
+
+sub fix_space {
+    $_[0] =~ s/ /\\ /g if $_[0] =~ / /;
+    $_[0];
+}
+
 #==============================================================================
 # This routine used by C/t/09parser to test that the expected parser is in use
 #==============================================================================
diff -u  ./C/Changes.orig
--- ./C/Changes.orig	2011-03-30 08:19:13.287481700 +0200
+++ ./C/Changes	2011-03-30 14:22:08.410041700 +0200
@@ -1,6 +1,6 @@
 Revision history for Perl extension Inline::C.
 
-0.48_01 2011-03-30 08:16:26
+0.49 Tue 30 Mar 2011
     - [cpan #67053] Space in pwd. Patch from Reini Urban to work with spaces 
       in the current dir
 
diff -u  ./Changes.orig
--- ./Changes.orig	2011-02-21 08:46:27.000000000 +0100
+++ ./Changes	2011-03-30 14:22:45.610719000 +0200
@@ -1,6 +1,12 @@
 # Revision history for Perl extension Inline.
 
 ---
+version: 0.49
+date: Tue 30 Mar 2011
+C/C.pm - [cpan #67053] Space in pwd. Patch from Reini Urban to work with spaces 
+         in the current dir
+
+---
 version: 0.48
 date: Mon 21 Feb 2011
       Version 0.48 released to CPAN. (No changes from 0.47_02.)
diff -u  ./Inline.pm.orig
--- ./Inline.pm.orig	2011-03-29 14:10:00.322060400 +0200
+++ ./Inline.pm	2011-03-30 14:22:27.253909900 +0200
@@ -2,7 +2,7 @@
 
 use strict;
 require 5.006;
-$Inline::VERSION = '0.48';
+$Inline::VERSION = '0.49';
 
 use AutoLoader 'AUTOLOAD';
 use Inline::denter;
diff -u  ./Makefile.PL.orig
--- ./Makefile.PL.orig	2011-02-01 10:06:03.000000000 +0100
+++ ./Makefile.PL	2011-03-30 08:15:39.805028300 +0200
@@ -4,7 +4,7 @@
                              {
                               Data::Dumper => 2.09,
                               Digest::MD5 => 2.09,
-	                        Parse::RecDescent => 1.80,
+                              Parse::RecDescent => 1.80,
                               File::Spec => 0.8,
                               Test::Warn => 0.21,
                              }
@@ -13,7 +13,7 @@
                              {
                               Data::Dumper => 2.09,
                               Digest::MD5 => 2.09,
-	                        Parse::RecDescent => 1.80,
+                              Parse::RecDescent => 1.80,
                               File::Spec => 0.8,
                              };