summaryrefslogtreecommitdiff
path: root/Makefile.SH
diff options
context:
space:
mode:
authorAndy Dougherty <doughera@lafcol.lafayette.edu>1995-02-11 01:17:38 +0000
committerAndy Dougherty <doughera@lafcol.lafayette.edu>1995-02-11 01:17:38 +0000
commitfed7345c45910a20f6865d6a2f8978d09b352f41 (patch)
treea3147c3565cd04d07489806ee79cd4fb13241223 /Makefile.SH
parent1aef975c78d2e948679875705c79cbbbddfe5ad7 (diff)
downloadperl-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.SH23
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,