1################################################################################ 2# 3# zmqpp 4# 5################################################################################ 6 7ZMQPP_VERSION = 4.2.0 8ZMQPP_SITE = $(call github,zeromq,zmqpp,$(ZMQPP_VERSION)) 9ZMQPP_INSTALL_STAGING = YES 10ZMQPP_DEPENDENCIES = zeromq 11ZMQPP_LICENSE = MPL-2.0 12ZMQPP_LICENSE_FILES = LICENSE 13ZMQPP_MAKE_OPTS = LD="$(TARGET_CXX)" BUILD_PATH=./build PREFIX=/usr 14ZMQPP_LDFLAGS = $(TARGET_LDFLAGS) -lpthread 15 16# gcc bug internal compiler error: in merge_overlapping_regs, at 17# regrename.c:304. This bug is fixed since gcc 6. 18# By setting CONFIG to empty, all optimizations such as -funroll-loops 19# -ffast-math -finline-functions -fomit-frame-pointer are disabled, 20# so only set CONFIG for the non-affected cases. 21ifneq ($(BR2_or1k):$(BR2_TOOLCHAIN_GCC_AT_LEAST_6),y:) 22ZMQPP_CONFIG = $(if $(BR2_ENABLE_RUNTIME_DEBUG),buildroot,release) 23endif 24 25ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 26ZMQPP_LDFLAGS += -latomic 27endif 28 29ifeq ($(BR2_PACKAGE_ZMQPP_CLIENT),y) 30ZMQPP_DEPENDENCIES += boost 31endif 32 33ifeq ($(BR2_STATIC_LIBS),y) 34ZMQPP_MAKE_OPTS += BUILD_STATIC=yes BUILD_SHARED=no 35else ifeq ($(BR2_SHARED_STATIC_LIBS),y) 36ZMQPP_MAKE_OPTS += BUILD_STATIC=yes BUILD_SHARED=yes 37else ifeq ($(BR2_SHARED_LIBS),y) 38ZMQPP_MAKE_OPTS += BUILD_STATIC=no BUILD_SHARED=yes 39endif 40 41define ZMQPP_BUILD_CMDS 42 $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ 43 CONFIG=$(ZMQPP_CONFIG) LDFLAGS="$(ZMQPP_LDFLAGS)" \ 44 $(ZMQPP_MAKE_OPTS) $(if $(BR2_PACKAGE_ZMQPP_CLIENT),client,library) -C $(@D) 45endef 46 47define ZMQPP_INSTALL_TARGET_CMDS 48 $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/include/zmqpp 49 $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ 50 $(ZMQPP_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install -C $(@D) 51endef 52 53define ZMQPP_INSTALL_STAGING_CMDS 54 $(INSTALL) -m 0755 -d $(STAGING_DIR)/usr/include/zmqpp 55 $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ 56 $(ZMQPP_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install -C $(@D) 57endef 58 59$(eval $(generic-package)) 60