- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何让 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/
有没有办法让 ExtUtils::MakeMaker 生成自定义 Makefile 目标?比如说,我想做一些只有开发人员感兴趣的特定事情,比如运行 pod 和回归测试;我可以为此使用 env 变量,但
我有一个带有 MakeMaker 生成的 Makefile 的模块,我想并行运行我的单元测试 (make test)。 Test::Harness接受例如 HARNESS_OPTIONS=j4 使用
如何让 Perl MakeMaker 更改插入到 Makefile 中的 CFLAGS 的默认值?基于this post ,我试过这个: export CFLAGS=... 然后在cpan里面,我用确
我正在开发一个名为 Mite 的 Perl 模块。 .它是一种“编译器”。您使用类似 Moose 的声明式 OO 语法编写 Perl 类。 Mite 不是在每次执行时都将类放在一起,而是在构建时完成这
我正在使用 ExtUtils::MakeMaker创建一个 Makefile来自 Makefile.PL 的 Perl 包. Perl 包(和测试)依赖于 Perl 包通过 Perl 的 system
如何从默认值 t/*.t 更改 Makefile.PL 中的默认测试路径?文档中提到了一个属性,但它不起作用。有人知道怎么做吗? 最佳答案 在 Makefile.PL 中: WriteMakefile
我需要在 /usr/bin 中安装我的主脚本(作为可执行文件)(取决于 INSTALL_BASE)。该部分已完成。 下一个是安装到目录/usr/share/project_name/data opti
我在用 perl 编写的应用程序中有一些模块和脚本。对于它的分发,我使用 ExtUtils::MakeMaker。 模块和脚本的目标操作系统是 Linux。关键是我希望最终用户将模块/脚本安装在非标准
在安装mha4mysql时,大概步骤是:解压,perl Makefile.PL,make, make install。在执行 perl Makefile.PL 报错如下,简单记录一下解决方法
我有一系列 perl 脚本,我正在为其编写 Makefile.PL 脚本,但我对 ExtUtils::MakeMaker 相当缺乏经验。 . 我编写的其中一个脚本对命令行实用程序进行了系统调用,必须安
PREREQ_PM指定运行时的先决条件,但是如何指定运行测试用例需要哪些模块? 我应该使用 BUILD_REQUIRES为了这? 最佳答案 截至ExtUtils::MakeMaker 6.64,有一个
我正在用 perl 开发一个库和脚本。对于分发,我正在使用 ExtUtils::MakeMaker , 我在名为 data 的目录中有一些配置和数据文件。在分发路径中,例如配置文件是 data/con
有多种用于构建软件的 MAKE 程序,特别是(出于本文的目的)Microsoft NMake、GNU Make 和 DMake(“Dennis Vadura 的 Make”)。 当通过 ExtUtil
我不想在解压 Perl 模块的源代码的目录中添加或修改文件,而是想在单独的目录中构建所有内容。这是否可以通过相当标准的Makefile.PL 轻松实现?使用 ExtUtils::MakeMaker ?
我的一个模块未通过 CPANTS 政策 meta_yml_has_provides 文档指出: Add all modules contained in this distribution to th
给定一个使用 C 库的 Perl XS 模块,假设有一个正确设置的 Makefile.PL,以便所有头文件和库位置、编译器和链接器标志等都能正常工作。 现在,假设我想包含一个小型 C 程序,其中包含使
我在建 git在不使用包管理器的非常小的系统(Ubuntu 16.04 docker 镜像)上(除了 wget 、 xz-utils 、 make 和 gcc )。因此,我按如下方式安装了先决条件:
我有一个顶级 defines.mk 文件,它列出了某些目录和 C 库,根据项目的不同而包含。 KERNEL_LIB = -lkdev DRIVER_LIB = -ldriver -lutil -li
我是一名优秀的程序员,十分优秀!