libxml2.mk 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #############################################################
  2. #
  3. # libxml2
  4. #
  5. #############################################################
  6. LIBXML2_VERSION = 2.7.3
  7. LIBXML2_SOURCE = libxml2-sources-$(LIBXML2_VERSION).tar.gz
  8. LIBXML2_SITE = ftp://xmlsoft.org/libxml2
  9. LIBXML2_INSTALL_STAGING = YES
  10. LIBXML2_INSTALL_TARGET = YES
  11. ifneq ($(BR2_LARGEFILE),y)
  12. LIBXML2_CONF_ENV = CC="$(TARGET_CC) $(TARGET_CFLAGS) -DNO_LARGEFILE_SOURCE"
  13. endif
  14. LIBXML2_CONF_OPT = --with-gnu-ld --enable-shared \
  15. --enable-static $(DISABLE_IPV6) \
  16. --without-debugging --without-python \
  17. --without-threads
  18. LIBXML2_DEPENDENCIES = uclibc
  19. $(eval $(call AUTOTARGETS,package,libxml2))
  20. $(LIBXML2_HOOK_POST_INSTALL):
  21. $(SED) "s,^prefix=.*,prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/xml2-config
  22. $(SED) "s,^exec_prefix=.*,exec_prefix=\'$(STAGING_DIR)/usr\',g" $(STAGING_DIR)/usr/bin/xml2-config
  23. rm -rf $(TARGET_DIR)/usr/share/aclocal \
  24. $(TARGET_DIR)/usr/share/doc/libxml2-$(LIBXML2_VERSION) \
  25. $(TARGET_DIR)/usr/share/gtk-doc
  26. touch $@
  27. # libxml2 for the host
  28. LIBXML2_HOST_DIR:=$(BUILD_DIR)/libxml2-$(LIBXML2_VERSION)-host
  29. LIBXML2_HOST_BINARY:=$(HOST_DIR)/usr/bin/xmllint
  30. $(DL_DIR)/$(LIBXML2_SOURCE):
  31. $(call DOWNLOAD,$(LIBXML2_SITE),$(LIBXML2_SOURCE))
  32. $(STAMP_DIR)/host_libxml2_unpacked: $(DL_DIR)/$(LIBXML2_SOURCE)
  33. mkdir -p $(LIBXML2_HOST_DIR)
  34. $(INFLATE$(suffix $(LIBXML2_SOURCE))) $< | \
  35. $(TAR) $(TAR_STRIP_COMPONENTS)=1 -C $(LIBXML2_HOST_DIR) $(TAR_OPTIONS) -
  36. touch $@
  37. $(STAMP_DIR)/host_libxml2_configured: $(STAMP_DIR)/host_libxml2_unpacked $(STAMP_DIR)/host_pkgconfig_installed
  38. (cd $(LIBXML2_HOST_DIR); rm -rf config.cache; \
  39. $(HOST_CONFIGURE_OPTS) \
  40. CFLAGS="$(HOST_CFLAGS)" \
  41. LDFLAGS="$(HOST_LDFLAGS)" \
  42. ./configure \
  43. --prefix="$(HOST_DIR)/usr" \
  44. --sysconfdir="$(HOST_DIR)/etc" \
  45. --enable-shared --without-debugging --without-python \
  46. --without-threads \
  47. )
  48. touch $@
  49. $(STAMP_DIR)/host_libxml2_compiled: $(STAMP_DIR)/host_libxml2_configured
  50. $(MAKE) -C $(LIBXML2_HOST_DIR)
  51. touch $@
  52. $(STAMP_DIR)/host_libxml2_installed: $(STAMP_DIR)/host_libxml2_compiled
  53. $(HOST_MAKE_ENV) $(MAKE) -C $(LIBXML2_HOST_DIR) install
  54. touch $@
  55. host-libxml2: $(STAMP_DIR)/host_libxml2_installed
  56. host-libxml2-source: libxml2-source
  57. host-libxml2-clean:
  58. rm -f $(addprefix $(STAMP_DIR)/host_libxml2_,unpacked configured compiled installed)
  59. -$(MAKE) -C $(LIBXML2_HOST_DIR) uninstall
  60. -$(MAKE) -C $(LIBXML2_HOST_DIR) clean
  61. host-libxml2-dirclean:
  62. rm -rf $(LIBXML2_HOST_DIR)