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