head	1.31;
access;
symbols
	RELENG_4_11_0_RELEASE:1.27.2.2
	RELENG_4_11:1.27.2.2.0.18
	RELENG_4_11_BP:1.27.2.2
	RELENG_4_10_0_RELEASE:1.27.2.2
	RELENG_4_10:1.27.2.2.0.16
	RELENG_4_10_BP:1.27.2.2
	RELENG_4_9_0_RELEASE:1.27.2.2
	RELENG_4_9:1.27.2.2.0.14
	RELENG_4_9_BP:1.27.2.2
	RELENG_4_8_0_RELEASE:1.27.2.2
	RELENG_4_8:1.27.2.2.0.12
	RELENG_4_8_BP:1.27.2.2
	RELENG_4_7_0_RELEASE:1.27.2.2
	RELENG_4_7:1.27.2.2.0.10
	RELENG_4_7_BP:1.27.2.2
	RELENG_4_6_2_RELEASE:1.27.2.2
	RELENG_4_6_1_RELEASE:1.27.2.2
	RELENG_4_6_0_RELEASE:1.27.2.2
	RELENG_4_6:1.27.2.2.0.8
	RELENG_4_6_BP:1.27.2.2
	RELENG_4_5_0_RELEASE:1.27.2.2
	RELENG_4_5:1.27.2.2.0.6
	RELENG_4_5_BP:1.27.2.2
	RELENG_4_4_0_RELEASE:1.27.2.2
	RELENG_4_4:1.27.2.2.0.4
	RELENG_4_4_BP:1.27.2.2
	RELENG_4_3_0_RELEASE:1.27.2.2
	RELENG_4_3:1.27.2.2.0.2
	RELENG_4_3_BP:1.27.2.2
	RELENG_4_2_0_RELEASE:1.27.2.2
	RELENG_4_1_1_RELEASE:1.27.2.1
	PRE_SMPNG:1.30
	RELENG_4_1_0_RELEASE:1.27.2.1
	RELENG_3_5_0_RELEASE:1.16.2.2
	RELENG_4_0_0_RELEASE:1.27
	RELENG_4:1.27.0.2
	RELENG_4_BP:1.27
	RELENG_3_4_0_RELEASE:1.16.2.2
	RELENG_3_3_0_RELEASE:1.16.2.2
	RELENG_3_2_PAO:1.16.2.1.0.2
	RELENG_3_2_PAO_BP:1.16.2.1
	RELENG_3_2_0_RELEASE:1.16.2.1
	RELENG_3_1_0_RELEASE:1.16
	RELENG_3:1.16.0.2
	RELENG_3_BP:1.16
	RELENG_2_2_8_RELEASE:1.5
	RELENG_3_0_0_RELEASE:1.16
	RELENG_2_2_7_RELEASE:1.5
	RELENG_2_2_6_RELEASE:1.5
	RELENG_2_2_5_RELEASE:1.5
	RELENG_2_2_2_RELEASE:1.5
	RELENG_2_2_1_RELEASE:1.5
	RELENG_2_2_0_RELEASE:1.5
	RELENG_2_1_7_RELEASE:1.5
	RELENG_2_1_6_1_RELEASE:1.5
	RELENG_2_1_6_RELEASE:1.5
	RELENG_2_2:1.5.0.6
	RELENG_2_2_BP:1.5
	RELENG_2_1_5_RELEASE:1.5
	RELENG_2_1_0_RELEASE:1.5
	RELENG_2_1_0:1.5.0.4
	RELENG_2_1_0_BP:1.5
	RELENG_2_0_5_RELEASE:1.5
	RELENG_2_0_5:1.5.0.2
	RELENG_2_0_5_BP:1.5
	RELENG_2_0_5_ALPHA:1.4
	RELEASE_2_0:1.4
	BETA_2_0:1.4
	ALPHA_2_0:1.4.0.2
	perl_4_036_bmake:1.1.1.1
	lwall:1.1.1;
locks; strict;
comment	@# @;


1.31
date	2002.05.16.09.57.09;	author markm;	state dead;
branches;
next	1.30;

1.30
date	2000.06.25.14.48.15;	author markm;	state Exp;
branches;
next	1.29;

1.29
date	2000.06.04.23.16.09;	author ache;	state Exp;
branches;
next	1.28;

1.28
date	2000.03.27.15.58.52;	author bde;	state Exp;
branches;
next	1.27;

1.27
date	2000.03.08.15.45.13;	author markm;	state Exp;
branches
	1.27.2.1;
next	1.26;

1.26
date	99.12.16.11.21.08;	author jkh;	state Exp;
branches;
next	1.25;

1.25
date	99.12.15.18.06.49;	author marcel;	state Exp;
branches;
next	1.24;

1.24
date	99.12.04.13.01.21;	author marcel;	state Exp;
branches;
next	1.23;

1.23
date	99.09.24.19.39.34;	author markm;	state Exp;
branches;
next	1.22;

1.22
date	99.09.24.15.31.58;	author markm;	state Exp;
branches;
next	1.21;

1.21
date	99.09.04.10.02.01;	author markm;	state Exp;
branches;
next	1.20;

