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:
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];