[packages] libiconv-full: autoreconf is broken with this package, use patch-libtool...
[openwrt/svn-archive/archive.git] / libs / xmlrpc-c / Makefile
1 #
2 # Copyright (C) 2007-2012 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:=2233
12 PKG_VERSION:=advanced_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:=autoreconf
22 PKG_INSTALL:=1
23 PKG_BUILD_PARALLEL:=0
24
25 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
26
27 include $(INCLUDE_DIR)/package.mk
28
29 define Package/xmlrpc-c/Default
30 SECTION:=libs
31 CATEGORY:=Libraries
32 TITLE:=XML-RPC library
33 URL:=http://xmlrpc-c.sourceforge.net/
34 endef
35
36 define Package/xmlrpc-c-common
37 $(call Package/xmlrpc-c/Default)
38 TITLE+= - common
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
50 $(call Package/xmlrpc-c/Default)
51 DEPENDS:=+xmlrpc-c-internal
52 endef
53
54 define Package/xmlrpc-c-libxml2
55 $(call Package/xmlrpc-c/Default)
56 TITLE+= - (uses libxml2)
57 DEPENDS:=+xmlrpc-c-common +libxml2 @BROKEN
58 # PROVIDES:=xmlrpc-c
59 VARIANT:=libxml2
60 endef
61
62 define Package/xmlrpc-c-client
63 $(call Package/xmlrpc-c/Default)
64 TITLE+= - client
65 DEPENDS:=+xmlrpc-c +libcurl
66 endef
67
68 define Package/xmlrpc-c-server
69 $(call Package/xmlrpc-c/Default)
70 TITLE+= - server
71 DEPENDS:=+xmlrpc-c
72 endef
73
74 define Package/xmlrpc-c-abyss
75 $(call Package/xmlrpc-c/Default)
76 TITLE+= - abyss
77 DEPENDS:=+xmlrpc-c-common
78 endef
79
80 define Package/xmlrpc-c-server-abyss
81 $(call Package/xmlrpc-c/Default)
82 TITLE+= - abyss server
83 DEPENDS:=+xmlrpc-c-server +xmlrpc-c-abyss
84 endef
85
86 define Package/xmlrpc-c/description/Default
87 Programming library for writing an XML-RPC server or client in C or C++.
88 XML-RPC is a standard network protocol to allow a client program to make
89 a simple remote procedure call (RPC) type request of a server.
90 endef
91
92 Package/xmlrpc-c-common/description = $(Package/xmlrpc-c/description/Default)
93 Package/xmlrpc-c-libxml2/description = $(Package/xmlrpc-c/description/Default)
94 Package/xmlrpc-c-internal/description = $(Package/xmlrpc-c/description/Default)
95
96 Package/xmlrpc-c-libxml2/description += Uses external libxml2 library (quite big)
97 Package/xmlrpc-c-internal/description += Uses internal expat variant (stripped down)
98
99 CONFIGURE_ARGS+= \
100 --disable-wininet-client \
101 --disable-libwww-client \
102 --enable-abyss-server \
103 --disable-cplusplus \
104 --disable-abyss-threads \
105 --disable-cgi-server
106
107 ifeq ($(BUILD_VARIANT),libxml2)
108 CONFIGURE_ARGS += \
109 --enable-libxml2-backend
110 endif
111
112 ifeq ($(BUILD_VARIANT),internal)
113 CONFIGURE_ARGS += \
114 --disable-libxml2-backend
115 endif
116
117 define Build/Compile
118 ( cd $(PKG_BUILD_DIR)/lib/expat/gennmtab && cc -I$(PKG_BUILD_DIR) -c gennmtab.c -o gennmtab.o && cc -o gennmtab gennmtab.o )
119 $(call Build/Compile/Default)
120 endef
121
122 define Build/InstallDev
123 $(INSTALL_DIR) \
124 $(1)/usr/include \
125 $(1)/usr/lib \
126 $(1)/usr/bin \
127 $(2)/bin
128 $(CP) \
129 $(PKG_INSTALL_DIR)/usr/include/* \
130 $(1)/usr/include/
131 $(CP) \
132 $(PKG_INSTALL_DIR)/usr/lib/libxmlrpc*.{a,so*} \
133 $(1)/usr/lib/
134 $(INSTALL_BIN) \
135 $(PKG_INSTALL_DIR)/usr/bin/xmlrpc-c-config \
136 $(2)/bin/
137 $(SED) \
138 's,HEADERINST_DIR="/usr/include",HEADERINST_DIR="$(STAGING_DIR)/usr/include",g' \
139 $(2)/bin/xmlrpc-c-config
140 $(SED) \
141 's,LIBINST_DIR="/usr/lib",LIBINST_DIR="$(STAGING_DIR)/usr/lib",g' \
142 $(2)/bin/xmlrpc-c-config
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 define Package/xmlrpc-c/install
208 true
209 endef
210
211 $(eval $(call BuildPackage,xmlrpc-c))
212 $(eval $(call BuildPackage,xmlrpc-c-common))
213 $(eval $(call BuildPackage,xmlrpc-c-libxml2))
214 $(eval $(call BuildPackage,xmlrpc-c-internal))
215 $(eval $(call BuildPackage,xmlrpc-c-server))
216 $(eval $(call BuildPackage,xmlrpc-c-abyss))
217 $(eval $(call BuildPackage,xmlrpc-c-server-abyss))
218 $(eval $(call BuildPackage,xmlrpc-c-client))