This is a new ELF patch for Perl 5.000. It supports the Linux C library
5.x.x. I don't have the time to port it to Perl 5.001. I added a new
flag for building ELF shared libraries using an ELF feature. It works
like that: If a shared module foo needs libbar, we build soo.so with
-lbar.  When foo.so is loaded in via dlopen () libbar.so will be loaded
in automatically by the system. I did that for db, gdbm, ndbm
and odbm.

It looks that STATLOADLIBS can do the same thing or can be modified
to do it. But I don't have the time to investigate. And according to
the comments:

# STATLOADLIBS = list of those libraries which must be statically
#               linked into the shared library.  On SunOS 4.1.3,
#               for example,  I have only an archive version of
#               -lm, and it must be linked in statically.

Also we don't want to use the same set of shared libraries for all
shared modules.

My patch passed "make test" in Perl 5.000 with the Linux C library
5.0.1. I hope someone will port my patch to 5.001.

There is a bug in gcvt in the Linux C library 5.0.0. It has been fixed
in 5.0.1. If Configure doesn't find gcvt (), let it use sprintf ()
which I think is a better choice.

H.J.
hjl@nynexst.com
04/06/95
-----
diff -c misc/perl/Configure:1.1.1.1 misc/perl/Configure:1.2
*** misc/perl/Configure:1.1.1.1	Thu Apr  6 08:41:14 1995
--- misc/perl/Configure	Thu Apr  6 08:41:14 1995
***************
*** 205,212 ****
--- 205,214 ----
  byteorder=''
  cc=''
  gccversion=''
+ gcc_test_flags=-fno-builtin
  ccflags=''
  cppflags=''
+ ld='ld'
  ldflags=''
  lkflags=''
  optimize=''
***************
*** 384,389 ****
--- 386,392 ----
  cccdlflags=''
  ccdlflags=''
  dlsrc=''
+ ld='ld'
  lddlflags=''
  usedl=''
  fpostype=''
***************
*** 452,457 ****
--- 455,464 ----
  plibpth=''
  xlibpth=''
  libs=''
+ db_depshlibs=''
+ gdbm_depshlibs=''
+ ndbm_depshlibs=''
+ odbm_depshlibs=''
  lns=''
  lseektype=''
  d_mymalloc=''
***************
*** 2029,2034 ****
--- 2036,2042 ----
  	*)  echo "You are using GNU cc $gccversion." ;;
  	esac
  else
+ 	gcc_test_flags=''
  	echo "I can't compile the test program.  I'll assume it's not GNU cc."
  fi
  $rm -f gccvers*
***************
*** 2991,2997 ****
  $grep fprintf libc.tmp > libc.ptf
  xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4'
  xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4'
! if com="$sed -n -e 's/^.* [ADTSI]  *_[_.]*//p' -e 's/^.* [ADTSI] //p'";\
  	eval $xscan;\
  	$contains '^fprintf$' libc.list >/dev/null 2>&1; then
  		eval $xrun
--- 2999,3005 ----
  $grep fprintf libc.tmp > libc.ptf
  xscan='eval "<libc.ptf $com >libc.list"; $echo $n ".$c" >&4'
  xrun='eval "<libc.tmp $com >libc.list"; echo "done" >&4'
! if com="$sed -n -e 's/^.* [WADTSI]  *_[_.]*//p' -e 's/^.* [WADTSI] //p'";\
  	eval $xscan;\
  	$contains '^fprintf$' libc.list >/dev/null 2>&1; then
  		eval $xrun
***************
*** 3034,3040 ****
  		eval $xrun
  else
  	nm -p $* 2>/dev/null >libc.tmp
! 	com="$sed -n -e 's/^.* [ADTS]  *_[_.]*//p' -e 's/^.* [ADTS] //p'";\
  	eval "<libc.tmp $com >libc.list"
  	if $contains '^fprintf$' libc.list >/dev/null 2>&1; then
  		nm_opt='-p'
