This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
RE: GCC Target specification syntax
- From: "Rupert Wood" <me at rupey dot net>
- To: "'David A. Braun'" <braun at research dot panasonic dot com>
- Cc: <gcc-help at gcc dot gnu dot org>
- Date: Mon, 18 Aug 2003 17:09:48 +0100
- Subject: RE: GCC Target specification syntax
David A. Braun wrote:
> Well! That's pretty extreme! Rejecting MIME content type of
> Text/html! A little paranoid are we?
I don't think it's paranoia - you'll find a lot of free software mailing
lists object to HTML mail. It's probably historic (lots of free MUAs support
it fine now) or bandwith or something, or simply some people prefer plain
text mail anyway. (It gets a mention in the list policies:
http://gcc.gnu.org/lists.html). If you're still having problems, there's a
smallish mailing list FAQ here:
http://sources.redhat.com/lists.html
including the anti-spam policies. (IIRC sources.redhat.com is the same
machine as gcc.gnu.org.)
> At several points in my scan of the GCC installation documentation
> there are references to target specs such as "i386-redhat-linux" or
> "alpha*-*-*". Looking at the configure script for several packages
> there seems to be a standard syntax for this string. Is this syntax
> documented anywhere?
I've never seen any documentation but the canonical source is the GNU
'config' package: config.guess and config.sub. I can't find a homepage for
it in the FSF software directory and there's no documentation in the config
CVS beyond comments in the scripts. I've always called it a 'target triple',
but the format can now be four groups: (from config.sub)
# The goal of this file is to map all the various variations of a
# given machine specification into a single specification in the
# form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
If you run ./config.guess, it'll attempt to work out the triple for your
machine from uname. Sometimes you'll also see the manufacturer omitted, e.g.
i686-mingw32, or a binary object file format specified rather than an
operating system for OS-less tools, e.g. sparc-elf, although these aren't
config's preferred forms; you should pass user-specified triples through
config.sub which will spit out the canonical form:
grizzlybear:~/cvs/config$ ./config.sub sparc-elf
sparc-unknown-elf
grizzlybear:~/cvs/config$ ./config.sub i686-linux
i686-pc-linux-gnu
Hope that helps,
Rup.