gpt4 book ai didi

ruby - 如何覆盖、阻止或恢复 Homebrew 对编译标志的更改

转载 作者:数据小太阳 更新时间:2023-10-29 06:59:22 28 4
gpt4 key购买 nike

我正在调试由于构建变量被破坏而失败的 Homebrew 公式:

clang++ called with: -mmacosx-version-min=10.7 -arch i386 -Weverything -O3 -std=c++11 -stdlib=libc++ -lc++ objects/foo.o objects/bar.o -o ../bin/foo_i386
superenv removed: -arch i386 -Weverything -O3
superenv added: -pipe -w -Os -march=native -isystem/usr/local/include -isystem/usr/include/libxml2 -isystem/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers -L/usr/local/lib -L/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries -Wl,-headerpad_max_install_names
superenv executed: clang++ -pipe -w -Os -march=native -mmacosx-version-min=10.7 -std=c++11 -stdlib=libc++ -lc++ objects/foo.o objects/bar.o -o ../bin/foo_i386 -isystem/usr/local/include -isystem/usr/include/libxml2 -isystem/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers -L/usr/local/lib -L/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries -Wl,-headerpad_max_install_names

我想保留被 superenv 删除的标志,删除它们的替换(由 superenv 添加)。

我确实想指定架构和优化级别,并且我不需要将 XML 或 OpenGL 库的链接编译到不处理 XML 且不具有图形界面或呈现三个的命令行应用程序-维度布局。

这是我的公式的 install block :

def install
ENV.deparallelize
system 'make all'
system 'make install'
end

我可以在 Homebrew 公式的 install block 中对 Ruby 环境变量进行任何更改以防止原始标志被破坏(以及避免不必要的修改)吗?

什么行不通

此公式将与其他人共享。公式需要是独立的,就其启用的设置而言。我不想重新配置和重新编译主 Homebrew 包管理器来保留标志,因为这将要求最终用户必须对其 Homebrew 安装进行相同的自定义。

最佳答案

将此行添加到您的公式中:

环境:标准

这告诉 Homebrew 默认安装没有 superenv 的公式。 (这总是可以通过为 brew install 提供 --env=superenv 选项来覆盖。)

关于ruby - 如何覆盖、阻止或恢复 Homebrew 对编译标志的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22053776/

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