Makefile 5.6 KB

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