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',
);
}
}