1.20
date	99.08.27.23.36.17;	author peter;	state Exp;
branches;
next	1.19;

1.19
date	99.05.13.12.26.09;	author dt;	state Exp;
branches;
next	1.18;

1.18
date	99.05.12.19.27.44;	author dt;	state Exp;
branches;
next	1.17;

1.17
date	99.05.02.15.29.44;	author markm;	state Exp;
branches;
next	1.16;

1.16
date	98.10.15.18.50.04;	author markm;	state Exp;
branches
	1.16.2.1;
next	1.15;

1.15
date	98.10.11.18.13.42;	author markm;	state Exp;
branches;
next	1.14;

1.14
date	98.09.23.06.05.28;	author markm;	state Exp;
branches;
next	1.13;

1.13
date	98.09.22.12.00.58;	author markm;	state Exp;
branches;
next	1.12;

1.12
date	98.09.16.17.25.52;	author markm;	state Exp;
branches;
next	1.11;

1.11
date	98.09.14.18.34.19;	author markm;	state Exp;
branches;
next	1.10;

1.10
date	98.09.12.19.16.33;	author markm;	state Exp;
branches;
next	1.9;

1.9
date	98.09.12.15.45.29;	author markm;	state Exp;
branches;
next	1.8;

1.8
date	98.09.09.07.20.26;	author markm;	state Exp;
branches;
next	1.7;

1.7
date	98.09.09.06.49.13;	author markm;	state dead;
branches;
next	1.6;

1.6
date	96.12.23.20.21.10;	author phk;	state Exp;
branches;
next	1.5;

1.5
date	95.05.30.05.02.48;	author rgrimes;	state Exp;
branches;
next	1.4;

1.4
date	94.09.12.05.09.45;	author rgrimes;	state Exp;
branches;
next	1.3;

1.3
date	94.09.11.19.55.45;	author gclarkii;	state Exp;
branches;
next	1.2;

1.2
date	94.09.11.19.52.07;	author gclarkii;	state Exp;
branches;
next	1.1;

1.1
date	94.09.10.06.27.34;	author gclarkii;	state Exp;
branches
	1.1.1.1;
next	;

1.27.2.1
date	2000.06.04.23.19.44;	author ache;	state Exp;
branches;
next	1.27.2.2;

1.27.2.2
date	2000.10.05.09.54.47;	author markm;	state Exp;
branches;
next	1.27.2.3;

1.27.2.3
date	2012.11.17.07.23.08;	author svnexp;	state Exp;
branches;
next	;

1.16.2.1
date	99.05.05.13.28.43;	author markm;	state Exp;
branches;
next	1.16.2.2;

1.16.2.2
date	99.08.29.14.34.14;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	94.09.10.06.27.35;	author gclarkii;	state Exp;
branches;
next	;


desc
@@


1.31
log
@Remove the perl build. Farewell, old friend.
@
text
@# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.30 2000/06/25 14:48:15 markm Exp $

PROG=	perl
NOMAN=	true
CFLAGS+=-I${PERL5SRC} -I${.OBJDIR} -DPERL_CORE
SRCS=	perlmain.c config.h
NOSHARED= no
LDFLAGS=-Wl,-E
DPADD=	${DYNALOADER} ${LIBPERL} ${LIBM} ${LIBCRYPT} ${LIBMD}
LDADD=	${DYNALOADER} -lperl -lm -lcrypt -lmd
LINKS=	${BINDIR}/${PROG} ${BINDIR}/perl5 \
	${BINDIR}/${PROG} ${BINDIR}/perl${VERSION}

CLEANFILES=	Config.pm perlmain.c \
		autosplit ext.libs

.include <bsd.prog.mk>

beforedepend all:	scripts

${PROG}: scripts autosplit ${DYNALOADER}

perlmain.c: scripts autosplit
	sh writemain ${DYNALOADER} > ${.TARGET}

.PATH:	${PERL5SRC}
@


1.30
log
@Userland build stuff for Perl5.006.

This is cleaned up quite a lot since 5.00502, and the library modules
are broken out into individual dirs. This should please a lot folk.
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.29 2000/06/04 23:16:09 ache Exp $
@


1.29
log
@Remove libxpg4
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.28 2000/03/27 15:58:52 bde Exp $
d5 1
a5 1
CFLAGS+=-I${PERL5SRC} -I${.OBJDIR}
a8 1
DYNALOADER= lib/auto/DynaLoader/DynaLoader.a
d12 1
a12 1
	${BINDIR}/${PROG} ${BINDIR}/perl5.00503
d15 1
a15 2
		autosplit pod2man.PL pod2man ext.libs \
		man3pages
d19 1
a19 1
STATIC_EXT=	DynaLoader/DynaLoader
d21 4
a24 128
DYNAMIC_EXT=	B/B DB_File/DB_File Data/Dumper/Dumper Fcntl/Fcntl IO/IO \
		IPC/SysV/SysV NDBM_File/NDBM_File Opcode/Opcode POSIX/POSIX \
		SDBM_File/SDBM_File Socket/Socket attrs/attrs re/re
