libipfix: fix build
[packages.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://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_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))