diff options
author | Gerrit P. Haase <gp@familiehaase.de> | 2002-01-27 23:30:41 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2002-01-27 22:36:08 +0000 |
commit | b53432e421f16fabc5e5530a1e2ce8c38d941676 (patch) | |
tree | 385555d9e411d81aab96e2b608779032e1a61d67 /cygwin | |
parent | 9034b73c39ba035933bec3984d6d794720dc58e1 (diff) | |
download | perl-b53432e421f16fabc5e5530a1e2ce8c38d941676.tar.gz |
Bleadperl on Cygwin today
Message-ID: <462007239437.20020127223041@familiehaase.de>
p4raw-id: //depot/perl@14453
Diffstat (limited to 'cygwin')
-rw-r--r-- | cygwin/Makefile.SHs | 52 | ||||
-rw-r--r-- | cygwin/perlld.in | 34 |
2 files changed, 46 insertions, 40 deletions
diff --git a/cygwin/Makefile.SHs b/cygwin/Makefile.SHs index 37383907f7..ffe4815787 100644 --- a/cygwin/Makefile.SHs +++ b/cygwin/Makefile.SHs @@ -81,12 +81,6 @@ perlld: $& Makefile ${src}/cygwin/perlld.in # make sure that all library names are not malformed libperl=`echo $libperl|sed -e s,\\\..*,,` -# it would be nice to allow dll to have any name, -# but for now i insist on 'lib<whatever>.dll' -if ( ! ( echo $libperl | grep '^lib' >/dev/null ) ) -then - libperl=lib$libperl -fi linklibperl=-l`echo $libperl|sed -e s,^lib,,` $spitshell >>Makefile <<!GROK!THIS! @@ -108,11 +102,11 @@ perlmain$(OBJ_EXT): perlmain.c # library used to make statically linked executables # miniperl is linked against it to avoid libperl.dll locking -$(LIBPERL)s$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) +$(LIBPERL)$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) $(AR) rcu $@ perl$(OBJ_EXT) $(cwobj) # dll and import library -$(LIBPERL)$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) ld2 +$(LIBPERL).dll$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) ld2 $(LDLIBPTH) ld2 $(SHRPLDFLAGS) -o $(LIBPERL)$(DLSUFFIX) \ perl$(OBJ_EXT) $(cwobj) $(libs) @@ -125,10 +119,23 @@ $(LIBPERL)$(LIB_EXT): $& perl$(OBJ_EXT) $(cwobj) ld2 # The Module used here must not depend on Config or any extensions. miniperl.exe \ -miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL)s$(LIB_EXT) opmini$(OBJ_EXT) - $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL)s $(libs) +miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) opmini$(OBJ_EXT) + $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest +perl.exe \ +perl: $& perlmain$(OBJ_EXT) $(LIBPERL).dll$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL).dll$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) purify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL).dll$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) purecov $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o purecovperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL).dll$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) quantify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + !NO!SUBS! ;; *) @@ -152,6 +159,19 @@ miniperl: $& miniperlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) opmini$(OBJ_EXT) $(LDLIBPTH) $(CC) $(CLDFLAGS) -o miniperl miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) $(LLIBPERL) $(libs) $(LDLIBPTH) ./miniperl -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest +perl.exe \ +perl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) -Wl,-Bstatic $(LLIBPERL) -Wl,-Bdynamic `cat ext.libs` $(libs) + +pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) purify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) purecov $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o purecovperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + +quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs + $(SHRPENV) $(LDLIBPTH) quantify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) + !NO!SUBS! ;; esac @@ -166,18 +186,6 @@ esac # $spitshell >>Makefile <<'!NO!SUBS!' -perl.exe \ -perl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs - $(SHRPENV) $(LDLIBPTH) $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o perl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) -Wl,-Bstatic $(LLIBPERL) -Wl,-Bdynamic `cat ext.libs` $(libs) - -pureperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs - $(SHRPENV) $(LDLIBPTH) purify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o pureperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) - -purecovperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs - $(SHRPENV) $(LDLIBPTH) purecov $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o purecovperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) - -quantperl: $& perlmain$(OBJ_EXT) $(LIBPERL)$(LIB_EXT) $(DYNALOADER) $(static_ext) ext.libs - $(SHRPENV) $(LDLIBPTH) quantify $(CC) $(CLDFLAGS) $(CCDLFLAGS) -o quantperl perlmain$(OBJ_EXT) $(DYNALOADER) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs) !NO!SUBS! 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"); }; }; |