1################################################################################ 2# 3# poco 4# 5################################################################################ 6 7POCO_VERSION = 1.13.2 8POCO_SITE = $(call github,pocoproject,poco,poco-$(POCO_VERSION)-release) 9POCO_LICENSE = BSL-1.0 10POCO_LICENSE_FILES = LICENSE 11POCO_CPE_ID_VENDOR = pocoproject 12POCO_INSTALL_STAGING = YES 13 14POCO_DEPENDENCIES = \ 15 pcre2 \ 16 zlib \ 17 $(if $(BR2_PACKAGE_POCO_CRYPTO),openssl) \ 18 $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),mariadb) \ 19 $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),sqlite) \ 20 $(if $(BR2_PACKAGE_POCO_DATA_PGSQL),postgresql) \ 21 $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),openssl) \ 22 $(if $(BR2_PACKAGE_POCO_XML),expat) 23 24POCO_OMIT = \ 25 Data/ODBC \ 26 PageCompiler \ 27 $(if $(BR2_PACKAGE_POCO_ACTIVERECORD),,ActiveRecord) \ 28 $(if $(BR2_PACKAGE_POCO_CPP_PARSER),,CppParser) \ 29 $(if $(BR2_PACKAGE_POCO_CRYPTO),,Crypto) \ 30 $(if $(BR2_PACKAGE_POCO_DATA),,Data) \ 31 $(if $(BR2_PACKAGE_POCO_DATA_MYSQL),,Data/MySQL) \ 32 $(if $(BR2_PACKAGE_POCO_DATA_SQLITE),,Data/SQLite) \ 33 $(if $(BR2_PACKAGE_POCO_DATA_PGSQL),,Data/PostgreSQL) \ 34 $(if $(BR2_PACKAGE_POCO_JSON),,JSON) \ 35 $(if $(BR2_PACKAGE_POCO_JWT),,JWT) \ 36 $(if $(BR2_PACKAGE_POCO_MONGODB),,MongoDB) \ 37 $(if $(BR2_PACKAGE_POCO_NET),,Net) \ 38 $(if $(BR2_PACKAGE_POCO_NETSSL_OPENSSL),,NetSSL_OpenSSL) \ 39 $(if $(BR2_PACKAGE_POCO_PDF),,PDF) \ 40 $(if $(BR2_PACKAGE_POCO_PROMETHEUS),,Prometheus) \ 41 $(if $(BR2_PACKAGE_POCO_REDIS),,Redis) \ 42 $(if $(BR2_PACKAGE_POCO_UTIL),,Util) \ 43 $(if $(BR2_PACKAGE_POCO_XML),,XML) \ 44 $(if $(BR2_PACKAGE_POCO_ZIP),,Zip) 45 46ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) 47POCO_CONF_OPTS += --no-fpenvironment --no-wstring 48endif 49 50# architectures missing some FE_* in their fenv.h 51ifeq ($(BR2_sh4a)$(BR2_nios2),y) 52POCO_CONF_OPTS += --no-fpenvironment 53endif 54 55# disable fpenvironment for soft floating point configuration 56ifeq ($(BR2_SOFT_FLOAT),y) 57POCO_CONF_OPTS += --no-fpenvironment 58endif 59 60POCO_MAKE_TARGET = shared_release 61 62POCO_LDFLAGS=$(TARGET_LDFLAGS) 63ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) 64POCO_LDFLAGS += -latomic 65endif 66 67define POCO_CONFIGURE_CMDS 68 (cd $(@D); $(TARGET_MAKE_ENV) ./configure \ 69 --config=Linux \ 70 --prefix=/usr \ 71 --ldflags="$(POCO_LDFLAGS)" \ 72 --omit="$(POCO_OMIT)" \ 73 $(POCO_CONF_OPTS) \ 74 --unbundled \ 75 --no-tests \ 76 --no-samples) 77endef 78 79# Use $(MAKE1) to avoid failures on heavilly parallel machines (e.g. -j25) 80define POCO_BUILD_CMDS 81 $(TARGET_MAKE_ENV) $(MAKE1) POCO_TARGET_OSARCH=$(ARCH) CROSS_COMPILE=$(TARGET_CROSS) \ 82 POCO_MYSQL_INCLUDE=$(STAGING_DIR)/usr/include/mysql \ 83 POCO_MYSQL_LIB=$(STAGING_DIR)/usr/lib/mysql \ 84 POCO_PGSQL_INCLUDE=$(STAGING_DIR)/usr/include/postgresql \ 85 POCO_PGSQL_LIB=$(STAGING_DIR)/usr/lib/postgresql \ 86 DEFAULT_TARGET=$(POCO_MAKE_TARGET) -C $(@D) 87endef 88 89define POCO_INSTALL_STAGING_CMDS 90 $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(STAGING_DIR) POCO_TARGET_OSARCH=$(ARCH) \ 91 DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) 92endef 93 94define POCO_INSTALL_TARGET_CMDS 95 $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) POCO_TARGET_OSARCH=$(ARCH) \ 96 DEFAULT_TARGET=$(POCO_MAKE_TARGET) install -C $(@D) 97endef 98 99$(eval $(generic-package)) 100