diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6a951be..c9fdf6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -877,7 +877,7 @@ jobs: run: | source ~/emsdk/emsdk_env.sh make features - make CIBUILD=true NOPLUGINS=true STATIC_BUILD=true USE_GLES2=true -j $(nproc) + make CIBUILD=true NOPLUGINS=true NOOPT=true STATIC_BUILD=true USE_GLES2=true -j $(nproc) - name: Make wasm versioned and compress run: | VERSION=$(cat Makefile | awk 'sub("VERSION = ","")') diff --git a/dpf b/dpf index 7994806..c9e9fe3 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit 79948069d581c64bd19bc454234550de88b459a2 +Subproject commit c9e9fe3d5959cce389014b84f0c1e365f6112507 diff --git a/include/simd-compat/emmintrin.h b/include/simd-compat/emmintrin.h index f844860..b349fb8 100644 --- a/include/simd-compat/emmintrin.h +++ b/include/simd-compat/emmintrin.h @@ -17,7 +17,7 @@ #pragma once -#if defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__) +#if (defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__)) && !defined(CARDINAL_NOOPT) # include_next #else # define SIMDE_ENABLE_NATIVE_ALIASES diff --git a/include/simd-compat/immintrin.h b/include/simd-compat/immintrin.h index 5400c92..1729310 100644 --- a/include/simd-compat/immintrin.h +++ b/include/simd-compat/immintrin.h @@ -17,7 +17,7 @@ #pragma once -#if defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__) +#if (defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__)) && !defined(CARDINAL_NOOPT) # include_next #else # define SIMDE_ENABLE_NATIVE_ALIASES diff --git a/include/simd-compat/mmintrin.h b/include/simd-compat/mmintrin.h index 1efa66a..eab8d3b 100644 --- a/include/simd-compat/mmintrin.h +++ b/include/simd-compat/mmintrin.h @@ -17,9 +17,9 @@ #pragma once -#if defined(__i386__) || defined(__x86_64__) +#if (defined(__i386__) || defined(__x86_64__)) && !defined(CARDINAL_NOOPT) # include_next -#elif defined(__EMSCRIPTEN__) +#elif defined(__EMSCRIPTEN__) && !defined(CARDINAL_NOOPT) # include #else # define SIMDE_ENABLE_NATIVE_ALIASES diff --git a/include/simd-compat/pmmintrin.h b/include/simd-compat/pmmintrin.h index 33ec1c4..2db8f17 100644 --- a/include/simd-compat/pmmintrin.h +++ b/include/simd-compat/pmmintrin.h @@ -17,7 +17,7 @@ #pragma once -#if defined(__i386__) || defined(__x86_64__) +#if (defined(__i386__) || defined(__x86_64__)) && !defined(CARDINAL_NOOPT) # include_next // bring in extra SSE3 support via simde @@ -40,7 +40,7 @@ # undef _WIN32_WAS_DEFINED # endif -#elif defined(__EMSCRIPTEN__) +#elif defined(__EMSCRIPTEN__) && !defined(CARDINAL_NOOPT) # include_next static __inline__ __m64 __attribute__((__always_inline__, __nodebug__)) diff --git a/include/simd-compat/xmmintrin.h b/include/simd-compat/xmmintrin.h index 5ee268f..80536af 100644 --- a/include/simd-compat/xmmintrin.h +++ b/include/simd-compat/xmmintrin.h @@ -17,7 +17,7 @@ #pragma once -#if defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__) +#if (defined(__i386__) || defined(__x86_64__) || defined(__EMSCRIPTEN__)) && !defined(CARDINAL_NOOPT) # include_next #else # define SIMDE_ENABLE_NATIVE_ALIASES diff --git a/plugins/Makefile b/plugins/Makefile index 19aaf79..077f556 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -1179,23 +1179,16 @@ BASE_FLAGS += -I../src/Rack/dep/nanosvg/src BASE_FLAGS += -I../src/Rack/dep/oui-blendish BASE_FLAGS += -I../src/Rack/dep/pffft -# SSE must always be enabled, even in debug builds -ifeq ($(CPU_I386_OR_X86_64),true) -BASE_FLAGS += -msse -msse2 -ifeq ($(WASM),true) -BASE_FLAGS += -msse3 -msimd128 -endif -endif - ifeq ($(DEBUG),true) BASE_FLAGS += -UDEBUG endif ifeq ($(HEADLESS),true) BASE_FLAGS += -DHEADLESS -ifeq ($(WITH_LTO),true) -BASE_FLAGS += -ffat-lto-objects endif + +ifneq (,$(findstring true,$(DEBUG)$(NOOPT))) +BASE_FLAGS += -DCARDINAL_NOOPT endif ifeq ($(BSD)$(WASM),true) diff --git a/src/Makefile b/src/Makefile index c5b45bc..809e8cb 100644 --- a/src/Makefile +++ b/src/Makefile @@ -73,10 +73,6 @@ endif ifeq ($(DEBUG),true) BASE_FLAGS += -UDEBUG -ifeq ($(WASM),true) -# SSE must always be enabled on wasm, even in debug builds -BASE_FLAGS += -msse -msse2 -msse3 -msimd128 -endif endif ifeq ($(HAVE_LIBLO),true) @@ -87,6 +83,10 @@ ifeq ($(HEADLESS),true) BASE_FLAGS += -DHEADLESS endif +ifneq (,$(findstring true,$(DEBUG)$(NOOPT))) +BASE_FLAGS += -DCARDINAL_NOOPT +endif + ifeq ($(BSD),true) BASE_FLAGS += -DCLOCK_MONOTONIC_RAW=CLOCK_MONOTONIC_PRECISE endif diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 650a788..acfce24 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -298,6 +298,10 @@ ifeq ($(HEADLESS),true) BASE_FLAGS += -DHEADLESS endif +ifneq (,$(findstring true,$(DEBUG)$(NOOPT))) +BASE_FLAGS += -DCARDINAL_NOOPT +endif + ifeq ($(MOD_BUILD),true) BASE_FLAGS += -DDISTRHO_PLUGIN_USES_MODGUI=1 -DDISTRHO_PLUGIN_MINIMUM_BUFFER_SIZE=0xffff endif