DPF

DISTRHO Plugin Framework
Log | Files | Refs | Submodules | README | LICENSE

commit 96d5def58d97dc4e68c0682b7d2cf718a7c393b0
parent ad2b5b3d6e604dede370722ab04d89e2acaeb2fa
Author: falkTX <falktx@falktx.com>
Date:   Wed, 12 Jan 2022 14:03:54 +0000

Fix LTO link flags, experiment with static builds

Signed-off-by: falkTX <falktx@falktx.com>

Diffstat:
MMakefile.base.mk | 7++++++-
MMakefile.plugins.mk | 2++
Mdistrho/src/DistrhoUtils.cpp | 6++++--
3 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/Makefile.base.mk b/Makefile.base.mk @@ -190,9 +190,14 @@ BASE_FLAGS += -DNDEBUG $(BASE_OPTS) -fvisibility=hidden CXXFLAGS += -fvisibility-inlines-hidden endif +ifeq ($(STATIC_BUILD),true) +BASE_FLAGS += -DSTATIC_BUILD +# LINK_OPTS += -static +endif + ifeq ($(WITH_LTO),true) BASE_FLAGS += -fno-strict-aliasing -flto -LINK_FLAGS += -fno-strict-aliasing -flto -Werror=odr -Werror=lto-type-mismatch +LINK_OPTS += -fno-strict-aliasing -flto -Werror=odr -Werror=lto-type-mismatch endif BUILD_C_FLAGS = $(BASE_FLAGS) -std=gnu99 $(CFLAGS) diff --git a/Makefile.plugins.mk b/Makefile.plugins.mk @@ -73,8 +73,10 @@ BASE_FLAGS += -DHAVE_JACK # always needed ifneq ($(HAIKU_OR_MACOS_OR_WINDOWS),true) +ifneq ($(STATIC_BUILD),true) LINK_FLAGS += -ldl endif +endif # --------------------------------------------------------------------------------------------------------------------- # Set files to build diff --git a/distrho/src/DistrhoUtils.cpp b/distrho/src/DistrhoUtils.cpp @@ -23,7 +23,9 @@ #ifdef DISTRHO_OS_WINDOWS # include <windows.h> #else -# include <dlfcn.h> +# ifndef STATIC_BUILD +# include <dlfcn.h> +# endif # include <limits.h> # include <stdlib.h> #endif @@ -59,7 +61,7 @@ const char* getBinaryFilename() filenameBuf[0] = '\0'; GetModuleFileName(hInstance, filenameBuf, sizeof(filenameBuf)); filename = filenameBuf; -#else +#elif !defined(STATIC_BUILD) Dl_info info; dladdr((void*)getBinaryFilename, &info); char filenameBuf[PATH_MAX];