我有一个使用Scons构建的C++库,它最终会链接到Python扩展中(以及其他东西)。
一旦我用scons构建了这个库,我就编写了一个标准的setup.py脚本,我调用它来构建和安装扩展。
我的主要问题是setup.py无法识别何时重新构建了库(仅当扩展的代码发生更改时),因此每次我重新构建库时,我都必须在重新构建它之前“清理”扩展。此外,如果我更改了目录结构,我希望只需要编辑Scons文件。最后,只需调用scons比调用setup.py更方便一些。
有谁知道如何将distutils集成到Scons中,以便利用Scons掌握的关于哪些文件需要重建的知识?
发布于 2010-03-01 06:24:17
您可以从SCons执行任何命令行操作。参见Writing Your Own Builders。然后,您可以通过writing a scanner检测给定文件格式的任何更改。
发布于 2010-03-01 14:24:52
我已经成功地创建了SConstruct来编译用Pyrex编写的Python扩展。主要思想是从distutils获得适当的C编译器标志,然后设置你的环境。
在scons wiki上查看以下页面:
https://stackoverflow.com/questions/2351553
复制相似问题