libs/xmlrpc-c: update to 1.54.06
[feed/packages.git] / libs / xmlrpc-c / Makefile
1 #
2 # Copyright (C) 2007-2014 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_VERSION:=1.54.06
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz
15 PKG_SOURCE_URL:=@SF/xmlrpc-c/Xmlrpc-c%20Super%20Stable/$(PKG_VERSION)
16 PKG_HASH:=ae6d0fb58f38f1536511360dc0081d3876c1f209d9eaa54357e2bacd690a5640
17
18 PKG_MAINTAINER:=Ted Hess <thess@kitschensync.net>
19 PKG_LICENSE:=VARIOUS
20 PKG_LICENSE_FILES:=doc/COPYING
21
22 PKG_INSTALL:=1
23 PKG_BUILD_PARALLEL:=1
24
25 include $(INCLUDE_DIR)/package.mk
26
27 define Package/xmlrpc-c/Default
28 SECTION:=libs
29 CATEGORY:=Libraries
30 TITLE:=XML-RPC library
31 URL:=http://xmlrpc-c.sourceforge.net/
32 endef
33
34 define Package/xmlrpc-c-common
35 $(call Package/xmlrpc-c/Default)
36 TITLE+= - common
37 DEPENDS+= +libpthread
38 HIDDEN:=1
39 endef
40
41 define Package/xmlrpc-c-internal
42 $(call Package/xmlrpc-c/Default)
43 TITLE+= (uses internal expat variant)
44 DEPENDS:=+xmlrpc-c-common
45 # PROVIDES:=xmlrpc-c
46 VARIANT:=internal
47 HIDDEN:=1
48 endef
49
50 define Package/xmlrpc-c
51 $(call Package/xmlrpc-c/Default)
52 TITLE+= (uses internal expat variant)
53 DEPENDS:=+xmlrpc-c-internal
54 endef
55
56 define Package/xmlrpc-c-libxml2
57 $(call Package/xmlrpc-c/Default)
58 TITLE+= (uses libxml2)
59 DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
60 # PROVIDES:=xmlrpc-c
61 VARIANT:=libxml2
62 endef
63
64 define Package/xmlrpc-c-client
65 $(call Package/xmlrpc-c/Default)
66 TITLE+= - client
67 DEPENDS:=+xmlrpc-c +libcurl
68 endef
69
70 define Package/xmlrpc-c-server
71 $(call Package/xmlrpc-c/Default)
72 TITLE+= - server
73 DEPENDS:=+xmlrpc-c
74 endef
75
76 define Package/xmlrpc-c-abyss
77 $(call Package/xmlrpc-c/Default)
78 TITLE+= - abyss
79 DEPENDS:=+xmlrpc-c-common @BROKEN
80 endef
81
82 define Package/xmlrpc-c-server-abyss
83 $(call Package/xmlrpc-c/Default)
84 TITLE+= - abyss server
85 DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
86 endef
87
88 define Package/xmlrpc-c/description/Default
89 Programming library for writing an XML-RPC server or client in C or C++.
90 XML-RPC is a standard network protocol to allow a client program to make
91 a simple remote procedure call (RPC) type request of a server.
92 endef
93
94 Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
95 Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
96 Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
97
98 Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
99 Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
100
101 CONFIGURE_ARGS+= \
102 --disable-wininet-client \
103 --disable-libwww-client \
104 --disable-abyss-server \
105 --disable-cgi-server \
106 --disable-cplusplus \
107 --disable-abyss-threads \
108 --without-libwww-ssl
109
110 ifeq ($(BUILD_VARIANT),libxml2)
111 CONFIGURE_ARGS += \
112 --enable-libxml2-backend
113 endif
114
115 ifeq ($(BUILD_VARIANT),internal)
116 CONFIGURE_ARGS += \
117 --disable-libxml2-backend
118 endif
119
120 define Build/Compile
121 ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
122 $(call Build/Compile/Default)
123 endef
124
125 define Build/InstallDev
126 $(INSTALL_DIR) \
127 $(1)/usr/include \
128 $(1)/usr/lib \
129 $(1)/usr/bin \
130 $(2)/bin
131 $(CP) \
132 $(PKG_INSTALL_DIR)/usr/include/* \
133 $(1)/usr/include/
134 $(CP) \
135 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
136 $(1)/usr/lib/
137 $(INSTALL_BIN) \
138 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
139 $(2)/bin/
140 $(SED) 's,PREFIX="/usr",PREFIX="$(STAGING_DIR)/usr",g' $(2)/bin/xmlrpc-c-config
141 $(SED) \
142 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
143 $(2)/bin/xmlrpc-c-config
144 $(SED) \
145 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
146 $(2)/bin/xmlrpc-c-config
147 endef
148
149 define Package/xmlrpc-c-libxml2/install
150 $(INSTALL_DIR) \
151 $(1)/usr/lib
152 $(CP) \
153 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
154 $(1)/usr/lib/
155 endef
156
157 define Package/xmlrpc-c-internal/install
158 $(INSTALL_DIR) \
159 $(1)/usr/lib
160 $(CP) \
161 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
162 $(1)/usr/lib/
163 $(CP) \
164 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
165 $(1)/usr/lib/
166 $(CP) \
167 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
168 $(1)/usr/lib/
169 endef
170
171 define Package/xmlrpc-c-server/install
172 $(INSTALL_DIR) \
173 $(1)/usr/lib
174 $(CP) \
175 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
176 $(1)/usr/lib/
177 endef
178
179 define Package/xmlrpc-c-abyss/install
180 $(INSTALL_DIR) \
181 $(1)/usr/lib
182 $(CP) \
183 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
184 $(1)/usr/lib/
185 endef
186
187 define Package/xmlrpc-c-server-abyss/install
188 $(INSTALL_DIR) \
189 $(1)/usr/lib
190 $(CP) \
191 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
192 $(1)/usr/lib/
193 endef
194
195 define Package/xmlrpc-c-client/install
196 $(INSTALL_DIR) \
197 $(1)/usr/lib
198 $(CP) \
199 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
200 $(1)/usr/lib/
201 endef
202
203 define Package/xmlrpc-c-common/install
204 $(INSTALL_DIR) \
205 $(1)/usr/lib
206 $(CP) \
207 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
208 $(1)/usr/lib/
209 endef
210
211 define Package/xmlrpc-c/install
212 true
213 endef
214
215 $(eval $(call BuildPackage,xmlrpc-c))
216 $(eval $(call BuildPackage,xmlrpc-c-common))
217 #$(eval $(call BuildPackage,xmlrpc-c-libxml2))
218 $(eval $(call BuildPackage,xmlrpc-c-internal))
219 $(eval $(call BuildPackage,xmlrpc-c-server))
220 #$(eval $(call BuildPackage,xmlrpc-c-abyss))
221 #$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
222 $(eval $(call BuildPackage,xmlrpc-c-client))