Author: rurban
Date: Mon Jan  5 02:41:01 2009
New Revision: 34976

Modified:
   trunk/config/gen/makefiles/root.in
   trunk/config/init/hints/mswin32.pm

Log:
More mingw fixes, analog to cygwin: 
- link directly to dll to protect against already installed libparrot
- add importlib for mingw for easier installation
- force gcc.exe to gcc for Makefile check
Tested with vanilla and strawberry perl



Modified: trunk/config/gen/makefiles/root.in
==============================================================================
--- trunk/config/gen/makefiles/root.in  (original)
+++ trunk/config/gen/makefiles/root.in  Mon Jan  5 02:41:01 2009
@@ -880,6 +880,7 @@
        $(MKPATH) @blib_dir@
        $(LD) $(LD_SHARE_FLAGS) $(LDFLAGS) @ld_...@$@ @libparrot_soname@ \
 #IF(cygwin):           -Wl,--out-implib=libparrot.dll.a \
+#IF(win32 and cc==gcc):                -Wl,--out-implib=libparrot.lib \
                $(O_FILES) $(C_LIBS) $(ICU_SHARED)
 #IF(win32):    if exist [email protected] mt.exe -nologo -manifest [email protected] 
-outputresource:$@;2
 #IF(libparrot_shared_alias):   ( cd @blib_dir@ ; ln -sf @libparrot_shared@ 
@libparrot_shared_alias@ )

Modified: trunk/config/init/hints/mswin32.pm
==============================================================================
--- trunk/config/init/hints/mswin32.pm  (original)
+++ trunk/config/init/hints/mswin32.pm  Mon Jan  5 02:41:01 2009
@@ -195,7 +195,6 @@
             $conf->data->set(
                 a       => '.a',
                 ar      => 'ar',
-                cc      => 'gcc',
                 ccflags => '-DWIN32 ',
                 ld      => 'g++',
                 ldflags => '',
@@ -204,7 +203,6 @@
                 link      => 'gcc',
                 linkflags => '',
                 o         => '.o',
-                blib_dir  => 'blib\\lib',
             );
         }
         elsif ( $make =~ /dmake/i ) {
@@ -220,7 +218,8 @@
         elsif ( $make =~ /mingw32-make/i ) {
             ; # Vanilla Perl
             $conf->data->set(
-                blib_dir  => 'blib\\lib'
+                make      => 'mingw32-make',
+                make_c    => 'mingw32-make -C',
             );
         }
         else {
@@ -232,17 +231,17 @@
         }
 
         $conf->data->set(
+            cc                  => 'gcc',
             parrot_is_shared    => 1,
             has_dynamic_linking => 1,
             ld_load_flags       => '-shared ',
             ld_share_flags      => '-shared ',
-            libparrot_ldflags   => 'libparrot.dll',
+            libparrot_ldflags   => "\"$build_dir\\libparrot.dll\"",
             ncilib_link_extra   => 'src/libnci_test.def',
             sym_export          => '__declspec(dllexport)',
             sym_import          => '__declspec(dllimport)',
-            make                => 'mingw32-make',
-            make_c              => 'mingw32-make -C',
             slash               => '\\',
+            blib_dir            => 'blib\\lib',
         );
     }
 }

Reply via email to