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