Author: rurban
Date: Sun Dec 28 04:47:10 2008
New Revision: 34477

Modified:
   branches/pdd30install_stage3/config/gen/makefiles/pirc.in
   branches/pdd30install_stage3/config/init/defaults.pm
   branches/pdd30install_stage3/config/init/hints/mswin32.pm
   branches/pdd30install_stage3/config/inter/libparrot.pm

Log:
39742-installed-conflict

Modified: branches/pdd30install_stage3/config/gen/makefiles/pirc.in
==============================================================================
--- branches/pdd30install_stage3/config/gen/makefiles/pirc.in   (original)
+++ branches/pdd30install_stage3/config/gen/makefiles/pirc.in   Sun Dec 28 
04:47:10 2008
@@ -85,6 +85,9 @@
 Makefile: $(BUILD_DIR)/config/gen/makefiles/pirc.in
        cd $(BUILD_DIR) && $(RECONFIGURE) --step=gen::makefiles 
--target=compilers/pirc/Makefile
 
+# regenerate the Makefile
+Makefile: $(BUILD_DIR)/config/gen/makefiles/pirc.in
+       cd $(BUILD_DIR) && $(RECONFIGURE) --step=gen::makefiles 
--target=compilers/pirc/Makefile
 
 clean:
        $(RM_F) *$(O)

Modified: branches/pdd30install_stage3/config/init/defaults.pm
==============================================================================
--- branches/pdd30install_stage3/config/init/defaults.pm        (original)
+++ branches/pdd30install_stage3/config/init/defaults.pm        Sun Dec 28 
04:47:10 2008
@@ -200,9 +200,6 @@
         make_set_make => $Config{make_set_make},
         make_and      => '&&',
 
-        # for cygwin
-        cygchkdll => '',
-
         # make_c: Command to emulate GNU make's C<-C directory> option:  chdir
         # to C<directory> before executing $(MAKE)
         make_c => '$(PERL) -e \'chdir shift @ARGV; system q{$(MAKE)}, @ARGV; 
exit $$? >> 8;\'',

Modified: branches/pdd30install_stage3/config/init/hints/mswin32.pm
==============================================================================
--- branches/pdd30install_stage3/config/init/hints/mswin32.pm   (original)
+++ branches/pdd30install_stage3/config/init/hints/mswin32.pm   Sun Dec 28 
04:47:10 2008
@@ -100,9 +100,7 @@
 
         # If we are building shared, need to include dynamic libparrot.lib, 
otherwise
         # the static libparrot.lib.
-        if ( $conf->data->get('parrot_is_shared') ) {
-            $conf->data->set( libparrot_ldflags   => 
$conf->data->get('build_dir') . '/libparrot.lib' );
-        }
+        $conf->data->set( libparrot_ldflags   => 'libparrot.lib' );
 
         # 'link' needs to be link.exe, not cl.exe.
         # This makes 'link' and 'ld' the same.
@@ -232,7 +230,7 @@
             has_dynamic_linking => 1,
             ld_load_flags       => '-shared ',
             ld_share_flags      => '-shared ',
-            libparrot_ldflags   => $conf->data->get('build_dir') . 
'/libparrot.dll',
+            libparrot_ldflags   => 'libparrot.dll',
             ncilib_link_extra   => 'src/libnci_test.def',
             sym_export          => '__declspec(dllexport)',
             sym_import          => '__declspec(dllimport)',

Modified: branches/pdd30install_stage3/config/inter/libparrot.pm
==============================================================================
--- branches/pdd30install_stage3/config/inter/libparrot.pm      (original)
+++ branches/pdd30install_stage3/config/inter/libparrot.pm      Sun Dec 28 
04:47:10 2008
@@ -93,6 +93,16 @@
         );
     }
 
+    # RT#39742 installed parrot conflicts with dev parrot:
+    # move -L/usr/lib in ldflags to the back after -lparrot
+    if ($parrot_is_shared and $conf->data->get('ldflags') =~ /(-L\S+)/) {
+       my $ldflags = $conf->data->get('ldflags');
+       my $lpath = $1;
+       $ldflags =~ s|$1||;
+       $conf->data->set('libs' => $lpath . " " . $conf->data->get('libs'));
+       $conf->data->set('ldflags' => $ldflags);
+    }
+
     $self->set_result( $parrot_is_shared ? 'yes' : 'no' );
 
     return 1;

Reply via email to