From cadd730e458ef0144dc6e34c49191358d2f4b91c Mon Sep 17 00:00:00 2001
From: Graeme Gregory <dp@xora.org.uk>
Date: Mon, 27 Jul 2009 08:13:17 +0100
Subject: libtool_2.2.6a : add newest version of libtool disabled by default
 converted to use ${BPN} in the packages compared to old libtool

---
 recipes/libtool/libtool-2.2.6a/cross_compile.patch |  55 +++++++++++
 recipes/libtool/libtool-2.2.6a/prefix.patch        | 103 +++++++++++++++++++++
 recipes/libtool/libtool-cross_2.2.6a.bb            |  45 +++++++++
 recipes/libtool/libtool-native_2.2.6a.bb           |  46 +++++++++
 recipes/libtool/libtool-sdk_2.2.6a.bb              |  55 +++++++++++
 recipes/libtool/libtool_2.2.6a.bb                  |  22 +++++
 6 files changed, 326 insertions(+)
 create mode 100644 recipes/libtool/libtool-2.2.6a/cross_compile.patch
 create mode 100644 recipes/libtool/libtool-2.2.6a/prefix.patch
 create mode 100644 recipes/libtool/libtool-cross_2.2.6a.bb
 create mode 100644 recipes/libtool/libtool-native_2.2.6a.bb
 create mode 100644 recipes/libtool/libtool-sdk_2.2.6a.bb
 create mode 100644 recipes/libtool/libtool_2.2.6a.bb

(limited to 'recipes')

