summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2008-04-13 22:15:59 +0000
committerRichard Purdie <richard@openedhand.com>2008-04-13 22:15:59 +0000
commit21c0f07d4b791ba3e2d32c00562997e39b22d366 (patch)
treecd95bac067af83570e5efbea1f8f12ee7dfdf4b2
parent2e46a28f63a9e015da156ddede382081b88d4b96 (diff)
downloadopenembedded-core-21c0f07d4b791ba3e2d32c00562997e39b22d366.tar.gz
openembedded-core-21c0f07d4b791ba3e2d32c00562997e39b22d366.tar.bz2
openembedded-core-21c0f07d4b791ba3e2d32c00562997e39b22d366.tar.xz
openembedded-core-21c0f07d4b791ba3e2d32c00562997e39b22d366.zip
libtool: Add 2.2.2 (not default)
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4244 311d38ba-8fff-0310-9ca6-ca027cbcb966
-rw-r--r--meta/packages/libtool/libtool-2.2.2/add_dolt.patch15
-rw-r--r--meta/packages/libtool/libtool-2.2.2/dolt.m4129
-rw-r--r--meta/packages/libtool/libtool-2.2.2/libdir-la.patch56
-rw-r--r--meta/packages/libtool/libtool-2.2.2/nousrlib.patch11
-rw-r--r--meta/packages/libtool/libtool-2.2.2/prefix.patch100
-rw-r--r--meta/packages/libtool/libtool-2.2.2/tag.patch19
-rw-r--r--meta/packages/libtool/libtool-2.2.2/uclibc.patch14
-rw-r--r--meta/packages/libtool/libtool-cross_2.2.2.bb43
-rw-r--r--meta/packages/libtool/libtool-native_2.2.2.bb34
-rw-r--r--meta/packages/libtool/libtool_2.2.2.bb25
10 files changed, 446 insertions, 0 deletions
diff --git a/meta/packages/libtool/libtool-2.2.2/add_dolt.patch b/meta/packages/libtool/libtool-2.2.2/add_dolt.patch
new file mode 100644
index 000000000..45dd78a81
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/add_dolt.patch
@@ -0,0 +1,15 @@
+Index: libtool-1.5.10/libtool.m4
+===================================================================
+--- libtool-1.5.10.orig/libtool.m4 2008-04-10 16:08:19.000000000 +0100
++++ libtool-1.5.10/libtool.m4 2008-04-10 16:08:44.000000000 +0100
+@@ -67,7 +67,9 @@
+ ifdef([LT_AC_PROG_GCJ],
+ [define([LT_AC_PROG_GCJ],
+ defn([LT_AC_PROG_GCJ])[AC_LIBTOOL_GCJ])])])])
+-])])# AC_PROG_LIBTOOL
++])
++DOLT
++])# AC_PROG_LIBTOOL
+
+
+ # _AC_PROG_LIBTOOL
diff --git a/meta/packages/libtool/libtool-2.2.2/dolt.m4 b/meta/packages/libtool/libtool-2.2.2/dolt.m4
new file mode 100644
index 000000000..9bedecf27
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/dolt.m4
@@ -0,0 +1,129 @@
+dnl dolt, a replacement for libtool
+dnl Copyright © 2007-2008 Josh Triplett <josh@freedesktop.org>
+dnl Copying and distribution of this file, with or without modification,
+dnl are permitted in any medium without royalty provided the copyright
+dnl notice and this notice are preserved.
+dnl
+dnl To use dolt, invoke the DOLT macro immediately after the libtool macros.
+dnl Optionally, copy this file into acinclude.m4, to avoid the need to have it
+dnl installed when running autoconf on your project.
+
+AC_DEFUN([DOLT], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+# dolt, a replacement for libtool
+# Josh Triplett <josh@freedesktop.org>
+AC_PATH_PROG(DOLT_BASH, bash)
+AC_MSG_CHECKING([if dolt supports this host])
+dolt_supported=yes
+if test x$DOLT_BASH = x; then
+ AC_MSG_ERROR([dolt: Bash not found, fatal error])
+fi
+if test x$GCC != xyes; then
+ AC_MSG_ERROR([dolt: gcc not found, fatal error])
+fi
+case $host in
+i?86-*-linux*|x86_64-*-linux*|arm-*-linux*) ;;
+*) AC_MSG_ERROR([dolt: incompatible host, fatal error]) ;;
+esac
+AC_MSG_RESULT([yes, replacing libtool])
+
+dnl Start writing out doltcompile.
+ cat <<__DOLTCOMPILE__EOF__ >doltcompile
+#!$DOLT_BASH
+__DOLTCOMPILE__EOF__
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+args=("$[]@")
+for ((arg=0; arg<${#args@<:@@@:>@}; arg++)) ; do
+ if test x"${args@<:@$arg@:>@}" = x-o ; then
+ objarg=$((arg+1))
+ break
+ fi
+done
+if test x$objarg = x ; then
+ echo 'Error: no -o on compiler command line' 1>&2
+ exit 1
+fi
+lo="${args@<:@$objarg@:>@}"
+obj="${lo%.lo}"
+if test x"$lo" = x"$obj" ; then
+ echo "Error: libtool object file name \"$lo\" does not end in .lo" 1>&2
+ exit 1
+fi
+objbase="${obj##*/}"
+__DOLTCOMPILE__EOF__
+
+dnl Write out shared compilation code.
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+libobjdir="${obj%$objbase}.libs"
+if test ! -d "$libobjdir" ; then
+ mkdir "$libobjdir"
+ mkdir_ret=$?
+ if test "$mkdir_ret" -ne 0 && test ! -d "$libobjdir" ; then
+ exit $mkdir_ret
+ fi
+fi
+pic_object="$libobjdir/$objbase.o"
+args@<:@$objarg@:>@="$pic_object"
+"${args@<:@@@:>@}" -fPIC -DPIC
+__DOLTCOMPILE__EOF__
+ fi
+
+dnl Write out static compilation code.
+dnl Avoid duplicate compiler output if also building shared objects.
+ if test x$enable_static = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+non_pic_object="$obj.o"
+args@<:@$objarg@:>@="$non_pic_object"
+__DOLTCOMPILE__EOF__
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args@<:@@@:>@}" >/dev/null 2>&1
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+"${args@<:@@@:>@}"
+__DOLTCOMPILE__EOF__
+ fi
+ fi
+
+dnl Write out the code to write the .lo file.
+dnl The second line of the .lo file must match "^# Generated by .*libtool"
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+{
+echo "# $lo - a libtool object file"
+echo "# Generated by doltcompile, not libtool"
+__DOLTCOMPILE__EOF__
+
+ if test x$enable_shared = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "pic_object='$pic_object'"
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo pic_object=none
+__DOLTCOMPILE__EOF__
+ fi
+
+ if test x$enable_static = xyes; then
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo "non_pic_object='$non_pic_object'"
+__DOLTCOMPILE__EOF__
+ else
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+echo non_pic_object=none
+__DOLTCOMPILE__EOF__
+ fi
+
+ cat <<'__DOLTCOMPILE__EOF__' >>doltcompile
+} > "$lo"
+__DOLTCOMPILE__EOF__
+
+dnl Done writing out doltcompile; substitute it for libtool compilation.
+ chmod +x doltcompile
+ LTCOMPILE='$(top_builddir)/doltcompile $(COMPILE)'
+ AC_SUBST(LTCOMPILE)
+ LTCXXCOMPILE='$(top_builddir)/doltcompile $(CXXCOMPILE)'
+ AC_SUBST(LTCXXCOMPILE)
+# end dolt
+])
diff --git a/meta/packages/libtool/libtool-2.2.2/libdir-la.patch b/meta/packages/libtool/libtool-2.2.2/libdir-la.patch
new file mode 100644
index 000000000..a726cb2b8
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/libdir-la.patch
@@ -0,0 +1,56 @@
+Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
+===================================================================
+--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-04-02 01:20:54.000000000 +0100
++++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-04-13 22:32:15.000000000 +0100
+@@ -4453,8 +4453,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
+@@ -4973,10 +4979,22 @@
+ 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
++ # This would break cross compiling if we didn't change to installed=no in
++ # staging. RP 31/04/2008
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ test -z "$libdir" && \
+ func_fatal_error "\`$deplib' is not a valid libtool archive"
+@@ -7046,6 +7064,10 @@
+ # Replace all uninstalled libtool libraries with the installed ones
+ newdependency_libs=
+ for deplib in $dependency_libs; do
++ # Replacing uninstalled with installed can easily break crosscompilation,
++ # since the installed path is generally the wrong architecture. -CL
++ newdependency_libs="$newdependency_libs $deplib"
++ continue
+ case $deplib in
+ *.la)
+ func_basename "$deplib"
diff --git a/meta/packages/libtool/libtool-2.2.2/nousrlib.patch b/meta/packages/libtool/libtool-2.2.2/nousrlib.patch
new file mode 100644
index 000000000..5e3e6b9a9
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/nousrlib.patch
@@ -0,0 +1,11 @@
+--- libtool-2.2.2/libltdl/config/ltmain.m4sh.orig
++++ libtool-2.2.2/libltdl/config/ltmain.m4sh
+@@ -2637,8 +2637,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
diff --git a/meta/packages/libtool/libtool-2.2.2/prefix.patch b/meta/packages/libtool/libtool-2.2.2/prefix.patch
new file mode 100644
index 000000000..d7bdfe1ef
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/prefix.patch
@@ -0,0 +1,100 @@
+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/meta/packages/libtool/libtool-2.2.2/tag.patch b/meta/packages/libtool/libtool-2.2.2/tag.patch
new file mode 100644
index 000000000..8921a3efb
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/tag.patch
@@ -0,0 +1,19 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- libtool-1.5.6/ltmain.in~tag 2004-05-15 05:14:32.000000000 -0400
++++ libtool-1.5.6/ltmain.in 2004-05-15 05:18:01.000000000 -0400
+@@ -226,8 +226,9 @@
+ # line option must be used.
+ if test -z "$tagname"; then
+ $echo "$modename: unable to infer tagged configuration"
+- $echo "$modename: specify a tag with \`--tag'" 1>&2
+- exit $EXIT_FAILURE
++ $echo "$modename: defaulting to \`CC'"
++ $echo "$modename: if this is not correct, specify a tag with \`--tag'"
++# exit $EXIT_FAILURE
+ # else
+ # $echo "$modename: using $tagname tagged configuration"
+ fi
diff --git a/meta/packages/libtool/libtool-2.2.2/uclibc.patch b/meta/packages/libtool/libtool-2.2.2/uclibc.patch
new file mode 100644
index 000000000..8573a0100
--- /dev/null
+++ b/meta/packages/libtool/libtool-2.2.2/uclibc.patch
@@ -0,0 +1,14 @@
+--- libtool-2.2.2/libltdl/m4/libtool.m4.orig
++++ libtool-2.2.2/libltdl/m4/libtool.m4
+@@ -2221,6 +2221,11 @@
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++linux-uclibc*)
++ lt_cv_deplibs_check_method=pass_all
++ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
diff --git a/meta/packages/libtool/libtool-cross_2.2.2.bb b/meta/packages/libtool/libtool-cross_2.2.2.bb
new file mode 100644
index 000000000..37643e550
--- /dev/null
+++ b/meta/packages/libtool/libtool-cross_2.2.2.bb
@@ -0,0 +1,43 @@
+require libtool.inc
+require libtool_${PV}.bb
+
+PR = "r12"
+PACKAGES = ""
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+# file://tag.patch;patch=1 \
+ file://nousrlib.patch;patch=1"
+
+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}"
+
+S = "${WORKDIR}/libtool-${PV}"
+
+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 -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+ 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/
+ install -c -m 0644 ${WORKDIR}/dolt.m4 ${STAGING_DATADIR}/aclocal/
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/libtool/libtool-native_2.2.2.bb b/meta/packages/libtool/libtool-native_2.2.2.bb
new file mode 100644
index 000000000..8b27424a6
--- /dev/null
+++ b/meta/packages/libtool/libtool-native_2.2.2.bb
@@ -0,0 +1,34 @@
+require libtool.inc
+require libtool_${PV}.bb
+
+PR = "r9"
+FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
+SRC_URI_append = " file://libdir-la.patch;patch=1 \
+ file://prefix.patch;patch=1 \
+# file://tag.patch;patch=1 \
+ file://nousrlib.patch;patch=1"
+
+S = "${WORKDIR}/libtool-${PV}"
+
+inherit native
+
+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_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/
+ install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${STAGING_DATADIR}/libtool/config/
+ 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/
+}
+
+do_install () {
+ :
+}
diff --git a/meta/packages/libtool/libtool_2.2.2.bb b/meta/packages/libtool/libtool_2.2.2.bb
new file mode 100644
index 000000000..0fa71b7c7
--- /dev/null
+++ b/meta/packages/libtool/libtool_2.2.2.bb
@@ -0,0 +1,25 @@
+require libtool.inc
+
+PR = "r5"
+
+SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
+ file://uclibc.patch;patch=1 \
+ file://dolt.m4"
+S = "${WORKDIR}/libtool-${PV}"
+
+DEFAULT_PREFERENCE = "-1"
+
+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 () {
+ oe_libinstall -a -so -C libltdl libltdl ${STAGING_LIBDIR}
+ install -m 0644 libltdl/ltdl.h ${STAGING_INCDIR}/
+}