更改 Homebrew 的编译标志

Fra*_*une 8 mac homebrew clang macos

我们正在 OS X Yosemite 10.10 上构建一个大型 C++ 应用程序。此应用程序依赖于我们在构建应用程序之前使用 Homebrew 安装的许多第三方库。我们的发布脚本获取所有依赖项并将它们包含在最终包中。

我们的一些用户报告说我们的应用程序无法在他们的 Mac 上运行。例如,在 2012 年末的 27 英寸 iMac 上运行 macOS 10.12.6 的用户正在获取llegal instruction: 4(所有详细信息在这里)。

看起来崩溃发生在我们捆绑的第三方依赖项之一 OpenImageIO 中,它是使用以下命令安装在构建机器上的:

brew tap homebrew/science
brew install openimageio
Run Code Online (Sandbox Code Playgroud)

brew info openimageio 报告说它确实是从源代码构建的:

/usr/local/Cellar/openimageio/1.7.17_1 (66 files, 16.0MB) *
  Built from source on 2017-11-27 at 19:15:19
Run Code Online (Sandbox Code Playgroud)

我怀疑 Homebrew 在构建机器上编译时启用了高级 x86 指令集。

这是 OpenImageIO 的 Homebrew 公式:https :
//github.com/Homebrew/homebrew-science/blob/master/openimageio.rb

有没有办法找出 Homebrew 正在使用哪些标志或哪些命令行?

或者,有没有办法在 macOS 上全局设置 clang 的默认标志?