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 /Makefile.SH | |
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 'Makefile.SH')
-rw-r--r-- | Makefile.SH | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/Makefile.SH b/Makefile.SH index df3a65efdc..8e295a85fa 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -70,7 +70,7 @@ $spitshell >Makefile <<'!NO!SUBS!' # Makefile is used to generate makefile. The only difference # is that makefile has the dependencies filled in at the end. # -# +# !NO!SUBS! $spitshell >>Makefile <<!GROK!THIS! @@ -124,7 +124,7 @@ $spitshell >>Makefile <<'!NO!SUBS!' CCCMD = `sh $(shellflags) cflags $(perllib) $@` -private = +private = preplibrary lib/ExtUtils/Miniperl.pm lib/Config.pm scripts = @@ -134,7 +134,7 @@ util = sh = Makefile.SH cflags.SH makedepend.SH makedir.SH writemain.SH -h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h +h1 = EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h dosish.h h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h h3 = opcode.h patchlevel.h perl.h perly.h pp.h proto.h regcomp.h h4 = regexp.h scope.h sv.h unixish.h util.h @@ -173,7 +173,7 @@ SHELL = /bin/sh .c.o: $(CCCMD) $(PLDLFLAGS) $*.c -all: makefile miniperl preplibrary $(public) $(dynamic_ext) +all: makefile miniperl $(private) $(public) $(dynamic_ext) @echo " "; echo " Making x2p stuff"; cd x2p; $(MAKE) all @echo " "; echo " Making docs"; cd pod; $(MAKE) all; @@ -203,7 +203,7 @@ perlmain.o: perlmain.c # The file ext.libs is a list of libraries that must be linked in # for static extensions, e.g. -lm -lgdbm, etc. The individual # static extension Makefile's add to it. -ext.libs: $(static_ext) +ext.libs: $(static_ext) -@test -f ext.libs || touch ext.libs perl: $& perlmain.o $(perllib) $(DYNALOADER) $(static_ext) ext.libs @@ -265,6 +265,9 @@ lib/Config.pm: config.sh miniperl ./miniperl configpm tmp sh mv-if-diff tmp lib/Config.pm +lib/ExtUtils/Miniperl.pm: miniperlmain.c miniperl minimod.PL lib/Config.pm + ./miniperl minimod.PL > tmp && mv tmp $@ + install: all ./perl installperl !NO!SUBS! @@ -274,7 +277,7 @@ install: all : doing can uncomment them and run yacc or bison or whatever. case "$d_byacc" in 'define') - comment1='' + comment1='' comment2='#' ;; *) comment1='#' comment2='' ;; @@ -305,7 +308,7 @@ ${comment2} touch perly.c $spitshell >>Makefile <<'!NO!SUBS!' # Extensions: # Names added to $(dynamic_ext) or $(static_ext) will automatically -# get built. There should ordinarily be no need to change any of +# get built. There should ordinarily be no need to change any of # this part of makefile. # # The dummy dependency is a place holder in case $(dynamic_ext) or @@ -324,7 +327,7 @@ s_dummy $(static_ext): miniperl preplibrary $(DYNALOADER) FORCE clean: rm -f *.o *.a all perlmain.c - rm -f perl.exp ext.libs ext/util/extlibist + rm -f perl.exp ext.libs -cd x2p; $(MAKE) clean -cd pod; $(MAKE) clean -@for x in $(DYNALOADER) $(dynamic_ext) $(static_ext) ; do \ @@ -341,7 +344,7 @@ realclean: clean rm -rf $(addedbyconf) rm -f Makefile cflags makedepend makedir writemain rm -f config.h makefile makefile.old - rm -f lib/Config.pm + rm -f $(private) rm -rf lib/auto rm -f h2ph h2ph.man c2ph pstruct rm -rf .config @@ -349,7 +352,7 @@ realclean: clean clobber: realclean rm -f config.sh cppstdin - + distclean: clobber # The following lint has practically everything turned on. Unfortunately, |