# $Id: Head.U,v 3.0.1.6 1994/10/29 15:54:19 ram Exp $
#
-# Generated on Mon Mar 6 11:00:02 EST 1995 [metaconfig 3.0 PL51]
+# Generated on Fri Mar 10 09:48:55 EST 1995 [metaconfig 3.0 PL51]
cat >/tmp/c1$$ <<EOF
ARGGGHHHH!!!!!
$test -d /usr/apollo/bin && osname=apollo
$test -f /etc/saf/_sactab && osname=svr4
$test -d /usr/include/minix && osname=minix
+ $test -d /MachTen && osname=machten && \
+ osvers=`/usr/etc/version | $awk '{print $2}' | \
+ $sed -e 's/[A-Za-z]$//'`
if $test -f $uname; then
set X $myuname
shift
var=$2; eval "was=\$$2";
if $test "$xxx" && $test -r "$xxx";
then eval $xxf;
- eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td";
+ eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td";
cont="";
else eval $xxnf;
- eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi;
+ eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi;
set $yyy; shift; shift; yyy=$@;
case $# in 0) cont="";;
2) xxf="echo \"but I found <\$1> $instead.\" >&4";
echo " "
echo "Looking for extensions..." >&4
cd ../ext
+: If we are using the old config.sh, known_extensions may contain
+: old or inaccurate or duplicate values.
known_extensions=''
+: We do not use find because it might not be available.
+: We do not just use MANIFEST because the user may have dropped
+: some additional extensions into the source tree and expect them
+: to be built.
for xxx in * ; do
if $test -f $xxx/$xxx.xs; then
known_extensions="$known_extensions $xxx"
+ else
+ if $test -d $xxx; then
+ cd $xxx
+ for yyy in * ; do
+ if $test -f $yyy/$yyy.xs; then
+ known_extensions="$known_extensions $xxx/$yyy"
+ fi
+ done
+ cd ..
+ fi
fi
done
set X $known_extensions
hints/isc.sh Hints for named architecture
hints/isc_2.sh Hints for named architecture
hints/linux.sh Hints for named architecture
+hints/machten.sh Hints for named architecture
hints/mips.sh Hints for named architecture
hints/mpc.sh Hints for named architecture
hints/mpeix.sh Hints for named architecture
hints/isc.sh Hints for named architecture
hints/isc_2.sh Hints for named architecture
hints/linux.sh Hints for named architecture
+hints/machten.sh Hints for named architecture
hints/mips.sh Hints for named architecture
hints/mpc.sh Hints for named architecture
hints/mpeix.sh Hints for named architecture
embed.h: embed_h.sh global.sym interp.sym
sh embed_h.sh
+# We have to call our ./makedir because Ultrix 4.3 make can't handle the line
+# test -d lib/auto || mkdir lib/auto
+#
preplibrary: miniperl lib/Config.pm
@./makedir lib/auto
@echo " AutoSplitting perl library"
?S: for hints files to indicate that POSIX will not compile
?S: on a particular system.
?S:.
-?T:xxx avail_ext
+?T:xxx yyy avail_ext
?INIT:: set useposix=false in your hint file to disable the POSIX extension.
?INIT:useposix=true
echo " "
echo "Looking for extensions..." >&4
cd ../ext
-?X: If we're using the old config.sh, known_extensions may contain
-?X: old or inaccurate (or duplicate) values.
+: If we are using the old config.sh, known_extensions may contain
+: old or inaccurate or duplicate values.
known_extensions=''
+: We do not use find because it might not be available.
+: We do not just use MANIFEST because the user may have dropped
+: some additional extensions into the source tree and expect them
+: to be built.
for xxx in * ; do
if $test -f $xxx/$xxx.xs; then
known_extensions="$known_extensions $xxx"
+ else
+ if $test -d $xxx; then
+ cd $xxx
+ for yyy in * ; do
+ if $test -f $yyy/$yyy.xs; then
+ known_extensions="$known_extensions $xxx/$yyy"
+ fi
+ done
+ cd ..
+ fi
fi
done
set X $known_extensions
Oldconfig.U
Clean up and extend the $osvers detection for DEC OSF/1 on the Alpha.
+ Add MachTen detection (requires adding awk to ?MAKE line).
archname.U
Protect against spaces in the output of uname -m.
+Inhdr.U
+ Delete tabs that caused /bin/sh to core dump on Mach Ten 2.1.1.
libc.U
Pick up Linux nm output with leading __IO.
sig_name.U
Dept. of Physics
Lafayette College, Easton, PA 18042 USA
+Index: Inhdr.U
+Prereq: 3.0.1.1
+*** mcon/U/Inhdr.U Sat Oct 29 15:28:15 1994
+--- /home2/doughera/lib/dist/U/Inhdr.U Wed Mar 8 15:52:13 1995
+***************
+*** 52,61 ****
+ var=$2; eval "was=\$$2";
+ if $test "$xxx" && $test -r "$xxx";
+ then eval $xxf;
+! eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td";
+ cont="";
+ else eval $xxnf;
+! eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi;
+ set $yyy; shift; shift; yyy=$@;
+ case $# in 0) cont="";;
+ 2) xxf="echo \"but I found <\$1> $instead.\" >&4";
+--- 52,65 ----
+ var=$2; eval "was=\$$2";
+ if $test "$xxx" && $test -r "$xxx";
+ then eval $xxf;
+! ?X: This line deliberately shifted left 1 tabstop to avoid /bin/sh core dump
+! ?X: on MachTen 2.1.1. --AD March 8, 1995
+! eval "case \"\$$var\" in $undef) . ./whoa; esac"; eval "$var=\$td";
+ cont="";
+ else eval $xxnf;
+! ?X: This line deliberately shifted left 1 tabstop to avoid /bin/sh core dump
+! ?X: on MachTen 2.1.1. --AD March 8, 1995
+! eval "case \"\$$var\" in $define) . ./whoa; esac"; eval "$var=\$tu"; fi;
+ set $yyy; shift; shift; yyy=$@;
+ case $# in 0) cont="";;
+ 2) xxf="echo \"but I found <\$1> $instead.\" >&4";
Index: Oldconfig.U
Prereq: 3.0.1.7
*** mcon/U/Oldconfig.U Thu Feb 16 09:52:38 1995
---- /home2/doughera/lib/dist/U/Oldconfig.U Thu Feb 16 16:26:25 1995
+--- /home2/doughera/lib/dist/U/Oldconfig.U Fri Mar 10 09:43:30 1995
+***************
+*** 45,51 ****
+ ?X: for the sake of setting defaults.
+ ?X:
+ ?MAKE:Oldconfig hint myuname osname osvers: Instruct Myread uname \
+! sed test cat rm lns n c contains Loc Options Tr
+ ?MAKE: -pick wipe $@ %<
+ ?S:myuname:
+ ?S: The output of 'uname -a' if available, otherwise the hostname. On Xenix,
+--- 45,51 ----
+ ?X: for the sake of setting defaults.
+ ?X:
+ ?MAKE:Oldconfig hint myuname osname osvers: Instruct Myread uname \
+! awk sed test cat rm lns n c contains Loc Options Tr
+ ?MAKE: -pick wipe $@ %<
+ ?S:myuname:
+ ?S: The output of 'uname -a' if available, otherwise the hostname. On Xenix,
+***************
+*** 150,155 ****
+--- 150,158 ----
+ $test -d /usr/apollo/bin && osname=apollo
+ $test -f /etc/saf/_sactab && osname=svr4
+ $test -d /usr/include/minix && osname=minix
++ $test -d /MachTen && osname=machten && \
++ osvers=`/usr/etc/version | $awk '{print $2}' | \
++ $sed -e 's/[A-Za-z]$//'`
+ ?X: If we have uname, we already computed a suitable uname -a output, correctly
+ ?X: formatted for Xenix, and it lies in $myuname.
+ if $test -f $uname; then
***************
*** 264,275 ****
osvers="$3"
;;
hp*) osname=hp_osf1 ;;
mips) osname=mips_osf1 ;;
---- 264,274 ----
+--- 267,277 ----
osvers="$3"
;;
osf1) case "$5" in
dynamic_ext static_ext extensions dl_src
sig_name ccflags cppflags intsize);
+# names of things which may need to have slashes changed to double-colons
+@extensions = qw(dynamic_ext static_ext extensions known_extensions);
+
open CONFIG, ">$config_pm" or die "Can't open $config_pm: $!\n";
$myver = sprintf("%.3f", $]);
ENDOFBEG
@fast{@fast} = @fast;
+@extensions{@extensions} = @extensions;
@non_v=();
@v_fast=();
@v_others=();
push(@non_v, "#$_"); # not a name='value' line
next;
}
- if (!$fast{$1}){ push(@v_others, $_); next; }
+ $name = $1;
+ if ($extensions{$name}) { s,/,::,g }
+ if (!$fast{$name}){ push(@v_others, $_); next; }
push(@v_fast,$_);
}
if (dodup)
fd = dup(fd);
if (!(fp = fdopen(fd,mode)))
- close(fd);
+ if (dodup)
+ close(fd);
}
}
else {
require Exporter;
require AutoLoader;
require DynaLoader;
-@ISA = (TieHash, Exporter, DynaLoader);
+@ISA = qw(TieHash Exporter DynaLoader);
@EXPORT = qw(
$DB_BTREE $DB_HASH $DB_RECNO
BTREEMAGIC
use Carp;
use AutoLoader;
-@ISA=(AutoLoader);
+@ISA=qw(AutoLoader);
# enable messages from DynaLoader perl code
require Exporter;
require AutoLoader;
require DynaLoader;
-@ISA = (Exporter, DynaLoader);
+@ISA = qw(Exporter DynaLoader);
# Items to export into callers namespace by default
# (move infrequently used names to @EXPORT_OK below)
@EXPORT =
require Exporter;
require AutoLoader;
require DynaLoader;
-@ISA = (TieHash, Exporter, DynaLoader);
+@ISA = qw(TieHash Exporter DynaLoader);
@EXPORT = qw(
GDBM_CACHESIZE
GDBM_FAST
require AutoLoader;
require DynaLoader;
require Config;
-@ISA = (Exporter, DynaLoader);
+@ISA = qw(Exporter DynaLoader);
$H{assert_h} = [qw(assert NDEBUG)];
require Exporter;
require AutoLoader;
require DynaLoader;
-@ISA = (Exporter, DynaLoader);
+@ISA = qw(Exporter DynaLoader);
@EXPORT = qw(
AF_802
AF_APPLETALK
--- /dev/null
+# machten.sh
+# This file has been put together by Mark Pease <peasem@primenet.com>
+# Comments, questions, and improvements welcome!
+#
+# MachTen does not support dynamic loading. If you wish to, you
+# can get <ftp://tsx-11.mit.edu/pub/linux/sources/libs/dld-src-3.2.4.tar.gz>
+# compile and install. This is the version of DLD that works with the
+# ext/DynaLoader/dl_dld.xs in the perl5 package. Have fun!
+#
+# Original version was for MachTen 2.1.1.
+# Last modified by Andy Dougherty <doughera@lafcol.lafayette.edu>
+# Wed Mar 8 15:58:05 EST 1995
+
+# I don't know why this is needed. It might be similar to NeXT's
+# problem. See hints/next_3_2.sh.
+usemymalloc='n'
+
+so='none'
+# These are useful only if you have DLD, but harmless otherwise.
+lddlflags='-r'
+dlext='o'
+
+# MachTen does not support POSIX enough to compile the POSIX module.
+useposix=false
+
+#MachTen might have an incomplete Berkeley DB implementation.
+i_db=$undef
package ExtUtils::MakeMaker;
-$Version = 4.085; # Last edited 21st Feb 1995 by Andreas Koenig
+$Version = 4.086; # Last edited 9 Mar 1995 by Andy Dougherty
use Config;
check_hints();
",' $(PERL) $(I_PERL_LIBS) -e \'use ExtUtils::MakeMaker; \\
mksymlists(DL_FUNCS => ',
%$funcs ? neatvalue($funcs) : '""',', DL_VARS => ',
- @$vars ? neatvalue($vars) : '""',")'
+ @$vars ? neatvalue($vars) : '""', ", NAME => \"$att{NAME}\")'
");
join('',@m);
my($found_lib)=0;
foreach $thispth (@searchpath, @libpath){
+ # Try to find the full name of the library. We need this to
+ # determine whether it's a dynamically-loadable library or not.
+ # This tends to be subject to various os-specific quirks.
+ # For gcc-2.6.2 on linux (March 1995), DLD can not load
+ # .sa libraries, with the exception of libm.sa, so we
+ # deliberately skip them.
if (@fullname=<${thispth}/lib${thislib}.${so}.[0-9]*>){
$fullname=$fullname[-1]; #ATTN: 10 looses against 9!
- } elsif (-f ($fullname="$thispth/lib$thislib.$so")){
+ } elsif (-f ($fullname="$thispth/lib$thislib.$so")
+ && (($Config{'dlsrc'} ne "dl_dld") || ($thislib eq "m"))){
} elsif (-f ($fullname="$thispth/lib${thislib}_s.a")
&& ($thislib .= "_s") ){ # we must explicitly ask for _s version
} elsif (-f ($fullname="$thispth/lib$thislib.a")){
Allowed C<make test TEST_VERBOSE=1>
+v4.086 March 9 1995 by Andy Dougherty
+
+Fixed some AIX buglets. Fixed DLD support for Linux with gcc 2.6.2.
+
=head1 NOTES
MakeMaker development work still to be done:
#endif
#ifndef HAS_DUP2
+int
dup2(oldfd,newfd)
int oldfd;
int newfd;
{
#if defined(HAS_FCNTL) && defined(F_DUPFD)
+ if (oldfd == newfd)
+ return oldfd;
close(newfd);
- fcntl(oldfd, F_DUPFD, newfd);
+ return fcntl(oldfd, F_DUPFD, newfd);
#else
int fdtmp[256];
I32 fdx = 0;
int fd;
if (oldfd == newfd)
- return 0;
+ return oldfd;
close(newfd);
- while ((fd = dup(oldfd)) != newfd) /* good enough for low fd's */
+ while ((fd = dup(oldfd)) != newfd && fd >= 0) /* good enough for low fd's */
fdtmp[fdx++] = fd;
while (fdx > 0)
close(fdtmp[--fdx]);
+ return fd;
#endif
}
#endif