Add libxslt package
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Wed, 28 Nov 2007 08:59:17 +0000 (08:59 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Wed, 28 Nov 2007 08:59:17 +0000 (08:59 -0000)
package/Config.in
package/libxslt/Config.in [new file with mode: 0644]
package/libxslt/libxslt.mk [new file with mode: 0644]

index 116eecd0a270bad657e76a56980d4c8215c497d1..5a42b1025f39af4321e61e704d41b4035548680c 100644 (file)
@@ -79,6 +79,7 @@ source "package/libgpg-error/Config.in"
 source "package/liblockfile/Config.in"
 source "package/libsysfs/Config.in"
 source "package/libxml2/Config.in"
+source "package/libxslt/Config.in"
 source "package/lockfile-progs/Config.in"
 source "package/lsof/Config.in"
 source "package/ltp-testsuite/Config.in"
diff --git a/package/libxslt/Config.in b/package/libxslt/Config.in
new file mode 100644 (file)
index 0000000..af60a03
--- /dev/null
@@ -0,0 +1,21 @@
+config BR2_PACKAGE_LIBXSLT
+       bool "libxslt"
+       default n
+       depends BR2_PACKAGE_PKGCONFIG
+       help
+         Install the xslt library which is used
+         to transform XML files to other XML files.
+
+         XSLT is designed for use as part of XSL, 
+         which is a stylesheet language for XML. 
+         In addition to XSLT, XSL includes an XML vocabulary 
+         for specifying formatting. 
+         XSL specifies the styling of an XML document by using XSLT
+         to describe how the document is transformed into another
+         XML document that uses the formatting vocabulary.
+
+         http://www.w3.org/TR/xslt
+
+comment "libxslt disabled (requires pkgconfig)"
+       depends !BR2_PACKAGE_PKGCONFIG
+
diff --git a/package/libxslt/libxslt.mk b/package/libxslt/libxslt.mk
new file mode 100644 (file)
index 0000000..90cc484
--- /dev/null
@@ -0,0 +1,99 @@
+#############################################################
+#
+# libxslt
+#
+#############################################################
+LIBXSLT_VERSION=1.1.21
+LIBXSLT_SOURCE=libxslt-$(LIBXSLT_VERSION).tar.gz
+LIBXSLT_SITE=ftp://xmlsoft.org/libxslt
+LIBXSLT_DIR=$(BUILD_DIR)/libxslt-$(LIBXSLT_VERSION)
+
+$(DL_DIR)/$(LIBXSLT_SOURCE):
+       $(WGET) -P $(DL_DIR) $(LIBXSLT_SITE)/$(LIBXSLT_SOURCE)
+
+$(LIBXSLT_DIR)/.unpacked: $(DL_DIR)/$(LIBXSLT_SOURCE)
+       gzip -d -c $(DL_DIR)/$(LIBXSLT_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       touch $@
+
+#PKG_CONFIG_PATH="$(STAGING_DIR)/lib/pkconfig:$(STAGING_DIR)/usr/lib/pkgconfig" \
+#PKG_CONFIG="$(STAGING_DIR)/usr/bin/pkg-config" \
+#PKG_CONFIG_SYSROOT=$(STAGING_DIR) \
+#
+
+$(LIBXSLT_DIR)/.configured: $(LIBXSLT_DIR)/.unpacked
+       (cd $(LIBXSLT_DIR); \
+               $(TARGET_CONFIGURE_OPTS) \
+               $(TARGET_CONFIGURE_ARGS) \
+               CFLAGS="$(TARGET_CFLAGS) -DNO_LARGEFILE_SOURCE" \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --exec-prefix=/usr \
+               --bindir=/usr/bin \
+               --sbindir=/usr/sbin \
+               --libdir=/usr/lib \
+               --libexecdir=/usr/lib \
+               --sysconfdir=/etc \
+               --datadir=/usr/share \
+               --localstatedir=/var \
+               --includedir=/include \
+               --mandir=/usr/man \
+               --infodir=/usr/info \
+               --enable-shared \
+               $(DISABLE_NLS) \
+               --enable-static \
+               --enable-ipv6=no \
+               --without-debugging \
+               --without-python \
+               --without-threads \
+       );
+       touch $@
+
+$(LIBXSLT_DIR)/libxslt.so: $(LIBXSLT_DIR)/.configured
+       $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(LIBXSLT_DIR)
+       touch $@
+       
+$(STAGING_DIR)/usr/lib/libxslt.so: $(LIBXSLT_DIR)/libxslt.so
+       $(MAKE) DESTDIR=$(STAGING_DIR) -C "$(LIBXSLT_DIR)" install
+       $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libxslt.la
+       -rm -rf $(STAGING_DIR)/usr/man/man1/xslt*
+       -rm -rf $(STAGING_DIR)/usr/man/man3/libxslt*
+       -rm -rf $(STAGING_DIR)/usr/man/man3/libexslt*
+       touch $@
+
+$(TARGET_DIR)/usr/lib/libxslt.so: $(STAGING_DIR)/usr/lib/libxslt.so
+       cp -dpf $(STAGING_DIR)/usr/lib/libxslt.so* $(TARGET_DIR)/usr/lib
+       $(STRIPCMD) $(TARGET_DIR)/usr/lib/libxslt.so*
+       touch $@
+
+$(TARGET_DIR)/usr/lib/libxsltx.a: $(STAGING_DIR)/usr/lib/libxslt.so
+       mkdir -p $(TARGET_DIR)/usr/include/libxslt
+       cp -dpf $(LIBXSLT_DIR)/libxslt/*.h $(TARGET_DIR)/usr/include/libxslt
+       cp -dpf $(STAGING_DIR)/usr/lib/libxslt.a $(TARGET_DIR)/usr/lib/
+       (cd $(TARGET_DIR)/usr/lib; ln -fs ../../lib/libxslt.so.$(LIBXSLT_VERSION) libxslt.so)
+       touch -c $@
+
+#      rm -f $(TARGET_DIR)/lib/libxslt.so.$(LIBXSLT_VERSION)
+
+libxslt-headers: $(TARGET_DIR)/usr/lib/libxslt.a
+
+libxslt: uclibc pkgconfig libgcrypt $(TARGET_DIR)/usr/lib/libxslt.so
+
+libxslt-source: $(DL_DIR)/$(LIBXSLT_SOURCE)
+
+libxslt-clean:
+       rm -f $(TARGET_DIR)/lib/libxslt.so*
+       -$(MAKE) -C $(LIBXSLT_DIR) clean
+
+libxslt-dirclean:
+       rm -rf $(LIBXSLT_DIR)
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_LIBXSLT)),y)
+TARGETS+=libxslt
+endif