commit 6b0402935b16fd721317ba30c6980326b8d7efea
parent fd19df3378a0eb17064b0adf1377c5e5f9b44685
Author: falkTX <falktx@falktx.com>
Date: Sat, 18 Sep 2021 11:37:36 +0100
Only export the needed symbols for plugins to work
Signed-off-by: falkTX <falktx@falktx.com>
Diffstat:
8 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/Makefile.plugins.mk b/Makefile.plugins.mk
@@ -114,10 +114,19 @@ endif
ifeq ($(MACOS),true)
SYMBOLS_LADSPA = -Wl,-exported_symbol,_ladspa_descriptor
SYMBOLS_DSSI = -Wl,-exported_symbol,_ladspa_descriptor -Wl,-exported_symbol,_dssi_descriptor
-SYMBOLS_LV2 = -Wl,-exported_symbol,_lv2_descriptor -Wl,-exported_symbol,_lv2_generate_ttl
+SYMBOLS_LV2DSP = -Wl,-exported_symbol,_lv2_descriptor -Wl,-exported_symbol,_lv2_generate_ttl
SYMBOLS_LV2UI = -Wl,-exported_symbol,_lv2ui_descriptor
+SYMBOLS_LV2 = $(SYMBOLS_LV2DSP) $(SYMBOLS_LV2UI)
SYMBOLS_VST2 = -Wl,-exported_symbol,_VSTPluginMain
SYMBOLS_VST3 = -Wl,-exported_symbol,_GetPluginFactory -Wl,-exported_symbol,_bundleEntry -Wl,-exported_symbol,_bundleExit
+else
+SYMBOLS_LADSPA = -Wl,--version-script=$(DPF_PATH)/utils/symbols/ladspa.version
+SYMBOLS_DSSI = -Wl,--version-script=$(DPF_PATH)/utils/symbols/dssi.version
+SYMBOLS_LV2DSP = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2-dsp.version
+SYMBOLS_LV2UI = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2-ui.version
+SYMBOLS_LV2 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/lv2.version
+SYMBOLS_VST2 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/vst2.version
+SYMBOLS_VST3 = -Wl,--version-script=$(DPF_PATH)/utils/symbols/vst3.version
endif
# ---------------------------------------------------------------------------------------------------------------------
@@ -337,12 +346,12 @@ $(lv2): $(OBJS_DSP) $(OBJS_UI) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o
endif
-@mkdir -p $(shell dirname $@)
@echo "Creating LV2 plugin for $(NAME)"
- $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_LV2) $(SYMBOLS_LV2UI) -o $@
+ $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(DGL_LIBS) $(SHARED) $(SYMBOLS_LV2) -o $@
$(lv2_dsp): $(OBJS_DSP) $(BUILD_DIR)/DistrhoPluginMain_LV2.cpp.o
-@mkdir -p $(shell dirname $@)
@echo "Creating LV2 plugin library for $(NAME)"
- $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) $(SYMBOLS_LV2) -o $@
+ $(SILENT)$(CXX) $^ $(BUILD_CXX_FLAGS) $(LINK_FLAGS) $(SHARED) $(SYMBOLS_LV2DSP) -o $@
$(lv2_ui): $(OBJS_UI) $(BUILD_DIR)/DistrhoUIMain_LV2.cpp.o $(DGL_LIB)
-@mkdir -p $(shell dirname $@)
diff --git a/utils/symbols/dssi.version b/utils/symbols/dssi.version
@@ -0,0 +1,4 @@
+{
+ global: ladspa_descriptor; dssi_descriptor;
+ local: *;
+};
diff --git a/utils/symbols/ladspa.version b/utils/symbols/ladspa.version
@@ -0,0 +1,4 @@
+{
+ global: ladspa_descriptor;
+ local: *;
+};
diff --git a/utils/symbols/lv2-dsp.version b/utils/symbols/lv2-dsp.version
@@ -0,0 +1,4 @@
+{
+ global: lv2_descriptor; lv2_generate_ttl;
+ local: *;
+};
diff --git a/utils/symbols/lv2-ui.version b/utils/symbols/lv2-ui.version
@@ -0,0 +1,4 @@
+{
+ global: lv2ui_descriptor;
+ local: *;
+};
diff --git a/utils/symbols/lv2.version b/utils/symbols/lv2.version
@@ -0,0 +1,4 @@
+{
+ global: lv2_descriptor; lv2ui_descriptor; lv2_generate_ttl;
+ local: *;
+};
diff --git a/utils/symbols/vst2.version b/utils/symbols/vst2.version
@@ -0,0 +1,4 @@
+{
+ global: VSTPluginMain; main;
+ local: *;
+};
diff --git a/utils/symbols/vst3.version b/utils/symbols/vst3.version
@@ -0,0 +1,4 @@
+{
+ global: GetPluginFactory; InitDll; ExitDll; ModuleEntry; ModuleExit;
+ local: *;
+};