cd "$SRCDIR"/fftw-${PKGVER/+/-}
CONFIGURE="./configure F77=gfortran --prefix=/usr \
           --enable-shared --enable-threads \
           --enable-openmp"

# Note: Cmake is needed to generate FFTW3LibraryDepends.cmake, but the actual
#       binary are built via autotools
# Note: Build Type set to None to force usage of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS
#       instead of build type-specific ones
CMAKE_OPTIONS="
	-Bcmake-gen
	-DCMAKE_INSTALL_PREFIX=/usr
	-DCMAKE_BUILD_TYPE=None
	-DENABLE_OPENMP=ON
	-DENABLE_THREADS=ON
"

if [[ "${CROSS:-$ARCH}" = "amd64" ]]; then
    abinfo "FIXME: sse requires double precision - SSE/SSE2 disabled here"
elif [[ "${CROSS:-$ARCH}" = "armv7hf" || "${CROSS:-$ARCH}" = "arm64" ]]; then
    CONF="--enable-neon"
    CMAKE_OPTIONS+=" -DENABLE_NEON=ON "
elif [[ "${CROSS:-$ARCH}" = "ppc64" ]]; then
    CONF="--enable-altivec"
    CMAKE_OPTIONS+=" -DENABLE_ALTIVEC=ON "
fi

abinfo "Invoking Cmake to generate FFTW3LibraryDepends.cmake"
cmake $CMAKE_OPTIONS
sed \
	-e 's|\(IMPORTED_LOCATION_NONE\).*|\1 "/usr/lib/libfftw3.so.3"|' \
	-e 's|3\.5\.7|3.5.8|' \
	-i cmake-gen/FFTW3LibraryDepends.cmake
install -vDm 644 cmake-gen/FFTW3LibraryDepends.cmake -t "$PKGDIR/usr/lib/cmake/fftw3/"

if [[ "${CROSS:-$ARCH}" = "amd64" ]]; then
    cd "$SRCDIR"/fftw-${PKGVER/+/-}-double
    $CONFIGURE $CONF
    make
    make install DESTDIR="$PKGDIR"

    cd "$SRCDIR"/fftw-${PKGVER/+/-}-long-double
    $CONFIGURE --enable-long-double \
               $CONF
    make
    make install DESTDIR="$PKGDIR"
fi

cd "$SRCDIR"/fftw-${PKGVER/+/-}-single
$CONFIGURE --enable-float \
           $CONF
make
make install DESTDIR="$PKGDIR"

if [[ "${CROSS:-$ARCH}" != "amd64" ]]; then
    cd "$SRCDIR"/fftw-${PKGVER/+/-}-std
    $CONFIGURE
    make
    make install DESTDIR="$PKGDIR"
fi

cd "$SRCDIR"
