Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Nov 1999 07:16:25 -0500
From:      Simon Shapiro <shimon@simon-shapiro.org>
To:        John Birrell <jb@cimlogic.com.au>
Cc:        Marcel Moolenaar <marcel@scc.nl>, arch@freebsd.org
Subject:   Re: Cross compilation goals.
Message-ID:  <3833EE19.A7DC5935@simon-shapiro.org>
References:  <19991117184034.A53402@dragon.nuxi.com>, <199911180559.WAA21245@harmony.village.org> <3833C40B.EC5290CF@scc.nl> <19991118212234.E13376@freebsd1.cimlogic.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
John Birrell wrote:
> 
> On Thu, Nov 18, 1999 at 10:16:59AM +0100, Marcel Moolenaar wrote:
> > Cross-compilation and cross-building don't share the same problem-space
> > and each have a different set of goals (non necessarily disjunct).
> 
> I think that cross-compilation is a superset of cross-building if you
> want to make a distinction between the too.
> 
> > My personal thoughts on the subject of the ability to make
> > cross-compilers from within our source tree are *at this time* dominated
> > by it's use for cross-building. I don't see a point to bloat our source
> > tree with the ability to make a cross-compilation toolset for NT (for
> > example) while there's this really neat ports collection in which we can
> > add anything that's not directly related/necessary for out base-system.
> 
> The build I have avoids bloat for those who don't want the cross-compilation
> tools. I want the build system to be flexible enough to get tools "for
> all seasons". To me, the build makefiles are the key to it. I rarely
> get what I want out of Cygnus' configure shit^H^H^Htuff.
> 
> I can easily cross-build FreeBSD sources targeted to NetBSD/m68k/aout
> the way I build the compiler. And I can cross-build non-FreeBSD sources
> targeted at LynxOS/PowerPC or NT/i386. The binutils makefiles in the
> tree already support that. Extending them to other architectures is
> trivial. I want the compiler build to be the same way. There is very
> little bloat (just a few more makefiles) for those who only want to
> build.
> 
> I want to see FreeBSD become a serious contender as a development
> platform (preferably out of the box).

Haleluya!

> > My suggestion is this:
> > Let's talk cross-building first and fix our make world. When release 4.0
> > is out we have the time and the (inner) peace to discuss how we think we
> > should help developers that eat cross-compilers for breakfast :-)
> 
> I think we can do both at the same time.

Agree.

> We seem to disagree on the mechanics of how we should drive a cross-build.
> _I_ think we should use MACHINE and MACHINE_ARCH which are set in make(1)
> as a convenience for host builds, but can be overridden for cross-builds.
> They are not there for any other make function AFAIK. I agree that the
> make(1) man page doesn't support this, but I think that is just a few
> paragraphs of documentation that can be "fixed" (or changed to suit the
> new world order).

Documentation fixes are easier, and more reliable than code
fixes.  Always. :-)

> What I _don't_ want to see is gcc trying to interpret MACHINE_ARCH
> or TARGET_ARCH or somehow trying to "discover" that it is cross-compiling.
> I think we can just do what Cygnus does and build a dedicated version
> of gcc for each target.

A 22GB drive is $200.  You are right, as this keeps the compiler
simpler.

> I want the makefiles (including .mk) to have control over how things build.
> 
> I also don't want to see make(1) customized. I would like to ask that
> we use the version of make from 2.2.5 (or whenever the -m switch was
> first implemented) as the reference. If we can't do a cross-build with
> an old version of make like that, then we're doing something wrong.
> 
> At work I have to live with GNU make because of portability issues
> across Solaris, NT, Linux and FreeBSD. I'm tempted to suggest that we
> drop BSD make in favour of gmake. I bet a suggestion like that will
> wake people up. 8-) I'm only half joking.

Why not?  Does it work?  Can it execute our current makefiles
correctly?  I know ours make cannot run many for-gnu makefiles.

> --
> 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 freebsd-arch" in the body of the message

-- 


Sincerely Yours,                 Shimon@Simon-Shapiro.ORG
                                             404.664.6401
Simon Shapiro

Unwritten code has no bugs and executes at twice the speed of mouth




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




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