Skip to content

SpeexDSP Compile

SpeexDSP Compile #1

name: SpeexDSP Compile
on:
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
Linux_Build_x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install g++-multilib
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit
run: ./speexdsp/configure CFLAGS=-m64 CXXFLAGS=-m64 LDFLAGS=-m64 && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux-x86_64-libspeexdsp.so.1.5.2
path: ./libspeexdsp/.libs/libspeexdsp.so.1.5.2
Linux_Build_x32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install g++-multilib
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit
run: ./speexdsp/configure CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux-x86-libspeexdsp.so.1.5.2
path: ./libspeexdsp/.libs/libspeexdsp.so.1.5.2
Linux_Build_Arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install g++-aarch64-linux-gnu
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit ARM
run: ./speexdsp/configure --host=aarch64-linux-gnu && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux-arm64-libspeexdsp.so.1.5.2
path: ./libspeexdsp/.libs/libspeexdsp.so.1.5.2
Linux_Build_Arm32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install g++-arm-linux-gnueabi
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit ARM
run: ./speexdsp/configure --host=arm-linux-gnueabi && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: linux-arm32-libspeexdsp.so.1.5.2
path: ./libspeexdsp/.libs/libspeexdsp.so.1.5.2
Win_Build_x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install mingw-w64
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit
run: ./speexdsp/configure --host=x86_64-w64-mingw32 && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: win-x86_64-libspeexdsp-1.dll
path: ./libspeexdsp/.libs/libspeexdsp-1.dll
Win_Build_x32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: sudo apt-get install mingw-w64
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit
run: ./speexdsp/configure --host=i686-w64-mingw32 && make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: win-x86-libspeexdsp-1.dll
path: ./libspeexdsp/.libs/libspeexdsp-1.dll
Win_Build_arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: |
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20241015/llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
tar -xf ./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
rm -rf ./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit ARM
run: |
export TOOLCHAIN=./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64
export TARGET=aarch64-w64-mingw32
export AR=$TOOLCHAIN/bin/$TARGET-llvm-ar
export CC="$TOOLCHAIN/bin/$TARGET-clang --target=$TARGET"
export AS=$CC
export CXX="$TOOLCHAIN/bin/$TARGET-clang++ --target=$TARGET"
export LD=$TOOLCHAIN/bin/$TARGET-ld
export RANLIB=$TOOLCHAIN/bin/$TARGET-llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
cp -r $TOOLCHAIN ./libspeexdsp
make
#cp -r $TOOLCHAIN ./libspeexdsp IS STUPID BUT IT WORKS
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: win-arm64-libspeexdsp-1.dll
path: ./libspeexdsp/.libs/libspeexdsp-1.dll
Win_Build_arm32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Build Libraries
run: |
curl -LO https://github.com/mstorsjo/llvm-mingw/releases/download/20241015/llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
tar -xf ./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
rm -rf ./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64.tar.xz
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit ARM
run: |
export TOOLCHAIN=./llvm-mingw-20241015-ucrt-ubuntu-20.04-x86_64
export TARGET=armv7-w64-mingw32
export AR=$TOOLCHAIN/bin/$TARGET-llvm-ar
export CC="$TOOLCHAIN/bin/$TARGET-clang --target=$TARGET"
export AS=$CC
export CXX="$TOOLCHAIN/bin/$TARGET-clang++ --target=$TARGET"
export LD=$TOOLCHAIN/bin/$TARGET-ld
export RANLIB=$TOOLCHAIN/bin/$TARGET-llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
cp -r $TOOLCHAIN ./libspeexdsp
make
#cp -r $TOOLCHAIN ./libspeexdsp IS STUPID BUT IT WORKS
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: win-arm32-libspeexdsp-1.dll
path: ./libspeexdsp/.libs/libspeexdsp-1.dll
Android_Build_x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27b
add-to-path: false
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit
run: |
export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=x86_64-linux-android
export API=21
export AR=$TOOLCHAIN/bin/llvm-ar
export CC="$TOOLCHAIN/bin/clang --target=$TARGET$API"
export AS=$CC
export CXX="$TOOLCHAIN/bin/clang++ --target=$TARGET$API"
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: android-x86_64-libspeexdsp.so
path: ./libspeexdsp/.libs/libspeexdsp.so
Android_Build_x32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27b
add-to-path: false
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit
run: |
export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=i686-linux-android
export API=21
export AR=$TOOLCHAIN/bin/llvm-ar
export CC="$TOOLCHAIN/bin/clang --target=$TARGET$API"
export AS=$CC
export CXX="$TOOLCHAIN/bin/clang++ --target=$TARGET$API"
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: android-x86-libspeexdsp.so
path: ./libspeexdsp/.libs/libspeexdsp.so
Android_Build_arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27b
add-to-path: false
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 64bit ARM
run: |
export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=aarch64-linux-android
export API=21
export AR=$TOOLCHAIN/bin/llvm-ar
export CC="$TOOLCHAIN/bin/clang --target=$TARGET$API"
export AS=$CC
export CXX="$TOOLCHAIN/bin/clang++ --target=$TARGET$API"
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: android-arm64-libspeexdsp.so
path: ./libspeexdsp/.libs/libspeexdsp.so
Android_Build_arm32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: r27b
add-to-path: false
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
- name: Clone Repository
run: git clone https://github.com/xiph/speexdsp.git
- name: Autogen
run: ./speexdsp/autogen.sh
- name: Configure And Build 32bit ARM
run: |
export TOOLCHAIN=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=armv7a-linux-android
export API=21
export AR=$TOOLCHAIN/bin/llvm-ar
export CC="$TOOLCHAIN/bin/clang --target=$TARGET$API"
export AS=$CC
export CXX="$TOOLCHAIN/bin/clang++ --target=$TARGET$API"
export LD=$TOOLCHAIN/bin/ld
export RANLIB=$TOOLCHAIN/bin/llvm-ranlib
export STRIP=$TOOLCHAIN/bin/llvm-strip
./speexdsp/configure --host $TARGET
make
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: android-arm32-libspeexdsp.so
path: ./libspeexdsp/.libs/libspeexdsp.so