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

4
有没有用于在scons中检测CPU架构的“标准”插件?
顺便提一下,这个问题已经以更一般的形式在这里被问过了……只是想知道是否有人已经花时间将这些信息整合到scons中。
2个回答

6

使用i386是相当依赖编译器的,而且不会检测非x86 32位架构。假设scons使用的Python解释器在您感兴趣的CPU上运行(并非总是如此-请考虑交叉编译),您可以直接使用Python本身。

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

如果你需要更复杂的功能,可能需要编写自己的配置函数 - 但直接在代码中处理可能会更好。

请注意,在64位内核的32位用户空间chroot中,此操作会执行错误。 - thakis

2
像这样的吗?
env = Environment()
conf = Configure(env)
if conf.CheckDeclaration("__i386__"):
    conf.Define("MY_ARCH", "blahblablah")
env = conf.Finish()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接