如何配置通过 HomeBrew 安装的 FFTW3?

How do I configure FFTW3 installed via HomeBrew?

我使用 HomeBrew 安装了 FFTW3,它下载位于 https://homebrew.bintray.com/bottles/fftw-3.3.8_1.mojave.bottle.tar.gz 的文件并将其安装在我的系统上,即 macOS 10.14.6 上的 运行。现在,安装正常,gcc 能够编译使用 fttw3.h 头文件的代码。

但是,有 supposed to be 一个 ./configure 脚本,我应该可以使用它来自定义我的配置,不幸的是,它在 /usr/local/Cellar/fftw/3.3.8_1 中不存在。

我在哪里可以找到它?我还应该如何配置安装?

Homebrew 包的构建过程定义在一个名为 formula 的文件中,该文件写在 Ruby.

A formula is a package definition written in Ruby. It can be created with brew create <URL> where is a zip or tarball, installed with brew install <formula>.

您可以从 homebrew/core/Formula/fftw.rb 得到 fftw 的公式。

配置选项定义在args数组中。

# https://github.com/Homebrew/homebrew-core/blob/e7c8239a8a7c9b4501c4a18a4028cae82e254984/Formula/fftw.rb#L21-L30

  def install
    args = [
      "--enable-shared",
      "--disable-debug",
      "--prefix=#{prefix}",
      "--enable-threads",
      "--disable-dependency-tracking",
      "--enable-mpi",
      "--enable-openmp",
    ]

下载 fftw.rb 公式文件并更改配置选项。之后,通过从源构建它来安装修改后的公式。

brew install --build-from-source local/path/to/modified-fftw.rb

扩展阅读

了解如何编写自己的公式。检查

常见问题解答

为什么不推荐brew edit fftw

Homebrew 由两部分组成:brew 命令和公式存储库。 fftw.rb 是在内置 local 公式存储库 homebrew-core 中定义的公式。当您使用 brew edit fftw 时,您是在直接从本地存储库编辑文件。除非你打算为此回购做出贡献,否则不要直接编辑 homebrew-core 回购中的文件。