diff options
author | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-02-11 01:17:38 +0000 |
---|---|---|
committer | Andy Dougherty <doughera@lafcol.lafayette.edu> | 1995-02-11 01:17:38 +0000 |
commit | fed7345c45910a20f6865d6a2f8978d09b352f41 (patch) | |
tree | a3147c3565cd04d07489806ee79cd4fb13241223 /hints | |
parent | 1aef975c78d2e948679875705c79cbbbddfe5ad7 (diff) | |
download | perl-fed7345c45910a20f6865d6a2f8978d09b352f41.tar.gz |
perl5.000 patch.0k: MakeMaker 4.06 and to fix minor portability and build problems reported even after patches 0a through 0j
MakeMaker 4.06 allows you to build extensions away from the source
tree with either static or dynamic loading.
In a rare act of prescience, I've also fixed some un-reported bugs.
Specifically, there were several places where Configure said you could
specify things using ~name notation, but, in fact, you couldn't.
In detail, here's what's included:
Configure
Check I_SYS_TYPES for x2p/a2p.h
Improve and generalize $osvers detection for DEC Alpha
(now will work even for osvers > 3.)
No longer override hint-file setting of $archname.
Don't tell users ~name is ok for Dynamic loading file. It's not.
MANIFEST
MANIFEST.new
Updated.
Makefile.SH
Some trailing ' ' removed from lines.
New target lib/ExtUtils/Miniperl.pm built. This stashes away
miniperlmain.c in the library so new static extensions can be
built away from the source tree.
Minor cleanup.
U/Oldconfig.pat.2
This is a patch to be applied against dist-PL 50 to upgrade
the DEC OSF/1 version detection.
U/archlib.U
Preserve previous value for $archname. Otherwise this is
identical to the unit in dist-PL 50.
U/dlsrc.U
Users may not use ~name notation to find the dynamic loading
module. (Back in early alpha days they could, but that hasn't
worked since the DynaLoader module was introduced.
config.H
Updated.
config_h.SH
Updated.
hints/dec_osf.sh
Updated. Simplified. Don't use ld -no_archive (at least as
the default). It only worked because some versions *ignored* it.
hints/mpeix.sh
Add a few comments. I should have added more.
hints/next_3_0.sh
New hint file from Kevin White <klwhite@magnus.acs.ohio-state.edu>
hints/ultrix_4.sh
Separate out flags not appropriate for gcc.
installperl
Install sperl.o.
lib/ExtUtils/MakeMaker.pm
Upgraded from 4.03 to 4.06. Many improvements. Now possible
to build and install new extensions outside the source tree,
for both static and dynamic loading.
lib/File/Path.pm
New. Creates or removes a series of directories
makeaperl
New utility to create a new perl binary from static extensions
minimod.PL
New. minimod.PL writes the contents of miniperlmain.c into the
module ExtUtils::Miniperl for later perusal (when the perl
source is deleted)
perl.c
ARCHLIB and PRIVLIB changed to ARCHLIB_EXP and PRIVLIB_EXP,
since perl is not prepared to deal with ~name expansion. The
_EXP variables are pre-expanded by Configure.
proto.h
NeXt 3.0 couldn't handle the #ifdef __attribute line.
It said 'illegal #ifdef'.
vms/config.vms
s/ARCHLIB/ARCHLIB_EXP/;
s/PRIVLIB/PRIVLIB_EXP/;
Add in I_SYS_STAT and I_SYS_TYPES, since the source now looks
for them.
vms/ext/MM_VMS.pm
New file.
x2p/a2p.h
Include <sys/types.h>
Diffstat (limited to 'hints')
-rw-r--r-- | hints/dec_osf.sh | 12 | ||||
-rw-r--r-- | hints/mpeix.sh | 2 | ||||
-rw-r--r-- | hints/next_3_0.sh | 43 | ||||
-rw-r--r-- | hints/ultrix_4.sh | 37 |
4 files changed, 72 insertions, 22 deletions
diff --git a/hints/dec_osf.sh b/hints/dec_osf.sh index 311a786ace..38b48e53e3 100644 --- a/hints/dec_osf.sh +++ b/hints/dec_osf.sh @@ -1,11 +1,3 @@ # hints/dec_osf.sh -case "$optimize" in -'') optimize="-g" ;; -esac -ccflags="$ccflags -DSTANDARD_C -DDEBUGGING" -# Version 1 has problems with -no_archive if only an archive -# lib is available. -case "$osvers" in -1*) lddlflags='-shared -expect_unresolved "*" -s' ;; -*) lddlflags='-shared -no_archive -expect_unresolved "*" -s' ;; -esac +ccflags="$ccflags -DSTANDARD_C" +lddlflags='-shared -expect_unresolved "*" -s' diff --git a/hints/mpeix.sh b/hints/mpeix.sh index 6c548284af..9fc2737893 100644 --- a/hints/mpeix.sh +++ b/hints/mpeix.sh @@ -1,3 +1,5 @@ +# MPE/IX does not have nm, and the linker doesn't complain +# about unresolved symbols, so these are all filled in by hand. osname='mpeix' osvers='5.0' alignbytes='8' diff --git a/hints/next_3_0.sh b/hints/next_3_0.sh new file mode 100644 index 0000000000..a34d621449 --- /dev/null +++ b/hints/next_3_0.sh @@ -0,0 +1,43 @@ +# This file has been put together by Anno Siegel <siegel@zrz.TU-Berlin.DE> +# and Andreas Koenig <k@franz.ww.TU-Berlin.DE>. Comments, questions, and +# improvements welcome! + +# This file was modified to work on NS 3.0 by Kevin White +# <klwhite@magnus.acs.ohio-state.edu>, based on suggestions by Andreas +# Koenig and Andy Dougherty. + +echo With NS 3.0 you won\'t be able to use the POSIX module. +echo Be aware that some of the tests that are run during "make test" +echo will fail due to the lack of POSIX support on this system. +echo +echo Also, if you have the GDBM installed, make sure the header file +echo is located at a place on the system where the C compiler will +echo find it. By default, it is placed in /usr/local/include/gdbm.h. +echo It will not be found there. Try moving it to +echo /NextDeveloper/Headers/bsd/gdbm.h. + +ccflags='-DUSE_NEXT_CTYPE -DNEXT30_NO_ATTRIBUTE' +POSIX_cflags='ccflags="-posix $ccflags"' +useposix='undef' +ldflags='-u libsys_s' +libswanted='dbm gdbm db' +lddlflags='-r' +i_utime='undef' +groupstype='int' +direntrytype='struct direct' +d_strcoll='undef' +# the simple program `for ($i=1;$i<38771;$i++){$t{$i}=123}' fails +# with Larry's malloc on NS 3.2 due to broken sbrk() +usemymalloc='n' +d_uname='define' +d_setpgid='define' +d_setsid='define' +d_tcgetpgrp='define' +d_tcsetpgrp='define' +# +# On some NeXT machines, the timestamp put by ranlib is not correct, and +# this may cause useless recompiles. Fix that by adding a sleep before +# running ranlib. The '5' is an empirical number that's "long enough." +# (Thanks to Andreas Koenig <k@franz.ww.tu-berlin.de>) +ranlib='sleep 5; /bin/ranlib' + diff --git a/hints/ultrix_4.sh b/hints/ultrix_4.sh index 654a6a1e05..f0369c0be7 100644 --- a/hints/ultrix_4.sh +++ b/hints/ultrix_4.sh @@ -1,32 +1,45 @@ # hints/ultrix_4.sh # Last updated by Andy Dougherty <doughera@lafcol.lafayette.edu> -# Wed Nov 2 13:41:14 EST 1994 +# Fri Feb 10 10:04:51 EST 1995 +# +# Use Configure -Dcc=gcc to use gcc. # # I don't know if -g is really needed. (AD) case "$optimize" in '') optimize=-g ;; esac + case "$myuname" in *risc*) cat <<EOF Note that there is a bug in some versions of NFS on the DECStation that may cause utime() to work incorrectly. If so, regression test io/fs may fail if run under NFS. Ignore the failure. EOF +esac + +# Compiler flags that depend on osversion: +case "$cc" in +*gcc*) ;; +*) case "$osvers" in - *4.2*) d_volatile=undef;; + *4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" ;; + *4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" + case "$myuname" in + *risc*) d_volatile=undef ;; + esac + ;; + *4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 2900" ;; + *) ccflags="$ccflags -std -Olimit 2900" ;; esac ;; esac + +# Other settings that depend on $osvers: case "$osvers" in -*4.1*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" - ;; -*4.2*) ccflags="$ccflags -DLANGUAGE_C -Olimit 2900" - libswanted=`echo $libswanted | sed 's/ malloc / /'` - ;; -*4.3*) ccflags="$ccflags -std1 -DLANGUAGE_C -Olimit 2900" - ;; -*4*) ccflags="$ccflags -std -Olimit 2900" - ranlib='ranlib' - ;; +*4.1*) ;; +*4.2*) libswanted=`echo $libswanted | sed 's/ malloc / /'` ;; +*4.3*) ;; +*) ranlib='ranlib' ;; esac + groupstype='int' |