benejson.mk 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. ################################################################################
  2. #
  3. # benejson
  4. #
  5. ################################################################################
  6. BENEJSON_VERSION = 0.9.7
  7. BENEJSON_SITE = $(call github,codehero,benejson,$(BENEJSON_VERSION))
  8. BENEJSON_LICENSE = MIT
  9. BENEJSON_LICENSE_FILES = LICENSE
  10. BENEJSON_INSTALL_STAGING = YES
  11. BENEJSON_DEPENDENCIES = host-python3 host-scons
  12. # wchar support needs to be manually disabled
  13. ifeq ($(BR2_USE_WCHAR),)
  14. define BENEJSON_DISABLE_WCHAR
  15. $(SED) 's,^#define BNJ_WCHAR_SUPPORT,#undef BNJ_WCHAR_SUPPORT,' \
  16. $(@D)/benejson/benejson.h
  17. endef
  18. BENEJSON_POST_PATCH_HOOKS += BENEJSON_DISABLE_WCHAR
  19. endif
  20. BENEJSON_SCONS_TARGETS = include
  21. ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
  22. BENEJSON_SCONS_TARGETS += lib/libbenejson.a
  23. define BENEJSON_INSTALL_STATIC_LIB
  24. $(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.a \
  25. $(1)/usr/lib/libbenejson.a
  26. endef
  27. endif # Static enabled
  28. ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
  29. BENEJSON_SCONS_TARGETS += lib/libbenejson.so
  30. define BENEJSON_INSTALL_SHARED_LIB
  31. $(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.so \
  32. $(1)/usr/lib/libbenejson.so
  33. endef
  34. endif # Shared enabled
  35. define BENEJSON_BUILD_CMDS
  36. (cd $(@D); \
  37. $(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \
  38. $(HOST_DIR)/bin/python3 $(SCONS) $(BENEJSON_SCONS_TARGETS))
  39. endef
  40. define BENEJSON_INSTALL_STAGING_CMDS
  41. $(INSTALL) -D -m 0644 $(@D)/include/benejson/benejson.h \
  42. $(STAGING_DIR)/usr/include/benejson/benejson.h; \
  43. $(INSTALL) -D -m 0644 $(@D)/include/benejson/pull.hh \
  44. $(STAGING_DIR)/usr/include/benejson/pull.hh
  45. $(call BENEJSON_INSTALL_STATIC_LIB,$(STAGING_DIR))
  46. $(call BENEJSON_INSTALL_SHARED_LIB,$(STAGING_DIR))
  47. endef
  48. define BENEJSON_INSTALL_TARGET_CMDS
  49. $(call BENEJSON_INSTALL_SHARED_LIB,$(TARGET_DIR))
  50. endef
  51. $(eval $(generic-package))