From 5e5a53ab2bd93f378dd68f592dc1cef2d55a986c Mon Sep 17 00:00:00 2001 From: falkTX Date: Wed, 12 Jan 2022 15:39:09 +0000 Subject: [PATCH] Experiments with static builds Signed-off-by: falkTX --- Makefile | 2 ++ dpf | 2 +- plugins/Makefile | 15 +++++++++++---- plugins/plugins.cpp | 18 ++++++++++++++---- src/Makefile.cardinal.mk | 6 ++++++ 5 files changed, 34 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index ea9177c..656b847 100644 --- a/Makefile +++ b/Makefile @@ -91,9 +91,11 @@ cardinal: carla deps dgl plugins $(MAKE) all -C src $(CARLA_EXTRA_ARGS) carla: +ifneq ($(STATIC_BUILD),true) $(MAKE) static-plugin -C carla $(CARLA_EXTRA_ARGS) \ CAN_GENERATE_LV2_TTL=false \ STATIC_PLUGIN_TARGET=true +endif deps: ifeq ($(SYSDEPS),true) diff --git a/dpf b/dpf index ad2b5b3..96d5def 160000 --- a/dpf +++ b/dpf @@ -1 +1 @@ -Subproject commit ad2b5b3d6e604dede370722ab04d89e2acaeb2fa +Subproject commit 96d5def58d97dc4e68c0682b7d2cf718a7c393b0 diff --git a/plugins/Makefile b/plugins/Makefile index ed7f845..01f7268 100644 --- a/plugins/Makefile +++ b/plugins/Makefile @@ -186,16 +186,19 @@ PLUGIN_FILES = plugins.cpp # -------------------------------------------------------------- # Cardinal (built-in) -PLUGIN_FILES += Cardinal/src/AudioFile.cpp PLUGIN_FILES += Cardinal/src/Blank.cpp -PLUGIN_FILES += Cardinal/src/Carla.cpp PLUGIN_FILES += Cardinal/src/glBars.cpp PLUGIN_FILES += Cardinal/src/HostCV.cpp PLUGIN_FILES += Cardinal/src/HostParameters.cpp PLUGIN_FILES += Cardinal/src/HostTime.cpp -PLUGIN_FILES += Cardinal/src/Ildaeil.cpp PLUGIN_FILES += Cardinal/src/TextEditor.cpp +ifneq ($(STATIC_BUILD),true) +PLUGIN_FILES += Cardinal/src/AudioFile.cpp +PLUGIN_FILES += Cardinal/src/Carla.cpp +PLUGIN_FILES += Cardinal/src/Ildaeil.cpp +endif + ifneq ($(HEADLESS),true) PLUGIN_FILES += Cardinal/src/ImGuiWidget.cpp PLUGIN_FILES += Cardinal/src/ImGuiTextEditor.cpp @@ -502,7 +505,10 @@ IHTSYN_CUSTOM_PER_FILE += mv_statevariable # -------------------------------------------------------------- # JW-Modules -PLUGIN_FILES += $(filter-out JW-Modules/src/JWModules.cpp,$(wildcard JW-Modules/src/*.cpp)) +PLUGIN_FILES += $(filter-out JW-Modules/src/JWModules.cpp JW-Modules/src/Str1ker.cpp,$(wildcard JW-Modules/src/*.cpp)) + +ifneq ($(STATIC_BUILD),true) +PLUGIN_FILES += JW-Modules/src/Str1ker.cpp PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/ip/*.cpp) PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/osc/*.cpp) ifeq ($(WINDOWS),true) @@ -510,6 +516,7 @@ PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/ip/win32/*.cpp) else PLUGIN_FILES += $(wildcard JW-Modules/lib/oscpack/ip/posix/*.cpp) endif +endif # modules/types which are present in other plugins JW_CUSTOM = PlayHead Quantizer diff --git a/plugins/plugins.cpp b/plugins/plugins.cpp index 389957f..bcb4596 100644 --- a/plugins/plugins.cpp +++ b/plugins/plugins.cpp @@ -676,15 +676,21 @@ static void initStatic__Cardinal() const StaticPluginLoader spl(p, "Cardinal"); if (spl.ok()) { - p->addModel(modelAudioFile); - p->addModel(modelCarla); p->addModel(modelCardinalBlank); p->addModel(modelGlBars); p->addModel(modelHostCV); p->addModel(modelHostParameters); p->addModel(modelHostTime); - p->addModel(modelIldaeil); p->addModel(modelTextEditor); + #ifndef STATIC_BUILD + p->addModel(modelAudioFile); + p->addModel(modelCarla); + p->addModel(modelIldaeil); + #else + spl.removeModule("AudioFile"); + spl.removeModule("Carla"); + spl.removeModule("Ildaeil"); + #endif } } @@ -1566,7 +1572,6 @@ static void initStatic__JW() p->addModel(modelPatterns); p->addModel(modelQuantizer); p->addModel(modelSimpleClock); - p->addModel(modelStr1ker); p->addModel(modelD1v1de); p->addModel(modelPres1t); p->addModel(modelThingThing); @@ -1578,6 +1583,11 @@ static void initStatic__JW() p->addModel(modelBlankPanelLarge); p->addModel(modelCoolBreeze); p->addModel(modelPete); + #ifndef STATIC_BUILD + p->addModel(modelStr1ker); + #else + spl.removeModule("Str1ker"); + #endif #undef modelQuantizer } } diff --git a/src/Makefile.cardinal.mk b/src/Makefile.cardinal.mk index 74234ab..9ea22c5 100644 --- a/src/Makefile.cardinal.mk +++ b/src/Makefile.cardinal.mk @@ -16,6 +16,8 @@ SYSDEPS ?= false # -------------------------------------------------------------- # Carla stuff +ifneq ($(STATIC_BUILD),true) + ifneq ($(DEBUG),true) EXTERNAL_PLUGINS = true endif @@ -70,6 +72,8 @@ ifeq ($(WINDOWS),true) STATIC_CARLA_PLUGIN_LIBS += -ldsound -lwinmm endif +endif # STATIC_BUILD + # -------------------------------------------------------------- # Import base definitions @@ -187,8 +191,10 @@ BASE_FLAGS += -Wno-unused-variable LINK_FLAGS += -pthread ifneq ($(HAIKU_OR_MACOS_OR_WINDOWS),true) +ifneq ($(STATIC_BUILD),true) LINK_FLAGS += -ldl endif +endif ifeq ($(MACOS),true) LINK_FLAGS += -framework IOKit