1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# poco 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunPOCO_VERSION = 1.10.1 8*4882a593SmuzhiyunPOCO_SITE = $(call github,pocoproject,poco,poco-$(POCO_VERSION)-release) 9*4882a593SmuzhiyunPOCO_LICENSE = BSL-1.0 10*4882a593SmuzhiyunPOCO_LICENSE_FILES = LICENSE 11*4882a593SmuzhiyunPOCO_CPE_ID_VENDOR = pocoproject 12*4882a593SmuzhiyunPOCO_INSTALL_STAGING = YES 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunPOCO_DEPENDENCIES = zlib pcre \ 15*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_XML),expat) \ 16*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_CRYPTO),openssl) \ 17*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ 18*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),sqlite) \ 19*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mysql) 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunPOCO_OMIT = Data/ODBC PageCompiler \ 22*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_JSON),,JSON) \ 23*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_XML),,XML) \ 24*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ 25*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_NET),,Net) \ 26*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ 27*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ 28*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) \ 29*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_CPP_PARSER),,CppParser) \ 30*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_PDF),,PDF) \ 31*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_REDIS),,Redis) \ 32*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_MONGODB),,MongoDB) \ 33*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ 34*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ 35*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),,Data/SQLite) \ 36*4882a593Smuzhiyun $(if $(BR2_PACKAGE_POCO_JWT),,JWT) 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) 39*4882a593SmuzhiyunPOCO_CONF_OPTS += --no-fpenvironment --no-wstring 40*4882a593Smuzhiyunendif 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun# architectures missing some FE_* in their fenv.h 43*4882a593Smuzhiyunifeq ($(BR2_sh4a)$(BR2_nios2),y) 44*4882a593SmuzhiyunPOCO_CONF_OPTS += --no-fpenvironment 45*4882a593Smuzhiyunendif 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun# disable fpenvironment for soft floating point configuration 48*4882a593Smuzhiyunifeq ($(BR2_SOFT_FLOAT),y) 49*4882a593SmuzhiyunPOCO_CONF_OPTS += --no-fpenvironment 50*4882a593Smuzhiyunendif 51*4882a593Smuzhiyun 52*4882a593Smuzhiyunifeq ($(BR2_STATIC_LIBS),y) 53*4882a593SmuzhiyunPOCO_MAKE_TARGET = static_release 54*4882a593Smuzhiyunelse ifeq ($(BR2_SHARED_LIBS),y) 55*4882a593SmuzhiyunPOCO_MAKE_TARGET = shared_release 56*4882a593Smuzhiyunelse ifeq ($(BR2_SHARED_STATIC_LIBS),y) 57*4882a593SmuzhiyunPOCO_MAKE_TARGET = all_release 58*4882a593Smuzhiyunendif 59*4882a593Smuzhiyun 60*4882a593Smuzhiyundefine POCO_CONFIGURE_CMDS 61*4882a593Smuzhiyun (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ 62*4882a593Smuzhiyun --config=Linux \ 63*4882a593Smuzhiyun --prefix=/usr \ 64*4882a593Smuzhiyun --cflags=-std=c++14 \ 65*4882a593Smuzhiyun --omit="$(POCO_OMIT)" \ 66*4882a593Smuzhiyun $(POCO_CONF_OPTS) \ 67*4882a593Smuzhiyun --unbundled \ 68*4882a593Smuzhiyun --no-tests \ 69*4882a593Smuzhiyun --no-samples) 70*4882a593Smuzhiyunendef 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun# Use $(MAKE1) to avoid failures on heavilly parallel machines (e.g. -j25) 73*4882a593Smuzhiyundefine POCO_BUILD_CMDS 74*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE1) POCO_TARGET_OSARCH=$(ARCH) CROSS_COMPILE=$(TARGET_CROSS) \ 75*4882a593Smuzhiyun MYSQL_LIBDIR=$(STAGING_DIR)/usr/lib/mysql \ 76*4882a593Smuzhiyun MYSQL_INCDIR=$(STAGING_DIR)/usr/include/mysql \ 77*4882a593Smuzhiyun DEFAULT_TARGET=$(POCO_MAKE_TARGET) -C $(@D) 78*4882a593Smuzhiyunendef 79*4882a593Smuzhiyun 80*4882a593Smuzhiyundefine POCO_INSTALL_STAGING_CMDS 81*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) POCO_TARGET_OSARCH=$(ARCH) \ 82*4882a593Smuzhiyun DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) 83*4882a593Smuzhiyunendef 84*4882a593Smuzhiyun 85*4882a593Smuzhiyundefine POCO_INSTALL_TARGET_CMDS 86*4882a593Smuzhiyun $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) POCO_TARGET_OSARCH=$(ARCH) \ 87*4882a593Smuzhiyun DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) 88*4882a593Smuzhiyunendef 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun$(eval $(generic-package)) 91