protobuf: add smaller protobuf-lite package variant
authorKen Keys <kkeys@caida.org>
Wed, 23 May 2018 23:37:35 +0000 (16:37 -0700)
committerKen Keys <kkeys@caida.org>
Wed, 23 May 2018 23:37:35 +0000 (16:37 -0700)
Signed-off-by: Ken Keys <kkeys@caida.org>
libs/protobuf/Makefile

index 2f25156bfd136fdb3c93540a813647c7e928bf6a..5b65dabd70837c3d6d59ac078ea6412e75fd153b 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=protobuf
 PKG_VERSION:=3.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-cpp-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/google/protobuf/releases/download/v$(PKG_VERSION)
@@ -26,19 +26,43 @@ PKG_INSTALL:=1
 include $(INCLUDE_DIR)/package.mk
 include $(INCLUDE_DIR)/host-build.mk
 
-define Package/protobuf
+define Package/protobuf/Default
   SECTION:=libs
   CATEGORY:=Libraries
   TITLE:=A structured data encoding library
   URL:=https://github.com/google/protobuf
   DEPENDS:=+zlib +libpthread +libstdcpp
-  MAINTAINER:=Per Sandström <per.j.sandstrom@gmail.com>
+  MAINTAINER:=Ken Keys <kkeys@caida.org>
+endef
+
+define Package/protobuf
+  $(call Package/protobuf/Default)
+  DEPENDS+=+protobuf-lite
+endef
+
+define Package/protobuf-lite
+  $(call Package/protobuf/Default)
+endef
+
+define Package/protobuf/description/Default
+Protocol Buffers are a way of encoding structured data in an efficient
+yet extensible format. Google uses Protocol Buffers for almost all
+of its internal RPC protocols and file formats.
 endef
 
 define Package/protobuf/description
- Protocol Buffers are a way of encoding structured data in an efficient
- yet extensible format. Google uses Protocol Buffers for almost all
- of its internal RPC protocols and file formats.
+$(call Package/protobuf/description/Default)
+
+This package provides the libprotoc, libprotobuf, and libprotobuf-lite
+libraries.  For a much smaller protobuf package, see "protobuf-lite".
+
+endef
+
+define Package/protobuf-lite/description
+$(call Package/protobuf/description/Default)
+
+This package provides the libprotobuf-lite library.
+
 endef
 
 CONFIGURE_ARGS += --with-protoc=$(STAGING_DIR_HOSTPKG)/bin/protoc
@@ -57,16 +81,21 @@ define Build/InstallDev
                $(1)/usr/lib/
 endef
 
-define Package/protobuf/install
+define Package/protobuf-lite/install
        $(INSTALL_DIR) \
                $(1)/usr/lib
 
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/libprotoc.so*  \
+               $(PKG_INSTALL_DIR)/usr/lib/libprotobuf-lite.so* \
                $(1)/usr/lib/
+endef
+
+define Package/protobuf/install
+       $(INSTALL_DIR) \
+               $(1)/usr/lib
 
        $(CP) \
-               $(PKG_INSTALL_DIR)/usr/lib/libprotobuf-lite.so* \
+               $(PKG_INSTALL_DIR)/usr/lib/libprotoc.so*  \
                $(1)/usr/lib/
 
        $(CP) \
@@ -75,4 +104,5 @@ define Package/protobuf/install
 endef
 
 $(eval $(call BuildPackage,protobuf))
+$(eval $(call BuildPackage,protobuf-lite))
 $(eval $(call HostBuild))