--- 3042,3048 ----
  		eval $xrun
  else
  	nm -p $* 2>/dev/null >libc.tmp
! 	com="$sed -n -e 's/^.* [?ADTS]  *_[_.]*//p' -e 's/^.* [?ADTS] //p'";\
  	eval "<libc.tmp $com >libc.list"
  	if $contains '^fprintf$' libc.list >/dev/null 2>&1; then
  		nm_opt='-p'
***************
*** 3098,3104 ****
  		fi;;
  	*)
  		echo "main() { extern int $1$tdc; printf(\"%d\", $1$tc); }" > t.c;
! 		if $cc $ccflags -o t t.c $ldflags $libs >/dev/null 2>&1;
  		then tval=true;
  		else tval=false;
  		fi;
--- 3106,3112 ----
  		fi;;
  	*)
  		echo "main() { extern int $1$tdc; printf(\"%d\", $1$tc); }" > t.c;
! 		if $cc $gcc_test_flags $ccflags -o t t.c $ldflags $libs >/dev/null 2>&1;
  		then tval=true;
  		else tval=false;
  		fi;
***************
*** 4186,4192 ****
  }
  EOM
  	if $cc $ccflags $cccdlflags -c dyna.c > /dev/null 2>&1 && 
! 		ld $lddlflags -o dyna.$dlext dyna.o > /dev/null 2>&1 && 
  		$cc $ccflags $ldflags $cccdlflags $ccdlflags fred.c -o fred $libs > /dev/null 2>&1; then
  		xxx=`./fred`
  		case $xxx in
--- 4194,4200 ----
  }
  EOM
  	if $cc $ccflags $cccdlflags -c dyna.c > /dev/null 2>&1 && 
! 		$ld $lddlflags -o dyna.$dlext dyna.o > /dev/null 2>&1 && 
  		$cc $ccflags $ldflags $cccdlflags $ccdlflags fred.c -o fred $libs > /dev/null 2>&1; then
  		xxx=`./fred`
  		case $xxx in
***************
*** 4614,4619 ****
--- 4622,4645 ----
  set lstat d_lstat
  eval $inlibc
  
+ if [ $d_lstat = "undef" ]; then
+   # try again
+   cat >try.c <<'EOP'
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ main() { 
+  struct stat buf;
+  return lstat ("foo", &buf);
+ }
+ EOP
+   $cc $ccflags $ldflags -o try try.c $libs > /dev/null 2>&1
+   if [ $? = 0 ]; then
+     d_lstat=define
+     echo Ooops. my mistake. lstat FOUND!
+     rm -f try try.c
+   fi
+ fi
+ 
  : see if mblen exists
  set mblen d_mblen
  eval $inlibc
***************
*** 7327,7332 ****
--- 7353,7359 ----
  gccversion='$gccversion'
  ccflags='$ccflags'
  cppflags='$cppflags'
+ ld='$ld'
  ldflags='$ldflags'
  lkflags='$lkflags'
  optimize='$optimize'
***************
*** 7504,7509 ****
--- 7531,7537 ----
  cccdlflags='$cccdlflags'
  ccdlflags='$ccdlflags'
  dlsrc='$dlsrc'
+ ld='$ld'
  lddlflags='$lddlflags'
  usedl='$usedl'
  fpostype='$fpostype'
***************
*** 7572,7577 ****
--- 7600,7609 ----
  plibpth='$plibpth'
  xlibpth='$xlibpth'
  libs='$libs'
+ db_depshlibs='$db_depshlibs'
+ gdbm_depshlibs='$gdbm_depshlibs'
+ ndbm_depshlibs='$ndbm_depshlibs'
+ odbm_depshlibs='$odbm_depshlibs'
  lns='$lns'
  lseektype='$lseektype'
  d_mymalloc='$d_mymalloc'
