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