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