Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Nov 1999 06:07:14 +1100
From:      John Birrell <jb@cimlogic.com.au>
To:        Marcel Moolenaar <marcel@scc.nl>
Cc:        John Birrell <jb@cimlogic.com.au>, Warner Losh <imp@village.org>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src Makefile.inc1 src/usr.bin/make Makefile
Message-ID:  <19991118060714.B13376@freebsd1.cimlogic.com.au>
In-Reply-To: <38329493.82FFA536@scc.nl>; from Marcel Moolenaar on Wed, Nov 17, 1999 at 12:42:11PM %2B0100
References:  <383189F7.67E89E8B@scc.nl> <38310A94.B1939A83@scc.nl> <199911151707.JAA03820@freefall.freebsd.org> <199911160533.WAA02391@harmony.village.org> <199911161544.IAA08642@harmony.village.org> <199911161714.KAA09479@harmony.village.org> <38319FFB.530FFCC6@scc.nl> <199911161935.MAA10311@harmony.village.org> <19991117212631.A13376@freebsd1.cimlogic.com.au> <38329493.82FFA536@scc.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Nov 17, 1999 at 12:42:11PM +0100, Marcel Moolenaar wrote:
> John Birrell wrote:
> > 
> > I've sent a set of makefiles to David O'Brien which allow gcc/egcs to
> > be built as host and cross-compilers. Most of the trickery needs
> > to be in sys.mk (it gets poluted more!), not Makefile.inc1 to ensure
> > that things like the bfd type set at all levels of the build.
> 
> sys.mk should not and need not be polluted. With the proper staging
> and/or phasing of the build process you can handle anything without
> trickery.

Can you cross-compile from any level in the tree?

> > all the tools that are needed for a cross-build. Then, for a cross-build,
> > all you need to do in Makefile.inc1 is this:
> > 
> > # Check if cross-compiling.
> > __MA!=/sbin/sysctl -b hw.machine_arch
> > __M!=/sbin/sysctl -b hw.machine
> > .if ${__MA} != ${MACHINE_ARCH} || ${__M} != ${MACHINE}
> > # Cross-compiling, so don't build tools.
> > CROSS_COMPILING =       1
> > NOTOOLS         =       1
> > .endif
> 
> This won't work. I'm not able to make the native, non-cross Alpha
> compiler in a cross-build, because MACHINE_ARCH=alpha in that case and
> __MA will be something other (say i386). In a cross-build you want to
> create the same world you do when you don't cross-build. This is not the
> case with your 'solution'.

Yes it is.

> > I still believe that there should be compatibility in libc for the
> > old signal interface while the running kernel doesn't support the
> > new signal stuff.
> 
> Unnecessarily complex. Fix what is broken. Don't work-around it, unless
> a fix is not feasible. The build process is broken and fixing it would
> give us much more in return than a work-around in libc would do.
> 
> > Building a kernel in as part of a make world is too complicated IMHO.
> 
> kernel:
> 	cd ${.CURDIR}/sys/${MACHINE_ARCH}/conf; \
> 	    config -d ${KERNELBUILDDIR} ${KERNEL}
> 	cd ${KERNELBUILDDIR}; ${MAKE} depend; ${MAKE} all
> 
> Piece of cake :-)

Sounds simple, but I doubt that it will work out that way because
of all the issues related to ${KERNEL}.

-- 
John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/
               john.birrell@cai.com john.birrell@opendirectory.com.au


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?19991118060714.B13376>