Boost logo

Boost-Build :

From: Reece Dunn (msclrhd_at_[hidden])
Date: 2005-10-20 11:41:49


David Abrahams <dave <at> boost-consulting.com> writes:

> Reece Dunn <msclrhd <at> hotmail.com> writes:
> > How about:
> >
> > <architecture> specifies the general CPU type being used. That is, what
> > architectural design is being used on the chip. For example, x86 specifies
the
> > Intel X86 based CPUs such as Pentium 4.
> >
> > <instruction-set> specifies what CPU/assembler instructions are available
for
> > the given architecture. For example, using the instructions available with
the
> > AMD Athalon CPU.
>
> So far, I see no advantage in distinguishing these. What's the point
> of <architecture>, anyway? Isn't that completely determined by the
> instruction-set chosen?

It is true that <instruction-set> ==> <architecture>, but you have
<architecture>1 ==> <instruction-set>*
so you can specify <architecture> if you want the *general* CPU architecture or
<architecture>/<instruction-set> if you need a specific version of that
architecture.

An analogous setup thing would be what version of Windows you are running. You
can have either 9x, NT or CE "architecture", and 9x-95, 9x-ME, NT-NT4, NT-XP,
NT-Vista, CE-SmartPhone2003, etc. where 95, XP and Vista are the
"instruction-set".

> <facetious>
> If you specify <architecture>x86 and no <instruction-set> does it
> assume you're on an 8086?
> </facetious>

<architecture>x86 assumes you are building for an Intel IA32 CPU, but you don't
care which one. <architecture>x86/<instruction-set>pentium3 means that you are
targetting Pentium3 processors on the IA32 architecture.

- Reece

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk