Signed-off-by: falkTX <falktx@falktx.com>pull/28/head
| @@ -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) | |||
| @@ -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" | |||
| @@ -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'] | |||
| @@ -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 \ | |||
| @@ -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'] | |||