diff --git a/recipes/libtool/libtool-2.2.6a/cross_compile.patch b/recipes/libtool/libtool-2.2.6a/cross_compile.patch
new file mode 100644
index 0000000000..b4bacbd12f
--- /dev/null
+++ b/recipes/libtool/libtool-2.2.6a/cross_compile.patch
@@ -0,0 +1,55 @@
+Tweaks to make cross-compiling work combined and updated from various
+older patches, some by Chris Larson.
+Not upstreable in this form.
+
+RP - 01/05/2008
+
+Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh	2008-05-01 21:48:42.000000000 +0100
++++ libtool-2.2.2/libltdl/config/ltmain.m4sh	2008-05-01 21:51:41.000000000 +0100
+@@ -4454,8 +4454,14 @@
+ 	    absdir="$abs_ladir"
+ 	    libdir="$abs_ladir"
+ 	  else
+-	    dir="$libdir"
+-	    absdir="$libdir"
++	    # Adding 'libdir' from the .la file to our library search paths
++	    # breaks crosscompilation horribly.  We cheat here and don't add
++	    # it, instead adding the path where we found the .la.  -CL
++	    dir="$abs_ladir"
++	    absdir="$abs_ladir"
++	    libdir="$abs_ladir"
++	    #dir="$libdir"
++	    #absdir="$libdir"
+ 	  fi
+ 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+ 	else
+@@ -4825,8 +4831,6 @@
+ 		add="$libdir/$linklib"
+ 	      fi
+ 	    else
+-	      # We cannot seem to hardcode it, guess we'll fake it.
+-	      add_dir="-L$libdir"
+ 	      # Try looking first in the location we're being installed to.
+ 	      if test -n "$inst_prefix_dir"; then
+ 		case $libdir in
+@@ -4972,7 +4976,17 @@
+ 		  fi
+ 		  ;;
+ 		*)
+-		  path="-L$absdir/$objdir"
++                  # OE sets installed=no in staging. We need to look in $objdir and $absdir, 
++                  # preferring $objdir. RP 31/04/2008
++                  if test -f "$absdir/$objdir/$depdepl" ; then
++		    depdepl="$absdir/$objdir/$depdepl"
++		    path="-L$absdir/$objdir"
++                  elif test -f "$absdir/$depdepl" ; then
++		    depdepl="$absdir/$depdepl"
++		    path="-L$absdir"
++                  else
++		    path="-L$absdir/$objdir"
++                  fi
+ 		  ;;
+ 		esac
+ 		else
diff --git a/recipes/libtool/libtool-2.2.6a/prefix.patch b/recipes/libtool/libtool-2.2.6a/prefix.patch
new file mode 100644
index 0000000000..639feb7456
--- /dev/null
+++ b/recipes/libtool/libtool-2.2.6a/prefix.patch
@@ -0,0 +1,103 @@
+Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
+it can't be confused with the host libtool.
+
+Index: libtool-2.2.2/libltdl/m4/libtool.m4
+===================================================================
+--- libtool-2.2.2.orig/libltdl/m4/libtool.m4	2008-04-13 22:43:05.000000000 +0100
++++ libtool-2.2.2/libltdl/m4/libtool.m4	2008-04-13 22:43:05.000000000 +0100
+@@ -89,7 +89,8 @@
+ LIBTOOL_DEPS="$ltmain"
+ 
+ # Always use our own libtool.
+-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
++LIBTOOL='$(SHELL) $(top_builddir)'
++LIBTOOL="$LIBTOOL/$host_alias-libtool"
+ AC_SUBST(LIBTOOL)dnl
+ 
+ _LT_SETUP
+@@ -211,7 +212,7 @@
+ no_glob_subst='s/\*/\\\*/g'
+ 
+ # Global variables:
+-ofile=libtool
++ofile=${host_alias}-libtool
+ can_build_shared=yes
+ 
+ # All known linkers require a `.a' archive for static linking (except MSVC,
+Index: libtool-2.2.2/Makefile.am
+===================================================================
+--- libtool-2.2.2.orig/Makefile.am	2008-04-01 19:06:08.000000000 +0100
++++ libtool-2.2.2/Makefile.am	2008-04-13 22:49:17.000000000 +0100
+@@ -31,7 +31,7 @@
+ DIST_SUBDIRS		= .
+ EXTRA_DIST		=
+ 
+-BUILT_SOURCES		= libtool
++BUILT_SOURCES		= $(host_alias)-libtool
+ 
+ CLEANFILES		=
+ MOSTLYCLEANFILES	=
+@@ -64,7 +64,7 @@
+ ## ---------------- ##
+ 
+ # The libtool distributor and the standalone libtool script.
+-bin_SCRIPTS = libtoolize libtool
++bin_SCRIPTS = libtoolize $(host_alias)-libtool
+ 
+ libtoolize: $(srcdir)/libtoolize.in $(top_builddir)/config.status
+ 	rm -f libtoolize.tmp libtoolize
+@@ -90,8 +90,8 @@
+ # We used to do this with a 'stamp-vcl' file, but non-gmake builds
+ # would rerun configure on every invocation, so now we manually
+ # check the version numbers from the build rule when necessary.
+-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
+-	@target=libtool; $(rebuild); \
++$(host_alias)-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
++	@target=$(host_alias)-libtool; $(rebuild); \
+ 	if test -f "$$target"; then \
+ 	  set dummy `./$$target --version | sed 1q`; actualver="$$5"; \
+ 	  test "$$actualver" = "$$correctver" && rebuild=false; \
+@@ -100,8 +100,8 @@
+ 	  case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
+ 	done; \
+ 	if $$rebuild; then \
+-	  echo $(SHELL) ./config.status $$target; \
+-	  cd $(top_builddir) && $(SHELL) ./config.status $$target; \
++	  echo $(SHELL) ./config.status libtool; \
++	  cd $(top_builddir) && $(SHELL) ./config.status libtool; \
+ 	fi
+ 
+ .PHONY: configure-subdirs
+@@ -145,7 +145,7 @@
+ 		  ChangeLog.1999 ChangeLog.2000 ChangeLog.2001 \
+ 		  ChangeLog.2002 ChangeLog.2003 ChangeLog.2004 \
+ 		  ChangeLog.2005 ChangeLog.2006 ChangeLog.2007
+-CLEANFILES     += libtool libtoolize libtoolize.tmp \
++CLEANFILES     += $(host_alias)-libtool libtoolize libtoolize.tmp \
+ 		  $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp
+ 
+ ## We build ltversion.m4 here, instead of from config.status,
+@@ -483,12 +483,12 @@
+ 
+ BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \
+ 	LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \
+-	LIBTOOL="$(abs_top_builddir)/libtool" \
++	LIBTOOL="$(abs_top_builddir)/$(host_alias)-libtool" \
+ 	tst_aclocaldir="$(abs_top_srcdir)/libltdl/m4"
+ 
+ INSTALLCHECK_ENVIRONMENT = \
+ 	LIBTOOLIZE="$(bindir)/`echo libtoolize | sed '$(program_transform_name)'`" \
+-	LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`" \
++	LIBTOOL="$(bindir)/`echo $(host_alias)-libtool | sed '$(program_transform_name)'`" \
+ 	LTDLINCL="-I$(includedir)" \
+ 	LIBLTDL="$(libdir)/libltdl.la" \
+ 	tst_aclocaldir="$(aclocaldir)"
+@@ -620,7 +620,7 @@
+ TESTS += $(FC_TESTS)
+ endif
+ 
+-tests/demo-conf.test: libtool
++tests/demo-conf.test: $(host_alias)-libtool
+ 
+ EXTRA_DIST     += $(srcdir)/tests/defs.in tests/defs.m4sh \
+ 		  $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS)
diff --git a/recipes/libtool/libtool-cross_2.2.6a.bb b/recipes/libtool/libtool-cross_2.2.6a.bb
new file mode 100644
index 0000000000..8030df3aaa
--- /dev/null
+++ b/recipes/libtool/libtool-cross_2.2.6a.bb
@@ -0,0 +1,45 @@
+require libtool.inc
+require libtool_${PV}.bb
+PR = "r0"
+
+SRC_URI += "\
+  file://cross_compile.patch;patch=1 \
+  file://prefix.patch;patch=1 \
+"
+
+DEPENDS += "libtool-native"
+
+DOLT_PATCH = ""
+DOLT_PATCH_arm = " file://add_dolt.patch;patch=1"
+DOLT_PATCH_i586 = " file://add_dolt.patch;patch=1"
+
+#SRC_URI_append_linux = "${DOLT_PATCH}"
+#SRC_URI_append_linux-gnueabi = "${DOLT_PATCH}"
+
+prefix = "${STAGING_DIR_NATIVE}${layout_prefix}"
+exec_prefix = "${STAGING_DIR_NATIVE}${layout_exec_prefix}"
+bindir = "${STAGING_BINDIR_NATIVE}"
+
+do_compile () {
+	:
+}
+
+do_stage () {
+	install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool
+	install -d ${STAGING_DATADIR}/libtool ${STAGING_DATADIR}/aclocal
+	install -c ${S}/libltdl/config/config.guess ${STAGING_DATADIR}/libtool/
+	install -c ${S}/libltdl/config/config.sub ${STAGING_DATADIR}/libtool/
+	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${STAGING_DATADIR}/libtool/
+	install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${STAGING_DATADIR}/aclocal/
+	if [ -e ${WORKDIR}/dolt.m4 ] ; then
+		install -c -m 0644 ${WORKDIR}/dolt.m4 ${STAGING_DATADIR}/aclocal/
+	fi
+}
+
+
+do_install () {
+	:
+}
+
+PACKAGES = ""
diff --git a/recipes/libtool/libtool-native_2.2.6a.bb b/recipes/libtool/libtool-native_2.2.6a.bb
new file mode 100644
index 0000000000..c5a4a99db0
--- /dev/null
+++ b/recipes/libtool/libtool-native_2.2.6a.bb
@@ -0,0 +1,46 @@
+require libtool.inc
+require libtool_${PV}.bb
+PR = "r0"
+
+SRC_URI += "\
+  file://cross_compile.patch;patch=1 \
+  file://prefix.patch;patch=1 \
+"
+
+inherit native
+
+do_configure_prepend () {
+	# Remove any existing libtool m4 since old stale versions would break
+	# any upgrade
+	rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
+	rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
+}
+
+do_stage () {
+	install -m 0755 ${HOST_SYS}-libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+	install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize
+	oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+	install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+	install -d ${STAGING_INCDIR}/libltdl/
+	install -m 0644 libltdl/libltdl/*.h ${STAGING_INCDIR}/libltdl/
+	install -d ${STAGING_DATADIR}/libtool/config/ ${STAGING_DATADIR}/aclocal/
+	install -c ${S}/libltdl/config/config.guess ${STAGING_DATADIR}/libtool/
+	install -c ${S}/libltdl/config/config.sub ${STAGING_DATADIR}/libtool/
+	for i in config.guess config.sub compile depcomp general.m4sh getopt.m4sh install-sh ltmain.m4sh ltmain.sh mdate-sh missing mkstamp ; do \
+		install -c -m 0644 ${S}/libltdl/config/$i ${STAGING_DATADIR}/libtool/config/
+	done
+	install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltoptions.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltversion.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltsugar.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/lt~obsolete.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/argz.m4 ${STAGING_DATADIR}/aclocal/
+
+	install -d ${STAGING_DATADIR}/libtool/libltdl
+	cp -pfPr  ${S}/libltdl/* ${STAGING_DATADIR}/libtool/libltdl/
+}
+
+do_install () {
+	:
+}
diff --git a/recipes/libtool/libtool-sdk_2.2.6a.bb b/recipes/libtool/libtool-sdk_2.2.6a.bb
new file mode 100644
index 0000000000..26248147c5
--- /dev/null
+++ b/recipes/libtool/libtool-sdk_2.2.6a.bb
@@ -0,0 +1,55 @@
+require libtool.inc
+require libtool_${PV}.bb
+
+PR = "r0"
+SRC_URI_append = " file://cross_compile.patch;patch=1"
+
+inherit sdk
+
+do_install () {
+	install -d ${D}${bindir}/
+	install -m 0755 libtool ${D}${bindir}/
+	install -m 0755 libtoolize ${D}${bindir}/
+
+	install -d ${D}${libdir}/
+	oe_libinstall -a -so -C libltdl libltdl ${D}${libdir}
+
+	install -d ${D}${includedir}/
+	install -m 0644 libltdl/ltdl.h ${D}${includedir}
+
+	install -d ${D}${datadir}/libtool/config/
+	install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/
+	install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/
+	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${datadir}/libtool/config/
+
+	install -d ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltoptions.m4 ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltversion.m4 ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltsugar.m4 ${D}${datadir}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/lt~obsolete.m4 ${D}${datadir}/aclocal/
+}
+
+do_stage () {
+	install -d ${STAGING_BINDIR}/
+	install -m 0755 libtool ${STAGING_BINDIR}/${HOST_SYS}-libtool
+	install -m 0755 libtoolize ${STAGING_BINDIR}/libtoolize
+
+	oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+	install -d ${STAGING_INCDIR}
+	install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+
+	install -d ${STAGING_DATADIR}/libtool/config/
+	install -c ${S}/libltdl/config/config.guess ${STAGING_DATADIR}/libtool/
+	install -c ${S}/libltdl/config/config.sub ${STAGING_DATADIR}/libtool/
+	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${STAGING_DATADIR}/libtool/config/
+
+	install -d ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltoptions.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltversion.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/ltsugar.m4 ${STAGING_DATADIR}/aclocal/
+	install -c -m 0644 ${S}/libltdl/m4/lt~obsolete.m4 ${STAGING_DATADIR}/aclocal/
+}
diff --git a/recipes/libtool/libtool_2.2.6a.bb b/recipes/libtool/libtool_2.2.6a.bb
new file mode 100644
index 0000000000..9ecd7a0f3b
--- /dev/null
+++ b/recipes/libtool/libtool_2.2.6a.bb
@@ -0,0 +1,22 @@
+require libtool.inc
+PR = "r0"
+
+SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz"
+S = "${WORKDIR}/${BPN}-2.2.6"
+
+PACKAGES =+ "libltdl libltdl-dev libltdl-dbg"
+FILES_${PN} += "${datadir}/aclocal*"
+FILES_libltdl = "${libdir}/libltdl.so.*"
+FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h"
+FILES_libltdl-dbg = "${libdir}/.debug/"
+
+inherit autotools
+
+EXTRA_AUTORECONF = "--exclude=libtoolize"
+
+do_stage () {
+       install -d ${STAGING_INCDIR}/libltdl
+       install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+       install -m 0644 libltdl/libltdl/*.h ${STAGING_INCDIR}/libltdl/
+       oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+}
-- 
cgit v1.2.3