Final sanity pass: xdev

M. Warner Losh imp at bsdimp.com
Wed Mar 18 17:37:42 PDT 2009


In message: <18877.57878.136116.691250 at gromit.timing.com>
            John Hein <jhein at timing.com> writes:
: M. Warner Losh wrote at 08:08 +0900 on Mar 15, 2009:
:  > In message: <18875.60334.947446.966085 at gromit.timing.com>
:  >             John Hein <jhein at timing.com> writes:
:  > : M. Warner Losh wrote at 09:00 -0600 on Mar 13, 2009:
:  > :  > In message: <20090313125115.GU31961 at hoeg.nl>
:  > :  >             Ed Schouten <ed at 80386.nl> writes:
:  > :  > : Hi Warner,
:  > :  > : 
:  > :  > : The last couple of days/weeks I've been working a lot with LLVM+Clang.
:  > :  > : I'm currently writing some BSD makefiles to see how hard it is to add
:  > :  > : Clang to our base system, as a proof of concept.
:  > :  > : 
:  > :  > : A nice thing about Clang is that it seems to be very easy to compile in
:  > :  > : multiple backends into the same Clang binary. If we ever switch to Clang
:  > :  > : in the base system (who knows), it would be interesting to see whether
:  > :  > : it's useful to just compile in all backends by default.
:  > :  > : 
:  > :  > : Anyway, I took a quick look at the xdev patch and it looks okay. :-)
:  > :  > 
:  > :  > Woot!  Please let me know if it causes problems.
:  > : 
:  > : I meant to mention this earlier - OSREL (referenced in the _xi-links:
:  > : target) is not defined.  So ports looking for arm-freebsd8.0-cc (for
:  > : instance) won't find it.
:  > : 
:  > : 
:  > : An earlier patch of yours had:
:  > : 
:  > : .if !defined(OSREL)
:  > : OSREL!= uname -r | sed -e 's/[-(].*//'
:  > : .endif
:  > : 
:  > : But the latest (and the one committed) does not.
:  > 
:  > You are right... Dang.  I must have comitted the wrong thing...

There is a subtle point here that we've missed.  This gives us the
version on the host, not the version of the tree we're building.  In
practice, these need to be the same.  However, if we support building
a 6.x cross compiler on a 7.x system, we may have to revisit.

: One more thing... Now that we've switched to bsd ar, installing
: gnu/usr.bin/binutils installs the gnu ar as gnu-ar.  Cross-built
: ports can't find arm-freebsd8.0-ar

Doh! Thanks for the patch.  I'll run it through my QA cycle.

Warner

: Adding usr.bin/ar to the cross tools does the job...
: 
: Index: Makefile.inc1
: ===================================================================
: RCS file: /base/FreeBSD-CVS/src/Makefile.inc1,v
: retrieving revision 1.620
: diff -u -p -r1.620 Makefile.inc1
: --- Makefile.inc1	13 Mar 2009 10:40:38 -0000	1.620
: +++ Makefile.inc1	16 Mar 2009 05:11:12 -0000
: @@ -1035,6 +1035,7 @@ cross-tools:
:  .for _tool in \
:      gnu/usr.bin/binutils \
:      gnu/usr.bin/cc \
: +    usr.bin/ar \
:      usr.bin/sed \
:      usr.bin/xlint/lint1 usr.bin/xlint/lint2 usr.bin/xlint/xlint \
:      ${_btxld} \
: @@ -1370,7 +1371,8 @@ _xb-build-tools:
:  _xb-cross-tools:
:  .for _tool in \
:      gnu/usr.bin/binutils \
: -    gnu/usr.bin/cc
: +    gnu/usr.bin/cc \
: +    usr.bin/ar
:  	${_+_}@${ECHODIR} "===> xdev ${_tool} (obj,depend,all)"; \
:  	cd ${.CURDIR}/${_tool}; \
:  	${CDMAKE} DIRPRFX=${_tool}/ obj; \
: @@ -1395,7 +1397,8 @@ _xi-cross-tools:
:  	@echo "_xi-cross-tools"
:  .for _tool in \
:      gnu/usr.bin/binutils \
: -    gnu/usr.bin/cc
: +    gnu/usr.bin/cc \
: +    usr.bin/ar
:  	${_+_}@${ECHODIR} "===> xdev ${_tool} (install)"; \
:  	cd ${.CURDIR}/${_tool}; \
:  	${CDMAKE} DIRPRFX=${_tool}/ install DESTDIR=${XDDESTDIR}
: 
: 


More information about the freebsd-arch mailing list