85 lines
2.6 KiB
Diff
85 lines
2.6 KiB
Diff
--- a/win32/GNUmakefile
|
|
+++ b/win32/GNUmakefile
|
|
@@ -1466,15 +1466,15 @@
|
|
|
|
$(PERLIMPLIB) : perldll.def
|
|
ifeq ($(CCTYPE),GCC)
|
|
- $(IMPLIB) -k -d perldll.def -D $(PERLDLLBASE) -l $(PERLIMPLIB) -e $(PERLEXPLIB)
|
|
+ $(IMPLIB) -k -d perldll.def -D $(PERLDLLBASE) -l $(PERLIMPLIB)
|
|
else
|
|
lib -def:perldll.def -machine:$(ARCHITECTURE) /OUT:$(PERLIMPLIB)
|
|
endif
|
|
|
|
-$(PERLDLL): $(PERLEXPLIB) $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
|
|
+$(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
|
|
ifeq ($(CCTYPE),GCC)
|
|
$(LINK32) -shared -o $@ $(BLINK_FLAGS) \
|
|
- $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES) $(PERLEXPLIB)
|
|
+ $(PERLDLL_OBJ) $(shell type Extensions_static) $(LIBFILES) perldll.def
|
|
else
|
|
$(LINK32) -dll -out:$@ $(BLINK_FLAGS) \
|
|
@Extensions_static \
|
|
--- a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
|
|
+++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
|
|
@@ -49,41 +49,12 @@
|
|
|
|
my @cmds; # Stores the series of commands needed to build the module.
|
|
|
|
- my $DLLTOOL = $cf->{dlltool} || 'dlltool';
|
|
-
|
|
- push @cmds, [
|
|
- $DLLTOOL, '--def' , $spec{def_file},
|
|
- '--output-exp' , $spec{explib}
|
|
- ];
|
|
-
|
|
# split off any -arguments included in ld
|
|
my @ld = split / (?=-)/, $spec{ld};
|
|
|
|
push @cmds, [ grep {defined && length} (
|
|
@ld ,
|
|
'-o', $spec{output} ,
|
|
- "-Wl,--base-file,$spec{base_file}" ,
|
|
- "-Wl,--enable-auto-image-base" ,
|
|
- @{$spec{lddlflags}} ,
|
|
- @{$spec{libpath}} ,
|
|
- @{$spec{startup}} ,
|
|
- @{$spec{objects}} ,
|
|
- @{$spec{other_ldflags}} ,
|
|
- $spec{libperl} ,
|
|
- @{$spec{perllibs}} ,
|
|
- $spec{explib} ,
|
|
- $spec{map_file} ? ('-Map', $spec{map_file}) : ''
|
|
- ) ];
|
|
-
|
|
- push @cmds, [
|
|
- $DLLTOOL, '--def' , $spec{def_file},
|
|
- '--output-exp' , $spec{explib},
|
|
- '--base-file' , $spec{base_file}
|
|
- ];
|
|
-
|
|
- push @cmds, [ grep {defined && length} (
|
|
- @ld ,
|
|
- '-o', $spec{output} ,
|
|
"-Wl,--enable-auto-image-base" ,
|
|
@{$spec{lddlflags}} ,
|
|
@{$spec{libpath}} ,
|
|
@@ -92,7 +63,7 @@
|
|
@{$spec{other_ldflags}} ,
|
|
$spec{libperl} ,
|
|
@{$spec{perllibs}} ,
|
|
- $spec{explib} ,
|
|
+ $spec{def_file} ,
|
|
$spec{map_file} ? ('-Map', $spec{map_file}) : ''
|
|
) ];
|
|
|
|
@@ -102,6 +73,9 @@
|
|
sub write_linker_script {
|
|
my ($self, %spec) = @_;
|
|
|
|
+ # Punt for now
|
|
+ return %spec;
|
|
+
|
|
my $script = File::Spec->catfile( $spec{srcdir},
|
|
$spec{basename} . '.lds' );
|
|
|