xref: /OK3568_Linux_fs/buildroot/package/zmqpp/zmqpp.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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