yum/vfft

git clone https://git.yummers.dev/yum/vfft

yumFix VkFFT baseline on metalc8008fe

master
1.2 KiB64 linesraw
1#!/usr/bin/env bash
2
3set -o errexit
4set -o pipefail
5
6INC="$(pwd)/inc"
7[ -d "$INC" ] || mkdir "$INC"
8
9LIB="$(pwd)/lib"
10[ -d "$LIB" ] || mkdir "$LIB"
11
12LIB_FFT="fftw-3.3.11"
13LIB_FFT_ZIP="$LIB_FFT.tar.gz"
14LIB_FFT_URL="https://fftw.org/$LIB_FFT_ZIP"
15LIB_FFT_A="libfftw3f.a"
16
17[ -f "$LIB_FFT_ZIP" ] || wget "$LIB_FFT_URL"
18[ -d "$LIB_FFT" ] || tar zxvf "$LIB_FFT_ZIP"
19
20if ! [ -f "$LIB_FFT/build/$LIB_FFT_A" ]; then
21  pushd "$LIB_FFT" 2>/dev/null
22
23  if [ -d build ]; then
24    rm -rf build
25  fi
26
27  cp "api/fftw3.h" "$INC"
28
29  mkdir build
30  pushd build
31
32  cmake .. -DBUILD_SHARED_LIBS=OFF -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
33    -DENABLE_AVX=ON -DENABLE_AVX2=ON -DENABLE_SSE2=ON \
34    -DENABLE_FLOAT=ON
35  cmake --build . -j
36
37  cp "$LIB_FFT_A" "$LIB"
38
39  popd 2>/dev/null
40  popd 2>/dev/null
41fi
42
43LIB_VKFFT="VkFFT"
44LIB_VKFFT_URL="https://git.yummers.dev/yum-mirror/$LIB_VKFFT.git"
45
46[ -d "$LIB_VKFFT" ] || git clone "$LIB_VKFFT_URL"
47
48if ! [ -f "$LIB_VKFFT/build/glslang-main/SPIRV/libSPIRV.a" ]; then
49  pushd "$LIB_VKFFT" 2>/dev/null
50
51  if [ -d build ]; then
52    rm -rf build
53  fi
54
55  mkdir build
56  pushd build 2>/dev/null
57
58  cmake ..
59  cmake --build . -j
60
61  popd 2>/dev/null
62  popd 2>/dev/null
63fi
64