From cadd730e458ef0144dc6e34c49191358d2f4b91c Mon Sep 17 00:00:00 2001 From: Graeme Gregory 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/libtool') 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 1.2.3-korg