Date: Mon, 29 Oct 2001 16:42:21 -0500 (EST) From: Robert Watson <rwatson@FreeBSD.ORG> To: Lyndon Nerenberg <lyndon@atg.aciworldwide.com> Cc: arch@FreeBSD.ORG Subject: Re: GNU Compiler Symlinks Message-ID: <Pine.NEB.3.96L.1011029160342.39894E-100000@fledge.watson.org> In-Reply-To: <200110292042.f9TKgu0H005799@atg.aciworldwide.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 29 Oct 2001, Lyndon Nerenberg wrote: > > This seems wrong to me. The man page I get when I look at the current > > cc man page is clearly the man page for gcc. > > No, it's the manpage for cc. The fact that you get a manual page that > corresponds to the GNU C compiler is purely an implementation artifact. > (The fact that the title and command name references in the formatted > manpage refer to "gcc" is a bug, IMO.) Are you sure? /usr/share/man/man1/cc.1.gz: .\" $FreeBSD: src/contrib/gcc.295/gcc.1,v 1.16 2001/08/01 18:35:54 obrien Exp $ .\" Copyright (c) 1991, 1992, 1993, 1994 Free Software Foundation -*-Text-*- .\" See section COPYING for conditions for redistribution And... The information in this man page is an extract from the full documentation of the GNU C compiler, and is limited to the meaning of the options. It documents GNU-specific CC command-line options later in the man page, as far as I can tell, anyway. > > This seems backwards. The GNU tools should be installed with the GNU > > names. Installing as "cc" and "cc.1" should be the optional bit, as you > > might want to install an alternative compiler with those names, but retain > > gcc since that's what the system is designed to build with. > > No, the system is designed to be built with cc. Again, the fact that cc > happens to be the GNU compiler on FreeBSD is an implementation artifact. > The canonical command name for the system C compiler is still cc. > Compiler implementations can change (witness Ultrix/Digital UNIX and the > introduction of the MIPSco compilers) however the name stays the same. > Without standard naming the system would be impossible to use, since you > would have no idea what the names of any of the commands might be. You appear to be misunderstanding what I'm suggesting. I'm not saying that cc shouldn't point as gcc, I'm saying that gcc should be gcc, and cc should be a pointer that can be directed at the administrator's choice of cc's, which by default would be gcc. I don't see that removing the 'g' from gcc accomplishes anything: in fact, it attempts to obfuscate that fact that cc really is gcc, and it serves the purpose of creating naming conflicts in the event that another cc becomes available. Look at how we addresses the MTA issue. Also, contrary to what you're suggesting, the system is designed to be built with the GNU C compiler. We have gcc'isms in a number of places in the source tree, and the chances are very high that the system would not work properly unless the compiler perfectly emulated these gcc-isms. We also ship (and test) only with the GNU C compiler. Arguably, we should support other C compilers, if any decent ones existed. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services 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?Pine.NEB.3.96L.1011029160342.39894E-100000>