.if ${PERL_THREADED} == "yes"
DYNAMIC_EXT+=	Thread/Thread
.endif

NONXS_EXT=	Errno/pm_to_blib

MAKEMAKER_ARGS=	INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
		INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
		PERL=perl FULLPERL=perl DEFINE=-I${DESTDIR}/usr/include

${PROG}: Config.pm autosplit lib/auto/DynaLoader/DynaLoader.a

Config.pm: links ${PERL5SRC}/configpm myconfig config.sh
	miniperl ${PERL5SRC}/configpm \
		Config.pm Porting/Glossary myconfig config.sh
	@@cd lib ; ln -sf ../${.TARGET}

perlmain.c: config.sh writemain config.h
	sh writemain lib/auto/DynaLoader/DynaLoader.a > ${.TARGET}

autosplit: links Config.pm lib/*.pm lib/*/*.pm
	miniperl -I${.OBJDIR}/lib \
		-e 'use AutoSplit; autosplit_lib_modules(@@ARGV)' \
		lib/*.pm lib/*/*.pm
	touch ${.TARGET}

.for I in ${STATIC_EXT}
ext/${I:H}/Makefile: links ext/${I:H}/Makefile.PL cflags Config.pm config.h
	@@cd ext/${I:H}; \
	miniperl -I${.OBJDIR}/lib Makefile.PL ${MAKEMAKER_ARGS} \
		LINKTYPE=static LIBS="-lperl -lm"; \
	make -B config PERL_SRC=${.OBJDIR}

lib/auto/${I}.a: links ext/${I:H}/Makefile
	@@cd ext/${I:H}; \
	make -B all PERL_SRC=${.OBJDIR}

all:	lib/auto/${I}.a

STATICS+=	lib/auto/${I}.a
.endfor

.for I in ${DYNAMIC_EXT}
ext/${I:H}/Makefile: links ext/${I:H}/Makefile.PL cflags Config.pm pod2man config.h
	@@cd ext/${I:H}; \
	miniperl -I${.OBJDIR}/lib Makefile.PL ${MAKEMAKER_ARGS} \
		LINKTYPE=dynamic LIBS="-lperl -lm" \
		INST_LIB=${.OBJDIR}/build/${I:H} \
		INST_ARCHLIB=${.OBJDIR}/build/${I:H}; \
	make -B config PERL_SRC=${.OBJDIR}

lib/auto/${I}.so: links ${PROG} ext/${I:H}/Makefile
	@@cd ext/${I:H}; \
	make -B all PERL_SRC=${.OBJDIR}

all:	lib/auto/${I}.so

DYNAMICS+=	lib/auto/${I}.so
.endfor

.for I in ${NONXS_EXT}
ext/${I:H}/Makefile: links ext/${I:H}/Makefile.PL cflags lib/Config.pm
	mkdir -p ${.OBJDIR}/lib/auto/${I:H} ;\
	@@cd ext/${I:H} ;\
	miniperl -I${.OBJDIR}/lib Makefile.PL ${MAKEMAKER_ARGS} \
		INST_LIB=${.OBJDIR}/lib/auto/${I:H} \
		INST_ARCHLIB=${.OBJDIR}/lib/auto/${I:H}; \
	make -B config PERL_SRC=${.OBJDIR}

lib/auto/${I}: links ${PROG} ext/${I:H}/Makefile
	@@cd ext/${I:H}; \
	make -B all LINKTYPE=nonxs PERL_SRC=${.OBJDIR}

NONXSS+=	lib/auto/${I}
.endfor

pod2man: Config.pm autosplit ${PERL5SRC}/pod/pod2man.PL
	ln -sf ${PERL5SRC}/pod/pod2man.PL 
	miniperl -I${.OBJDIR}/lib pod2man.PL

man3pages: pod2man
	@@cd ${.OBJDIR}/lib ;\
	for i in `find . -name \*.pm | grep -v Functions.pm` ; do \
		j=`echo $$i | sed -e 's|./||' -e 's|/|::|g' -e 's|.pm|.3|'` ;\
		echo Manifying $$j ;\
		miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > $$j ;\
		gzip -fn $$j ;\
	done
	@@cd ${.OBJDIR}/ext ;\
	for i in `find . -name \*.pm -o -name \*.pod | grep -v POSIX.pm` ; do \
		j=`echo $$i | sed -e 's|./||' -e 's|/SysV/|/IPC/|' \
			-e 's|/Dumper/|/Data/|' -e 's|/lib/|/|' \
			-e 's|^[^/]*/||' \
			-e 's|/|::|g' -e 's|.pm|.3|' -e 's|.pod|.3|'`;\
		i=`echo $$i | sed -e 's|./||'` ;\
		echo Manifying $$j ;\
		miniperl -I${.OBJDIR}/lib ${.OBJDIR}/pod2man $$i > ../lib/$$j ;\
		gzip -fn ../lib/$$j ;\
	done
	touch ${.TARGET}

all: man3pages

install:
.for I in ${DYNAMIC_EXT}
	@@cd ${.OBJDIR}/ext/${I:H} ;\
	make -B install \
		INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/5.00503 \
		INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/5.00503/mach
