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;