summaryrefslogtreecommitdiff
path: root/cygwin/perlld.in
diff options
context:
space:
mode:
authorGerrit P. Haase <gp@familiehaase.de>2002-01-27 23:30:41 +0100
committerJarkko Hietaniemi <jhi@iki.fi>2002-01-27 22:36:08 +0000
commitb53432e421f16fabc5e5530a1e2ce8c38d941676 (patch)
tree385555d9e411d81aab96e2b608779032e1a61d67 /cygwin/perlld.in
parent9034b73c39ba035933bec3984d6d794720dc58e1 (diff)
downloadperl-b53432e421f16fabc5e5530a1e2ce8c38d941676.tar.gz
Bleadperl on Cygwin today
Message-ID: <462007239437.20020127223041@familiehaase.de> p4raw-id: //depot/perl@14453
Diffstat (limited to 'cygwin/perlld.in')
-rw-r--r--cygwin/perlld.in34
1 files changed, 16 insertions, 18 deletions
diff --git a/cygwin/perlld.in b/cygwin/perlld.in
index 19a1a2f7b9..90a21bb1ac 100644
--- a/cygwin/perlld.in
+++ b/cygwin/perlld.in
@@ -3,19 +3,14 @@
# to be built, special processing is done, else the standard ld is called.
#
-# theese are pretty mandatory
+# these are pretty mandatory
my $CC = '@CC@';
-my $DLLWRAP = '@DLLWRAP@';
-
-# following are optional.
-my $WRAPDRIVER = '@WRAPDRIVER@';
-my $AS = '@AS@';
-my $DLLTOOL = '@DLLTOOL@';
my $EXPORT_ALL = @EXPORT_ALL@;
+
# if some of extensions are undefined,
# no corresponding output will be done.
# most probably, you'd like to have an export library
-my $DEF_EXT = '@DEF_EXT@';
+# my $DEF_EXT = '@DEF_EXT@';
# my $EXP_EXT = '@EXP_EXT@';
my $LIB_EXT = '@LIB_EXT@';
@@ -51,27 +46,30 @@ if ($args !~ /\-o (\S+)/) {
$path =~ s,[/\\](\.[/\\])*,/,g;
}
if ($dllname =~ /\./) { $libname =$`; } else { $libname =$dllname; };
+ my $v_e_r_s = '5_7_2';
+ if ( $dllname =~ /.*perl.*/) {
+ $dllname ="cygperl$v_e_r_s.dll";
+ } else {
$dllname ="$libname.dll";
+ }
$libname ="lib$libname" unless ($libname =~ /^lib/);
print DEBUGFILE "dll name: $dllname\nimport library: $libname\npath: $path\n" if $DEBUG;
- $command ="$DLLWRAP --dllname $dllname";
- $command .=" --driver-name $WRAPDRIVER" if $WRAPDRIVER;
- $command .=" --dlltool $DLLTOOL" if $DLLTOOL;
- $command .=" --export-all-symbols" if $EXPORT_ALL;
- $command .=" --as $AS" if $AS;
- $command .=" --verbose" if $verbose;
+ $command ="$CC -shared -o $dllname";
+# $command .=" --verbose" if $verbose;
- $command .=" --output-def $libname$DEF_EXT" if $DEF_EXT;
- $command .=" --output-exp $libname$EXP_EXT" if $EXP_EXT;
- $command .=" --output-lib $libname$LIB_EXT" if $LIB_EXT;
+ $command .=" -Wl,--output-def=$libname$DEF_EXT" if $DEF_EXT;
+ $command .=" -Wl,--output-exp=$libname$EXP_EXT" if $EXP_EXT;
+ $command .=" -Wl,--out-implib=$libname.dll$LIB_EXT" if $LIB_EXT;
+ $command .=" -Wl,--export-all-symbols" if $EXPORT_ALL;
+ $command .=" -Wl,--enable-auto-import -Wl,--stack,67108864"; # always
# other args are passed through
shellexec("$command \\\n$args\n");
if ($path) {
$command ="mv $dllname";
- $command .=" $libname$LIB_EXT" if $LIB_EXT;
+ $command .=" $libname.dll$LIB_EXT" if $LIB_EXT;
shellexec("$command $path\n");
};
};