我正在寻找一种方法来为我的Python项目进行简单的构建环境检查,而不必依赖autoconf样式的宏。具体来说,我正在移植使用新unordered_map
类型的本机C ++类,方法是用SWIG封装它们。在仅限C ++的项目中,我们以here描述的方式使用autotools / configure宏来检查编译器是否支持std::unordered_map
或std::tr1::unordered_map
。这些宏都可以归结为尝试使用这两个选项编译小型C ++程序并查看哪一个成功编译。
有没有办法用setuptools进行这种类型的环境检查?我试着查看numpy和matplotlib的setup.py脚本,并且不清楚它们如何动态地派生本地编译环境的配置。我应该在运行./configure
脚本的setup.py脚本中打开一个子进程吗?