summaryrefslogtreecommitdiff
path: root/cygwin/perlld.in
diff options
context:
space:
mode:
Diffstat (limited to 'cygwin/perlld.in')
-rw-r--r--cygwin/perlld.in89
1 files changed, 0 insertions, 89 deletions
diff --git a/cygwin/perlld.in b/cygwin/perlld.in
index 85dc2632d8..e69de29bb2 100644
--- a/cygwin/perlld.in
+++ b/cygwin/perlld.in
@@ -1,89 +0,0 @@
-#
-# Perl script being a wrapper around the gnu ld. When a dll is specified to
-# to be built, special processing is done, else the standard ld is called.
-#
-
-# these are pretty mandatory
-my $CC = '@CC@';
-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 $EXP_EXT = '@EXP_EXT@';
-my $LIB_EXT = '@LIB_EXT@';
-
-#my $DEBUG ="perlld.out";
-my $DEBUG =undef;
-
-my $args = join(" ",@ARGV); # get args
-my $verbose =grep(/^\-(v|\-verbose)$/, @ARGV);
-
-sub shellexec;
-
-if ($DEBUG) {
- open DEBUGFILE, ">>$DEBUG";
- print DEBUGFILE "\n--- " .localtime() ."\nargs:\n$args\n\nenvironment:\n";
- foreach (keys(%ENV)) { print DEBUGFILE $_, "=", $ENV{$_}, "\n"; };
-}
-
-if ($args !~ /\-o (\S+)/) {
- print DEBUGFILE "+ no dll output -- passing to gcc\n\n" if $DEBUG;
- shellexec("$CC $args\n");
-} else {
- my ($path, $command, $dllname, $libname) ='';
-
- $dllname =$1;
- print DEBUGFILE "output file: $dllname\n" if $DEBUG;
- # remove -o from args
- $args =~ s/(^| )\-o \S+/$1/;
-
- # Check for path:
- if( $dllname =~ /.*[\/\\]/){
- $dllname = $';
- $path = $&;
- $path =~ s,[/\\](\.[/\\])*,/,g;
- }
- if ($dllname =~ /\./) { $libname =$`; } else { $libname =$dllname; };
- my $v_e_r_s = '@VERSION@';
- $v_e_r_s =~ tr/./_/;
- if ( $dllname =~ /libperl.*/) {
- $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 ="$CC -shared -o $dllname";
-# $command .=" --verbose" if $verbose;
-
- $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,8388608"; # always
- $command .=" -Wl,--enable-auto-image-base"; # always
-
- # other args are passed through
- shellexec("$command \\\n$args\n");
-
- if ($path) {
- $command ="mv $dllname";
- $command .=" $libname.dll$LIB_EXT" if $LIB_EXT;
- shellexec("$command $path\n");
- };
-};
-close DEBUGFILE if $DEBUG;
-
-#---------------------------------------------------------------------------
-sub shellexec {
- my $command = shift;
- print $command;
- print DEBUGFILE $command if $DEBUG;
- system($command) == 0
- or die "perlld: *** system() failed to execute\n$command\n";
-};
-
-1;