2 # Copyright (C) 2007-2012 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://svn.code.sf.net/p/xmlrpc-c/code/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/Default
32 TITLE:=XML-RPC library
33 URL:=http://xmlrpc-c.sourceforge.net/
36 define Package/xmlrpc-c-common
37 $(call Package/xmlrpc-c/Default)
41 define Package/xmlrpc-c-internal
42 $(call Package/xmlrpc-c/Default)
43 TITLE+= - (uses internal expat variant)
44 DEPENDS:=+xmlrpc-c-common
49 define Package/xmlrpc-c
50 $(call Package/xmlrpc-c/Default)
51 DEPENDS:=+xmlrpc-c-internal
54 define Package/xmlrpc-c-libxml2
55 $(call Package/xmlrpc-c/Default)
56 TITLE+= - (uses libxml2)
57 DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
62 define Package/xmlrpc-c-client
63 $(call Package/xmlrpc-c/Default)
65 DEPENDS:=+xmlrpc-c +libcurl
68 define Package/xmlrpc-c-server
69 $(call Package/xmlrpc-c/Default)
74 define Package/xmlrpc-c-abyss
75 $(call Package/xmlrpc-c/Default)
77 DEPENDS:=+xmlrpc-c-common
80 define Package/xmlrpc-c-server-abyss
81 $(call Package/xmlrpc-c/Default)
82 TITLE+= - abyss server
83 DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
86 define Package/xmlrpc-c/description/Default
87 Programming library for writing an XML-RPC server or client in C or C++.
88 XML-RPC is a standard network protocol to allow a client program to make
89 a simple remote procedure call (RPC) type request of a server.
92 Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
93 Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
94 Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
96 Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
97 Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
100 --disable-wininet-client \
101 --disable-libwww-client \
102 --enable-abyss-server \
103 --disable-cplusplus \
104 --disable-abyss-threads \
107 ifeq ($(BUILD_VARIANT),libxml2)
109 --enable-libxml2-backend
112 ifeq ($(BUILD_VARIANT),internal)
114 --disable-libxml2-backend
118 ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
119 $(call Build/Compile/Default)
122 define Build/InstallDev
129 $(PKG_INSTALL_DIR)/usr/include/* \
132 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
135 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
138 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
139 $(2)/bin/xmlrpc-c-config
141 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
142 $(2)/bin/xmlrpc-c-config
145 define Package/xmlrpc-c-libxml2/install
149 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
153 define Package/xmlrpc-c-internal/install
157 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
160 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
163 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
167 define Package/xmlrpc-c-server/install
171 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
175 define Package/xmlrpc-c-abyss/install
179 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
183 define Package/xmlrpc-c-server-abyss/install
187 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
191 define Package/xmlrpc-c-client/install
195 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
199 define Package/xmlrpc-c-common/install
203 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
207 define Package/xmlrpc-c/install
211 $(eval $(call BuildPackage,xmlrpc-c))
212 $(eval $(call BuildPackage,xmlrpc-c-common))
213 $(eval $(call BuildPackage,xmlrpc-c-libxml2))
214 $(eval $(call BuildPackage,xmlrpc-c-internal))
215 $(eval $(call BuildPackage,xmlrpc-c-server))
216 $(eval $(call BuildPackage,xmlrpc-c-abyss))
217 $(eval $(call BuildPackage,xmlrpc-c-server-abyss))
218 $(eval $(call BuildPackage,xmlrpc-c-client))