From 324f61f7982c64ebd4a457467b33a6984bd8a584 Mon Sep 17 00:00:00 2001 From: Ulf Samuelsson Date: Tue, 20 Jan 2009 21:34:46 +0000 Subject: [PATCH] Bump xerces-c to latest stable, ARM build now completes --- package/xerces/Config.in | 3 +- package/xerces/xerces.mk | 94 ++++++++++++++++++++++++++++++---------- 2 files changed, 74 insertions(+), 23 deletions(-) diff --git a/package/xerces/Config.in b/package/xerces/Config.in index e023d1bce1..d7bc21b162 100644 --- a/package/xerces/Config.in +++ b/package/xerces/Config.in @@ -1,5 +1,6 @@ config BR2_PACKAGE_XERCES - bool "xerces" + bool "xerces-c++" + select BR2_PACKAGE_LIBICONV help Xerces-C++ is a validating XML parser written in portable C++. diff --git a/package/xerces/xerces.mk b/package/xerces/xerces.mk index 40d692bf37..ce228f735d 100644 --- a/package/xerces/xerces.mk +++ b/package/xerces/xerces.mk @@ -3,12 +3,41 @@ # xerces # ############################################################# -XERCES_VERSION:=2.7.0 -XERCES_SOURCE:=xerces-c-src_2_7_0.tar.gz -XERCES_SITE:=http://archive.apache.org/dist/xml/xerces-c/source/ +XERCES_VERSION:=3.0.0 +XERCES_SOURCE:=xerces-c-$(XERCES_VERSION).tar.gz +XERCES_SITE:=http://apache.jumper.nu/xerces/c/3/sources/ XERCES_CAT:=$(ZCAT) -XERCES_DIR:=$(BUILD_DIR)/xerces-c-src_2_7_0 -XERCES_BINARY:=lib/libxerces-c.so.27.0 +XERCES_DIR:=$(BUILD_DIR)/xerces-c-$(XERCES_VERSION) +LIBXERCES_BINARY:=libxerces-c-3.0.so + +# XERCES-C will install a number of applications +# in $(STAGING_DIR)/usr/bin +# We may want to copy these to the target + +XERCES_APPS:= \ + CreateDOMDocument \ + DOMCount \ + DOMPrint \ + EnumVal \ + MemParse \ + PParse \ + PSVIWriter \ + Redirect \ + SAX2Count \ + SAX2Print \ + SAXCount \ + SAXPrint \ + SCMPrint \ + SEnumVal \ + StdInParse + +# XERCES-C installs a 4.2MB worth of "*.hpp" files +# in the +# "dom", "framework", "internal", "parsers", +# "sax", "sax2", "util", "validators", "xinclude" +# directories + +XERCES_INCLUDES:=/usr/include/xercesc $(DL_DIR)/$(XERCES_SOURCE): $(call DOWNLOAD,$(XERCES_SITE),$(XERCES_SOURCE)) @@ -20,30 +49,51 @@ $(XERCES_DIR)/.unpacked: $(DL_DIR)/$(XERCES_SOURCE) # toolchain/patch-kernel.sh $(XERCES_DIR) package/xerces/ \*.patch* touch $(XERCES_DIR)/.unpacked +# Support for the following should be added later +# --with-curl= +# --with-icu= +# --with-pkgconfigdir= + $(XERCES_DIR)/.configured: $(XERCES_DIR)/.unpacked - (cd $(XERCES_DIR)/src/xercesc; rm -rf config.cache; \ + (cd $(XERCES_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ - XERCESCROOT=$(XERCES_DIR) \ - ./runConfigure -plinux -minmem \ - -nsocket -tnative -rpthread \ - -c$(TARGET_CC) -x$(TARGET_CXX) \ + ./configure \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=/usr \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --enable-shared \ + --disable-threads \ + --disable-network \ + --with-gnu-ld \ ) - touch $(XERCES_DIR)/.configured + touch $@ + +$(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY): $(XERCES_DIR)/.configured + $(MAKE) $(TARGET_CONFIGURE_OPTS) LIBS="-liconv" -C $(XERCES_DIR) + +$(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY): $(XERCES_DIR)/src/.libs/$(LIBXERCES_BINARY) + $(MAKE) $(TARGET_CONFIGURE_OPTS) DESTDIR=$(STAGING_DIR) \ + -C $(XERCES_DIR) install + $(INSTALL) -c $(XERCES_DIR)/src/.libs/libxerces-c.lai \ + $(STAGING_DIR)/usr/lib/libxerces-c.la + $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libxerces-c.la + +$(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY): $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY) + cp -a $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)* $(TARGET_DIR)/usr/lib + $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY) -$(XERCES_DIR)/$(XERCES_BINARY): $(XERCES_DIR)/.configured - $(MAKE) XERCESCROOT=$(XERCES_DIR) -C $(XERCES_DIR)/src/xercesc +xerces: uclibc $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY) -$(STAGING_DIR)/$(XERCES_BINARY): $(XERCES_DIR)/$(XERCES_BINARY) - $(MAKE) XERCESCROOT=$(XERCES_DIR) PREFIX=$(STAGING_DIR) \ - -C $(XERCES_DIR)/src/xercesc install +xerces-bin: $(XERCES_DIR)/usr/lib/$(LIBXERCES_BINARY) -$(TARGET_DIR)/usr/$(XERCES_BINARY): $(STAGING_DIR)/$(XERCES_BINARY) - cp -a $(STAGING_DIR)/lib/libxerces-c.so* $(TARGET_DIR)/usr/lib - cp -a $(STAGING_DIR)/lib/libxerces-depdom.so* $(TARGET_DIR)/usr/lib - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libxerces-c.so.27.0 - $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libxerces-depdom.so.27.0 +xerces-tbin: $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY) -xerces: uclibc $(TARGET_DIR)/usr/$(XERCES_BINARY) +xerces-unpacked: $(XERCES_DIR)/.unpacked xerces-clean: rm -rf $(STAGING_DIR)/usr/include/xercesc -- 2.30.2