Finding canonical names of systems

Michael Eager eager@eagercon.com
Wed Nov 29 03:17:00 GMT 2006


Ulf Magnusson wrote:
> How are you supposed to find the canonical name of a system (of known
> type) in CPU-Vendor-OS form in the general case? If you have access to
> a system of that particular type, you can run config.guess to find
> out, but you might not have, and that approach won't work for many
> systems anyway. The canonical name needs to be known e.g. when
> cross-compiling and building cross-compilers.
> 
> The only way I could find to get a list of canonical CPU, Vendor and
> OS strings was to dig through /usr/share/gnuconfig/config.sub on my
> GNU/Linux systems, which needless to say is about as bad as it gets
> from a documentation perspective. Is there any other way to get a list
> mapping CPU's, Vendors and OS's to their canonical strings? If there
> isn't, I think it's making things much more complicated than they
> should be.

Strictly speaking, there isn't anything that is a canonical name
for a particular configuration, if you mean a single correct name.
GCC uses the vendor name to simplify figuring out the desired target
architecture.

For most cross-compilations, the vendor name is ignored.  There may
be a multitude of vendors, for example.  (How many MIPS vendors can
you name?)

Take a look at configure and config.gcc.   Find the architecture you
are interested in.  Look at the names defined for the architecture and
pick the best one.

For example, in configure you will find
   powerpc-*-eabi)
     noconfigdirs="$noconfigdirs ${libgcj}"
     ;;

This says that powerpc-<whatever>-eabi is a valid configuration.

This is further refined in config.gcc, where you will find
that powerpc-*-eabi is a bit different from powerpc-*-eabisim.

If you are looking for a comprehensive list of all possible
configurations, rather than just trying to find the correct
one for your particular application, you will find that there
are an infinite number of configurations.

-- 
Michael Eager	 eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306  650-325-8077



More information about the Gcc mailing list