Signed-off-by: falkTX <falktx@falktx.com>pull/28/head
| @@ -317,6 +317,8 @@ build_autoconf mxml "${MXML_VERSION}" | |||||
| # --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
| # carla (backend only) | # carla (backend only) | ||||
| if [ "${CROSS_COMPILING}" -eq 0 ] || [ -n "${EXE_WRAPPER}" ]; then | |||||
| CARLA_EXTRAFLAGS="CAN_GENERATE_LV2_TTL=false" | CARLA_EXTRAFLAGS="CAN_GENERATE_LV2_TTL=false" | ||||
| CARLA_EXTRAFLAGS+=" EXTERNAL_PLUGINS=false" | CARLA_EXTRAFLAGS+=" EXTERNAL_PLUGINS=false" | ||||
| CARLA_EXTRAFLAGS+=" HAVE_ALSA=false" | CARLA_EXTRAFLAGS+=" HAVE_ALSA=false" | ||||
| @@ -346,6 +348,8 @@ CARLA_EXTRAFLAGS+=" USING_RTAUDIO=false" | |||||
| git_clone carla "${CARLA_VERSION}" "${CARLA_URL}" | git_clone carla "${CARLA_VERSION}" "${CARLA_URL}" | ||||
| build_make carla "${CARLA_VERSION}" "${CARLA_EXTRAFLAGS}" | build_make carla "${CARLA_VERSION}" "${CARLA_EXTRAFLAGS}" | ||||
| fi | |||||
| # --------------------------------------------------------------------------------------------------------------------- | # --------------------------------------------------------------------------------------------------------------------- | ||||
| # wine bootstrap (needed for cross-compilation) | # wine bootstrap (needed for cross-compilation) | ||||
| @@ -30,23 +30,28 @@ export AR="${TARGET_AR}" | |||||
| export CC="${TARGET_CC}" | export CC="${TARGET_CC}" | ||||
| export CXX="${TARGET_CXX}" | export CXX="${TARGET_CXX}" | ||||
| export LD="${TARGET_LD}" | export LD="${TARGET_LD}" | ||||
| export NM="${TARGET_NM}" | |||||
| export RANLIB="${TARGET_RANLIB}" | |||||
| export STRIP="${TARGET_STRIP}" | export STRIP="${TARGET_STRIP}" | ||||
| export WINDRES="${TARGET_WINDRES}" | export WINDRES="${TARGET_WINDRES}" | ||||
| export CFLAGS="${TARGET_CFLAGS} ${EXTRA_CFLAGS}" | export CFLAGS="${TARGET_CFLAGS} ${EXTRA_CFLAGS}" | ||||
| export CXXFLAGS="${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS}" | export CXXFLAGS="${TARGET_CXXFLAGS} ${EXTRA_CXXFLAGS}" | ||||
| export LDFLAGS="${TARGET_LDFLAGS} ${EXTRA_LDFLAGS}" | export LDFLAGS="${TARGET_LDFLAGS} ${EXTRA_LDFLAGS}" | ||||
| export PKG_CONFIG="${PAWPAW_PREFIX}/bin/pkg-config" | |||||
| export PKG_CONFIG_PATH="${TARGET_PKG_CONFIG_PATH}" | export PKG_CONFIG_PATH="${TARGET_PKG_CONFIG_PATH}" | ||||
| unset CPP | |||||
| unset CPPFLAGS | unset CPPFLAGS | ||||
| export OLD_PATH="${PATH}" | export OLD_PATH="${PATH}" | ||||
| export PATH="${TARGET_PATH}" | export PATH="${TARGET_PATH}" | ||||
| alias ar=${AR} | alias ar=${AR} | ||||
| alias cc=${CC} | alias cc=${CC} | ||||
| alias cpp=${CPP} | |||||
| alias gcc=${CC} | alias gcc=${CC} | ||||
| alias g++=${CXX} | alias g++=${CXX} | ||||
| alias ld=${ld} | alias ld=${ld} | ||||
| alias nm=${nm} | |||||
| alias ranlib=${ranlib} | |||||
| alias strip=${strip} | alias strip=${strip} | ||||
| echo "Success! Environment is now ready to build stuff" | 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'] | |||||