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