[packages/xmlrpc-c] disable build variants for now, as:
[packages.git] / libs / xmlrpc-c / Makefile
1 #
2 # Copyright (C) 2007-2010 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=xmlrpc-c
11 PKG_REV:=2042
12 PKG_VERSION:=1.24.4_r$(PKG_REV)
13 PKG_RELEASE:=1
14
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)
19 PKG_SOURCE_PROTO:=svn
20
21 PKG_FIXUP:=libtool
22 PKG_INSTALL:=1
23
24 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
25
26 include $(INCLUDE_DIR)/package.mk
27
28 define Package/xmlrpc-c_common
29   SECTION:=libs
30   CATEGORY:=Libraries
31   TITLE:=XML-RPC library - common
32   URL:=http://xmlrpc-c.sourceforge.net/
33 endef
34
35 define Package/xmlrpc-c_internal
36   SECTION:=libs
37   CATEGORY:=Libraries
38   TITLE:=XML-RPC library - (ueses internal expat variant)
39   URL:=http://xmlrpc-c.sourceforge.net/
40   DEPENDS:=+xmlrpc-c_common
41 #  PROVIDES:=xmlrpc-c
42   VARIANT:=internal
43 endef
44
45 define Package/xmlrpc-c
46   SECTION:=libs
47   CATEGORY:=Libraries
48   TITLE:=XML-RPC library
49   URL:=http://xmlrpc-c.sourceforge.net/
50   DEPENDS:=+xmlrpc-c_internal
51 endef
52
53 define Package/xmlrpc-c_libxml2
54   SECTION:=libs
55   CATEGORY:=Libraries
56   TITLE:=XML-RPC library - (uses libxml2)
57   URL:=http://xmlrpc-c.sourceforge.net/
58   DEPENDS:=+xmlrpc-c_common +libxml2 @BROKEN
59 #  PROVIDES:=xmlrpc-c
60   VARIANT:=libxml2
61 endef
62
63 define Package/xmlrpc-c_client
64   SECTION:=libs
65   CATEGORY:=Libraries
66   TITLE:=XML-RPC library - client
67   URL:=http://xmlrpc-c.sourceforge.net/
68   DEPENDS:=+xmlrpc-c +libcurl
69 endef
70
71 define Package/xmlrpc-c_server
72   SECTION:=libs
73   CATEGORY:=Libraries
74   TITLE:=XML-RPC library - server
75   URL:=http://xmlrpc-c.sourceforge.net/
76   DEPENDS:=+xmlrpc-c
77 endef
78
79 define Package/xmlrpc-c_abyss
80   SECTION:=libs
81   CATEGORY:=Libraries
82   TITLE:=XML-RPC library - abyss
83   URL:=http://xmlrpc-c.sourceforge.net/
84   DEPENDS:=+xmlrpc-c_common
85 endef
86
87 define Package/xmlrpc-c_server-abyss
88   SECTION:=libs
89   CATEGORY:=Libraries
90   TITLE:=XML-RPC library - abyss server
91   URL:=http://xmlrpc-c.sourceforge.net/
92   DEPENDS:=+xmlrpc-c_server +xmlrpc-c_abyss
93 endef
94
95 define Package/xmlrpc-c/description/Default
96     Programming library for writing an XML-RPC server or client in C or C++.
97     XML-RPC is a standard network protocol to allow a client program to make
98     a simple remote procedure call (RPC) type request of a server.
99 endef
100
101 Package/xmlrpc-c_common/description = $(Package/xmlrpc-c/description/Default)
102 Package/xmlrpc-c_libxml2/description = $(Package/xmlrpc-c/description/Default)
103 Package/xmlrpc-c_internal/description = $(Package/xmlrpc-c/description/Default)
104
105 Package/xmlrpc-c_libxml2/description += Uses external libxml2 library (quite big)
106 Package/xmlrpc-c_internal/description += Uses internal expat variant (stripped down)
107
108 CONFIGURE_ARGS+= \
109         --disable-wininet-client \
110         --disable-libwww-client \
111         --enable-abyss-server \
112         --disable-cplusplus \
113         --disable-static \
114         --disable-abyss-threads \
115         --disable-cgi-server
116
117 ifeq ($(BUILD_VARIANT),libxml2)
118         CONFIGURE_ARGS += \
119                 --enable-libxml2-backend
120 endif
121
122 ifeq ($(BUILD_VARIANT),internal)
123         CONFIGURE_ARGS += \
124                 --disable-libxml2-backend
125 endif
126
127 define Build/Compile
128         ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab  gennmtab.o )
129         $(call Build/Compile/Default)
130 endef
131
132 define Build/InstallDev
133         $(INSTALL_DIR) \
134                 $(1)/usr/include \
135                 $(1)/usr/lib \
136                 $(1)/usr/bin \
137                 $(2)/bin
138
139         $(CP) \
140                 $(PKG_INSTALL_DIR)/usr/include/* \
141                 $(1)/usr/include/
142
143         $(CP) \
144                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
145                 $(1)/usr/lib/
146
147         $(INSTALL_BIN) \
148                 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
149                 $(2)/bin/
150
151         $(SED) \
152                 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
153                 $(2)/bin/xmlrpc-c-config
154
155         $(SED) \
156                 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
157                 $(2)/bin/xmlrpc-c-config
158 endef
159
160 define Package/xmlrpc-c_libxml2/install
161         $(INSTALL_DIR) \
162                 $(1)/usr/lib
163
164         $(CP) \
165                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
166                 $(1)/usr/lib/
167 endef
168
169 define Package/xmlrpc-c_internal/install
170         $(INSTALL_DIR) \
171                 $(1)/usr/lib
172
173         $(CP) \
174                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
175                 $(1)/usr/lib/
176
177         $(CP) \
178                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
179                 $(1)/usr/lib/
180
181         $(CP) \
182                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
183                 $(1)/usr/lib/
184 endef
185
186 define Package/xmlrpc-c_server/install
187         $(INSTALL_DIR) \
188                 $(1)/usr/lib
189
190         $(CP) \
191                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
192                 $(1)/usr/lib/
193 endef
194
195 define Package/xmlrpc-c_abyss/install
196         $(INSTALL_DIR) \
197                 $(1)/usr/lib
198
199         $(CP) \
200                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
201                 $(1)/usr/lib/
202 endef
203
204 define Package/xmlrpc-c_server-abyss/install
205         $(INSTALL_DIR) \
206                 $(1)/usr/lib
207
208         $(CP) \
209                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
210                 $(1)/usr/lib/
211 endef
212
213 define Package/xmlrpc-c_client/install
214         $(INSTALL_DIR) \
215                 $(1)/usr/lib
216
217         $(CP) \
218                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
219                 $(1)/usr/lib/
220 endef
221
222 define Package/xmlrpc-c_common/install
223         $(INSTALL_DIR) \
224                 $(1)/usr/lib
225
226         $(CP) \
227                 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
228                 $(1)/usr/lib/
229 endef
230
231
232 $(eval $(call BuildPackage,xmlrpc-c))
233 $(eval $(call BuildPackage,xmlrpc-c_common))
234 $(eval $(call BuildPackage,xmlrpc-c_libxml2))
235 $(eval $(call BuildPackage,xmlrpc-c_internal))
236 $(eval $(call BuildPackage,xmlrpc-c_server))
237 $(eval $(call BuildPackage,xmlrpc-c_abyss))
238 $(eval $(call BuildPackage,xmlrpc-c_server-abyss))
239 $(eval $(call BuildPackage,xmlrpc-c_client))