From owner-freebsd-current Sun Aug 11 10:00:36 1996 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id KAA25010 for current-outgoing; Sun, 11 Aug 1996 10:00:36 -0700 (PDT) Received: from rover.village.org (rover.village.org [204.144.255.49]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id KAA24995 for ; Sun, 11 Aug 1996 10:00:32 -0700 (PDT) Received: from rover.village.org (localhost [127.0.0.1]) by rover.village.org (8.7.5/8.6.6) with ESMTP id KAA24937; Sun, 11 Aug 1996 10:59:52 -0600 (MDT) Message-Id: <199608111659.KAA24937@rover.village.org> To: Andreas Klemm Subject: Re: Whither gcc 2.7? Cc: current@FreeBSD.org In-reply-to: Your message of Sat, 10 Aug 1996 16:41:25 +0200 Date: Sun, 11 Aug 1996 10:59:52 -0600 From: Warner Losh Sender: owner-current@FreeBSD.org X-Loop: FreeBSD.org Precedence: bulk : Would it be a good compromise with respect to kernel stability, to : call the old stable cc 'cc' and the new 2.7.2.x one 'gcc' ?! : : Everybody could choose between cc and gcc via /etc/make.conf. : : So we should perhaps add a contrib section with a bmaked contrib/gcc, : so that the stable cc could stay where he is ?! Actually, here's an idea. We have the current stable gcc 2.6.3 that is known good and everyone trusts. Let's have a gcc port (yes, a port) that has 2.7.2 + the 2.7.2.1 prerelease patches + any other FreeBSD hacks that are needed to make it work. People can chose between /usr/bin/gcc and /usr/local/bin/gcc via /etc/make.conf. Over time, this would allow those people that wanted to follow gcc more closely to do so, and to have source available for easy importing into whatever scheme the core kernel uses. Yes, this is a lot of disk space, but no more wasteful than having both emacs and XEmacs in the ports tree. The version in the ports tree would use gmake, just like emacs does now, and it wouldn't be bmaked. I've build recent gccs several times this way, and it works well. Another option is to slightly hack how FreeBSD does its C compiler installation. We could move from putting it in /usr/libexec to placing it /usr/lib/gcc-lib/i386-unknown-freebsd2.2/ so that multiple versions of the compiler can co-exist peacefully. The -V option could them pick which version people wanted to use, with the default being the stable one in the source tree. NetBSD and OpenBSD seem to have moved the compilers so that they live here (I may be misreading the sources, I've not done a make install on one of these systems), so there is BSD world precidence. I'd also be happy to put together a port of gcc 2.7.2.1 so that people that need the newer functionality (especially with g++) of that revision can have it more easily than today. I'd do that by grabbing 2.7.2 from prep or gatekeeper or freefall, applying the 2.7.2.1 trial patches plus any other FreeBSD specific patches that would be needed, as patch-aa, patch-ab, etc. I'd install it into /usr/local/bin. I'm not married to any of this. Comments? Warner