Boost logo

Boost-Build :

From: Alexey Pakhunov (alexeypa_at_[hidden])
Date: 2005-08-31 11:53:13


Hi,

Let's discuss 'cpu-arch' and 'msplatformsdk' features.

Rene Rivera wrote:
>>- the new msplatformsdk feature (without corresponding support in the
>>toolsets)
> At minimum needs a better name if this is going to be a global feature.

What name would you propose?

> A single "cpu-arch" is not sufficient here. If you look at the BBv1
> equivalent there are three features: address-model, architecture, and
> instruction-set, to handle the possibilities for controlling code
> generation. And there's are way more possibilities than i386, amd64 and
> ia64 ;-) ...I've gone ahead and transplanted, and added, the features
> present in BBv1 for this into BBv2.

Taking into account the code below 'amd64' and 'ia64' can be mapped to:

- amd64: <address-model>64 <architecture>x86
<instruction-set>k8/opteron/athlon64/athlon-fx
- ia64: <address-model>64 <architecture>ia-64 <instruction-set>ia-64

(Well, 'mapped' is not a good word. Let's say we will use features below
instead of 'cpu-arch').

--- cut from build/v1/features.jam + some changes ---

# The addressing model to generate code for.
# Currently a limited set only specifying the bit size of pointers.
feature address-model : default 16 32 64 ;

# Type of CPU architecture to compile for.
feature architecture :
# The default is the machine we are on, i.e. nothing
native
# x86 and compatible
x86

# itanium
ia-64

# Sparc
sparc
# RS/6000 & PowerPC
power
# MIPS/SGI
mips1 mips2 mips3 mips4
;

# The specific instruction set in an architecture to compile.
feature instruction-set :
# Default should probably always be the lowest common denominator.
default
# x86 and compatible
i386 i486 i586 i686 pentium pentium-mmx pentiumpro pentium2
pentium3 pentium4
k6 k6-2 k6-3 athlon athlon-tbird athlon-4 athlon-xp athlon-mp
k8, opteron, athlon64, athlon-fx

# itanium
ia-64

# Sparc
v7 cypress v8 supersparc sparclite hypersparc sparclite86x
f930 f934 sparclet tsc701 v9 ultrasparc
# RS/6000 & PowerPC
rios rios1 rsc rios2 rs64a
601 602 603 603e 604 604e 620 630 740 750
power power2 powerpc power64
403 505 801 821 823 860
power-common
# MIPS
r2000 r3000 r3900 r4000 r4100 r4300 r4400 r4600 r4650 r5000 r6000
r8000 orion
;
--- ---

Comments?

Best regards/Venlig hilsen,
Alexey Pakhunov.
 --------------080204050808090509050802 Content-Type: text/plain;
name="builtin.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="builtin.diff"

Index: builtin.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/v2/tools/builtin.jam,v
retrieving revision 1.176
diff -c -3 -r1.176 builtin.jam
*** builtin.jam 16 Aug 2005 10:59:50 -0000 1.176
--- builtin.jam 31 Aug 2005 16:22:49 -0000
***************
*** 32,37 ****
--- 32,41 ----

feature stdlib : native : propagated composite ;

+ # <msplatformsdk> provides ability to chosse between MS Platform SDK
+ # headers and libraries and standalone MS Platform SDK.
+ feature msplatformsdk : builtin external : propagated ;
+
feature link : shared static : propagated ;
feature runtime-link : shared static : propagated ;
feature runtime-debugging : on off : propagated ;
 --------------080204050808090509050802--


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