diff --git a/.gitmodules b/.gitmodules index 6dc7351d..7c93c563 100644 --- a/.gitmodules +++ b/.gitmodules @@ -40,3 +40,6 @@ [submodule "dep/tinyexpr"] path = dep/tinyexpr url = https://github.com/codeplea/tinyexpr.git +[submodule "dep/speexdsp"] + path = dep/speexdsp + url = https://gitlab.xiph.org/xiph/speexdsp.git diff --git a/Makefile b/Makefile index 9540aa17..b8588b5e 100644 --- a/Makefile +++ b/Makefile @@ -79,9 +79,6 @@ endif ifdef ARCH_MAC STANDALONE_TARGET := Rack STANDALONE_LDFLAGS += -stdlib=libc++ - # For LuaJIT to work inside plugins - STANDALONE_LDFLAGS += -Wl,-pagezero_size,10000 -Wl,-image_base,100000000 - STANDALONE_LDFLAGS += $(MAC_SDK_FLAGS) endif ifdef ARCH_WIN STANDALONE_TARGET := Rack.exe diff --git a/dep.mk b/dep.mk index 0d0964cf..a7ecc5e0 100644 --- a/dep.mk +++ b/dep.mk @@ -5,11 +5,18 @@ DEP_LOCAL ?= dep $(shell mkdir -p $(DEP_LOCAL)) DEP_PATH := $(abspath $(DEP_LOCAL)) -DEP_FLAGS += -g -O3 -march=nehalem +DEP_FLAGS += -g -O3 # This is needed for Rack for DAWs. # Static libs don't usually compiled with -fPIC, but since we're including them in a shared library, it's needed. DEP_FLAGS += -fPIC +ifdef ARCH_X64 + DEP_FLAGS += -march=nehalem +endif +ifdef ARCH_ARM64 + DEP_FLAGS += -march=armv8-a+fp+simd +endif + ifdef ARCH_MAC DEP_MAC_SDK_FLAGS := -mmacosx-version-min=10.9 DEP_FLAGS += $(DEP_MAC_SDK_FLAGS) -stdlib=libc++ @@ -23,7 +30,7 @@ DEP_CXXFLAGS += $(DEP_FLAGS) WGET := wget -c UNTAR := tar xf UNZIP := unzip -o -CONFIGURE := ./configure --prefix="$(DEP_PATH)" --host=$(MACHINE) +CONFIGURE := ./configure --prefix="$(DEP_PATH)" CMAKE := cmake # We must use the MSYS Makefile generator in an MSYS shell. diff --git a/dep/Makefile b/dep/Makefile index 5ab5fe6d..7d2964cc 100755 --- a/dep/Makefile +++ b/dep/Makefile @@ -168,16 +168,11 @@ $(libarchive): | $(zstd) libarchive-3.4.3 $(MAKE) -C libarchive-3.4.3/build $(MAKE) -C libarchive-3.4.3/build install -speexdsp-SpeexDSP-1.2rc3: - $(WGET) "https://vcvrack.com/downloads/dep/speexdsp-SpeexDSP-1.2rc3.tgz" - $(SHA256) speexdsp-SpeexDSP-1.2rc3.tgz c8dded1454747f65956f981c95e7f89a06abdaa2a53e8aeaa66bab2a3d59cebd - $(UNTAR) speexdsp-SpeexDSP-1.2rc3.tgz - rm speexdsp-SpeexDSP-1.2rc3.tgz - -$(libspeexdsp): | speexdsp-SpeexDSP-1.2rc3 - cd speexdsp-SpeexDSP-1.2rc3 && $(CONFIGURE) - $(MAKE) -C speexdsp-SpeexDSP-1.2rc3 - $(MAKE) -C speexdsp-SpeexDSP-1.2rc3 install +$(libspeexdsp): | speexdsp + cd speexdsp && ./autogen.sh + cd speexdsp && $(CONFIGURE) + $(MAKE) -C speexdsp + $(MAKE) -C speexdsp install libsamplerate-0.1.9: $(WGET) "https://github.com/libsndfile/libsamplerate/releases/download/0.1.9/libsamplerate-0.1.9.tar.gz" || $(WGET) "http://www.mega-nerd.com/SRC/libsamplerate-0.1.9.tar.gz" @@ -269,7 +264,7 @@ $(sse2neon): sse2neon/sse2neon.h # Helpers -src: glew-2.1.0 glfw jansson-2.12 speexdsp-SpeexDSP-1.2rc3 libsamplerate-0.1.9 openssl-1.1.1k curl-7.79.1 zstd-1.4.5 libarchive-3.4.3 rtaudio nanovg nanosvg oui-blendish osdialog +src: glew-2.1.0 glfw jansson-2.12 libsamplerate-0.1.9 openssl-1.1.1k curl-7.79.1 zstd-1.4.5 libarchive-3.4.3 rtaudio nanovg nanosvg oui-blendish osdialog clean: git clean -fdx diff --git a/dep/speexdsp b/dep/speexdsp new file mode 160000 index 00000000..27ddf98b --- /dev/null +++ b/dep/speexdsp @@ -0,0 +1 @@ +Subproject commit 27ddf98b627ab425d5337b1a0d8b80d7528f9b30