libtool_2.2.6b.bb : new version of libtool
authorGraeme Gregory <dp@xora.org.uk>
Tue, 26 Jan 2010 11:15:08 +0000 (11:15 +0000)
committerGraeme Gregory <dp@xora.org.uk>
Tue, 26 Jan 2010 11:15:08 +0000 (11:15 +0000)
This is a basic version uprev as it is becoming required by some
gtk+ applications such as transmission.

recipes/libtool/libtool-2.2.6b/cross_compile.patch [new file with mode: 0644]
recipes/libtool/libtool-2.2.6b/prefix.patch [new file with mode: 0644]
recipes/libtool/libtool-cross_2.2.6b.bb [new file with mode: 0644]
recipes/libtool/libtool-native_2.2.6b.bb [new file with mode: 0644]
recipes/libtool/libtool-sdk_2.2.6b.bb [new file with mode: 0644]
recipes/libtool/libtool_2.2.6b.bb [new file with mode: 0644]

diff --git a/recipes/libtool/libtool-2.2.6b/cross_compile.patch b/recipes/libtool/libtool-2.2.6b/cross_compile.patch
new file mode 100644 (file)
index 0000000..b4bacbd
--- /dev/null
@@ -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.6b/prefix.patch b/recipes/libtool/libtool-2.2.6b/prefix.patch
new file mode 100644 (file)
index 0000000..639feb7
--- /dev/null
@@ -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.6b.bb b/recipes/libtool/libtool-cross_2.2.6b.bb
new file mode 100644 (file)
index 0000000..d3ea34a
--- /dev/null
@@ -0,0 +1,44 @@
+require libtool_${PV}.bb
+PR = "${INC_PR}.0"
+
+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}${prefix_native}"
+exec_prefix = "${STAGING_DIR_NATIVE}${prefix_native}"
+bindir = "${STAGING_BINDIR_NATIVE}"
+
+do_compile () {
+       :
+}
+
+do_stage () {
+       install -m 0755 ${HOST_SYS}-libtool ${bindir}/${HOST_SYS}-libtool
+       install -d ${STAGING_DIR_HOST}${target_datadir}/libtool ${STAGING_DIR_HOST}${target_datadir}/aclocal
+       install -c ${S}/libltdl/config/config.guess ${STAGING_DIR_HOST}${target_datadir}/libtool/
+       install -c ${S}/libltdl/config/config.sub ${STAGING_DIR_HOST}${target_datadir}/libtool/
+       install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${STAGING_DIR_HOST}${target_datadir}/libtool/
+       install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${STAGING_DIR_HOST}${target_datadir}/aclocal/
+       install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${STAGING_DIR_HOST}${target_datadir}/aclocal/
+       if [ -e ${WORKDIR}/dolt.m4 ] ; then
+               install -c -m 0644 ${WORKDIR}/dolt.m4 ${STAGING_DIR_HOST}${target_datadir}/aclocal/
+       fi
+}
+
+
+do_install () {
+       :
+}
+
+PACKAGES = ""
diff --git a/recipes/libtool/libtool-native_2.2.6b.bb b/recipes/libtool/libtool-native_2.2.6b.bb
new file mode 100644 (file)
index 0000000..082663a
--- /dev/null
@@ -0,0 +1,45 @@
+require libtool_${PV}.bb
+PR = "${INC_PR}.0"
+
+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.6b.bb b/recipes/libtool/libtool-sdk_2.2.6b.bb
new file mode 100644 (file)
index 0000000..7e269ef
--- /dev/null
@@ -0,0 +1,54 @@
+require libtool_${PV}.bb
+
+PR = "${INC_PR}.0"
+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.6b.bb b/recipes/libtool/libtool_2.2.6b.bb
new file mode 100644 (file)
index 0000000..b72ab67
--- /dev/null
@@ -0,0 +1,25 @@
+require libtool.inc
+PR = "${INC_PR}.0"
+
+SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz;name=archive"
+SRC_URI[archive.md5sum] = "07da460450490148c6d2df0f21481a25"
+SRC_URI[archive.sha256sum] = "efe133e1014bca96998536f2e565a14fe0fde20cc83ff67135451e4e4e64ad57"
+
+S = "${WORKDIR}/${BPN}-2.2.6b"
+
+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}
+}