gpt4 book ai didi

perl - 如何更改 MakeMaker 的默认 CFLAGS

转载 作者:行者123 更新时间:2023-12-05 01:11:38 25 4
gpt4 key购买 nike

如何让 Perl MakeMaker 更改插入到 Makefile 中的 CFLAGS 的默认值?基于this post ,我试过这个:

export CFLAGS=...

然后在cpan里面,我用

确认了
! print $ENV{CFLAGS}

但它仍然使用构建 Perl 时使用的任何 CFLAGS。

我按照 this post 的建议查看了 lib/perl/.../Config.pm但似乎没有在那里设置 CFLAGS。

我有一个相关问题已得到解答:How to tell CPAN about path to make and cc

我在 CPAN/Config.pm 中取得了一点进展

'makepl_arg' => q[ CCFLAGS="-D_REENTRANT -O2 -m32  -I/opt/csw/bdb48/include -I/opt/csw/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -m32 -DVERSION=\"1.616\" -DXS_VERSION=\"1.616\" -fPIC -I/opt/csw/lib/perl/5.10.1/CORE"],

但这只会将值附加到 CFLAGS 中已有的值,gcc 无法理解(如“-x03”和“-KPIC”)。

最佳答案

我已成功修改/opt/csw/lib/perl/5.10.1/Config_heavy.pl,以便 MakeMaker 可以生成可在 OpenCSW 下的 solaris 系统上运行的 Makefile。

其他遇到类似问题的可以在这里下载:https://gist.github.com/1569718

我还把这个发回给 opencsw.org 的维护者,这样他们就有希望更新 Perl 的 OpenCSW 版本。我在我的帖子中指出,正确的方法是使用属于 OpenCSW 发行版的工具完全重建 Perl,因为我相信在构建任何给定的 Perl 发行版时,该文件会由其他脚本自动生成(尽管我还没有验证了它的实际构建方式)。这个补丁文件只是一个权宜之计,这样我就可以在截止日期前完成我的工作。

我更愿意通过修改 CPAN/Config.pm 中的设置来实现我的目标。这适用于设置 gcc 和 gmake 的正确路径,但不适用于将命令行标志更改为 gcc,因为 CPAN 会将这些标志附加到先前设置的参数字符串。 gcc 会在遇到这些标志后退出,其中一些标志是不兼容的(例如“-xO3”和“-KPIC”)。

郑重声明,CSWperl 5.10.1,REV=2011.01.15 是我从 OpenCSW 安装的 CSW Perl 的当前版本。

希望这可以帮助其他人。

关于perl - 如何更改 MakeMaker 的默认 CFLAGS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8740443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com