.endfor
	@@cd ${.OBJDIR}/lib ;\
	for i in `find . \! -type d \! -name \*.3.gz` ; do \
		j=`echo $$i|sed -e 's|auto/DynaLoader|mach/auto/DynaLoader|'` ;\
		${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
			$$i ${DESTDIR}/usr/libdata/perl/5.00503/$$j ;\
	done
	@@cd ${.OBJDIR}/lib ;\
	${INSTALL} ${COPY} -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} \
		*.3.gz ${DESTDIR}/usr/share/perl/man/man3
	@@cd ${.OBJDIR} ;\
	${INSTALL} ${COPY} -o ${SHAREOWN} -g ${SHAREGRP} -m ${SHAREMODE} \
		*.h ${DESTDIR}/usr/libdata/perl/5.00503/mach/CORE
	@@cd ${.OBJDIR} ;\
	${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
		Config.pm ${DESTDIR}/usr/libdata/perl/5.00503/mach
@


1.28
log
@Don't abuse LDADD for holding linker flags.  Doing so broke
`make checkdpadd'.  Linker flags (ones passed via ${CC}) go in
LDFLAGS.

Fixed some style bugs (misformatting of $FreeBSD$).
@
text
@d1 1
a1 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.27 2000/03/08 15:45:13 markm Exp $
d10 2
a11 2
DPADD=	${DYNALOADER} ${LIBPERL} ${LIBM} ${LIBCRYPT} ${LIBMD} ${LIBXPG4}
LDADD=	${DYNALOADER} -lperl -lm -lcrypt -lmd -lxpg4
@


1.27
log
@Considerable upgrade to the way perl links to shared objects. This
fixes the way that third-party apps like apache link in perl .so's
(and previously did not get libperl linked in.)

NOTE - you neeed to recompile all your perl stuff - all the p5-*
por4ts with C code, and things like mod_perl.
@
text
@d1 1
a1 3
#
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.26 1999/12/16 11:21:08 jkh Exp $
#
d8 1
d11 1
a11 1
LDADD=	-Wl,-E ${DYNALOADER} -lperl -lm -lcrypt -lmd -lxpg4
@


1.27.2.1
log
@MFC: remove libxpg4
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.27 2000/03/08 15:45:13 markm Exp $
d11 2
a12 2
DPADD=	${DYNALOADER} ${LIBPERL} ${LIBM} ${LIBCRYPT} ${LIBMD}
LDADD=	-Wl,-E ${DYNALOADER} -lperl -lm -lcrypt -lmd
@


1.27.2.2
log
@MFC: Merge the CURRENT perl-building method to STABLE. This will
dramatically reduce the dependance on miniperl.

NOTE!! This does not bring Perl-5.6.0 to STABLE !!

NOTE!! You should delete /usr/bin/miniperl !!
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.27.2.1 2000/06/04 23:19:44 ache Exp $
d14 1
a14 1
	${BINDIR}/${PROG} ${BINDIR}/perl${VERSION}
d17 2
a18 1
		autosplit ext.libs
d22 1
a22 1
beforedepend all: scripts
d24 128
a151 4
${PROG}: scripts autosplit ${DYNALOADER}

perlmain.c: scripts autosplit
	sh writemain ${DYNALOADER} > ${.TARGET}
@


1.27.2.3
log
@Switch importer
@
text
@d2 1
a2 1
# $FreeBSD: stable/4/gnu/usr.bin/perl/perl/Makefile 66671 2000-10-05 09:55:01Z markm $
@


1.26
log
@Make the perl build a little less chatty.

Reviewed by:	markm
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.25 1999/12/15 18:06:49 marcel Exp $
d11 2
a12 2
DPADD=	${DYNALOADER} ${LIBPERL} ${LIBM} ${LIBCRYPT} ${LIBMD}
LDADD=	${DYNALOADER} -lperl -lm -lcrypt -lmd
d57 1
a57 1
		LINKTYPE=static LIBS="-lperl"; \
d73 1
a73 1
		LINKTYPE=dynamic LIBS="-lperl" \
@


1.25
log
@Misuse MakeMaker's DEFINE parameter to add an include path to the cc
command line. The makefiles created can now be used for cross-building.
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.24 1999/12/04 13:01:21 marcel Exp $
d42 1
a42 1
	cd lib ; ln -sf ../${.TARGET}
d55 1
a55 1
	cd ext/${I:H}; \
d61 1
a61 1
	cd ext/${I:H}; \
d71 1
a71 1
	cd ext/${I:H}; \
d79 1
a79 1
	cd ext/${I:H}; \
d90 1
a90 1
	cd ext/${I:H} ;\
d97 1
a97 1
	cd ext/${I:H}; \
d108 1
a108 1
	cd ${.OBJDIR}/lib ;\
d115 1
a115 1
	cd ${.OBJDIR}/ext ;\
d132 1
a132 1
	cd ${.OBJDIR}/ext/${I:H} ;\
d137 1
a137 1
	cd ${.OBJDIR}/lib ;\
d143 1
a143 1
	cd ${.OBJDIR}/lib ;\
d146 1
a146 1
	cd ${.OBJDIR} ;\
d149 1
a149 1
	cd ${.OBJDIR} ;\
@


1.24
log
@Override PERL and FULLPERL to be just "perl". This prevents MakeMaker
(ie Makefile.PL) from creating makefiles that explicitly use the perl
from the object tree. It breaks cross-building. While I'm here, create
a variable that holds common MakeMaker arguments used by all targets,
and by doing so automaticly fixed a bug.

Approved by: markm
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.23 1999/09/24 19:39:34 markm Exp $
d10 3
a12 2
DPADD=	lib/auto/DynaLoader/DynaLoader.a ${LIBPERL} ${LIBM} ${LIBCRYPT}
LDADD=	lib/auto/DynaLoader/DynaLoader.a -lperl -lm -lcrypt
d35 1
a35 1
		PERL=perl FULLPERL=perl
@


1.23
log
@Fix problem where a macro is not properly initialised in the !THREAD
case. Simple reodering does it.

Thanks to:	sos
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.22 1999/09/24 15:31:58 markm Exp $
d32 4
d55 2
a56 3
	miniperl -I${.OBJDIR}/lib Makefile.PL \
		LINKTYPE=static INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
		LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3; \
d71 2
a72 3
	miniperl -I${.OBJDIR}/lib Makefile.PL \
		LINKTYPE=dynamic INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
		LIBS="-lperl" INSTALLMAN3DIR=${DESTDIR}/usr/share/perl/man3 \
d74 1
a74 1
		INST_ARCHLIB=${.OBJDIR}/build/${I:H} ;\
a75 1
	
d90 1
a90 3
	miniperl -I${.OBJDIR}/lib Makefile.PL \
		INSTALLDIRS=perl PERL_SRC=${.OBJDIR} \
		INSTALLMAN3DIR=/usr/share/perl/man3 \
d92 1
a92 1
		INST_ARCHLIB=${.OBJDIR}/lib/auto/${I:H} ;\
@


1.22
log
@Low-level, but significant cleanup of Perl's build process.

This should significantly ease "make; make install" loops.
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.21 1999/09/04 10:02:01 markm Exp $
d19 2
a30 2

.include <bsd.prog.mk>
@


1.21
log
@Allow perl to be built with thread support.

Submitted by:	Doug Ambrisko <ambrisko@@whistle.com>
@
text
@d2 1
a2 1
# $FreeBSD: src/gnu/usr.bin/perl/perl/Makefile,v 1.20 1999/08/27 23:36:17 peter Exp $
d15 2
a16 3
CLEANFILES=	config.h config.sh config_h.sh writemain writemain.sh \
		Config.pm cflags cflags.sh myconfig perlmain.c miniperlmain.c \
		autosplit regcomp.c regexec.c pod2man.PL pod2man ext.libs \
d24 3
d32 1
a32 18
PERL_THREADED?=	no
.if ${PERL_THREADED} == "true"
DYNAMIC_EXT+=	Thread/Thread
CFLAGS+=	-pthread
LDADD+=		-pthread
.endif
     
PERL_DEBUGGING?=	no
.if ${PERL_DEBUGGING} ==	"true"
CFLAGS+=	-DDEBUGGING
.endif

${PROG}: linkfarm Config.pm autosplit lib/auto/DynaLoader/DynaLoader.a

config_h.sh config.sh cflags.sh writemain.sh: linkfarm

config.h: linkfarm config_h.sh config.sh
	sh -x config_h.sh
d34 1
a34 4
cflags: linkfarm cflags.sh
	sh cflags.sh

Config.pm: linkfarm ${PERL5SRC}/configpm myconfig config.sh
d39 1
a39 1
perlmain.c: linkfarm writemain config.h
d42 1
a42 4
writemain: linkfarm writemain.sh
	sh writemain.sh

autosplit: linkfarm Config.pm lib/*.pm lib/*/*.pm
d49 1
a49 1
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm config.h
d56 1
a56 1
lib/auto/${I}.a: linkfarm ext/${I:H}/Makefile
d66 1
a66 1
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm pod2man config.h
d76 1
a76 1
lib/auto/${I}.so: linkfarm ${PROG} ext/${I:H}/Makefile
d86 1
a86 1
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags lib/Config.pm
d96 1
a96 1
lib/auto/${I}: linkfarm ${PROG} ext/${I:H}/Makefile
@


1.20
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
d30 12
d47 1
a47 1
	sh config_h.sh
@


1.19
log
@Add one more dependency (oops).
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.18 1999/05/12 19:27:44 dt Exp $
@


1.18
log
@Added some missing dependencies.
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.17 1999/05/02 15:29:44 markm Exp $
d32 1
a32 1
config_h.sh config.sh cflags.sh: linkfarm
@


1.17
log
@System Perl is now 5.00503! There is support for threads, but this is
not currently enabled. Thread-boffins are welcome to send me patches.
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.16 1998/10/15 18:50:04 markm Exp $
d32 3
a34 1
config.h: linkfarm
d37 1
a37 1
cflags: linkfarm
d40 1
a40 1
Config.pm: linkfarm
d48 1
a48 1
writemain: linkfarm
d58 1
a58 1
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm
d75 1
a75 1
ext/${I:H}/Makefile: linkfarm ext/${I:H}/Makefile.PL cflags Config.pm pod2man
@


1.16
log
@Properly install the *.h files in CORE and Config.pm where it wants to be.

This should fix a substantial number of broken p5-* ports.

Tested-on:	x11-toolkits/p5-Tk (Amongst others)
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.15 1998/10/11 18:13:42 markm Exp $
d13 1
a13 1
	${BINDIR}/${PROG} ${BINDIR}/perl5.00502
d141 2
a142 2
		INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/5.00502 \
		INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/5.00502/mach
d148 1
a148 1
			$$i ${DESTDIR}/usr/libdata/perl/5.00502/$$j ;\
d155 1
a155 1
		*.h ${DESTDIR}/usr/libdata/perl/5.00502/mach/CORE
d158 1
a158 1
		Config.pm ${DESTDIR}/usr/libdata/perl/5.00502/mach
@


1.16.2.1
log
@MFC: system Perl is now 5.00503!
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.17 1999/05/02 15:29:44 markm Exp $
d13 1
a13 1
	${BINDIR}/${PROG} ${BINDIR}/perl5.00503
d141 2
a142 2
		INSTALLPRIVLIB=${DESTDIR}/usr/libdata/perl/5.00503 \
		INSTALLARCHLIB=${DESTDIR}/usr/libdata/perl/5.00503/mach
d148 1
a148 1
			$$i ${DESTDIR}/usr/libdata/perl/5.00503/$$j ;\
d155 1
a155 1
		*.h ${DESTDIR}/usr/libdata/perl/5.00503/mach/CORE
d158 1
a158 1
		Config.pm ${DESTDIR}/usr/libdata/perl/5.00503/mach
@


1.16.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d2 1
a2 1
# $FreeBSD$
@


1.15
log
@Very substantial debug/improvement of the FreeBSD/Perl5 build.

o make install ; make install now works
o make all ; make all is quiet the second time
o Dependancies are properliy debugged; this means that make -jN has a
  far hihjer likelyhood of working.
o a proper 'link farm' has been constructed for the build. This
  dramatically simplifies the dependancy tangle.
o for perldoc's use, all the .pod files are installed.
o the man3 docs are properly compressed.
o the man pages and libary code are installed by the makefiles, not
  by a perl script.
o at the end, h2ph is run.
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.14 1998/09/23 06:05:28 markm Exp $
d153 6
@


1.14
log
@More make cleanups.

1) Part of the NOSHARED fix; I messed this up and managed to get
   perl installed without being linked to the shared library libperl.so.
   This broke Perl in ELF when linking in shared objects.

2) Start of a cleanup of the man3 page location. This will (eventually)
   allow for a the ports to put their pages in the "normal" ${PREFIX}-
   based location.

3) Nuke cruft.
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.13 1998/09/22 12:00:58 markm Exp $
d17 2
a18 4
		${.OBJDIR}/regcomp.c ${.OBJDIR}/regexec.c
CLEANDIRS=	lib ext Porting hints

.include <bsd.prog.mk>
d26 1
a26 1
#NONXS_EXT=	Errno/pm_to_blib
d28 1
a28 1
${PROG}: Config.pm lib/auto/DynaLoader/DynaLoader.a
d30 1
a30 1
lib/auto/DynaLoader/DynaLoader.a: Config.pm autosplit
d32 1
a32 1
config.h: config_h.sh config.sh
d35 2
a36 14
config.sh: ${.CURDIR}/../libperl/config.SH-${OBJFORMAT}.${MACHINE_ARCH}
	ln -sf ${.OODATE} ${.TARGET}

config_h.sh: config_h.SH
	ln -sf ${.OODATE} ${.TARGET}

cflags.sh: cflags.SH
	ln -sf ${.OODATE} ${.TARGET}

cflags: cflags.sh
	sh ${.OODATE}

lib/re.pm: lib ext hints ext/re/re.pm
	cat ${PERL5SRC}/ext/re/re.pm > ${.OBJDIR}/lib/re.pm
d38 1
a38 7
lib/Config.pm: Config.pm
	cp -p ${.OODATE} ${.TARGET}

myconfig: ${PERL5SRC}/myconfig
	ln -sf ${.OODATE} ${.TARGET}

Config.pm: myconfig config.sh lib ext hints Porting lib/re.pm
d41 1
d43 1
a43 4
${.OBJDIR}/miniperlmain.c: miniperlmain.c
	@@ln -sf ${.OODATE} ${.TARGET}

perlmain.c: ${.OBJDIR}/miniperlmain.c config.sh writemain config.h
d46 2
a47 11
writemain.sh: writemain.SH
	@@ln -sf ${.OODATE} ${.TARGET}

writemain: writemain.sh
	sh ${.OODATE}

${.OBJDIR}/regcomp.c: ${PERL5SRC}/regcomp.c
	@@ln -sf ${.OODATE} ${.TARGET}

${.OBJDIR}/regexec.c: ${PERL5SRC}/regexec.c
	@@ln -sf ${.OODATE} ${.TARGET}
d49 1
a49 1
autosplit: lib ext Porting hints
d53 1
d56 1
a56 1
lib/auto/${I}.a: ext/${I:H}/Makefile.PL cflags lib/Config.pm ${DEPEND_H}
d59 7
a65 3
		INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
	make -B config PERL_SRC=${.OBJDIR}; \
	make -B all LINKTYPE=static PERL_SRC=${.OBJDIR}
d73 1
a73 2
lib/auto/${I}.so: ${PROG} ext/${I:H}/Makefile.PL cflags lib/Config.pm \
		${DEPEND_H} ${.OBJDIR}/regcomp.c ${.OBJDIR}/regexec.c
d76 10
a85 3
		INSTALLDIRS=perl PERL_SRC=${.OBJDIR} LIBS="-lperl"; \
	make -B config PERL_SRC=${.OBJDIR}; \
	make -B all LINKTYPE=dynamic PERL_SRC=${.OBJDIR}
d92 42
a133 10
#.for I in ${NONXS_EXT}
#lib/auto/${I}: ${PROG} ext/${I:H}/Makefile.PL cflags lib/Config.pm
#	cd ext/${I:H}; \
#	miniperl -I${.OBJDIR}/lib Makefile.PL \
#		INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
#	make -B config PERL_SRC=${.OBJDIR}; \
#	make -B all LINKTYPE=nonxs PERL_SRC=${.OBJDIR}
#
#NONXSS+=	lib/auto/${I}
#.endfor
d135 1
a135 1
#all:	${DYNAMICS} ${NONXSS}
d138 15
a152 1
	miniperl ${.CURDIR}/install_perl_libs -d ${DESTDIR}
@


1.13
log
@Big cleanup of the perl build.

1) Inspired by JB's finding of a hardcoded /usr/bin/ranlib in the
   config files, these have been properly cleaned up and have
   been personalised for FreeBSD, not MarkM.

2) Inspired by Peter, copying of the lib/ext etc dirs has been
   replaced by a link farm.

3) Common code has been moved to a higher-level Makefile.inc.

This has been tested with a make -j8.
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.12 1998/09/16 17:25:52 markm Exp $
a32 2

.ORDER: ${STATIC_EXT} ${DYNAMIC_EXT} ${NONXS_EXT}
@


1.12
log
@Generalise the build a bit more.

1) Fix up the NOSHARED stuff (bde)
2) Accomodate CFLAGS (vanilla)
3) Provide separate files for i386 and alpha (Doug Rabson)

In case 3, the supplied files were corrupted, but the concepts
sound enough, so I just copied what exists into
config.SH-{elf|aout}.{i386|alpha}. Alpha team, go ahead and do what
is necessary on config.SH-elf.alpha. :-)
@
text
@d2 1
a2 1
# $Id: Makefile,v 1.11 1998/09/14 18:34:19 markm Exp $
d22 1
a22 7
HEADERS=EXTERN.h INTERN.h XSUB.h XSlock.h av.h bytecode.h byterun.h \
	cc_runtime.h cop.h cv.h dosish.h embed.h embedvar.h fakethr.h form.h \
	gv.h handy.h hv.h intrpvar.h iperlsys.h keywords.h mg.h nostdio.h \
	objXSUB.h objpp.h op.h opcode.h patchlevel.h perl.h perlio.h \
	perlsdio.h perlsfio.h perlvars.h perly.h pp.h pp_proto.h proto.h \
	regcomp.h regexp.h regnodes.h scope.h sv.h thrdvar.h thread.h \
	unixish.h util.h
d28 1
a28 1
${PROG}: lib/auto/DynaLoader/DynaLoader.a
d30 5
a34 1
.ORDER: lib/auto/DynaLoader/DynaLoader.a ${DYNAMIC_EXT}
d40 1
a40 1
	cp ${.OODATE} ${.TARGET}
d43 1
a43 1
	cp ${.OODATE} ${.TARGET}
d46 1
a46 1
	cp ${.OODATE} ${.TARGET}
a50 16
lib:
	@@rm -rf lib
	cp -rp ${PERL5SRC}/lib .

ext:
	@@rm -rf ext
	cp -rp ${PERL5SRC}/ext .

Porting:
	@@rm -rf Porting
	cp -rp ${PERL5SRC}/Porting .

hints:
	@@rm -rf hints
	cp -rp ${PERL5SRC}/hints .

a63 20
DEPEND_H=

.for I in ${HEADERS}
${.OBJDIR}/${I}: ${I}
	@@ln -sf ${.OODATE} ${.TARGET}

CLEANFILES+= ${.OBJDIR}/${I}
DEPEND_H+= ${.OBJDIR}/${I}
.endfor

lib/auto/DynaLoader/DynaLoader.a: cflags lib/Config.pm ${DEPEND_H}
	miniperl -I${.OBJDIR}/lib \
		-e 'use AutoSplit; autosplit_lib_modules(@@ARGV)' \
		lib/*.pm lib/*/*.pm
	cd ext/DynaLoader; \
	miniperl -I${.OBJDIR}/lib Makefile.PL \
		INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
	make -B config PERL_SRC=${.OBJDIR}; \
	make -B all LINKTYPE=static PERL_SRC=${.OBJDIR}

d82 18
d101 2
a102 1
lib/auto/${I}.so:	${PROG} ${.OBJDIR}/regcomp.c ${.OBJDIR}/regexec.c
d109 2
d114 12
a125 1
all:	${DYNAMICS}
@


1.11
log
@Add a link perl --> perl5.00502

Asked-for-by: Asami-San (for ports)
@
text
@d2 1
a2 1
# $Id$
d9 1
a9 1
# NOSHARED= no
d41 1
a41 1
config.sh: ${.CURDIR}/../libperl/config.SH-${OBJFORMAT}
@


1.10
log
@Allow libperl to be a shared library.

This has the delightful side effect of fixing ELF .so objects.

Asked-for-by: peter
@
text
@d12 2
a13 1
LINKS=	${BINDIR}/${PROG} ${BINDIR}/perl5
@


1.9
log
@Fix parallel building.

(Tested by make -j12 buildworld on a 4-cpu SMP box).

Address (but not solve) ELF shareable objects causing perl to
dump core. (I have a heck of a lot to learn about ELF).

Lots of help by: bde, jkh, jb and others
@
text
@d41 1
a41 1
	cp -p ${.OODATE} ${.TARGET}
d44 1
a44 1
	cp -p ${.OODATE} ${.TARGET}
d47 1
a47 1
	cp -p ${.OODATE} ${.TARGET}
@


1.8
log
@Bring in the Perl5 BMake files. This ends the easy stuff.

I'll be doiung the rest in stages.
@
text
@d9 2
d35 2
d40 2
a41 2
config.sh: ${.CURDIR}/../libperl/config.SH
	@@ln -sf ${.OODATE} ${.TARGET}
d44 1
a44 1
	@@ln -sf ${.OODATE} ${.TARGET}
d47 1
a47 1
	@@ln -sf ${.OODATE} ${.TARGET}
d72 1
a72 1
	@@cd lib; ln -s ../${.OODATE}
d75 1
a75 1
	@@ln -sf ${.OODATE} ${.TARGET}
d77 1
a77 1
Config.pm: myconfig lib ext hints Porting lib/re.pm
d98 2
a99 2
	make config PERL_SRC=${.OBJDIR}; \
	make all LINKTYPE=static PERL_SRC=${.OBJDIR}
d104 1
a104 1
perlmain.c: ${.OBJDIR}/miniperlmain.c config.sh writemain
d123 3
a125 3
		INSTALLDIRS=perl PERL_SRC=${.OBJDIR}; \
	make config PERL_SRC=${.OBJDIR}; \
	make all LINKTYPE=dynamic PERL_SRC=${.OBJDIR}
@


1.7
log
@Old Perl is leaving us. Goodbye, faithful friend.
@
text
@d2 1
d5 6
a10 1
PROG= perl
d12 4
a15 6
SRCS+= array.c cmd.c cons.c consarg.c doarg.c doio.c dolist.c dump.c
SRCS+= eval.c form.c hash.c perl.c perly.c regcomp.c regexec.c
SRCS+= stab.c str.c toke.c util.c usersub.c
CFLAGS+= -I${.CURDIR}
LDADD= -lm
DPADD= ${LIBM}
d17 55
a71 2
DPADD+= ${LIBCRYPT}
LDADD+= -lcrypt
d73 59
a131 2
.include "../../Makefile.inc"
.include <bsd.prog.mk>
@


1.6
log
@Remove a couple of private malloc() implementations, one of which
was unused afterall.
@
text
@@


1.5
log
@Remove trailing whitespace.
@
text
@d7 1
a7 1
SRCS+= eval.c form.c hash.c malloc.c perl.c perly.c regcomp.c regexec.c
@


1.4
log
@Include of bsd.prog.mk should almost always be the last line of the file.

Fix missing ${DESTDIR} in 2 places (rgrimes)
Submitted by:	bde
@
text
@d2 1
a2 1
# 
d9 3
a11 3
CFLAGS+= -I${.CURDIR} 
LDADD= -lm 
DPADD= ${LIBM} 
d17 1
a17 1
.include <bsd.prog.mk> 
@


1.3
log
@Deleted checks for libcrypt as not nessecery for 2.0.
@
text
@d16 1
a17 2
.include "../../Makefile.inc"

@


1.2
log
@Added includes for Makefile.inc (/usr/src/gnu/usr.bin/Makefile.inc)

Reviewed by: Gary Clark II
Submitted by: Rod Grimes
@
text
@a12 1
.if exists (/usr/lib/libcrypt.a) 
a14 3
.else
SRCS+= crypt.c
.endif
@


1.1
log
@Initial revision
@
text
@d20 3
a22 1
.include <bsd.prog.mk>
@


1.1.1.1
log
@Initial import of Perl 4.046 bmaked

@
text
@@
