Date: Thu, 18 Nov 1999 21:22:34 +1100 From: John Birrell <jb@cimlogic.com.au> To: Marcel Moolenaar <marcel@scc.nl> Cc: arch@freebsd.org Subject: Re: Cross compilation goals. Message-ID: <19991118212234.E13376@freebsd1.cimlogic.com.au> In-Reply-To: <3833C40B.EC5290CF@scc.nl>; from Marcel Moolenaar on Thu, Nov 18, 1999 at 10:16:59AM %2B0100 References: <19991117184034.A53402@dragon.nuxi.com>, <199911180559.WAA21245@harmony.village.org> <3833C40B.EC5290CF@scc.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
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). > 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. 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). 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. 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. -- 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991118212234.E13376>