Hello, This patch adds the Protobuf library into feeds/packages.
Protobuf ( http://code.google.com/p/protobuf/ ) is 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. It's vaguely similar to rpcgen, in a (wicked) way, but for C++/python or Java (Here in OpenWRT only C++ is built) I've tested it on Atheros and BCM63xx plateforms, on OpenWRT trunk. Notes: This is the second version of the patch, which takes care of compiling & installing the "protoc" application for the host, since this is required for compiling the target version. Many thanks to Mirko and Jonas who showed me how to do it, and sorry for the delay ! When commited, this library will complete the requirements to build the Seeks package, previously proposed. I will also answer to any questions, critics and wishes regarding the packaging of protobuf, tokyocabinet and Seeks. Obinou
diff --git a/libs/protobuf/Makefile b/libs/protobuf/Makefile new file mode 100644 index 0000000..e0a6c1e --- /dev/null +++ b/libs/protobuf/Makefile @@ -0,0 +1,65 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=protobuf +PKG_VERSION:=2.4.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=http://protobuf.googlecode.com/files +PKG_MD5SUM:=ed436802019c9e1f40cc750eaf78f318 + +PKG_BUILD_DEPENDS:=protobuf/host + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk + +define Package/protobuf + SECTION:=libs + CATEGORY:=Libraries + TITLE:=A structured data encoding library + URL:=http://code.google.com/p/protobuf/ + DEPENDS:=+zlib + MAINTAINER:=Obinou <obcons...@gmail.com> +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. +endef + +CONFIGURE_ARGS += --prefix=/usr --with-protoc=$(STAGING_DIR_HOST)/bin/protoc + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) + $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(PKG_INSTALL_DIR)" install +endef + +define Build/InstallDev + $(MAKE) -C $(PKG_BUILD_DIR) DESTDIR="$(1)" install +endef + +define Package/protobuf/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libprotoc.so* $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libprotobuf-lite.so* $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libprotobuf.so* $(1)/usr/lib +endef + +define Host/Compile + $(MAKE) -C $(HOST_BUILD_DIR) CC="$(HOSTCC)" +endef + +define Host/Install + $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/protoc $(STAGING_DIR_HOST)/bin/protoc +endef + +$(eval $(call BuildPackage,protobuf)) +$(eval $(call HostBuild))
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel