Skip site navigation (1)Skip section navigation (2)
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

--45Z9DzgjV8m4Oswq
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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

--45Z9DzgjV8m4Oswq
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=p

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
 

--45Z9DzgjV8m4Oswq--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010922120750.F76391>