Browse Source

Skip carla-backend if cross-compiling, more wasm tweaks

Signed-off-by: falkTX <falktx@falktx.com>
pull/28/head
falkTX 3 years ago
parent
commit
202b8ba338
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
6 changed files with 143 additions and 1 deletions
  1. +4
    -0
      bootstrap-plugins.sh
  2. +6
    -1
      local.env
  3. +53
    -0
      patches/fomp/wasm/11_wasm-setup.patch
  4. +27
    -0
      patches/lv2/wasm/12_emscripten-keep-alive.patch
  5. +53
    -0
      patches/mda-lv2/wasm/11_wasm-setup.patch
  6. +0
    -0
      plugins/mda-lv2.json

+ 4
- 0
bootstrap-plugins.sh View File

@@ -317,6 +317,8 @@ build_autoconf mxml "${MXML_VERSION}"
# ---------------------------------------------------------------------------------------------------------------------
# carla (backend only)

if [ "${CROSS_COMPILING}" -eq 0 ] || [ -n "${EXE_WRAPPER}" ]; then

CARLA_EXTRAFLAGS="CAN_GENERATE_LV2_TTL=false"
CARLA_EXTRAFLAGS+=" EXTERNAL_PLUGINS=false"
CARLA_EXTRAFLAGS+=" HAVE_ALSA=false"
@@ -346,6 +348,8 @@ CARLA_EXTRAFLAGS+=" USING_RTAUDIO=false"
git_clone carla "${CARLA_VERSION}" "${CARLA_URL}"
build_make carla "${CARLA_VERSION}" "${CARLA_EXTRAFLAGS}"

fi

# ---------------------------------------------------------------------------------------------------------------------
# wine bootstrap (needed for cross-compilation)



+ 6
- 1
local.env View File

@@ -30,23 +30,28 @@ export AR="${TARGET_AR}"
export CC="${TARGET_CC}"
export CXX="${TARGET_CXX}"
export LD="${TARGET_LD}"
export NM="${TARGET_NM}"
export RANLIB="${TARGET_RANLIB}"
export STRIP="${TARGET_STRIP}"
export WINDRES="${TARGET_WINDRES}"
export CFLAGS="${TARGET_CFLAGS} ${EXTRA_CFLAGS}"
export CXXFLAGS="${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS}"
export LDFLAGS="${TARGET_LDFLAGS} ${EXTRA_LDFLAGS}"
export PKG_CONFIG="${PAWPAW_PREFIX}/bin/pkg-config"
export PKG_CONFIG_PATH="${TARGET_PKG_CONFIG_PATH}"

unset CPP
unset CPPFLAGS
export OLD_PATH="${PATH}"
export PATH="${TARGET_PATH}"

alias ar=${AR}
alias cc=${CC}
alias cpp=${CPP}
alias gcc=${CC}
alias g++=${CXX}
alias ld=${ld}
alias nm=${nm}
alias ranlib=${ranlib}
alias strip=${strip}

echo "Success! Environment is now ready to build stuff"


+ 53
- 0
patches/fomp/wasm/11_wasm-setup.patch View File

@@ -0,0 +1,53 @@
diff --git a/waflib/Tools/__pycache__/gxx.cpython-310.pyc b/waflib/Tools/__pycache__/gxx.cpython-310.pyc
index 76405de..c407511 100644
Binary files a/waflib/Tools/__pycache__/gxx.cpython-310.pyc and b/waflib/Tools/__pycache__/gxx.cpython-310.pyc differ
diff --git a/waflib/Tools/gcc.py b/waflib/Tools/gcc.py
index acdd473..9cf5533 100644
--- a/waflib/Tools/gcc.py
+++ b/waflib/Tools/gcc.py
@@ -45,16 +45,16 @@ def gcc_common_flags(conf):
v.RPATH_ST = '-Wl,-rpath,%s'
v.SONAME_ST = '-Wl,-h,%s'
- v.SHLIB_MARKER = '-Wl,-Bdynamic'
- v.STLIB_MARKER = '-Wl,-Bstatic'
+ v.SHLIB_MARKER = ''
+ v.STLIB_MARKER = ''
v.cprogram_PATTERN = '%s'
v.CFLAGS_cshlib = ['-fPIC']
- v.LINKFLAGS_cshlib = ['-shared']
+ v.LINKFLAGS_cshlib = ['-sSIDE_MODULE=2']
v.cshlib_PATTERN = 'lib%s.so'
- v.LINKFLAGS_cstlib = ['-Wl,-Bstatic']
+ v.LINKFLAGS_cstlib = []
v.cstlib_PATTERN = 'lib%s.a'
v.LINKFLAGS_MACBUNDLE = ['-bundle', '-undefined', 'dynamic_lookup']
diff --git a/waflib/Tools/gxx.py b/waflib/Tools/gxx.py
index 22c5d26..d18829d 100644
--- a/waflib/Tools/gxx.py
+++ b/waflib/Tools/gxx.py
@@ -45,16 +45,16 @@ def gxx_common_flags(conf):
v.RPATH_ST = '-Wl,-rpath,%s'
v.SONAME_ST = '-Wl,-h,%s'
- v.SHLIB_MARKER = '-Wl,-Bdynamic'
- v.STLIB_MARKER = '-Wl,-Bstatic'
+ v.SHLIB_MARKER = ''
+ v.STLIB_MARKER = ''
v.cxxprogram_PATTERN = '%s'
v.CXXFLAGS_cxxshlib = ['-fPIC']
- v.LINKFLAGS_cxxshlib = ['-shared']
+ v.LINKFLAGS_cxxshlib = ['-sSIDE_MODULE=2']
v.cxxshlib_PATTERN = 'lib%s.so'
- v.LINKFLAGS_cxxstlib = ['-Wl,-Bstatic']
+ v.LINKFLAGS_cxxstlib = []
v.cxxstlib_PATTERN = 'lib%s.a'
v.LINKFLAGS_MACBUNDLE = ['-bundle', '-undefined', 'dynamic_lookup']

