buildrootschalter/package/xerces/xerces.mk
Thomas Petazzoni e7584697f2 xerces: only add -liconv when locale are disabled
The iconv library can only be present when locale are disabled in the
toolchain. When locale are enabled in the toolchain, iconv is directly
implemented by the C library.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-07-29 22:18:58 +02:00

119 lines
3.2 KiB
Makefile

#############################################################
#
# xerces
#
#############################################################
XERCES_VERSION:=3.0.1
XERCES_SOURCE:=xerces-c-$(XERCES_VERSION).tar.gz
XERCES_SITE:=http://archive.apache.org/dist/xerces/c/3/sources/
XERCES_CAT:=$(ZCAT)
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
ifneq ($(BR2_ENABLE_LOCALE),y)
XERCES_MAKE_OPT=LIBS="-liconv"
endif
$(DL_DIR)/$(XERCES_SOURCE):
$(call DOWNLOAD,$(XERCES_SITE),$(XERCES_SOURCE))
xerces-source: $(DL_DIR)/$(XERCES_SOURCE)
$(XERCES_DIR)/.unpacked: $(DL_DIR)/$(XERCES_SOURCE)
$(XERCES_CAT) $(DL_DIR)/$(XERCES_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
# 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); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
./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)/src/.libs/$(LIBXERCES_BINARY): $(XERCES_DIR)/.configured
$(MAKE) $(TARGET_CONFIGURE_OPTS) $(XERCES_MAKE_OPT) -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: $(if $(BR2_PACKAGE_LIBICONV),libiconv) $(TARGET_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces-bin: $(XERCES_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces-tbin: $(STAGING_DIR)/usr/lib/$(LIBXERCES_BINARY)
xerces-unpacked: $(XERCES_DIR)/.unpacked
xerces-clean:
rm -rf $(STAGING_DIR)/usr/include/xercesc
rm -f $(STAGING_DIR)/lib/libxerces*
rm -f $(TARGET_DIR)/usr/lib/libxerces*
-$(MAKE) -C $(XERCES_DIR) clean
xerces-dirclean:
rm -rf $(XERCES_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_XERCES),y)
TARGETS+=xerces
endif