On Thu, Nov 21, 2002 at 06:28:09AM -0700, M. Warner Losh wrote:
> In message: <[EMAIL PROTECTED]>
>             Ruslan Ermilov <[EMAIL PROTECTED]> writes:
> : On Thu, Nov 21, 2002 at 12:10:14AM -0700, M. Warner Losh wrote:
> : > In message: <[EMAIL PROTECTED]>
> : >             "Wilkinson,Alex" <[EMAIL PROTECTED]> writes:
> : > : Is FreeBSD likely to follow the in footsteps of NetBSD and create a framework 
>to do crossbuilds ?
> : > : 
> : > : http://ezine.daemonnews.org/200211/xdevnetbsd.html
> : > 
> : > FreeBSD already has cross builds for a while, since before NetBSD's
> : > cross build infrastructure.  However, NetBSD's infrastructure is a
> : > little more extensive because it is possible to do incremental builds
> : > and build full releases that work in a cross build evironment.
> : > 
> : What do you mean by "incremental builds and full releases that work ..."?
> 
> ruslan,
> 
>       First and foremost, I ment no disrespect in what I said.  You
> have made the upgrade path for FreeBSD almost painless for a wide
> range of releases (less painful than NetBSD has been at times for me).
> You gave FreeBSD the ability to cross build world about a year or a
> year and a half ahead of NetBSD's similarly integrated ability.
> 
Sorry if I sounded so, I didn't mean to.  :-)

> NetBSD builds a directory full of tools that you can later use to
> incrementally build, say, 'ls' or 'cat' because one can define
> USETOOLS to be 'yes' and have the make automatically pick them up when
> rebuilding.  There are a few of the details I'm a little unclear on,
> but that's the jist of it.
> 
We also can, this just requires a few really tiny tweaks to Makefile.inc1,
and I've posted them already some time ago -- basically, for each architecture
you should build the subset of buildworld targets (WMAKE_TGTS), up to and
including _libraries (if you want to build roughly any bit later), and
them you can ``make {depend|all} SUBDIR_OVERRIDE=bin/cat'' for each of
the desired TARGET_ARCH.

> Second, the NetBSD have tested almost all of their platforms in a
> cross build release scenario.  They know that the binaries that result
> from 'make release' build on i386 actually boot on the target
> platform.  They have build 1.6.x for many of their platforms this
> way.  So far, the FreeBSD has done all its builds natively.
> 
I know that the Alpha and sparc64 binaries produced on i386 work.
I know that cross-compiling i386 on either Alpha or sparc64 is
broken (GCC sometimes produces different assembler output than
the native compiler).  I lack the necessary hardware to actually
test/fix the issues with cross-releases.

> One of the cool things about the NetBSD approach, btw, is that they
> have a src/tools directory.  This directory lists all the build tools
> for building in one place.  I think that this is a little cleaner than
> what we have in the Makefile.inc1 right now.  On the other hand, it is
> a lot more complicated than what we have now, and I'm not sure that
> added complexity is worth it.
> 
When you say "build tools", do you mean them in our build-tools sense,
or something else?


Cheers,
-- 
Ruslan Ermilov          Sysadmin and DBA,
[EMAIL PROTECTED]           Sunbay Software AG,
[EMAIL PROTECTED]          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: msg47086/pgp00000.pgp
Description: PGP signature

Reply via email to