+ 27
- 0
patches/lv2/wasm/12_emscripten-keep-alive.patch View File

@@ -0,0 +1,27 @@
diff --git a/lv2/core/lv2.h b/lv2/core/lv2.h
index 84c40a5..6e22dc6 100644
--- a/lv2/core/lv2.h
+++ b/lv2/core/lv2.h
@@ -41,6 +41,11 @@
#include <stdint.h>
+#ifdef __EMSCRIPTEN__
+// for EMSCRIPTEN_KEEPALIVE
+#include <emscripten.h>
+#endif
+
// clang-format off
#define LV2_CORE_URI "http://lv2plug.in/ns/lv2core" ///< http://lv2plug.in/ns/lv2core
@@ -366,7 +371,9 @@ typedef struct LV2_Descriptor {
Put this (LV2_SYMBOL_EXPORT) before any functions that are to be loaded
by the host as a symbol from the dynamic library.
*/
-#ifdef _WIN32
+#if defined(__EMSCRIPTEN__)
+# define LV2_SYMBOL_EXPORT LV2_SYMBOL_EXTERN EMSCRIPTEN_KEEPALIVE
+#elif defined(_WIN32)
# define LV2_SYMBOL_EXPORT LV2_SYMBOL_EXTERN __declspec(dllexport)
#else
# define LV2_SYMBOL_EXPORT \

+ 53
- 0
patches/mda-lv2/wasm/11_wasm-setup.patch View File

@@ -0,0 +1,53 @@
diff --git a/waflib/Tools/__pycache__/gxx.cpython-310.pyc b/waflib/Tools/__pycache__/gxx.cpython-310.pyc
index 76405de..c407511 100644
Binary files a/waflib/Tools/__pycache__/gxx.cpython-310.pyc and b/waflib/Tools/__pycache__/gxx.cpython-310.pyc differ
diff --git a/waflib/Tools/gcc.py b/waflib/Tools/gcc.py
index acdd473..9cf5533 100644
--- a/waflib/Tools/gcc.py
+++ b/waflib/Tools/gcc.py
@@ -45,16 +45,16 @@ def gcc_common_flags(conf):
v.RPATH_ST = '-Wl,-rpath,%s'
v.SONAME_ST = '-Wl,-h,%s'
- v.SHLIB_MARKER = '-Wl,-Bdynamic'
- v.STLIB_MARKER = '-Wl,-Bstatic'
+ v.SHLIB_MARKER = ''
+ v.STLIB_MARKER = ''
v.cprogram_PATTERN = '%s'
v.CFLAGS_cshlib = ['-fPIC']
- v.LINKFLAGS_cshlib = ['-shared']
+ v.LINKFLAGS_cshlib = ['-sSIDE_MODULE=2']
v.cshlib_PATTERN = 'lib%s.so'
- v.LINKFLAGS_cstlib = ['-Wl,-Bstatic']
+ v.LINKFLAGS_cstlib = []
v.cstlib_PATTERN = 'lib%s.a'
v.LINKFLAGS_MACBUNDLE = ['-bundle', '-undefined', 'dynamic_lookup']
diff --git a/waflib/Tools/gxx.py b/waflib/Tools/gxx.py
index 22c5d26..d18829d 100644
--- a/waflib/Tools/gxx.py
+++ b/waflib/Tools/gxx.py
@@ -45,16 +45,16 @@ def gxx_common_flags(conf):
v.RPATH_ST = '-Wl,-rpath,%s'
v.SONAME_ST = '-Wl,-h,%s'
- v.SHLIB_MARKER = '-Wl,-Bdynamic'
- v.STLIB_MARKER = '-Wl,-Bstatic'
+ v.SHLIB_MARKER = ''
+ v.STLIB_MARKER = ''
v.cxxprogram_PATTERN = '%s'
v.CXXFLAGS_cxxshlib = ['-fPIC']
- v.LINKFLAGS_cxxshlib = ['-shared']
+ v.LINKFLAGS_cxxshlib = ['-sSIDE_MODULE=2']
v.cxxshlib_PATTERN = 'lib%s.so'
- v.LINKFLAGS_cxxstlib = ['-Wl,-Bstatic']
+ v.LINKFLAGS_cxxstlib = []
v.cxxstlib_PATTERN = 'lib%s.a'
v.LINKFLAGS_MACBUNDLE = ['-bundle', '-undefined', 'dynamic_lookup']

plugins/mda.json → plugins/mda-lv2.json View File


Loading…
Cancel
Save