libxml2: add host build dependency on libiconv-full
[openwrt/staging/xback.git] / package / libs / libxml2 / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_NAME:=libxml2
4 PKG_VERSION:=2.12.5
5 PKG_RELEASE:=1
6
7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
8 PKG_SOURCE_URL:=@GNOME/libxml2/$(basename $(PKG_VERSION))
9 PKG_HASH:=a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21
10
11 PKG_LICENSE:=MIT
12 PKG_LICENSE_FILES:=COPYING
13 PKG_CPE_ID:=cpe:/a:xmlsoft:libxml2
14 HOST_BUILD_DEPENDS := libiconv-full/host
15
16 include $(INCLUDE_DIR)/host-build.mk
17 include $(INCLUDE_DIR)/package.mk
18 include $(INCLUDE_DIR)/cmake.mk
19 include $(INCLUDE_DIR)/nls.mk
20
21 define Package/libxml2
22 SECTION:=libs
23 CATEGORY:=Libraries
24 TITLE:=Gnome XML library
25 URL:=http://xmlsoft.org/
26 DEPENDS:=+libpthread +zlib $(ICONV_DEPENDS)
27 endef
28
29 define Package/libxml2/description
30 A library for manipulating XML and HTML resources.
31 endef
32
33 define Package/libxml2-dev
34 SECTION:=devel
35 CATEGORY:=Development
36 SUBMENU:=Libraries
37 TITLE:=Development files for libxml2
38 URL:=http://xmlsoft.org/
39 DEPENDS:=+libxml2
40 endef
41
42 define Package/libxml2-dev/description
43 A library for manipulating XML and HTML resources.
44
45 This package contains the headers and xml2-config binary.
46 endef
47
48 define Package/libxml2-utils
49 SECTION:=utils
50 CATEGORY:=Utilities
51 TITLE:=XML command line utilities (xmllint...)
52 URL:=http://xmlsoft.org/
53 DEPENDS:=+libxml2
54 endef
55
56 define Package/libxml2-utils/description
57 This package contains the binaries xmllint and xmlcatalog
58 from libxml2, a library for manipulating XML and HTML resources.
59 endef
60
61 CMAKE_HOST_OPTIONS += \
62 -DBUILD_SHARED_LIBS=OFF \
63 -DLIBXML2_WITH_C14N=ON \
64 -DLIBXML2_WITH_CATALOG=OFF \
65 -DLIBXML2_WITH_DEBUG=ON \
66 -DLIBXML2_WITH_FTP=OFF \
67 -DLIBXML2_WITH_HTML=ON \
68 -DLIBXML2_WITH_HTTP=OFF \
69 -DLIBXML2_WITH_ICONV=ON \
70 -DLIBXML2_WITH_ICU=OFF \
71 -DLIBXML2_WITH_ISO8859X=OFF \
72 -DLIBXML2_WITH_LEGACY=OFF \
73 -DLIBXML2_WITH_LZMA=OFF \
74 -DLIBXML2_WITH_MEM_DEBUG=OFF \
75 -DLIBXML2_WITH_MODULES=OFF \
76 -DLIBXML2_WITH_OUTPUT=ON \
77 -DLIBXML2_WITH_PATTERN=ON \
78 -DLIBXML2_WITH_PROGRAMS=OFF \
79 -DLIBXML2_WITH_PUSH=ON \
80 -DLIBXML2_WITH_PYTHON=OFF \
81 -DLIBXML2_WITH_READER=ON \
82 -DLIBXML2_WITH_REGEXPS=ON \
83 -DLIBXML2_WITH_RUN_DEBUG=OFF \
84 -DLIBXML2_WITH_SAX1=ON \
85 -DLIBXML2_WITH_SCHEMAS=ON \
86 -DLIBXML2_WITH_SCHEMATRON=OFF \
87 -DLIBXML2_WITH_TESTS=OFF \
88 -DLIBXML2_WITH_THREADS=ON \
89 -DLIBXML2_WITH_THREAD_ALLOC=OFF \
90 -DLIBXML2_WITH_TREE=ON \
91 -DLIBXML2_WITH_VALID=ON \
92 -DLIBXML2_WITH_WRITER=ON \
93 -DLIBXML2_WITH_XINCLUDE=ON \
94 -DLIBXML2_WITH_XPATH=ON \
95 -DLIBXML2_WITH_XPTR=ON \
96 -DLIBXML2_WITH_XPTR_LOCS=ON \
97 -DLIBXML2_WITH_ZLIB=ON
98
99 CMAKE_OPTIONS += \
100 -DBUILD_SHARED_LIBS=ON \
101 -DLIBXML2_WITH_C14N=ON \
102 -DLIBXML2_WITH_CATALOG=OFF \
103 -DLIBXML2_WITH_DEBUG=ON \
104 -DLIBXML2_WITH_FTP=OFF \
105 -DLIBXML2_WITH_HTML=ON \
106 -DLIBXML2_WITH_HTTP=OFF \
107 -DLIBXML2_WITH_ICONV=ON \
108 -DLIBXML2_WITH_ICU=OFF \
109 -DLIBXML2_WITH_ISO8859X=OFF \
110 -DLIBXML2_WITH_LEGACY=OFF \
111 -DLIBXML2_WITH_LZMA=OFF \
112 -DLIBXML2_WITH_MEM_DEBUG=OFF \
113 -DLIBXML2_WITH_MODULES=OFF \
114 -DLIBXML2_WITH_OUTPUT=ON \
115 -DLIBXML2_WITH_PATTERN=ON \
116 -DLIBXML2_WITH_PROGRAMS=ON \
117 -DLIBXML2_WITH_PUSH=ON \
118 -DLIBXML2_WITH_PYTHON=OFF \
119 -DLIBXML2_WITH_READER=ON \
120 -DLIBXML2_WITH_REGEXPS=ON \
121 -DLIBXML2_WITH_RUN_DEBUG=OFF \
122 -DLIBXML2_WITH_SAX1=ON \
123 -DLIBXML2_WITH_SCHEMAS=ON \
124 -DLIBXML2_WITH_SCHEMATRON=OFF \
125 -DLIBXML2_WITH_TESTS=OFF \
126 -DLIBXML2_WITH_THREADS=ON \
127 -DLIBXML2_WITH_THREAD_ALLOC=OFF \
128 -DLIBXML2_WITH_TREE=ON \
129 -DLIBXML2_WITH_VALID=ON \
130 -DLIBXML2_WITH_WRITER=ON \
131 -DLIBXML2_WITH_XINCLUDE=ON \
132 -DLIBXML2_WITH_XPATH=ON \
133 -DLIBXML2_WITH_XPTR=ON \
134 -DLIBXML2_WITH_XPTR_LOCS=ON \
135 -DLIBXML2_WITH_ZLIB=ON \
136 -DHAVE_LIBHISTORY=OFF \
137 -DHAVE_LIBREADLINE=OFF
138
139 define Build/InstallDev
140 $(INSTALL_DIR) $(2)/bin
141 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/xml2-config \
142 $(2)/bin/$(GNU_TARGET_NAME)-xml2-config
143 $(SED) 's,^\(prefix\|exec_prefix\)=.*,\1=$(STAGING_DIR)/usr,g' \
144 $(2)/bin/$(GNU_TARGET_NAME)-xml2-config
145 $(LN) $(GNU_TARGET_NAME)-xml2-config $(2)/bin/xml2-config
146
147 $(INSTALL_DIR) $(1)/usr/bin
148 $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmlcatalog $(1)/usr/bin/
149 $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmllint $(1)/usr/bin/
150
151 $(INSTALL_DIR) $(1)/usr/include
152 $(CP) $(PKG_INSTALL_DIR)/usr/include/libxml2 $(1)/usr/include/
153
154 $(INSTALL_DIR) $(1)/usr/lib
155 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so* $(1)/usr/lib/
156
157 $(INSTALL_DIR) $(1)/usr/lib/cmake/libxml2
158 $(CP) $(PKG_INSTALL_DIR)/usr/lib/cmake/libxml2-$(PKG_VERSION)/*.cmake \
159 $(1)/usr/lib/cmake/libxml2
160
161 $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
162 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libxml-2.0.pc $(1)/usr/lib/pkgconfig/
163
164 $(INSTALL_DIR) $(2)/share/aclocal/
165 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(2)/share/aclocal
166 endef
167
168 define Host/Install
169 $(call Host/Install/Default)
170 mv $(1)/bin/xml2-config $(1)/bin/$(GNU_HOST_NAME)-xml2-config
171 $(LN) $(GNU_HOST_NAME)-xml2-config $(1)/bin/xml2-config
172 endef
173
174 define Package/libxml2/install
175 $(INSTALL_DIR) $(1)/usr/lib
176 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so.* $(1)/usr/lib/
177 endef
178
179 define Package/libxml2-dev/install
180 $(INSTALL_DIR) $(1)/usr/bin
181 $(CP) $(PKG_INSTALL_DIR)/usr/bin/xml2-config $(1)/usr/bin/
182 $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/bin/xml2-config
183
184 $(INSTALL_DIR) $(1)/usr/include/
185 $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/
186
187 $(INSTALL_DIR) $(1)/usr/lib
188 $(CP) $(PKG_INSTALL_DIR)/usr/lib/libxml2.so $(1)/usr/lib/
189
190 $(INSTALL_DIR) $(1)/usr/lib/{cmake,pkgconfig}
191 $(CP) $(PKG_INSTALL_DIR)/usr/lib/{cmake,pkgconfig} $(1)/usr/lib/
192 $(SED) "s,$(STAGING_DIR),,g" $(1)/usr/lib/pkgconfig/*.pc
193
194 $(INSTALL_DIR) $(1)/usr/share/aclocal
195 $(CP) $(PKG_INSTALL_DIR)/usr/share/aclocal/* $(1)/usr/share/aclocal
196 endef
197
198 define Package/libxml2-utils/install
199 $(INSTALL_DIR) $(1)/usr/bin
200 $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmllint $(1)/usr/bin/
201 $(CP) $(PKG_INSTALL_DIR)/usr/bin/xmlcatalog $(1)/usr/bin/
202 endef
203
204 $(eval $(call HostBuild))
205 $(eval $(call BuildPackage,libxml2))
206 $(eval $(call BuildPackage,libxml2-dev))
207 $(eval $(call BuildPackage,libxml2-utils))