Skip site navigation (1)Skip section navigation (2)
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>