diff --git a/.travis.yml b/.travis.yml index 6cd372c..90f1e40 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,7 +38,7 @@ jobs: dist: bionic env: - TARGET="win32" - - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS} ${PLUGINS_DISTRHO}" + - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS}" services: - xvfb @@ -49,11 +49,11 @@ jobs: dist: bionic env: - TARGET="win64" - - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS} ${PLUGINS_DISTRHO}" + - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS}" services: - xvfb - # macOS native build + # macOS native intel build - name: "macOS native" os: osx osx_image: xcode9.4 @@ -61,6 +61,13 @@ jobs: - TARGET="macos" - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS}" + # macOS native universal build + - os: osx + osx_image: xcode12u + env: + - TARGET="macos-universal" + - PLUGINS="${PLUGINS_BASE} ${PLUGINS_CROSS}" + before_install: - bash ${TRAVIS_BUILD_DIR}/.travis/before_install.sh @@ -82,6 +89,7 @@ deploy: file: - setup/inno/PawPaw-*.exe - setup/macos/PawPaw-*.pkg + - setup/macos-universal/PawPaw-*.pkg skip_cleanup: true on: all_branches: true diff --git a/.travis/before_install.sh b/.travis/before_install.sh index c062885..332b966 100644 --- a/.travis/before_install.sh +++ b/.travis/before_install.sh @@ -3,7 +3,7 @@ set -e # nothing to do for macOS native -if [ "${TARGET}" = "macos" ]; then +if [ "${TARGET}" = "macos" ] || [ "${TARGET}" = "macos-universal" ]; then exit 0 fi diff --git a/.travis/install.sh b/.travis/install.sh index 175f452..faf1e65 100755 --- a/.travis/install.sh +++ b/.travis/install.sh @@ -3,7 +3,7 @@ set -e # needed homebrew packages -if [ "${TARGET}" = "macos" ]; then +if [ "${TARGET}" = "macos" ] || [ "${TARGET}" = "macos-universal" ]; then HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake jq meson exit 0 fi diff --git a/bootstrap-jack2.sh b/bootstrap-jack2.sh index 8a8a834..f45b2d1 100755 --- a/bootstrap-jack2.sh +++ b/bootstrap-jack2.sh @@ -57,6 +57,9 @@ function build_custom_db() { if [ "${CROSS_COMPILING}" -eq 1 ]; then extraconfrules="--host=${TOOLCHAIN_PREFIX} ${extraconfrules}" fi + if [ "${MACOS}" -eq 1 ]; then + extraconfrules="--enable-posixmutexes ${extraconfrules}" + fi if [ "${WIN32}" -eq 1 ]; then extraconfrules="--enable-mingw ${extraconfrules}" fi diff --git a/bootstrap-plugins.sh b/bootstrap-plugins.sh index 1751882..9f32c33 100755 --- a/bootstrap-plugins.sh +++ b/bootstrap-plugins.sh @@ -28,7 +28,11 @@ source setup/versions.sh # --------------------------------------------------------------------------------------------------------------------- # fftw -FFTW_EXTRAFLAGS="--enable-sse2 --disable-alloca --disable-fortran --with-our-malloc" +FFTW_EXTRAFLAGS="--disable-alloca --disable-fortran --with-our-malloc" + +if [ "${MACOS_UNIVERSAL}" -eq 0 ]; then + FFTW_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-sse2" +fi # if [ "${WIN32}" -eq 0 ]; then # FFTW_EXTRAFLAGS="${FFTW_EXTRAFLAGS} --enable-threads" @@ -73,7 +77,10 @@ if [ "${MACOS}" -eq 1 ] || [ "${WIN32}" -eq 1 ]; then export EXTRA_LDFLAGS="-lresolv" patch_file glib ${GLIB_VERSION} "glib/gconvert.c" '/#error/g' - if [ "${MACOS_OLD}" -eq 1 ]; then + if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then + patch_file glib ${GLIB_VERSION} "glib/gatomic.c" 's/G_ATOMIC_ARM/G_ATOMIC_NOT_ARM/' + patch_file glib ${GLIB_VERSION} "glib/gatomic.c" 's/G_ATOMIC_X86_64/G_ATOMIC_NOT_X86_64/' + elif [ "${MACOS_OLD}" -eq 1 ]; then GLIB_EXTRAFLAGS+=" glib_cv_stack_grows=yes" GLIB_EXTRAFLAGS+=" glib_cv_rtldglobal_broken=no" GLIB_EXTRAFLAGS+=" glib_cv_uscore=no" diff --git a/patches/caps-lv2/01_xplat-compat.patch b/patches/caps-lv2/01_xplat-compat.patch index e21623c..f0fefd5 100644 --- a/patches/caps-lv2/01_xplat-compat.patch +++ b/patches/caps-lv2/01_xplat-compat.patch @@ -1,7 +1,18 @@ -diff --git a/basics.h b/basics.h -index 7b1d10d..2f813d3 100644 ---- a/basics.h -+++ b/basics.h +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9: .stamp_applied_01_xplat-compat.patch +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/Makefile.single caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/Makefile.single +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/Makefile.single 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/Makefile.single 2020-12-05 23:43:09.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/basics.h caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/basics.h +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/basics.h 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/basics.h 2020-12-05 23:35:14.000000000 +0000 @@ -38,6 +38,7 @@ #define _ISOC99_SOURCE 1 #define _ISOC9X_SOURCE 1 @@ -33,7 +44,7 @@ index 7b1d10d..2f813d3 100644 #define MIN_GAIN 1e-6 /* -120 dB */ /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */ -@@ -124,7 +125,7 @@ T clamp (T value, T lower, T upper) +@@ -124,7 +125,7 @@ return value; } @@ -42,19 +53,363 @@ index 7b1d10d..2f813d3 100644 /* NB: also true if 0 */ inline bool -diff --git a/dsp/v4f_IIR2.h b/dsp/v4f_IIR2.h -index 7400e04..1e42b56 100644 ---- a/dsp/v4f_IIR2.h -+++ b/dsp/v4f_IIR2.h -@@ -32,9 +32,9 @@ +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/dsp/v4f.h caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/dsp/v4f.h +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/dsp/v4f.h 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/dsp/v4f.h 2020-12-05 23:37:44.000000000 +0000 +@@ -71,6 +71,13 @@ + return f[0]+f[1]+f[2]+f[3]; + } + ++#ifdef __clang__ ++inline float __builtin_cosf2(float v) { return __builtin_cosf(v); } ++inline float __builtin_sinf2(float v) { return __builtin_sinf(v); } ++#define __builtin_cosf __builtin_cosf2 ++#define __builtin_sinf __builtin_sinf2 ++#endif ++ + /* mapping a float to float function [e.g. sinf() e.a.] to a vector */ + typedef float (*f2f_fn) (float f); + +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/dsp/v4f_IIR2.h caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/dsp/v4f_IIR2.h +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/dsp/v4f_IIR2.h 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/dsp/v4f_IIR2.h 2020-12-05 23:38:47.000000000 +0000 +@@ -32,9 +32,13 @@ namespace DSP { -#if defined(__APPLE__) || defined(__FreeBSD__) +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(_WIN32) --inline float exp10f(float f) {return __exp10f(f);} ++#ifdef __clang__ + inline float exp10f(float f) {return __exp10f(f);} ++#else +inline float exp10f(float f) {return __builtin_exp10f(f);} ++#endif #endif +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-AmpVTS.lv2: .depend +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-AmpVTS.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AmpVTS.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-AmpVTS.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AmpVTS.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AmpVTS.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-AutoFilter.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AutoFilter.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-AutoFilter.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AutoFilter.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-AutoFilter.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CEO.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CEO.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CEO.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CEO.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CEO.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CabinetIII.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIII.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CabinetIII.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIII.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIII.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CabinetIV.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIV.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CabinetIV.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIV.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CabinetIV.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-ChorusI.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ChorusI.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-ChorusI.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ChorusI.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ChorusI.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Click.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Click.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Click.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Click.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Click.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Compress.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Compress.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Compress.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Compress.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Compress.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CompressX2.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CompressX2.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-CompressX2.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CompressX2.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-CompressX2.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq10.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq10.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq10X2.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10X2.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq10X2.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10X2.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq10X2.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq4p.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq4p.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Eq4p.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq4p.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Eq4p.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-EqFA4p.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-EqFA4p.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-EqFA4p.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-EqFA4p.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-EqFA4p.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Fractal.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Fractal.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Fractal.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Fractal.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Fractal.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Narrower.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Narrower.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Narrower.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Narrower.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Narrower.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Noisegate.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Noisegate.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Noisegate.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Noisegate.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Noisegate.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-PhaserII.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PhaserII.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-PhaserII.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PhaserII.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PhaserII.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Plate.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Plate.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Plate.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Plate.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Plate.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-PlateX2.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PlateX2.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-PlateX2.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PlateX2.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-PlateX2.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Saturate.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Saturate.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Saturate.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Saturate.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Saturate.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Scape.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Scape.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Scape.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Scape.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Scape.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Sin.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Sin.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Sin.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Sin.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Sin.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Spice.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Spice.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Spice.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Spice.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Spice.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-SpiceX2.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-SpiceX2.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-SpiceX2.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-SpiceX2.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-SpiceX2.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-ToneStack.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ToneStack.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-ToneStack.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ToneStack.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-ToneStack.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-White.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-White.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-White.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-White.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-White.lv2: Makefile-e +diff -U3 -r caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Wider.lv2/Makefile caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Wider.lv2/Makefile +--- caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9/plugins/mod-caps-Wider.lv2/Makefile 2020-12-05 21:01:30.000000000 +0000 ++++ caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Wider.lv2/Makefile 2020-12-05 23:47:47.000000000 +0000 +@@ -60,6 +60,6 @@ + rm -f $(OBJECTS) $(PLUG).so *.s .depend + + .depend: $(SOURCES) +- $(CXX) -MM $(CXXFLAGS) $(SOURCES) > .depend ++ touch .depend + + -include .depend +Only in caps-lv2-5d52a0c6e8863c058c2aab2dea9f901a90d96eb9.fix/plugins/mod-caps-Wider.lv2: Makefile-e diff --git a/setup/check_target.sh b/setup/check_target.sh index 5e1e849..8b06ed9 100644 --- a/setup/check_target.sh +++ b/setup/check_target.sh @@ -4,6 +4,7 @@ CROSS_COMPILING=0 LINUX=0 MACOS=0 MACOS_OLD=0 +MACOS_UNIVERSAL=0 WIN32=0 WIN64=0 @@ -17,6 +18,10 @@ function check_target() { MACOS_OLD=1 CROSS_COMPILING=1 ;; + "macos-universal") + MACOS=1 + MACOS_UNIVERSAL=1 + ;; "win32") WIN32=1 CROSS_COMPILING=1 @@ -32,11 +37,15 @@ function check_target() { "native") target=$(uname -s) check_target + if [ "$(uname -m)" = "arm64" ]; then + MACOS_UNIVERSAL=1 + fi ;; default) echo "Invalid target '${target}', possible values are:" echo "\tmacos" echo "\tmacos-old" + echo "\tmacos-universal" echo "\twin32" echo "\twin64" echo "\tnative" diff --git a/setup/env.sh b/setup/env.sh index 6fe5dc8..3decb4b 100644 --- a/setup/env.sh +++ b/setup/env.sh @@ -9,7 +9,9 @@ if [ "${LINUX}" -eq 1 ]; then elif [ "${MACOS}" -eq 1 ]; then CMAKE_SYSTEM_NAME="Darwin" - if [ "${MACOS_OLD}" -eq 1 ]; then + if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then + PAWPAW_TARGET="macos-universal" + elif [ "${MACOS_OLD}" -eq 1 ]; then PAWPAW_TARGET="macos-old" else PAWPAW_TARGET="macos" @@ -43,14 +45,19 @@ PAWPAW_TMPDIR="/tmp" ## build flags BUILD_FLAGS="-O2 -pipe -I${PAWPAW_PREFIX}/include" -BUILD_FLAGS="${BUILD_FLAGS} -mtune=generic -msse -msse2 -mfpmath=sse -ffast-math" +BUILD_FLAGS="${BUILD_FLAGS} -mtune=generic -msse -msse2 -ffast-math" BUILD_FLAGS="${BUILD_FLAGS} -fPIC -DPIC -DNDEBUG -D_FORTIFY_SOURCE=2" BUILD_FLAGS="${BUILD_FLAGS} -fdata-sections -ffunction-sections -fno-common -fstack-protector -fvisibility=hidden" +if [ "${MACOS_UNIVERSAL}" -ne 1 ]; then + BUILD_FLAGS="${BUILD_FLAGS} -mfpmath=sse" +fi + if [ "${MACOS}" -eq 1 ]; then - if [ "${MACOS_OLD}" -eq 1 ]; then + if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then + BUILD_FLAGS="${BUILD_FLAGS} -mmacosx-version-min=10.12 -arch x86_64 -arch arm64" + elif [ "${MACOS_OLD}" -eq 1 ]; then BUILD_FLAGS="${BUILD_FLAGS} -mmacosx-version-min=10.5" - # BUILD_FLAGS="${BUILD_FLAGS} -I/usr/lib/apple/SDKs/MacOSX10.5.sdk/usr/include" else BUILD_FLAGS="${BUILD_FLAGS} -mmacosx-version-min=10.8 -stdlib=libc++ -Wno-deprecated-declarations" fi @@ -69,7 +76,10 @@ LINK_FLAGS="${LINK_FLAGS} -fdata-sections -ffunction-sections -fstack-protector" if [ "${MACOS}" -eq 1 ]; then LINK_FLAGS="${LINK_FLAGS} -Wl,-dead_strip -Wl,-dead_strip_dylibs" - if [ "${MACOS_OLD}" -eq 1 ]; then + + if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then + LINK_FLAGS="${LINK_FLAGS} -mmacosx-version-min=10.12 -arch x86_64 -arch arm64" + elif [ "${MACOS_OLD}" -eq 1 ]; then LINK_FLAGS="${LINK_FLAGS} -mmacosx-version-min=10.5" # LINK_FLAGS="${LINK_FLAGS} -L/usr/lib/apple/SDKs/MacOSX10.5.sdk/usr/lib" else @@ -125,7 +135,9 @@ fi if [ "${MACOS}" -eq 1 ]; then MAKE_ARGS="${MAKE_ARGS} MACOS=true" - if [ "${MACOS_OLD}" -eq 1 ]; then + if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then + MAKE_ARGS="${MAKE_ARGS} MACOS_UNIVERSAL=true" + elif [ "${MACOS_OLD}" -eq 1 ]; then MAKE_ARGS="${MAKE_ARGS} MACOS_OLD=true" fi elif [ "${WIN32}" -eq 1 ]; then