2008-10-29 17 views

Répondre

2

Quelque chose comme ça?

env = Environment() 
conf = Configure(env) 
if conf.CheckDeclaration("__i386__"): 
    conf.Define("MY_ARCH", "blahblablah") 
env = conf.Finish() 
6

L'utilisation i386 dépend plutôt compilateur et ne détecte pas non x86 32 bits archs. En supposant que l'interpréteur python utilisé par scons fonctionne sur le CPU qui vous intéresse (pas toujours le cas - pensez à la compilation croisée), vous pouvez simplement utiliser python lui-même.

import platform 
print platform.machine() 
print platform.architecture() 

Si vous avez besoin quelque chose de plus sophistiqué, alors vous aurez peut-être écrire votre propre fonction de configuration - mais il peut être préférable de traiter dans votre code directement.

+0

+1 platform.machine() – paxos1977

+0

Notez que cela ne la mauvaise chose dans un chroot userspace 32 bits avec un noyau 64 bits. – thakis