1From 93005632eca13d8eda409f6e9496fd5dd69e75b0 Mon Sep 17 00:00:00 2001 2From: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3Date: Fri, 4 May 2018 18:38:31 +0200 4Subject: [PATCH] Allow building shared or static library only 5MIME-Version: 1.0 6Content-Type: text/plain; charset=UTF-8 7Content-Transfer-Encoding: 8bit 8 9Patchs retrieved from: 10 - https://git.buildroot.net/buildroot/tree/package/zmqpp/0001-Allow-building-shared-or-static-library-only.patch 11 - https://git.buildroot.net/buildroot/tree/package/zmqpp/0002-Install-static-library-for-static-builds.patch 12 13Both patches have been merged in a single one and slightly updated to 14keep default behavior of building and installing static library 15(BUILD_STATIC is set to yes by default) 16 17[Upstream status: merged (https://github.com/zeromq/zmqpp/pull/218)] 18Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> 19Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> 20Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 21--- 22 Makefile | 24 ++++++++++++++++++++---- 23 1 file changed, 20 insertions(+), 4 deletions(-) 24 25diff --git a/Makefile b/Makefile 26index 689acaa..e43054c 100644 27--- a/Makefile 28+++ b/Makefile 29@@ -81,6 +81,9 @@ ifeq ($(UNAME_S),Darwin) 30 endif 31 32 33+BUILD_SHARED ?= yes 34+BUILD_STATIC ?= yes 35+ 36 CONFIG_FLAGS = 37 ifeq ($(CONFIG),debug) 38 CONFIG_FLAGS = -g -fno-inline -ftemplate-depth-1000 39@@ -95,13 +98,22 @@ ifneq (,$(findstring $(CONFIG),release loadtest)) 40 CONFIG_FLAGS = -O3 -funroll-loops -ffast-math -finline-functions -fomit-frame-pointer -DNO_DEBUG_LOG -DNO_TRACE_LOG -DNDEBUG 41 endif 42 43-COMMON_FLAGS = -MMD -std=c++11 -pipe -Wall -fPIC \ 44+COMMON_FLAGS = -MMD -std=c++11 -pipe -Wall \ 45 -DBUILD_ENV=$(CONFIG) \ 46 -DBUILD_DATESTAMP='$(APP_DATESTAMP)' \ 47 -DBUILD_LIBRARY_NAME='"$(LIBRARY_NAME)"' \ 48 -DBUILD_CLIENT_NAME='"$(CLIENT_TARGET)"' \ 49 -I$(SRC_PATH) $(CUSTOM_INCLUDE_PATH) 50 51+ifeq ($(BUILD_SHARED),yes) 52+COMMON_FLAGS += -fPIC 53+LIBRARY_TARGETS += $(LIBRARY_SHARED) 54+endif 55+ 56+ifeq ($(BUILD_STATIC),yes) 57+LIBRARY_TARGETS += $(LIBRARY_ARCHIVE) 58+endif 59+ 60 COMMON_LIBS = -lzmq 61 62 LIBRARY_LIBS = 63@@ -150,11 +162,15 @@ install: 64 mkdir -p $(LIBDIR) 65 mkdir -p $(PKGCONFIGDIR) 66 install -m 644 $(ALL_LIBRARY_INCLUDES) $(INCLUDEDIR)/$(LIBRARY_DIR) 67- install -m 755 $(BUILD_PATH)/$(LIBRARY_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_FULL_VERSION_SHARED) 68- install -m 755 $(BUILD_PATH)/$(LIBRARY_ARCHIVE) $(LIBDIR)/$(LIBRARY_ARCHIVE) 69 install -m 755 $(BUILD_PATH)/$(PKGCONFIG_FILE) $(PKGCONFIGDIR)/$(PKGCONFIG_FILE) 70+ifeq ($(BUILD_SHARED),yes) 71+ install -m 755 $(BUILD_PATH)/$(LIBRARY_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_FULL_VERSION_SHARED) 72 ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_VERSION_SHARED) 73 ln -sf $(LIBRARY_FULL_VERSION_SHARED) $(LIBDIR)/$(LIBRARY_SHARED) 74+endif 75+ifeq ($(BUILD_STATIC),yes) 76+ install -m 755 $(BUILD_PATH)/$(LIBRARY_ARCHIVE) $(LIBDIR)/$(LIBRARY_ARCHIVE) 77+endif 78 if [ -f $(BUILD_PATH)/$(CLIENT_TARGET) ]; then install -m 755 $(BUILD_PATH)/$(CLIENT_TARGET) $(BINDIR); fi 79 $(LDCONFIG) 80 @echo "use make installcheck to test the install" 81@@ -176,7 +192,7 @@ clean: 82 83 client: $(CLIENT_TARGET) 84 85-library: $(LIBRARY_SHARED) $(LIBRARY_ARCHIVE) 86+library: $(LIBRARY_TARGETS) 87 88 # 89 # BUILD Targets 90-- 912.14.1 92 93