[svn:parrot] r36531 - in trunk: config/gen/makefiles config/init/hints lib/Parrot

fperrad at svn.parrot.org fperrad at svn.parrot.org
Tue Feb 10 12:06:12 UTC 2009


Author: fperrad
Date: Tue Feb 10 12:06:09 2009
New Revision: 36531
URL: https://trac.parrot.org/parrot/changeset/36531

Log:
[mingw] fix build (dynpmc & dynops) & tests in t/src/*.t, see r36404.
test needed with msvc.

Modified:
   trunk/config/gen/makefiles/dynoplibs_pl.in
   trunk/config/gen/makefiles/dynpmc_pl.in
   trunk/config/gen/makefiles/parrot_embed_pl.in
   trunk/config/init/hints/mswin32.pm
   trunk/lib/Parrot/Test.pm

Modified: trunk/config/gen/makefiles/dynoplibs_pl.in
==============================================================================
--- trunk/config/gen/makefiles/dynoplibs_pl.in	Tue Feb 10 05:42:06 2009	(r36530)
+++ trunk/config/gen/makefiles/dynoplibs_pl.in	Tue Feb 10 12:06:09 2009	(r36531)
@@ -35,13 +35,7 @@
 #IF(parrot_is_shared):$LIBPARROT = q[@libparrot_ldflags@];
 
 # Here comes some stuff for Win32.
-our $PATHQUOTE = q[];
-if ($^O eq 'MSWin32') {
-    # Paths need quoting as they may contain spaces.
-    $PATHQUOTE = q["];
-    # absolute because we are building in src\dynoplibs
-    $LIBPARROT = '@build_dir@/libparrot.lib'; # the importlib, not the static one
-}
+our $PATHQUOTE = $^O eq 'MSWin32' ? q["] : q[];
 
 # OPS2C Config
 our $OPS2C = "$PERL -I $PATHQUOTE" .

Modified: trunk/config/gen/makefiles/dynpmc_pl.in
==============================================================================
--- trunk/config/gen/makefiles/dynpmc_pl.in	Tue Feb 10 05:42:06 2009	(r36530)
+++ trunk/config/gen/makefiles/dynpmc_pl.in	Tue Feb 10 12:06:09 2009	(r36531)
@@ -39,13 +39,7 @@
 #IF(parrot_is_shared):$LIBPARROT = q[@libparrot_ldflags@];
 
 # Here comes some stuff for Win32.
-our $PATHQUOTE = '';
-if ($^O eq 'MSWin32') {
-    # Paths need quoting as they may contain spaces.
-    $PATHQUOTE = '"';
-    # absolute because we are building in src\dynoplibs
-    $LIBPARROT = '@build_dir@/libparrot.lib'; # the importlib, not the static one
-}
+our $PATHQUOTE = $^O eq 'MSWin32' ? q["] : q[];
 
 # PMC2C Config
 our $PMC2C = "$PERL $PATHQUOTE" . q[@build_dir@@slash at tools@slash at build@slash at pmc2c.pl] . $PATHQUOTE;

Modified: trunk/config/gen/makefiles/parrot_embed_pl.in
==============================================================================
--- trunk/config/gen/makefiles/parrot_embed_pl.in	Tue Feb 10 05:42:06 2009	(r36530)
+++ trunk/config/gen/makefiles/parrot_embed_pl.in	Tue Feb 10 12:06:09 2009	(r36531)
@@ -36,7 +36,7 @@
     'PREREQ_PM'    => { 'ExtUtils::CBuilder' => 0 },
 #IF(win32):    'LIBS'         => [ $config{C_LIBS} ],
 #ELSE:    'LIBS'         => [ $config{ALL_PARROT_LIBS} ],
-#IF(win32):    'OBJECT'       => "@libparrot_ldflags@ Embed at o@",
+#IF(win32):    'OBJECT'       => q|@libparrot_ldflags@ Embed at o@|,
     'INC'          => "-I$config{INCLUDE}",
     'PM'           => { map { $_ => "blib/$_" } <lib/Parrot/*pm> },
     'clean'        => { FILES => '*.xs t/greet.pbc' },

Modified: trunk/config/init/hints/mswin32.pm
==============================================================================
--- trunk/config/init/hints/mswin32.pm	Tue Feb 10 05:42:06 2009	(r36530)
+++ trunk/config/init/hints/mswin32.pm	Tue Feb 10 12:06:09 2009	(r36531)
@@ -103,7 +103,7 @@
 
         # If we are building shared, need to include dynamic libparrot.lib, otherwise
         # the static libparrot.lib.
-        $conf->data->set( libparrot_ldflags   => 'libparrot.lib' );
+        $conf->data->set( libparrot_ldflags   => "\"$build_dir\\libparrot.lib\"" );
 
         # 'link' needs to be link.exe, not cl.exe.
         # This makes 'link' and 'ld' the same.
@@ -239,6 +239,7 @@
             has_dynamic_linking => 1,
             ld_load_flags       => '-shared ',
             ld_share_flags      => '-shared ',
+            libparrot_ldflags   => "\"$build_dir\\libparrot.dll\"",
             ncilib_link_extra   => 'src/libnci_test.def',
             sym_export          => '__declspec(dllexport)',
             sym_import          => '__declspec(dllimport)',

Modified: trunk/lib/Parrot/Test.pm
==============================================================================
--- trunk/lib/Parrot/Test.pm	Tue Feb 10 05:42:06 2009	(r36530)
+++ trunk/lib/Parrot/Test.pm	Tue Feb 10 12:06:09 2009	(r36531)
@@ -966,9 +966,7 @@
                           ? ""
                           : "-L$PConfig{blib_dir} "))
                         . ($^O =~ m/MSWin32/
-                          ? File::Spec->join(
-                              @PConfig{qw/build_dir libparrot_ldflags/},
-                          )
+                          ? $PConfig{libparrot_ldflags}
                           : "-lparrot")
                       : File::Spec->join(
                           @PConfig{qw/build_dir blib_dir libparrot_static/},


More information about the parrot-commits mailing list