Enable linux-riscv64 builds
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
6e5605e200
commit
a5d28c2707
9 changed files with 107 additions and 5 deletions
86
.github/workflows/build.yml
vendored
86
.github/workflows/build.yml
vendored
|
@ -260,6 +260,92 @@ jobs:
|
||||||
files: |
|
files: |
|
||||||
*.tar.gz
|
*.tar.gz
|
||||||
|
|
||||||
|
linux-riscv64:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Set up cache
|
||||||
|
id: cache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/PawPawBuilds
|
||||||
|
src/Rack/dep/bin
|
||||||
|
src/Rack/dep/include
|
||||||
|
src/Rack/dep/lib
|
||||||
|
src/Rack/dep/share
|
||||||
|
src/Rack/dep/jansson-2.12
|
||||||
|
src/Rack/dep/libarchive-3.4.3
|
||||||
|
src/Rack/dep/libsamplerate-0.1.9
|
||||||
|
src/Rack/dep/speexdsp-SpeexDSP-1.2rc3
|
||||||
|
src/Rack/dep/zstd-1.4.5
|
||||||
|
key: linux-riscv64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
|
||||||
|
- name: Fix GitHub's mess
|
||||||
|
run: |
|
||||||
|
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
|
||||||
|
sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
|
||||||
|
- name: Set up dependencies
|
||||||
|
run: |
|
||||||
|
sudo dpkg --add-architecture riscv64
|
||||||
|
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
|
||||||
|
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
|
||||||
|
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
|
||||||
|
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
|
||||||
|
sudo apt-get update -qq
|
||||||
|
sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libpulse-dev:riscv64 libsdl2-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
|
||||||
|
- name: Set up ccache
|
||||||
|
uses: hendrikmuhs/ccache-action@v1.2
|
||||||
|
with:
|
||||||
|
key: ccache-linux-riscv64-v${{ env.CACHE_VERSION }}-${{ env.WITH_LTO }}
|
||||||
|
- name: Build extra dependencies
|
||||||
|
env:
|
||||||
|
PKG_CONFIG_PATH: /usr/lib/riscv64-linux-gnu/pkgconfig
|
||||||
|
run: |
|
||||||
|
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
|
||||||
|
export PATH="/usr/lib/ccache:${PATH}"
|
||||||
|
./deps/PawPaw/bootstrap-cardinal.sh linux-riscv64 && ./deps/PawPaw/.cleanup.sh linux-riscv64
|
||||||
|
- name: Build linux riscv64 cross-compiled
|
||||||
|
run: |
|
||||||
|
if [ "${{ env.WITH_LTO }}" != "true" ]; then export PAWPAW_SKIP_LTO=1; fi
|
||||||
|
pushd deps/PawPaw; source local.env linux-riscv64; popd
|
||||||
|
export PATH="/usr/lib/ccache:${PATH}"
|
||||||
|
export PKG_CONFIG_PATH+=:/usr/lib/riscv64-linux-gnu/pkgconfig
|
||||||
|
make features
|
||||||
|
make CIBUILD=true NOOPT=true WITH_LTO=${{ env.WITH_LTO }} -j $(nproc)
|
||||||
|
make unzipfx
|
||||||
|
- name: Set sha8 (non-release)
|
||||||
|
if: startsWith(github.ref, 'refs/tags/') != true
|
||||||
|
id: slug1
|
||||||
|
run: echo "::set-output name=sha8::$(echo ${{ github.sha }} | cut -c1-8)"
|
||||||
|
- name: Set sha8 (release)
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
id: slug2
|
||||||
|
run: echo "::set-output name=sha8::$(echo ${{ github.ref_name }})"
|
||||||
|
- name: Set sha8
|
||||||
|
id: slug
|
||||||
|
run: echo "::set-output name=sha8::$(echo ${{ steps.slug1.outputs.sha8 || steps.slug2.outputs.sha8 }})"
|
||||||
|
- name: Pack binaries
|
||||||
|
run: |
|
||||||
|
tar -c -h --hard-dereference -z -f ${{ github.event.repository.name }}-linux-riscv64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}.tar.gz -C bin $(ls bin | grep -e lv2 -e vst -e clap) ../CardinalJACK ../CardinalNative
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: ${{ github.event.repository.name }}-linux-riscv64-${{ github.event.pull_request.number || steps.slug.outputs.sha8 }}
|
||||||
|
path: |
|
||||||
|
*.tar.gz
|
||||||
|
- uses: softprops/action-gh-release@v1
|
||||||
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref_name }}
|
||||||
|
name: ${{ github.ref_name }}
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
files: |
|
||||||
|
*.tar.gz
|
||||||
|
|
||||||
linux-x86_64:
|
linux-x86_64:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
steps:
|
steps:
|
||||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -218,3 +218,6 @@
|
||||||
[submodule "plugins/dBiz"]
|
[submodule "plugins/dBiz"]
|
||||||
path = plugins/dBiz
|
path = plugins/dBiz
|
||||||
url = https://github.com/dBiz/dBiz.git
|
url = https://github.com/dBiz/dBiz.git
|
||||||
|
[submodule "include/simde"]
|
||||||
|
path = include/simde
|
||||||
|
url = https://github.com/simd-everywhere/simde.git
|
||||||
|
|
2
carla
2
carla
|
@ -1 +1 @@
|
||||||
Subproject commit 963f194b0ed93829188ffda23320b1dc848f07d8
|
Subproject commit c9fc68aaa370088b588ad6aea7af60efbc16530c
|
3
deps/Makefile
vendored
3
deps/Makefile
vendored
|
@ -72,6 +72,9 @@ MACHINE = i686-the-rack
|
||||||
else ifeq ($(CPU_ARM64),true)
|
else ifeq ($(CPU_ARM64),true)
|
||||||
ARCH_NAME = arm64
|
ARCH_NAME = arm64
|
||||||
MACHINE = x86_64-the-rack
|
MACHINE = x86_64-the-rack
|
||||||
|
else ifeq ($(CPU_RISCV64),true)
|
||||||
|
ARCH_NAME = riscv64
|
||||||
|
MACHINE = x86_64-the-rack
|
||||||
else ifeq ($(WASM),true)
|
else ifeq ($(WASM),true)
|
||||||
MACHINE = i686-wasm
|
MACHINE = i686-wasm
|
||||||
else
|
else
|
||||||
|
|
2
deps/PawPaw
vendored
2
deps/PawPaw
vendored
|
@ -1 +1 @@
|
||||||
Subproject commit 4f7f9eb6ff1677606a85fe701bbb535f8fe7086c
|
Subproject commit 75d86db5d171228247e1297d13090cb11220fe92
|
2
dpf
2
dpf
|
@ -1 +1 @@
|
||||||
Subproject commit 73a855c3a8d3321f06fdeae9174e3eb50ad005b3
|
Subproject commit fbc9ffdfaaf42a4dac4bc946888971d1ab9f2fbc
|
|
@ -21,6 +21,9 @@
|
||||||
# include_next <mmintrin.h>
|
# include_next <mmintrin.h>
|
||||||
#elif defined(__EMSCRIPTEN__)
|
#elif defined(__EMSCRIPTEN__)
|
||||||
# include <wasm_simd128.h>
|
# include <wasm_simd128.h>
|
||||||
#else
|
#elif defined(__ARM_NEON)
|
||||||
# include "../sse2neon/sse2neon.h"
|
# include "../sse2neon/sse2neon.h"
|
||||||
|
#else
|
||||||
|
# define SIMDE_ENABLE_NATIVE_ALIASES
|
||||||
|
# include "../simde/simde/x86/mmx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -29,7 +29,7 @@ __m64 _mm_set1_pi16(short w)
|
||||||
return __extension__ (__m64){ static_cast<float>(w), static_cast<float>(w) };
|
return __extension__ (__m64){ static_cast<float>(w), static_cast<float>(w) };
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#elif defined(__ARM_NEON)
|
||||||
# include "../sse2neon/sse2neon.h"
|
# include "../sse2neon/sse2neon.h"
|
||||||
|
|
||||||
static inline
|
static inline
|
||||||
|
@ -44,4 +44,10 @@ __m64 _mm_set1_pi16(short w)
|
||||||
return vreinterpret_s64_s16(vdup_n_s16(w));
|
return vreinterpret_s64_s16(vdup_n_s16(w));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
# define SIMDE_ENABLE_NATIVE_ALIASES
|
||||||
|
# include "../simde/simde/x86/sse.h"
|
||||||
|
# include "../simde/simde/x86/sse2.h"
|
||||||
|
// # include "../simde/simde/x86/sse3.h"
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
1
include/simde
Submodule
1
include/simde
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 12069d720f43830ae9791e8b0f4c4fa3c88012a0
|
Loading…
Add table
Add a link
Reference in a new issue