poco: A new variant of poco library poco-all
authorJakub Jalowiczor <jaluwka@gmail.com>
Wed, 9 Oct 2019 10:34:25 +0000 (06:34 -0400)
committerJakub Jalowiczor <jaluwka@gmail.com>
Wed, 9 Oct 2019 10:36:50 +0000 (06:36 -0400)
Signed-off-by: Jakub Jalowiczor <jaluwka@gmail.com>
libs/poco/Makefile

index 1496fcd5ba767c3985e5bc1ff546758929d020e8..24cfb6d6fc6f164daf63f85240f9e2d9c3e96c26 100644 (file)
@@ -9,13 +9,18 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=poco
-_PKG_VERSION:=1.9.0
-PKG_VERSION:=$(_PKG_VERSION)-all
 PKG_RELEASE:=2
 
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
-PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(_PKG_VERSION)
+ifeq ($(BUILD_VARIANT),all)
+PKG_VERSION:=1.9.0-all
 PKG_HASH:=b6e33898588e74337efec4e8d8b9b277bb653b08318a79215f9aa4a3ff1ea9fd
+else
+PKG_VERSION:=1.9.0
+PKG_HASH:=a0a5a03d87c585f1a43def33bfc52c0c34a528e43a7b13bc83841a7c00adde39
+endif
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=https://pocoproject.org/releases/$(PKG_NAME)-$(PKG_VERSION)
 
 PKG_LICENSE:=BSL-1.0
 PKG_LICENSE_FILES:=LICENSE
@@ -23,6 +28,7 @@ PKG_CPE_ID:=cpe:/a:pocoproject:poco
 
 PKG_BUILD_PARALLEL:=1
 PKG_INSTALL:=1
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
 include $(INCLUDE_DIR)/package.mk
 
@@ -31,8 +37,9 @@ define Package/poco
   CATEGORY:=Libraries
   TITLE:=Poco C++ libraries
   URL:=https://www.pocoproject.org/
-  DEPENDS:=+libstdcpp +libpthread +librt +libopenssl @!arc
+  DEPENDS:=+libstdcpp +libpthread +librt @!arc
   MAINTAINER:=Jean-Michel Julien <jean-michel.julien@trilliantinc.com>
+  VARIANT:=minimal
 endef
 
 define Package/poco/description
@@ -41,6 +48,22 @@ define Package/poco/description
   run on desktop, server and embedded systems.
 endef
 
+define Package/poco-all
+  $(call Package/poco)
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE+=(Complete Edition)
+  DEPENDS+=+libopenssl
+  VARIANT:=all
+endef
+
+define Package/poco-all/description
+  POrtable COmponents, a modern and powerful open source C++ class libraries
+  and frameworks for building network and internet-based applications that
+  run on desktop, server and embedded systems. The Complete Edition contains
+  all libraries.
+endef
+
 CONFIGURE_ARGS += \
        --config=Linux \
        --no-tests \
@@ -48,10 +71,23 @@ CONFIGURE_ARGS += \
        --no-fpenvironment \
        --no-sharedmemory \
        --no-wstring \
-       --typical \
        --shared
 
+ifeq ($(BUILD_VARIANT),all)
+       CONFIGURE_ARGS += \
+               --typical
+else
+       CONFIGURE_ARGS += \
+               --poquito \
+               --minimal
+endif
+
 define Package/poco/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,JSON,Net,Util}.so* $(1)/usr/lib/
+endef
+
+define Package/poco-all/install
        $(INSTALL_DIR) $(1)/usr/lib
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,JSON,Net,Util,Crypto,NetSSL,Encodings}.so* $(1)/usr/lib/
 endef
@@ -61,7 +97,8 @@ define Build/InstallDev
        $(CP) $(PKG_INSTALL_DIR)/usr/include/Poco $(1)/usr/include/
 
        $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,JSON,Net,Util,Crypto,NetSSL,Encodings}.so* $(1)/usr/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libPoco{Foundation,XML,JSON,Net,Util}.so* $(1)/usr/lib/
 endef
 
 $(eval $(call BuildPackage,poco))
+$(eval $(call BuildPackage,poco-all))