diff -c misc/perl/Makefile.SH:1.1.1.1 misc/perl/Makefile.SH:1.2
*** misc/perl/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:15 1995
--- misc/perl/Makefile.SH	Thu Apr  6 08:41:15 1995
***************
*** 62,67 ****
--- 62,68 ----
  # I now supply perly.c with the kits, so don't remake perly.c without byacc
  BYACC = $byacc
  CC = $cc
+ LD = $ld
  bin = $installbin
  scriptdir = $scriptdir
  privlib = $installprivlib
diff -c misc/perl/h2xs:1.1.1.1 misc/perl/h2xs:1.2
*** misc/perl/h2xs:1.1.1.1	Thu Apr  6 08:41:15 1995
--- misc/perl/h2xs	Thu Apr  6 08:41:15 1995
***************
*** 342,347 ****
--- 342,352 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
+ DB_DEPSHLIBS = $db_depshlibs
+ GDBM_DEPSHLIBS = $gdbm_depshlibs
+ NDBM_DEPSHLIBS = $ndbm_depshlibs
+ ODBM_DEPSHLIBS = $odbm_depshlibs
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
diff -c misc/perl/myconfig:1.1.1.1 misc/perl/myconfig:1.2
*** misc/perl/myconfig:1.1.1.1	Thu Apr  6 08:41:15 1995
--- misc/perl/myconfig	Thu Apr  6 08:41:15 1995
***************
*** 22,28 ****
      uname='$myuname'
      hint=$hint
    Compiler:
!     cc='$cc', optimize='$optimize'
      cppflags='$cppflags'
      ccflags ='$ccflags'
      ldflags ='$ldflags'
--- 22,28 ----
      uname='$myuname'
      hint=$hint
    Compiler:
!     cc='$cc', optimize='$optimize', ld='$ld'
      cppflags='$cppflags'
      ccflags ='$ccflags'
      ldflags ='$ldflags'
