summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/libtool
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/libtool')
-rw-r--r--meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb34
-rw-r--r--meta/recipes-devtools/libtool/libtool-native_2.2.10.bb22
-rw-r--r--meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb27
-rw-r--r--meta/recipes-devtools/libtool/libtool.inc14
-rw-r--r--meta/recipes-devtools/libtool/libtool/cross_compile.patch55
-rw-r--r--meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch19
-rw-r--r--meta/recipes-devtools/libtool/libtool/prefix.patch109
-rw-r--r--meta/recipes-devtools/libtool/libtool/trailingslash.patch32
-rw-r--r--meta/recipes-devtools/libtool/libtool_2.2.10.bb33
9 files changed, 345 insertions, 0 deletions
diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb
new file mode 100644
index 0000000000..23135f7edb
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool-cross_2.2.10.bb
@@ -0,0 +1,34 @@
1require libtool_${PV}.bb
2
3PR = "r1"
4PACKAGES = ""
5SRC_URI_append = " file://cross_compile.patch \
6 file://prefix.patch "
7
8DEPENDS += "libtool-native"
9
10do_configure_prepend () {
11 # Remove any existing libtool m4 since old stale versions would break
12 # any upgrade
13 rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
14 rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
15}
16
17do_install () {
18 install -d ${D}${bindir}/
19 install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
20 install -d ${D}${datadir}/libtool/
21 install -d ${D}${datadir}/aclocal/
22 install -c ${S}/libltdl/config/config.guess ${D}${datadir}/libtool/
23 install -c ${S}/libltdl/config/config.sub ${D}${datadir}/libtool/
24 install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${datadir}/libtool/
25 install -c -m 0644 ${S}/libltdl/m4/libtool.m4 ${D}${datadir}/aclocal/
26 install -c -m 0644 ${S}/libltdl/m4/ltdl.m4 ${D}${datadir}/aclocal/
27}
28
29SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
30
31libtoolcross_sysroot_preprocess () {
32 install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
33 install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
34}
diff --git a/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb
new file mode 100644
index 0000000000..322da4a99b
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool-native_2.2.10.bb
@@ -0,0 +1,22 @@
1require libtool_${PV}.bb
2
3DEPENDS = ""
4
5PR = "r1"
6SRC_URI_append = " file://cross_compile.patch \
7 file://prefix.patch "
8
9inherit native
10
11do_configure_prepend () {
12 # Remove any existing libtool m4 since old stale versions would break
13 # any upgrade
14 rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
15 rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
16}
17
18do_install () {
19 autotools_do_install
20 install -d ${D}${bindir}/
21 install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
22}
diff --git a/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb b/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb
new file mode 100644
index 0000000000..e972d9ef3d
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool-nativesdk_2.2.10.bb
@@ -0,0 +1,27 @@
1require libtool_${PV}.bb
2
3PR = "r1"
4SRC_URI_append = " file://cross_compile.patch \
5 file://prefix.patch "
6
7inherit nativesdk
8
9do_configure_prepend () {
10 # Remove any existing libtool m4 since old stale versions would break
11 # any upgrade
12 rm -f ${STAGING_DATADIR}/aclocal/libtool.m4
13 rm -f ${STAGING_DATADIR}/aclocal/lt*.m4
14}
15
16do_install () {
17 autotools_do_install
18 install -d ${D}${bindir}/
19 install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/
20}
21
22SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess"
23
24libtoolnativesdk_sysroot_preprocess () {
25 install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/
26 install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/${HOST_SYS}-libtool
27}
diff --git a/meta/recipes-devtools/libtool/libtool.inc b/meta/recipes-devtools/libtool/libtool.inc
new file mode 100644
index 0000000000..c94dadd0af
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool.inc
@@ -0,0 +1,14 @@
1DESCRIPTION = "Generic library support script \
2This is GNU libtool, a generic library support script. Libtool hides \
3the complexity of generating special library types (such as shared \
4libraries) behind a consistent interface."
5HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html"
6SECTION = "devel"
7LICENSE = "GPLv2, LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
9 file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06 "
10
11SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
12 file://trailingslash.patch \
13 file://prefix-manpage-fix.patch "
14
diff --git a/meta/recipes-devtools/libtool/libtool/cross_compile.patch b/meta/recipes-devtools/libtool/libtool/cross_compile.patch
new file mode 100644
index 0000000000..fc1f4b6fb2
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/cross_compile.patch
@@ -0,0 +1,55 @@
1Tweaks to make cross-compiling work combined and updated from various
2older patches, some by Chris Larson.
3Not upstreable in this form.
4
5RP - 01/05/2008
6
7Index: libtool-2.2.10/libltdl/config/ltmain.m4sh
8===================================================================
9--- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh
10+++ libtool-2.2.10/libltdl/config/ltmain.m4sh
11@@ -5147,8 +5147,14 @@ func_mode_link ()
12 absdir="$abs_ladir"
13 libdir="$abs_ladir"
14 else
15- dir="$libdir"
16- absdir="$libdir"
17+ # Adding 'libdir' from the .la file to our library search paths
18+ # breaks crosscompilation horribly. We cheat here and don't add
19+ # it, instead adding the path where we found the .la. -CL
20+ dir="$abs_ladir"
21+ absdir="$abs_ladir"
22+ libdir="$abs_ladir"
23+ #dir="$libdir"
24+ #absdir="$libdir"
25 fi
26 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
27 else
28@@ -5519,8 +5525,6 @@ func_mode_link ()
29 add="$libdir/$linklib"
30 fi
31 else
32- # We cannot seem to hardcode it, guess we'll fake it.
33- add_dir="-L$libdir"
34 # Try looking first in the location we're being installed to.
35 if test -n "$inst_prefix_dir"; then
36 case $libdir in
37@@ -5667,7 +5671,17 @@ func_mode_link ()
38 fi
39 ;;
40 *)
41- path="-L$absdir/$objdir"
42+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
43+ # preferring $objdir. RP 31/04/2008
44+ if test -f "$absdir/$objdir/$depdepl" ; then
45+ depdepl="$absdir/$objdir/$depdepl"
46+ path="-L$absdir/$objdir"
47+ elif test -f "$absdir/$depdepl" ; then
48+ depdepl="$absdir/$depdepl"
49+ path="-L$absdir"
50+ else
51+ path="-L$absdir/$objdir"
52+ fi
53 ;;
54 esac
55 else
diff --git a/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch b/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch
new file mode 100644
index 0000000000..47286699fb
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/prefix-manpage-fix.patch
@@ -0,0 +1,19 @@
1For cross environment, it not possible to run the generated executable.
2nstead use the build version of libtool to generate the man pages.
3
4Date: 2010/07/09
5Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
6
7Index: libtool-2.2.10/Makefile.am
8===================================================================
9--- libtool-2.2.10.orig/Makefile.am
10+++ libtool-2.2.10/Makefile.am
11@@ -337,7 +337,7 @@ update_mans = \
12 PATH=.$(PATH_SEPARATOR)$$PATH; export PATH; \
13 $(HELP2MAN) --output=$@
14 $(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh
15- $(update_mans) --help-option=--help-all libtool
16+ $(update_mans) --help-option=--help-all ${build_alias}-libtool
17 $(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in
18 $(update_mans) libtoolize
19
diff --git a/meta/recipes-devtools/libtool/libtool/prefix.patch b/meta/recipes-devtools/libtool/libtool/prefix.patch
new file mode 100644
index 0000000000..d008608a4a
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/prefix.patch
@@ -0,0 +1,109 @@
1Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
2it can't be confused with the host libtool.
3
4Originally by: RP
5
6Updated: Date: 2010/06/28
7Nitin A Kamble <nitin.a.kamble@intel.com>
8
9
10Index: libtool-2.2.10/libltdl/m4/libtool.m4
11===================================================================
12--- libtool-2.2.10.orig/libltdl/m4/libtool.m4
13+++ libtool-2.2.10/libltdl/m4/libtool.m4
14@@ -94,7 +94,8 @@ _LT_SET_OPTIONS([$0], [$1])
15 LIBTOOL_DEPS="$ltmain"
16
17 # Always use our own libtool.
18-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
19+LIBTOOL='$(SHELL) $(top_builddir)'
20+LIBTOOL="$LIBTOOL/${host_alias}-libtool"
21 AC_SUBST(LIBTOOL)dnl
22
23 _LT_SETUP
24@@ -201,7 +202,7 @@ aix3*)
25 esac
26
27 # Global variables:
28-ofile=libtool
29+ofile=${host_alias}-libtool
30 can_build_shared=yes
31
32 # All known linkers require a `.a' archive for static linking (except MSVC,
33Index: libtool-2.2.10/Makefile.am
34===================================================================
35--- libtool-2.2.10.orig/Makefile.am
36+++ libtool-2.2.10/Makefile.am
37@@ -31,7 +31,7 @@ AM_LDFLAGS =
38 DIST_SUBDIRS = .
39 EXTRA_DIST =
40
41-BUILT_SOURCES = libtool libtoolize
42+BUILT_SOURCES = $(host_alias)-libtool libtoolize
43
44 CLEANFILES =
45 MOSTLYCLEANFILES =
46@@ -65,7 +65,7 @@ rebuild = rebuild=:; $(timestamp); corre
47 ## ---------------- ##
48
49 # The libtool distributor and the standalone libtool script.
50-bin_SCRIPTS = libtoolize libtool
51+bin_SCRIPTS = libtoolize $(host_alias)-libtool
52
53 libtoolize: $(srcdir)/libtoolize.in $(top_builddir)/config.status
54 rm -f libtoolize.tmp libtoolize
55@@ -91,8 +91,8 @@ $(srcdir)/libtoolize.in: $(sh_files) lib
56 # We used to do this with a 'stamp-vcl' file, but non-gmake builds
57 # would rerun configure on every invocation, so now we manually
58 # check the version numbers from the build rule when necessary.
59-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
60- @target=libtool; $(rebuild); \
61+$(host_alias)-libtool: $(top_builddir)/config.status $(srcdir)/$(auxdir)/ltmain.sh ChangeLog
62+ @target=$(host_alias)-libtool; $(rebuild); \
63 if test -f "$$target"; then \
64 set dummy `./$$target --version | sed 1q`; actualver="$$5"; \
65 test "$$actualver" = "$$correctver" && rebuild=false; \
66@@ -101,8 +101,8 @@ libtool: $(top_builddir)/config.status $
67 case $$prereq in *ChangeLog);; *) rebuild=:;; esac; \
68 done; \
69 if $$rebuild; then \
70- echo $(SHELL) ./config.status $$target; \
71- cd $(top_builddir) && $(SHELL) ./config.status $$target; \
72+ echo $(SHELL) ./config.status libtool; \
73+ cd $(top_builddir) && $(SHELL) ./config.status libtool; \
74 fi
75
76 .PHONY: configure-subdirs
77@@ -147,7 +147,7 @@ EXTRA_DIST += bootstrap $(srcdir)/li
78 ChangeLog.2002 ChangeLog.2003 ChangeLog.2004 \
79 ChangeLog.2005 ChangeLog.2006 ChangeLog.2007 \
80 ChangeLog.2008 ChangeLog.2009
81-CLEANFILES += libtool libtoolize libtoolize.tmp \
82+CLEANFILES += $(host_alias)-libtool libtoolize libtoolize.tmp \
83 $(auxdir)/ltmain.tmp $(m4dir)/ltversion.tmp
84
85 ## We build ltversion.m4 here, instead of from config.status,
86@@ -523,12 +523,12 @@ TESTS_ENVIRONMENT = MAKE="$(MAKE)" CC="$
87
88 BUILDCHECK_ENVIRONMENT = _lt_pkgdatadir="$(abs_top_srcdir)" \
89 LIBTOOLIZE="$(abs_top_builddir)/libtoolize" \
90- LIBTOOL="$(abs_top_builddir)/libtool" \
91+ LIBTOOL="$(abs_top_builddir)/$(host_alias)-libtool" \
92 tst_aclocaldir="$(abs_top_srcdir)/libltdl/m4"
93
94 INSTALLCHECK_ENVIRONMENT = \
95 LIBTOOLIZE="$(bindir)/`echo libtoolize | sed '$(program_transform_name)'`" \
96- LIBTOOL="$(bindir)/`echo libtool | sed '$(program_transform_name)'`" \
97+ LIBTOOL="$(bindir)/`echo $(host_alias)-libtool | sed '$(program_transform_name)'`" \
98 LTDLINCL="-I$(includedir)" \
99 LIBLTDL="$(libdir)/libltdl.la" \
100 tst_aclocaldir="$(aclocaldir)"
101@@ -679,7 +679,7 @@ if HAVE_FC
102 TESTS += $(FC_TESTS)
103 endif
104
105-tests/demo-conf.test: libtool
106+tests/demo-conf.test: $(host_alias)-libtool
107
108 EXTRA_DIST += $(srcdir)/tests/defs.in tests/defs.m4sh \
109 $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS)
diff --git a/meta/recipes-devtools/libtool/libtool/trailingslash.patch b/meta/recipes-devtools/libtool/libtool/trailingslash.patch
new file mode 100644
index 0000000000..313c26291a
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool/trailingslash.patch
@@ -0,0 +1,32 @@
1A command like /bin/sh ../../i586-poky-linux-libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/media/data1/builds/poky1/tmp/work/core2-poky-linux/gnome-keyring-2.26.1-r1/image/usr/lib/gnome-keyring/standalone/' fails (e.g. gnome-keyring or pulseaudio)
2
3This is because libdir has a trailing slash which breaks the comparision.
4
5RP 2/1/10
6
7Merged a patch received from Gary Thomas <gary@mlbassoc.com>
8
9Date: 2010/07/12
10Nitin A Kamble <nitin.a.kamble@intel.com>
11
12Index: libtool-2.2.10/libltdl/config/ltmain.m4sh
13===================================================================
14--- libtool-2.2.10.orig/libltdl/config/ltmain.m4sh
15+++ libtool-2.2.10/libltdl/config/ltmain.m4sh
16@@ -1634,8 +1634,15 @@ func_mode_install ()
17 dir="$dir$objdir"
18
19 if test -n "$relink_command"; then
20+ # Strip any trailing slash from the destination.
21+ func_stripname '' '/' "$libdir"
22+ destlibdir=$func_stripname_result
23+
24+ func_stripname '' '/' "$destdir"
25+ s_destdir=$func_stripname_result
26+
27 # Determine the prefix the user has applied to our future dir.
28- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
29+ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
30
31 # Don't allow the user to place us outside of our expected
32 # location b/c this prevents finding dependent libraries that
diff --git a/meta/recipes-devtools/libtool/libtool_2.2.10.bb b/meta/recipes-devtools/libtool/libtool_2.2.10.bb
new file mode 100644
index 0000000000..9eaec2da67
--- /dev/null
+++ b/meta/recipes-devtools/libtool/libtool_2.2.10.bb
@@ -0,0 +1,33 @@
1require libtool.inc
2DEPENDS = "libtool-native"
3
4PR = "r1"
5
6PACKAGES =+ "libltdl libltdl-dev libltdl-dbg"
7FILES_${PN} += "${datadir}/aclocal*"
8FILES_libltdl = "${libdir}/libltdl.so.*"
9FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h"
10FILES_libltdl-dbg = "${libdir}/.debug/"
11
12inherit autotools
13
14EXTRA_AUTORECONF = "--exclude=libtoolize"
15
16do_compile_prepend () {
17 # Sometimes this file doesn't get rebuilt, force the issue
18 rm -f ${S}/libltdl/config/ltmain.sh
19 make libltdl/config/ltmain.sh
20}
21
22#
23# We want the results of libtool-cross preserved - don't stage anything ourselves.
24#
25SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess"
26
27libtool_sysroot_preprocess () {
28 if [ "${PN}" == "libtool" ]; then
29 rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${bindir}/*
30 rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/aclocal/*
31 rm -rf ${SYSROOT_DESTDIR}${STAGING_DIR_TARGET}${datadir}/libtool/config/*
32 fi
33}