[HEADS UP] ar(1) front-end committed. (notes for cross compile)

Ruslan Ermilov ru at freebsd.org
Sun Feb 24 19:44:03 UTC 2008


On Sun, Feb 24, 2008 at 11:32:21AM -0800, David O'Brien wrote:
> On Sun, Feb 24, 2008 at 10:06:37PM +0300, Ruslan Ermilov wrote:
> > On Sun, Feb 24, 2008 at 10:04:33AM -0800, David O'Brien wrote:
> > > Its seems those that have expressed an opinion want to switch to the new
> > > 'ar' ASAP.  So why not this patch?
> > 
> > Because your patch won't allow to cross-build on
> > systems predating 700044.
> 
> Why not?  If ${BOOTSTRAPPING} >= 700044 we add usr.bin/ar to the list.
> 
I said predating 700044.

> What is your patch to just get rid of the WITH_GNUAR/WITH_BSDAR similar
> to mine?
> 
ENOPARSE.

How's the attached patch?  The commit log would be:

: Make again BSD ar(1) the default system ar(1), now properly handling
: source upgrades by falling back to GNU ar(1) as necessary.  Option
: WITH_BSDAR is gone.  Option _WITH_GNUAR to aid in upgrades is NOT
: supposed to be set by the user.  Stop bootstrapping BSD ar(1) on the
: next __FreeBSD_version bump, as there are no known bugs in it.  Bump
: __FreeBSD_version to anticipate this and to flag the switch to BSD
: ar(1), should it be needed for something.
: 
: Input from:	obrien, des, kaiw


Cheers,
-- 
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
Index: sys/sys/param.h
===================================================================
RCS file: /home/ncvs/src/sys/sys/param.h,v
retrieving revision 1.337
diff -u -p -r1.337 param.h
--- sys/sys/param.h	21 Feb 2008 16:12:46 -0000	1.337
+++ sys/sys/param.h	24 Feb 2008 19:23:42 -0000
@@ -57,7 +57,7 @@
  *		is created, otherwise 1.
  */
 #undef __FreeBSD_version
-#define __FreeBSD_version 800021	/* Master, propagated to newvers */
+#define __FreeBSD_version 800022	/* Master, propagated to newvers */
 
 #ifndef LOCORE
 #include <sys/types.h>
Index: Makefile.inc1
===================================================================
RCS file: /home/ncvs/src/Makefile.inc1,v
retrieving revision 1.598
diff -u -p -r1.598 Makefile.inc1
--- Makefile.inc1	5 Feb 2008 15:41:58 -0000	1.598
+++ Makefile.inc1	24 Feb 2008 19:24:00 -0000
@@ -872,6 +872,10 @@ _groff=		gnu/usr.bin/groff/tmac
 .endif
 .endif
 
+.if ${BOOTSTRAPPING} >= 700044 && ${BOOTSTRAPPING} < 800022
+_ar=		usr.bin/ar
+.endif
+
 .if ${BOOTSTRAPPING} < 700018
 _gensnmptree=	usr.sbin/bsnmpd/gensnmptree
 .endif
@@ -891,6 +895,7 @@ bootstrap-tools:
     ${_strfile} \
     ${_gperf} \
     ${_groff} \
+    ${_ar} \
     usr.bin/lorder \
     usr.bin/makewhatis \
     usr.bin/rpcgen \
@@ -967,6 +972,10 @@ _kgzip=		usr.sbin/kgzip
 .endif
 .endif
 
+.if make(cross-tools) && ${BOOTSTRAPPING} < 700044
+.MAKEFLAGS+=	-D_WITH_GNUAR
+.endif
+
 cross-tools:
 .for _tool in \
     gnu/usr.bin/binutils \
Index: gnu/usr.bin/binutils/ar/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/binutils/ar/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- gnu/usr.bin/binutils/ar/Makefile	21 Feb 2008 16:59:02 -0000	1.16
+++ gnu/usr.bin/binutils/ar/Makefile	24 Feb 2008 19:09:37 -0000
@@ -4,12 +4,15 @@
 
 .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc
 
-.if defined(WITH_BSDAR)
-PROG=	gnu-ar
-#MAN=	gnu-ar.1
-.else
-PROG=	ar
+.if !defined(_WITH_GNUAR)
+PROGNAME= gnu-ar
+MAN=   gnu-ar.1
+gnu-ar.1: ar.1
+	cat ${.ALLSRC} > ${.TARGET}
+CLEANFILES+= gnu-ar.1
 .endif
+
+PROG=	ar
 SRCS=	ar.c not-ranlib.c
 CFLAGS+= -D_GNU_SOURCE
 CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils
Index: gnu/usr.bin/binutils/ranlib/Makefile
===================================================================
RCS file: /home/ncvs/src/gnu/usr.bin/binutils/ranlib/Makefile,v
retrieving revision 1.17
diff -u -p -r1.17 Makefile
--- gnu/usr.bin/binutils/ranlib/Makefile	21 Feb 2008 16:59:02 -0000	1.17
+++ gnu/usr.bin/binutils/ranlib/Makefile	24 Feb 2008 19:09:49 -0000
@@ -4,12 +4,15 @@
 
 .PATH: ${SRCDIR}/binutils ${SRCDIR}/binutils/doc
 
-.if defined(WITH_BSDAR)
-PROG=	gnu-ranlib
-#MAN=	gnu-ranlib.1
-.else
-PROG=	ranlib
+.if !defined(_WITH_GNUAR)
+PROGNAME= gnu-ranlib
+MAN=	gnu-ranlib.1
+gnu-ranlib.1: ranlib.1
+	cat ${.ALLSRC} > ${.TARGET}
+CLEANFILES+= gnu-ranlib.1
 .endif
+
+PROG=	ranlib
 SRCS=	ar.c is-ranlib.c
 CFLAGS+= -D_GNU_SOURCE
 CFLAGS+= -I${.CURDIR}/${RELTOP}/libbinutils
Index: usr.bin/ar/Makefile
===================================================================
RCS file: /home/ncvs/src/usr.bin/ar/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- usr.bin/ar/Makefile	22 Feb 2008 06:53:52 -0000	1.19
+++ usr.bin/ar/Makefile	24 Feb 2008 19:12:50 -0000
@@ -1,28 +1,12 @@
 # $FreeBSD: src/usr.bin/ar/Makefile,v 1.19 2008/02/22 06:53:52 obrien Exp $
 
-.if defined(WITH_BSDAR)
 PROG=	ar
-.else
-PROG=	bsdar
-.endif
+LINKS=	${BINDIR}/ar ${BINDIR}/ranlib
+MLINKS= ar.1 ranlib.1
 SRCS=	ar.c read.c util.c write.c
-
 WARNS?=	5
-
+NO_SHARED?= yes
 DPADD=	${LIBARCHIVE} ${LIBBZ2} ${LIBZ} ${LIBELF}
 LDADD=	-larchive -lbz2 -lz -lelf
 
-.if defined(WITH_BSDAR)
-NO_SHARED?=	yes
-LINKS=	${BINDIR}/ar ${BINDIR}/ranlib
-MLINKS=	ar ranlib
-.else
-LINKS=	${BINDIR}/bsdar ${BINDIR}/bsdranlib
-MLINKS=	bsdar.1 bsdranlib.1
-
-CLEANFILES+= bsdar.1
-bsdar.1: ar.1
-	ln -sf ${.ALLSRC} ${.TARGET}
-.endif
-
 .include <bsd.prog.mk>


More information about the freebsd-current mailing list