# New Ticket Created by Ron Blaschke # Please include the string: [perl #39846] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=39846 >
Problem dynpmc.pl uses interpolated quotes to set up compiler and linker flags, which may cause problems on Win32. For example, instead of "-I C:\usr\local\icu\include" I have "-I C:Srocalicuinclude" during compilation. Things currently compile fine, but this interpolation might cause problems in the future. Possible Solution Attached patch changes all quotes to non-interpolated, which is hopefully the right thing to do (?) Changed Files config/gen/makefiles/dynpmc_pl.in
Index: config/gen/makefiles/dynpmc_pl.in =================================================================== --- config/gen/makefiles/dynpmc_pl.in (revision 13314) +++ config/gen/makefiles/dynpmc_pl.in (working copy) @@ -17,20 +17,20 @@ use File::Copy qw(copy); -# qq[] isn't guaranteed to work, but it's safer than "" as some platforms -# (eg FreeBSD) have ""s embedded in their substution values. q[] is used in -# some places as Win32 paths have \'s in, which qq[] treats as escape sequences. +# q[] isn't guaranteed to work, but it's safer than "" as some platforms +# (eg FreeBSD) have ""s embedded in their substution values. q[] is used +# as Win32 paths have \'s in, which qq treats as escape sequences. # Config stuff -our $CC = [EMAIL PROTECTED]@ -c]; -our $LD = [EMAIL PROTECTED]@]; -our $LDFLAGS = [EMAIL PROTECTED]@ @[EMAIL PROTECTED]; -our $LD_LOAD_FLAGS = [EMAIL PROTECTED]@]; +our $CC = [EMAIL PROTECTED]@ -c]; +our $LD = [EMAIL PROTECTED]@]; +our $LDFLAGS = [EMAIL PROTECTED]@ @[EMAIL PROTECTED]; +our $LD_LOAD_FLAGS = [EMAIL PROTECTED]@]; our $PERL = [EMAIL PROTECTED]@]; -our $LOAD_EXT = [EMAIL PROTECTED]@]; -our $O = [EMAIL PROTECTED]@]; -our $CFLAGS = [EMAIL PROTECTED]@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @[EMAIL PROTECTED]; +our $LOAD_EXT = [EMAIL PROTECTED]@]; +our $O = [EMAIL PROTECTED]@]; +our $CFLAGS = [EMAIL PROTECTED]@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @[EMAIL PROTECTED]; -our $LIBPARROT = qq[]; +our $LIBPARROT = q[]; #CONDITIONED_LINE(parrot_is_shared):$LIBPARROT = [EMAIL PROTECTED]@]; # Here comes some stuff for Win32. @@ -53,7 +53,7 @@ return "$CC $CFLAGS " . - "@cc_o_out@" . $target . " " . + '@cc_o_out@' . $target . " " . "-I" . $PATHQUOTE . '@build_dir@@[EMAIL PROTECTED]' . $PATHQUOTE . " " . "-I" . $PATHQUOTE . '@build_dir@@[EMAIL PROTECTED]@[EMAIL PROTECTED]' . $PATHQUOTE . " " . $source; @@ -79,7 +79,7 @@ return "$LD $LDFLAGS $LD_LOAD_FLAGS ". - "@ld_out@" . $target . " " . + '@ld_out@' . $target . " " . join(" ", map {"$PATHQUOTE$_$PATHQUOTE"} @$sources) . " $liblist $PATHQUOTE$LIBPARROT$PATHQUOTE"; }