Merge pull request #11353 from kvuorine/fwknop-fixes
[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.51.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:=06dcd87d9c88374559369ffbe83b3139cf41418c1a2d03f20e08808085f89fd0
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) \
141 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
142 $(2)/bin/xmlrpc-c-config
143 $(SED) \
144 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
145 $(2)/bin/xmlrpc-c-config
146 endef
147
148 define Package/xmlrpc-c-libxml2/install
149 $(INSTALL_DIR) \
150 $(1)/usr/lib
151 $(CP) \
152 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
153 $(1)/usr/lib/
154 endef
155
156 define Package/xmlrpc-c-internal/install
157 $(INSTALL_DIR) \
158 $(1)/usr/lib
159 $(CP) \
160 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
161 $(1)/usr/lib/
162 $(CP) \
163 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
164 $(1)/usr/lib/
165 $(CP) \
166 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
167 $(1)/usr/lib/
168 endef
169
170 define Package/xmlrpc-c-server/install
171 $(INSTALL_DIR) \
172 $(1)/usr/lib
173 $(CP) \
174 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
175 $(1)/usr/lib/
176 endef
177
178 define Package/xmlrpc-c-abyss/install
179 $(INSTALL_DIR) \
180 $(1)/usr/lib
181 $(CP) \
182 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
183 $(1)/usr/lib/
184 endef
185
186 define Package/xmlrpc-c-server-abyss/install
187 $(INSTALL_DIR) \
188 $(1)/usr/lib
189 $(CP) \
190 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
191 $(1)/usr/lib/
192 endef
193
194 define Package/xmlrpc-c-client/install
195 $(INSTALL_DIR) \
196 $(1)/usr/lib
197 $(CP) \
198 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
199 $(1)/usr/lib/
200 endef
201
202 define Package/xmlrpc-c-common/install
203 $(INSTALL_DIR) \
204 $(1)/usr/lib
205 $(CP) \
206 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
207 $(1)/usr/lib/
208 endef
209
210 define Package/xmlrpc-c/install
211 true
212 endef
213
214 $(eval $(call BuildPackage,xmlrpc-c))
215 $(eval $(call BuildPackage,xmlrpc-c-common))
216 #$(eval $(call BuildPackage,xmlrpc-c-libxml2))
217 $(eval $(call BuildPackage,xmlrpc-c-internal))
218 $(eval $(call BuildPackage,xmlrpc-c-server))
219 #$(eval $(call BuildPackage,xmlrpc-c-abyss))
220 #$(eval $(call BuildPackage,xmlrpc-c-server-abyss))
221 $(eval $(call BuildPackage,xmlrpc-c-client))