summaryrefslogtreecommitdiff
path: root/package/benejson/benejson.mk
blob: 680e5b5bdad7b8971c345a72e665e4b5cbee81fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
################################################################################
#
# benejson
#
################################################################################

BENEJSON_VERSION = 0.9.7
BENEJSON_SITE = $(call github,codehero,benejson,$(BENEJSON_VERSION))
BENEJSON_LICENSE = MIT
BENEJSON_LICENSE_FILES = LICENSE
BENEJSON_INSTALL_STAGING = YES
BENEJSON_DEPENDENCIES = host-scons

# wchar support needs to be manually disabled
ifeq ($(BR2_USE_WCHAR),)
define BENEJSON_DISABLE_WCHAR
	$(SED) 's,^#define BNJ_WCHAR_SUPPORT,#undef BNJ_WCHAR_SUPPORT,' \
		$(@D)/benejson/benejson.h
endef
BENEJSON_POST_PATCH_HOOKS += BENEJSON_DISABLE_WCHAR
endif

BENEJSON_SCONS_TARGETS = include

ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
BENEJSON_SCONS_TARGETS += lib/libbenejson.a
define BENEJSON_INSTALL_STATIC_LIB
	$(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.a \
		$(1)/usr/lib/libbenejson.a
endef
endif # Static enabled

ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
BENEJSON_SCONS_TARGETS += lib/libbenejson.so
define BENEJSON_INSTALL_SHARED_LIB
	$(INSTALL) -D -m 0644 $(@D)/lib/libbenejson.so \
		$(1)/usr/lib/libbenejson.so
endef
endif # Shared enabled

define BENEJSON_BUILD_CMDS
	(cd $(@D); \
		$(TARGET_CONFIGURE_OPTS) CROSS=$(TARGET_CROSS) \
		$(SCONS) $(BENEJSON_SCONS_TARGETS))
endef

define BENEJSON_INSTALL_STAGING_CMDS
	$(INSTALL) -D -m 0644 $(@D)/include/benejson/benejson.h \
		$(STAGING_DIR)/usr/include/benejson/benejson.h; \
	$(INSTALL) -D -m 0644 $(@D)/include/benejson/pull.hh \
		$(STAGING_DIR)/usr/include/benejson/pull.hh
	$(call BENEJSON_INSTALL_STATIC_LIB,$(STAGING_DIR))
	$(call BENEJSON_INSTALL_SHARED_LIB,$(STAGING_DIR))
endef

define BENEJSON_INSTALL_TARGET_CMDS
	$(call BENEJSON_INSTALL_SHARED_LIB,$(TARGET_DIR))
endef

$(eval $(generic-package))