For future reference, I discovered:
(a) that PETSc builds FFTW by default, and further
(b) PETSc has all the parallel FFT stuff implemented as a MATFFTW matrix class with wrappers in petsc4py.
So all that conversation was unnecessary, sorry!
From: Lawrence Mitchell <wencel@gmail.com>
Sent: 24 May 2020 18:32
To: Cotter, Colin J <colin.cotter@imperial.ac.uk>
Cc: firedrake <firedrake@imperial.ac.uk>
Subject: Re: [firedrake] Firedrake compatible C compiling
 
 
> On 24 May 2020, at 18:29, Cotter, Colin J <colin.cotter@imperial.ac.uk> wrote:
> 
> OK, new question!
> 
> How do I ask PETSc to build FFTW via the Firedrake install script?
Do
PETSC_CONFIGURE_OPTIONS="--download-fftw=1" firedrake-install --normal-arguments
Lawrence