libs/xmlrpc-c: install pkgconf files
[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 endef
48
49 define Package/xmlrpc-c-libxml2
50 $(call Package/xmlrpc-c/Default)
51 TITLE+= (uses libxml2)
52 DEPENDS:=+xmlrpc-c-common +libxml2
53 PROVIDES:=xmlrpc-c
54 VARIANT:=libxml2
55 endef
56
57 define Package/xmlrpc-c-client
58 $(call Package/xmlrpc-c/Default)
59 TITLE+= - client
60 DEPENDS:=+xmlrpc-c +libcurl
61 endef
62
63 define Package/xmlrpc-c-server
64 $(call Package/xmlrpc-c/Default)
65 TITLE+= - server
66 DEPENDS:=+xmlrpc-c
67 endef
68
69 define Package/xmlrpc-c-abyss
70 $(call Package/xmlrpc-c/Default)
71 TITLE+= - abyss
72 DEPENDS:=+xmlrpc-c-common
73 endef
74
75 define Package/xmlrpc-c-server-abyss
76 $(call Package/xmlrpc-c/Default)
77 TITLE+= - abyss server
78 DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
79 endef
80
81 define Package/xmlrpc-c/description/Default
82 Programming library for writing an XML-RPC server or client in C or C++.
83 XML-RPC is a standard network protocol to allow a client program to make
84 a simple remote procedure call (RPC) type request of a server.
85 endef
86
87 Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
88 Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
89 Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
90
91 Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
92 Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
93
94 CONFIGURE_ARGS+= \
95 --disable-wininet-client \
96 --disable-libwww-client \
97 --disable-cgi-server \
98 --disable-cplusplus \
99 --without-libwww-ssl \
100 --disable-abyss-openssl
101
102 ifeq ($(BUILD_VARIANT),libxml2)
103 CONFIGURE_ARGS += \
104 --enable-libxml2-backend
105 endif
106
107 ifeq ($(BUILD_VARIANT),internal)
108 CONFIGURE_ARGS += \
109 --disable-libxml2-backend
110 endif
111
112 define Build/Compile
113 ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
114 $(call Build/Compile/Default)
115 endef
116
117 define Build/InstallDev
118 $(INSTALL_DIR) \
119 $(1)/usr/include \
120 $(1)/usr/lib \
121 $(1)/usr/bin \
122 $(1)/usr/lib/pkgconfig \
123 $(2)/bin
124 $(CP) \
125 $(PKG_INSTALL_DIR)/usr/include/* \
126 $(1)/usr/include/
127 $(CP) \
128 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
129 $(1)/usr/lib/
130 $(INSTALL_BIN) \
131 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
132 $(2)/bin/
133 $(SED) 's,PREFIX="/usr",PREFIX="$(STAGING_DIR)/usr",g' $(2)/bin/xmlrpc-c-config
134 $(SED) \
135 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
136 $(2)/bin/xmlrpc-c-config
137 $(SED) \
138 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
139 $(2)/bin/xmlrpc-c-config
140 $(INSTALL_DATA) \
141 $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
142 $(1)/usr/lib/pkgconfig/
143 endef
144
145 define Package/xmlrpc-c-libxml2/install
146 $(INSTALL_DIR) \
147 $(1)/usr/lib
148 $(CP) \
149 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
150 $(1)/usr/lib/
151 endef
152
153 define Package/xmlrpc-c-internal/install
154 $(INSTALL_DIR) \
155 $(1)/usr/lib
156 $(CP) \
157 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc.so* \
158 $(1)/usr/lib/
159 $(CP) \
160 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmltok.so* \
161 $(1)/usr/lib/
162 $(CP) \
163 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_xmlparse.so* \
164 $(1)/usr/lib/
165 endef
166
167 define Package/xmlrpc-c-server/install
168 $(INSTALL_DIR) \
169 $(1)/usr/lib
170 $(CP) \
171 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server.so* \
172 $(1)/usr/lib/
173 endef
174
175 define Package/xmlrpc-c-abyss/install
176 $(INSTALL_DIR) \
177 $(1)/usr/lib
178 $(CP) \
179 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_abyss.so* \
180 $(1)/usr/lib/
181 endef
182
183 define Package/xmlrpc-c-server-abyss/install
184 $(INSTALL_DIR) \
185 $(1)/usr/lib
186 $(CP) \
187 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_server_abyss.so* \
188 $(1)/usr/lib/
189 endef
190
191 define Package/xmlrpc-c-client/install
192 $(INSTALL_DIR) \
193 $(1)/usr/lib
194 $(CP) \
195 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_client* \
196 $(1)/usr/lib/
197 endef
198
199 define Package/xmlrpc-c-common/install
200 $(INSTALL_DIR) \
201 $(1)/usr/lib
202 $(CP) \
203 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc_util.so* \
204 $(1)/usr/lib/
205 endef
206
207 $(eval $(call BuildPackage,xmlrpc-c-common))
208 $(eval $(call BuildPackage,xmlrpc-c-libxml2))
209 $(eval $(call BuildPackage,xmlrpc-c-internal))
210 $(eval $(call BuildPackage,xmlrpc-c-server))
211 $(eval $(call BuildPackage,xmlrpc-c-abyss))
212 $(eval $(call BuildPackage,xmlrpc-c-server-abyss))
213 $(eval $(call BuildPackage,xmlrpc-c-client))