Date: Sat, 22 Sep 2001 12:07:50 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Mark Murray <mark@grondar.za> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/gnu/usr.bin/perl Makefile Makefile.inc src/gnu/usr.bin/perl/utils Makefile.inc Message-ID: <20010922120750.F76391@sunbay.com> In-Reply-To: <200109211357.f8LDvNV02346@grimreaper.grondar.za>; from mark@grondar.za on Fri, Sep 21, 2001 at 02:57:23PM %2B0100 References: <20010920205435.B66160@sunbay.com> <200109211357.f8LDvNV02346@grimreaper.grondar.za>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Fri, Sep 21, 2001 at 02:57:23PM +0100, Mark Murray wrote:
> Grrrr....
>
> This is going in @#$%ing loops.
>
> What you ask for below is the existing case, and I made my commit
> because people objected.
>
> Can we kill this now, please?
>
> PLEASE??
>
No, sorry. :-)
I don't like how the "MINIPERL!=$$PATH ... which" stuff is done in
particular. PLEASE don't neglect my help and go on reading.
So we want to make Perl self-buildable outside the ``buildworld''.
The problem is that the ``miniperl'' is the build-tool in the
buildworld (possibly cross-platform) case. There are two cases:
1. We build Perl in ``buildworld''. Then we need to use the
miniperl built at the build-tools stage of Makefile.inc1.
2. We want to build Perl manually. Then we need to descend
into the miniperl subdir, and use the version from here.
The attached patch implements this. Note that I override the
``install'' target in miniperl rather than use ``ifmake'',
because the latter matches ANY target specified on the command
line, so ``make all install'' will fail to build miniperl if
we use ``ifmake''.
<PS>
The WORLD flag can later be used similarly for other build-tool
dependant modules, if needed.
</PS>
Cheers,
--
Ruslan Ermilov Oracle Developer/DBA,
ru@sunbay.com Sunbay Software AG,
ru@FreeBSD.org FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
[-- Attachment #2 --]
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.217
diff -u -r1.217 Makefile.inc1
--- Makefile.inc1 2001/09/20 12:24:10 1.217
+++ Makefile.inc1 2001/09/22 08:50:13
@@ -200,7 +200,7 @@
DESTDIR=${WORLDTMP} \
INSTALL="sh ${.CURDIR}/tools/install.sh" \
PATH=${TMPPATH}
-WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1
+WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 -DWORLD
# install stage
IMAKEENV= ${CROSSENV} \
@@ -324,7 +324,7 @@
mkdir -p ${INSTALLTMP}
for prog in [ awk cat chflags chmod chown date echo egrep find grep \
ln make makewhatis mkdir mtree mv perl rm sed sh sysctl \
- test touch true uname wc which zic; do \
+ test touch true uname wc zic; do \
cp `which $$prog` ${INSTALLTMP}; \
done
cd ${.CURDIR}; ${IMAKE} reinstall
Index: gnu/usr.bin/perl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/Makefile,v
retrieving revision 1.16
diff -u -r1.16 Makefile
--- gnu/usr.bin/perl/Makefile 2001/09/21 13:50:30 1.16
+++ gnu/usr.bin/perl/Makefile 2001/09/22 08:50:13
@@ -1,23 +1,11 @@
# $FreeBSD: src/gnu/usr.bin/perl/Makefile,v 1.16 2001/09/21 13:50:30 markm Exp $
-.ifmake !install && !distribute
-_MINI= miniperl
+SUBDIR= libperl
+.if !defined(WORLD)
+SUBDIR+= miniperl
.endif
+SUBDIR+= perl suidperl library pod utils x2p BSDPAN
-SUBDIR= libperl ${_MINI} perl suidperl library pod utils x2p BSDPAN
-
MAINTAINER=markm@freebsd.org
-
-.BEGIN:
-.ifmake depend || all
- if [ \! -f ${.OBJDIR}/build-tools ] ; then \
- cd ${.CURDIR}/libperl && ${MAKE} depend && ${MAKE} all ; \
- cd ${.CURDIR}/miniperl && ${MAKE} depend && ${MAKE} all ; \
- touch ${.OBJDIR}/build-tools ; \
- fi
-.endif
-.ifmake cleandir || clean
- @rm -f ${.OBJDIR}/build-tools
-.endif
.include <bsd.subdir.mk>
Index: gnu/usr.bin/perl/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/Makefile.inc,v
retrieving revision 1.25
diff -u -r1.25 Makefile.inc
--- gnu/usr.bin/perl/Makefile.inc 2001/09/21 13:50:31 1.25
+++ gnu/usr.bin/perl/Makefile.inc 2001/09/22 08:50:13
@@ -2,7 +2,15 @@
PERL5SRC?= ${.CURDIR}/../../../../contrib/perl5
PERL5LIBSRC?= ${.CURDIR}/../libperl
-MINIPERL!= echo `PATH=$$PATH:${.OBJDIR}/../miniperl:${.OBJDIR}/../../miniperl which miniperl`
+
+.if !defined(WORLD)
+.if exists(${.OBJDIR}/../miniperl/miniperl)
+MINIPERL?= ${.OBJDIR}/../miniperl/miniperl
+.elif exists(${.OBJDIR}/../../miniperl/miniperl)
+MINIPERL?= ${.OBJDIR}/../../miniperl/miniperl
+.endif
+.endif
+MINIPERL?= miniperl
BINDIR?= /usr/bin
Index: gnu/usr.bin/perl/library/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/library/Makefile.inc,v
retrieving revision 1.7
diff -u -r1.7 Makefile.inc
--- gnu/usr.bin/perl/library/Makefile.inc 2001/05/26 17:40:09 1.7
+++ gnu/usr.bin/perl/library/Makefile.inc 2001/09/22 08:50:16
@@ -2,7 +2,6 @@
PERL5SRC?= ${.CURDIR}/../../../../../contrib/perl5
PERL5LIBSRC?= ${.CURDIR}/../../libperl
-MINIPERL= miniperl
MODULEDIR?= ${MODULE}
Index: gnu/usr.bin/perl/miniperl/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/miniperl/Makefile,v
retrieving revision 1.18
diff -u -r1.18 Makefile
--- gnu/usr.bin/perl/miniperl/Makefile 2001/02/13 05:19:56 1.18
+++ gnu/usr.bin/perl/miniperl/Makefile 2001/09/22 08:50:18
@@ -19,6 +19,8 @@
NO_PERL_SCRIPT_MAKE= true
+install:
+
.include <bsd.prog.mk>
.PATH: ${PERL5SRC}
Index: gnu/usr.bin/perl/pod/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/pod/Makefile.inc,v
retrieving revision 1.4
diff -u -r1.4 Makefile.inc
--- gnu/usr.bin/perl/pod/Makefile.inc 2000/11/20 02:17:33 1.4
+++ gnu/usr.bin/perl/pod/Makefile.inc 2001/09/22 08:50:18
@@ -4,7 +4,6 @@
PERL5SRC?= ${.CURDIR}/../../../../../contrib/perl5
MINIPERLOPT?= -I${.OBJDIR}/../../perl/lib -I${.OBJDIR}/../../perl
-MINIPERL= miniperl
CLEANFILES+= ${PROG}.1 ${PROG}.PL
Index: gnu/usr.bin/perl/x2p/Makefile.inc
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/perl/x2p/Makefile.inc,v
retrieving revision 1.7
diff -u -r1.7 Makefile.inc
--- gnu/usr.bin/perl/x2p/Makefile.inc 2000/11/20 02:17:34 1.7
+++ gnu/usr.bin/perl/x2p/Makefile.inc 2001/09/22 08:50:21
@@ -5,7 +5,6 @@
PERL5SRC= ${.CURDIR}/../../../../../contrib/perl5
PERL5LIBSRC= ${.CURDIR}/../../libperl
MINIPERLOPT?= -I${.OBJDIR}/../../perl/lib -I${.OBJDIR}/../../perl
-MINIPERL= miniperl
LDFLAGS+= -L${.OBJDIR}/../../libperl
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010922120750.F76391>
