-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #35 from Birch-san/update-deps
Upgrade to JUCE 6.1.5 + fluidsynth 2.2.5 + make Docker cross-compile parallel & ARM-native
- Loading branch information
Showing
23 changed files
with
395 additions
and
74 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,6 @@ | |
/build/ | ||
.DS_Store | ||
/VST2_SDK/* | ||
!/VST2_SDK/README.md | ||
!/VST2_SDK/README.md | ||
/llvm-mingw-*/ | ||
/llvm-mingw-*.tar.xz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
```bash | ||
DOCKER_BUILDKIT=0 docker build . -f win32.Dockerfile --tag=llvm-mingw | ||
# ues this if you need to investigate any problems: | ||
# docker run -it --rm --name llvm-mingw llvm-mingw | ||
./distribute/bundle_win32.sh 3.0.1 | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env bash | ||
# attrib is a win32 executable used for modifying file attributes. | ||
# the JUCE build uses it to apply a folder icon to the VST3 folder. | ||
# we can run attrib.exe in Wine, but for aarch64 Ubuntu that entails | ||
# building Wine from source. | ||
# alternatively we could use the Unix utility fattr. | ||
# but we would need to do this on a FAT or NTFS filesystem. | ||
# this is quite high-effort just for the sake of putting an icon on a folder. | ||
>&2 echo "Skipping execution of attrib, with args $@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/usr/bin/env bash | ||
set -eo pipefail | ||
shopt -s nullglob | ||
|
||
cd fluidsynth | ||
|
||
if test -n "$1"; then | ||
declare -a ARCHS=("$1") | ||
else | ||
# declare -a ARCHS=("x64" "x86" "arm64") | ||
declare -a ARCHS=("x64" "x86") | ||
fi | ||
|
||
declare -A TOOLCHAINS=( [x64]=x86_64 [x86]=i686 [arm64]=aarch64 ) | ||
declare -A REPOS=( [x64]=clang64 [x86]=clang32 [arm64]=clangarm64 ) | ||
|
||
for ARCH in ${ARCHS[@]}; do | ||
echo "arch: $ARCH" | ||
|
||
REPO="${REPOS[$ARCH]}" | ||
echo "repo: $REPO" | ||
|
||
BUILD="build_$ARCH" | ||
|
||
cmake --build "$BUILD" --target libfluidsynth | ||
# manual installation; not sure how to ask it to "only install libfluidsynth". | ||
cp "$BUILD"/fluidsynth.pc "/$REPO/lib/pkgconfig/" | ||
cp "$BUILD"/src/libfluidsynth*.a "/$REPO/lib/libfluidsynth.a" | ||
mkdir -p /$REPO/include/fluidsynth | ||
cp include/fluidsynth/*.h "/$REPO/include/fluidsynth/" | ||
cp "$BUILD"/include/fluidsynth.h "/$REPO/include/fluidsynth.h" | ||
cp "$BUILD"/include/fluidsynth/*.h "/$REPO/include/fluidsynth/" | ||
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
#!/usr/bin/env bash | ||
exec git clone --branch v2.2.4 --depth 1 https://github.com/FluidSynth/fluidsynth.git | ||
exec git clone --branch v2.2.5 --depth 1 https://github.com/FluidSynth/fluidsynth.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
#!/usr/bin/env bash | ||
exec git clone --branch 6.1.2-build-VST3-on-mingw --depth 1 https://github.com/Birch-san/JUCE.git | ||
exec git clone --branch 6.1.5 --depth 1 https://github.com/juce-framework/JUCE.git |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#!/usr/bin/env bash | ||
set -eo pipefail | ||
shopt -s nullglob | ||
|
||
cd fluidsynth | ||
|
||
if test -n "$1"; then | ||
declare -a ARCHS=("$1") | ||
else | ||
# declare -a ARCHS=("x64" "x86" "arm64") | ||
declare -a ARCHS=("x64" "x86") | ||
fi | ||
|
||
declare -A TOOLCHAINS=( [x64]=x86_64 [x86]=i686 [arm64]=aarch64 ) | ||
declare -A REPOS=( [x64]=clang64 [x86]=clang32 [arm64]=clangarm64 ) | ||
|
||
for ARCH in ${ARCHS[@]}; do | ||
echo "arch: $ARCH" | ||
|
||
REPO="${REPOS[$ARCH]}" | ||
echo "repo: $REPO" | ||
|
||
TOOLCHAIN="${TOOLCHAINS[$ARCH]}" | ||
echo "toolchain: $TOOLCHAIN" | ||
TOOLCHAIN_FILE="/${TOOLCHAIN}_toolchain.cmake" | ||
echo "toolchain file: $TOOLCHAIN_FILE" | ||
|
||
BUILD="build_$ARCH" | ||
|
||
# OpenMP doesn't support static libraries on Windows: | ||
# https://github.com/llvm/llvm-project/blob/main/openmp/README.rst#options-for-libomp | ||
# Yet, our priority is "statically-link everything" (in order to build a single-file binary, | ||
# which can be installed by drag-and-drop). | ||
PKG_CONFIG_PATH="/$REPO/lib/pkgconfig" cmake -B"$BUILD" -DCMAKE_INSTALL_PREFIX="/$REPO" \ | ||
-DBUILD_SHARED_LIBS=off \ | ||
-Denable-portaudio=off \ | ||
-Denable-dbus=off \ | ||
-Denable-aufile=off \ | ||
-Denable-ipv6=off \ | ||
-Denable-jack=off \ | ||
-Denable-ladspa=off \ | ||
-Denable-libinstpatch=off \ | ||
-Denable-libsndfile=on \ | ||
-Denable-midishare=off \ | ||
-Denable-opensles=off \ | ||
-Denable-oboe=off \ | ||
-Denable-network=off \ | ||
-Denable-oss=off \ | ||
-Denable-dsound=off \ | ||
-Denable-wasapi=off \ | ||
-Denable-waveout=off \ | ||
-Denable-winmidi=off \ | ||
-Denable-sdl2=off \ | ||
-Denable-pkgconfig=on \ | ||
-Denable-pulseaudio=off \ | ||
-Denable-readline=off \ | ||
-Denable-threads=on \ | ||
-Denable-openmp=off \ | ||
-Denable-coreaudio=off \ | ||
-Denable-coremidi=off \ | ||
-Denable-framework=off \ | ||
-Denable-lash=off \ | ||
-Denable-alsa=off \ | ||
-Denable-systemd=off \ | ||
-DCMAKE_TOOLCHAIN_FILE="$TOOLCHAIN_FILE" \ | ||
-DCMAKE_BUILD_TYPE=Release | ||
done |
Oops, something went wrong.