我知道setup.py使用与构建python相同的CFLAGS。我有一个单独的C延伸,那就是断层。我需要在没有-O2
的情况下构建它,因为-O2
正在优化一些值和代码,因此核心文件不足以解决问题。
我只需要修改setup.py,这样就不会使用-O2
。
我已经阅读了distutils文档,特别是distutils.ccompiler
和distutils.unixcompiler
,并了解了如何添加标志、libs和include,而不是如何修改默认的gcc标志。
具体来说,这是针对Python2.5.1上的一个遗留产品,它有一堆后端端口(Fedora8,是的,我知道…)。不,我不能更改操作系统或python版本,如果没有大问题,我也不能重新编译python。我只需要为一个环境是唯一分段的客户构建一个一次性的C扩展。
在运行
setup.py
之前,请预先准备CFLAGS="-O0"
:编译时,
-O0
将附加到CFLAGS
中,因此将覆盖以前的-O2
设置。另一种方法是将
-O0
添加到extra_compile_args
中的setup.py
:如果要删除所有默认标志,请使用:
相关问题 更多 >
编程相关推荐