zmqpp.mk 1.9 KB

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