From 6b0402935b16fd721317ba30c6980326b8d7efea Mon Sep 17 00:00:00 2001 From: falkTX Date: Sat, 18 Sep 2021 11:38:03 +0100 Subject: [PATCH] Only export the needed symbols for plugins to work Signed-off-by: falkTX --- Makefile.plugins.mk | 15 ++++++++++++--- utils/symbols/dssi.version | 4 ++++ utils/symbols/ladspa.version | 4 ++++ utils/symbols/lv2-dsp.version | 4 ++++ utils/symbols/lv2-ui.version | 4 ++++ utils/symbols/lv2.version | 4 ++++ utils/symbols/vst2.version | 4 ++++ utils/symbols/vst3.version | 4 ++++ 8 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 utils/symbols/dssi.version create mode 100644 utils/symbols/ladspa.version create mode 100644 utils/symbols/lv2-dsp.version create mode 100644 utils/symbols/lv2-ui.version create mode 100644 utils/symbols/lv2.version create mode 100644 utils/symbols/vst2.version create mode 100644 utils/symbols/vst3.version diff --git a/Makefile.plugins.mk b/Makefile.plugins.mk index d057e28c..67c3b2e3 100644 --- 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 new file mode 100644 index 00000000..9c092b0f --- /dev/null +++ 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 new file mode 100644 index 00000000..5764c26c --- /dev/null +++ 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 new file mode 100644 index 00000000..45aa9e2c --- /dev/null +++ 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 new file mode 100644 index 00000000..8700fd02 --- /dev/null +++ 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 new file mode 100644 index 00000000..8f213074 --- /dev/null +++ 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 new file mode 100644 index 00000000..7ecf460e --- /dev/null +++ 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 new file mode 100644 index 00000000..838c3f75 --- /dev/null +++ b/utils/symbols/vst3.version @@ -0,0 +1,4 @@ +{ + global: GetPluginFactory; InitDll; ExitDll; ModuleEntry; ModuleExit; + local: *; +};