在scons中检测CPU架构(32位/ 64位)?

时间:2008-10-29 02:43:42

标签: build-process scons cpu-architecture

scons 中是否有用于检测CPU架构的“标准”插件?

顺便说一下,这个问题已经以更为一般的形式提出here了......只是想知道是否有人已经花时间将这些信息纳入scons。

2 个答案:

答案 0 :(得分:6)

使用 i386 取决于编译器,并且不会检测非x86 32位arch。假设scons使用的python解释器运行在你感兴趣的CPU上(并非总是如此 - 想想交叉编译),你可以只使用python本身。

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

如果您需要更复杂的东西,那么您可能需要编写自己的配置功能 - 但最好直接在代码中处理它。

答案 1 :(得分:2)

这样的东西?

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