diff -c misc/perl/ext/DB_File/Makefile.SH:1.1.1.1 misc/perl/ext/DB_File/Makefile.SH:1.2
*** misc/perl/ext/DB_File/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:16 1995
--- misc/perl/ext/DB_File/Makefile.SH	Thu Apr  6 08:41:16 1995
***************
*** 62,67 ****
--- 62,69 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
+ DB_DEPSHLIBS = $db_depshlibs
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 137,143 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 139,145 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS) $(DB_DEPSHLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/Fcntl/Makefile.SH:1.1.1.1 misc/perl/ext/Fcntl/Makefile.SH:1.2
*** misc/perl/ext/Fcntl/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:17 1995
--- misc/perl/ext/Fcntl/Makefile.SH	Thu Apr  6 08:41:17 1995
***************
*** 62,67 ****
--- 62,68 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 137,143 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 138,144 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/GDBM_File/Makefile.SH:1.1.1.1 misc/perl/ext/GDBM_File/Makefile.SH:1.2
*** misc/perl/ext/GDBM_File/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:17 1995
--- misc/perl/ext/GDBM_File/Makefile.SH	Thu Apr  6 08:41:17 1995
***************
*** 68,73 ****
--- 68,75 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
+ GDBM_DEPSHLIBS = $gdbm_depshlibs
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 143,149 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 145,151 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS) $(GDBM_DEPSHLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/NDBM_File/Makefile.SH:1.1.1.1 misc/perl/ext/NDBM_File/Makefile.SH:1.2
*** misc/perl/ext/NDBM_File/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:17 1995
--- misc/perl/ext/NDBM_File/Makefile.SH	Thu Apr  6 08:41:17 1995
***************
*** 68,73 ****
--- 68,75 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
+ NDBM_DEPSHLIBS = $ndbm_depshlibs
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 143,149 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 145,151 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS) $(NDBM_DEPSHLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/ODBM_File/Makefile.SH:1.1.1.1 misc/perl/ext/ODBM_File/Makefile.SH:1.2
*** misc/perl/ext/ODBM_File/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:17 1995
--- misc/perl/ext/ODBM_File/Makefile.SH	Thu Apr  6 08:41:17 1995
***************
*** 69,74 ****
--- 69,76 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
+ ODBM_DEPSHLIBS = $ndbm_depshlibs
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 144,150 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 146,152 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS) $(ODBM_DEPSHLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/POSIX/Makefile.SH:1.1.1.1 misc/perl/ext/POSIX/Makefile.SH:1.2
*** misc/perl/ext/POSIX/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:18 1995
--- misc/perl/ext/POSIX/Makefile.SH	Thu Apr  6 08:41:18 1995
***************
*** 62,67 ****
--- 62,68 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 137,143 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 138,144 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/SDBM_File/Makefile.SH:1.1.1.1 misc/perl/ext/SDBM_File/Makefile.SH:1.2
*** misc/perl/ext/SDBM_File/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:18 1995
--- misc/perl/ext/SDBM_File/Makefile.SH	Thu Apr  6 08:41:18 1995
***************
*** 62,67 ****
--- 62,68 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 137,143 ****
  $(INSTALLDYNAMIC): $(EXT).o sdbm/libsdbm.a
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o sdbm/libsdbm.a $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 138,144 ----
  $(INSTALLDYNAMIC): $(EXT).o sdbm/libsdbm.a
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o sdbm/libsdbm.a $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/ext/Socket/Makefile.SH:1.1.1.1 misc/perl/ext/Socket/Makefile.SH:1.2
*** misc/perl/ext/Socket/Makefile.SH:1.1.1.1	Thu Apr  6 08:41:18 1995
--- misc/perl/ext/Socket/Makefile.SH	Thu Apr  6 08:41:18 1995
***************
*** 62,67 ****
--- 62,68 ----
  # This Makefile is for the $ext extension to perl.
  # 
  CC = $cc
+ LD = $ld
  RANLIB = $ranlib
  TOP = $TOP
  ABSTOP = $ABSTOP
***************
*** 137,143 ****
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	ld $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
--- 138,144 ----
  $(INSTALLDYNAMIC): $(EXT).o
  	@test -d $(AUTO) || mkdir $(AUTO)
  	@test -d $(AUTO)/$(EXT) || mkdir $(AUTO)/$(EXT)
! 	$(LD) $(LDDLFLAGS) -o $@ $(EXT).o $(STATLOADLIBS)
  
  $(BOOTSTRAP):	Makefile $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib $(TOP)/ext/util/mkbootstrap $(DYNALOADLIBS)
diff -c misc/perl/hints/linux.sh:1.1.1.1 misc/perl/hints/linux.sh:1.2
*** misc/perl/hints/linux.sh:1.1.1.1	Thu Apr  6 08:41:19 1995
--- misc/perl/hints/linux.sh	Thu Apr  6 08:41:19 1995
***************
*** 2,32 ****
  # Original version by rsanders
  # Additional dlext support by Kenneth Albanowski <kjahds@kjahds.com>
  # Target system: linux hrothgar 1.1.12 #9 sat may 14 02:03:23 edt 1994 i486 
  bin='/usr/bin' 
- ccflags='-I/usr/include/bsd'
- cppflags=' -I/usr/include/bsd'
  d_dosuid='define'
  d_voidsig='define'
  gidtype='gid_t'
  groupstype='gid_t'
  malloctype='void *'
  nm_opt=''
! optimize='-O2'
  sig_name='ZERO HUP INT QUIT ILL TRAP IOT UNUSED FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH'
! signal_t='void'
  uidtype='uid_t'
  usemymalloc='n'
  yacc='bison -y'
! lddlflags='-r'
! so='sa'
! dlext='o'
! ## If you are using DLD 3.2.4 which does not support shared libs,
! ## uncomment the next two lines:
! #ldflags="-static"
! #so='none'
  
  cat <<EOM
  
! You should take a look at hints/linux.sh. There are a couple of lines you
  may wish to change near the bottom.
  EOM
--- 2,39 ----
  # Original version by rsanders
  # Additional dlext support by Kenneth Albanowski <kjahds@kjahds.com>
  # Target system: linux hrothgar 1.1.12 #9 sat may 14 02:03:23 edt 1994 i486 
+ # ELF support by H.J. Lu <hjl@nynexst.com>
  bin='/usr/bin' 
  d_dosuid='define'
  d_voidsig='define'
  gidtype='gid_t'
  groupstype='gid_t'
  malloctype='void *'
  nm_opt=''
! optimize='-O1 -fomit-frame-pointer'
  sig_name='ZERO HUP INT QUIT ILL TRAP IOT UNUSED FPE KILL USR1 SEGV USR2 PIPE ALRM TERM STKFLT CHLD CONT STOP TSTP TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH'
! signal_t='int'
  uidtype='uid_t'
  usemymalloc='n'
  yacc='bison -y'
! cc='gcc'
! ld='gcc'
! ccdlflags='-rdynamic'
! lddlflags='-shared'
! cccdlflags='-fPIC'
! so='so'
! dlext='so'
! libswanted='none'
! libs='-ldl -lm'
! libpth='/lib'
! libc='/lib/libc.so'
! db_depshlibs='-ldb'
! gdbm_depshlibs='-lgdbm'
! ndbm_depshlibs='-ldbm'
! odbm_depshlibs='-ldbm'
  
  cat <<EOM
  
! You should take a look at hints/linux.sh. There are a couple of lines you
  may wish to change near the bottom.
  EOM
diff -c misc/perl/lib/ExtUtils/MakeMaker.pm:1.1.1.1 misc/perl/lib/ExtUtils/MakeMaker.pm:1.2
*** misc/perl/lib/ExtUtils/MakeMaker.pm:1.1.1.1	Thu Apr  6 08:41:20 1995
--- misc/perl/lib/ExtUtils/MakeMaker.pm	Thu Apr  6 08:41:20 1995
***************
*** 304,309 ****
--- 304,314 ----
  
      push @m, "
  CC = $Config{'cc'}
+ LD = $Config{'ld'}
+ DB_DEPSHLIBS= $Config{'db_depshlibs'}
+ GDBM_DEPSHLIBS= $Config{'gdbm_depshlibs'}
+ NDBM_DEPSHLIBS= $Config{'ndbm_depshlibs'}
+ ODBM_DEPSHLIBS= $Config{'odbm_depshlibs'}
  LIBC = $Config{'libc'}
  LDFLAGS = $Config{'ldflags'}
  CLDFLAGS = $Config{'ldflags'}
***************
*** 455,461 ****
  $(INST_DYNAMIC): $(OBJECT)
  	@$(MKPATH) $(AUTOEXT)
  	$(ARMAYBE) cr $(EXTMODNAME).a $(OBJECT) 
! 	ld $(LDDLFLAGS) -o $@ $(LDTARGET) '.$att{'otherldflags'}.' $(STATLOADLIBS)
  
  $(BOOTSTRAP): $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib -e \'use ExtUtils::MakeMaker; &mkbootstrap("$(DYNALOADLIBS)");\'
--- 460,466 ----
  $(INST_DYNAMIC): $(OBJECT)
  	@$(MKPATH) $(AUTOEXT)
  	$(ARMAYBE) cr $(EXTMODNAME).a $(OBJECT) 
! 	$(LD) $(LDDLFLAGS) -o $@ $(LDTARGET) '.$att{'otherldflags'}.' $(STATLOADLIBS)
  
  $(BOOTSTRAP): $(BOOTDEP)
  	$(PERL) -I$(TOP)/lib -e \'use ExtUtils::MakeMaker; &mkbootstrap("$(DYNALOADLIBS)");\'
