# New Ticket Created by Greg Bacon # Please include the string: [perl #39164] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=39164 >
The attached patch allows parrot to build on Cygwin when build_dir contains spaces. How well does this play on other platforms? Greg
Index: config/init/hints/cygwin.pm =================================================================== --- config/init/hints/cygwin.pm (revision 12726) +++ config/init/hints/cygwin.pm (working copy) @@ -14,6 +14,9 @@ my $libs = $conf->data->get('libs'); $libs =~ s/-lutil\b//g; + my $build_dir = $conf->data->get('build_dir'); + $build_dir =~ s/ /\\ /g; + # A note about building shared libraries: Perl5 uses the 'ld2' tool, which # is installed as part of the perl5 installation. So far, it appears # parrot can get by with simply using gcc -shared, so we override the @@ -21,6 +24,7 @@ # If this later causes problems, it might be worth revisiting. # A. Dougherty 9/9/2002 $conf->data->set( + build_dir => $build_dir, ld => 'gcc', ld_share_flags => '-shared', ld_load_flags => '-shared', Index: config/gen/makefiles/dynpmc_pl.in =================================================================== --- config/gen/makefiles/dynpmc_pl.in (revision 12726) +++ config/gen/makefiles/dynpmc_pl.in (working copy) @@ -31,7 +31,7 @@ our $CFLAGS = [EMAIL PROTECTED]@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @[EMAIL PROTECTED]; our $LIBPARROT = qq[]; -#CONDITIONED_LINE(parrot_is_shared):$LIBPARROT = [EMAIL PROTECTED]@]; +#CONDITIONED_LINE(parrot_is_shared):$LIBPARROT = [EMAIL PROTECTED]@]; # Here comes some stuff for Win32. our $PATHQUOTE = ''; Index: config/gen/makefiles/dynpmc.in =================================================================== --- config/gen/makefiles/dynpmc.in (revision 12726) +++ config/gen/makefiles/dynpmc.in (working copy) @@ -49,13 +49,13 @@ pyproxyclass \ pyiter -BUILD = $(PERL) "@build_dir@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]" +BUILD = $(PERL) @build_dir@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED] all : @$(BUILD) generate $(PMCS) @$(BUILD) compile $(PMCS) @$(BUILD) linklibs $(PMCS) - @$(BUILD) copy "--destination=$(RUNTIME_DIR)" $(PMCS) + @$(BUILD) copy --destination=$(RUNTIME_DIR) $(PMCS) test : all cd ../.. ; perl -Ilib t/harness t/dynpmc/*.t Index: config/gen/makefiles/dynoplibs_pl.in =================================================================== --- config/gen/makefiles/dynoplibs_pl.in (revision 12726) +++ config/gen/makefiles/dynoplibs_pl.in (working copy) @@ -31,7 +31,7 @@ our $CFLAGS = [EMAIL PROTECTED]@ @cc_shared@ @cc_debug@ @ccwarn@ @cc_hasjit@ @cg_flag@ @[EMAIL PROTECTED]; our $LIBPARROT = qq[]; -#CONDITIONED_LINE(parrot_is_shared):$LIBPARROT = [EMAIL PROTECTED]@]; +#CONDITIONED_LINE(parrot_is_shared):$LIBPARROT = [EMAIL PROTECTED]@]; # Here comes some stuff for Win32. our $PATHQUOTE = ''; Index: config/gen/makefiles/dynoplibs.in =================================================================== --- config/gen/makefiles/dynoplibs.in (revision 12726) +++ config/gen/makefiles/dynoplibs.in (working copy) @@ -12,13 +12,13 @@ myops \ dan -BUILD = $(PERL) "@build_dir@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]" +BUILD = $(PERL) @build_dir@@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED] all : @$(BUILD) generate $(OPLIBS) @$(BUILD) compile $(OPLIBS) @$(BUILD) linklibs $(OPLIBS) - @$(BUILD) copy "--destination=$(RUNTIME_DIR)" $(OPLIBS) + @$(BUILD) copy --destination=$(RUNTIME_DIR) $(OPLIBS) test : all cd [EMAIL PROTECTED]@.. ; perl -Ilib t/harness t/dynoplibs/*.t