2 # Copyright (C) 2007-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
12 PKG_VERSION:=advanced_r$(PKG_REV)
15 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
16 PKG_SOURCE_URL:=http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced
17 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
18 PKG_SOURCE_VERSION:=$(PKG_REV)
25 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
27 include $(INCLUDE_DIR)/package.mk
29 define Package/xmlrpc-c-common
32 TITLE:=XML-RPC library - common
33 URL:=http://xmlrpc-c.sourceforge.net/
36 define Package/xmlrpc-c-internal
39 TITLE:=XML-RPC library - (ueses internal expat variant)
40 URL:=http://xmlrpc-c.sourceforge.net/
41 DEPENDS:=+xmlrpc-c-common
46 define Package/xmlrpc-c
49 TITLE:=XML-RPC library
50 URL:=http://xmlrpc-c.sourceforge.net/
51 DEPENDS:=+xmlrpc-c-internal
54 define Package/xmlrpc-c-libxml2
57 TITLE:=XML-RPC library - (uses libxml2)
58 URL:=http://xmlrpc-c.sourceforge.net/
59 DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
64 define Package/xmlrpc-c-client
67 TITLE:=XML-RPC library - client
68 URL:=http://xmlrpc-c.sourceforge.net/
69 DEPENDS:=+xmlrpc-c +libcurl
72 define Package/xmlrpc-c-server
75 TITLE:=XML-RPC library - server
76 URL:=http://xmlrpc-c.sourceforge.net/
80 define Package/xmlrpc-c-abyss
83 TITLE:=XML-RPC library - abyss
84 URL:=http://xmlrpc-c.sourceforge.net/
85 DEPENDS:=+xmlrpc-c-common
88 define Package/xmlrpc-c-server-abyss
91 TITLE:=XML-RPC library - abyss server
92 URL:=http://xmlrpc-c.sourceforge.net/
93 DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
96 define Package/xmlrpc-c/description/Default
97 Programming library for writing an XML-RPC server or client in C or C++.
98 XML-RPC is a standard network protocol to allow a client program to make
99 a simple remote procedure call (RPC) type request of a server.
102 Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
103 Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
104 Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
106 Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
107 Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
110 --disable-wininet-client \
111 --disable-libwww-client \
112 --enable-abyss-server \
113 --disable-cplusplus \
115 --disable-abyss-threads \
118 ifeq ($(BUILD_VARIANT),libxml2)
120 --enable-libxml2-backend
123 ifeq ($(BUILD_VARIANT),internal)
125 --disable-libxml2-backend
129 ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
130 $(call Build/Compile/Default)
133 define Build/InstallDev
141 $(PKG_INSTALL_DIR)/usr/include/* \
145 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
149 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
153 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
154 $(2)/bin/xmlrpc-c-config
157 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
158 $(2)/bin/xmlrpc-c-config
161 define Package/xmlrpc-c-libxml2/install
166 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
170 define Package/xmlrpc-c-internal/install
175 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
179 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
183 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
187 define Package/xmlrpc-c-server/install
192 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
196 define Package/xmlrpc-c-abyss/install
201 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
205 define Package/xmlrpc-c-server-abyss/install
210 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
214 define Package/xmlrpc-c-client/install
219 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
223 define Package/xmlrpc-c-common/install
228 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
232 define Package/xmlrpc-c/install
237 $(eval $(call BuildPackage,xmlrpc-c))
238 $(eval $(call BuildPackage,xmlrpc-c-common))
239 $(eval $(call BuildPackage,xmlrpc-c-libxml2))
240 $(eval $(call BuildPackage,xmlrpc-c-internal))
241 $(eval $(call BuildPackage,xmlrpc-c-server))
242 $(eval $(call BuildPackage,xmlrpc-c-abyss))
243 $(eval $(call BuildPackage,xmlrpc-c-server-abyss))
244 $(eval $(call BuildPackage,xmlrpc-c-client))