diff options
Diffstat (limited to 'meta/recipes-devtools/libtool')
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 @@ | |||
1 | require libtool_${PV}.bb | ||
2 | |||
3 | PR = "r1" | ||
4 | PACKAGES = "" | ||
5 | SRC_URI_append = " file://cross_compile.patch \ | ||
6 | file://prefix.patch " | ||
7 | |||
8 | DEPENDS += "libtool-native" | ||
9 | |||
10 | do_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 | |||
17 | do_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 | |||
29 | SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess" | ||
30 | |||
31 | libtoolcross_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 @@ | |||
1 | require libtool_${PV}.bb | ||
2 | |||
3 | DEPENDS = "" | ||
4 | |||
5 | PR = "r1" | ||
6 | SRC_URI_append = " file://cross_compile.patch \ | ||
7 | file://prefix.patch " | ||
8 | |||
9 | inherit native | ||
10 | |||
11 | do_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 | |||
18 | do_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 @@ | |||
1 | require libtool_${PV}.bb | ||
2 | |||
3 | PR = "r1" | ||
4 | SRC_URI_append = " file://cross_compile.patch \ | ||
5 | file://prefix.patch " | ||
6 | |||
7 | inherit nativesdk | ||
8 | |||
9 | do_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 | |||
16 | do_install () { | ||
17 | autotools_do_install | ||
18 | install -d ${D}${bindir}/ | ||
19 | install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/ | ||
20 | } | ||
21 | |||
22 | SYSROOT_PREPROCESS_FUNCS += "libtoolnativesdk_sysroot_preprocess" | ||
23 | |||
24 | libtoolnativesdk_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 @@ | |||
1 | DESCRIPTION = "Generic library support script \ | ||
2 | This is GNU libtool, a generic library support script. Libtool hides \ | ||
3 | the complexity of generating special library types (such as shared \ | ||
4 | libraries) behind a consistent interface." | ||
5 | HOMEPAGE = "http://www.gnu.org/software/libtool/libtool.html" | ||
6 | SECTION = "devel" | ||
7 | LICENSE = "GPLv2, LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
9 | file://libltdl/COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06 " | ||
10 | |||
11 | SRC_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 @@ | |||
1 | Tweaks to make cross-compiling work combined and updated from various | ||
2 | older patches, some by Chris Larson. | ||
3 | Not upstreable in this form. | ||
4 | |||
5 | RP - 01/05/2008 | ||
6 | |||
7 | Index: 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 @@ | |||
1 | For cross environment, it not possible to run the generated executable. | ||
2 | nstead use the build version of libtool to generate the man pages. | ||
3 | |||
4 | Date: 2010/07/09 | ||
5 | Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> | ||
6 | |||
7 | Index: 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 @@ | |||
1 | Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure | ||
2 | it can't be confused with the host libtool. | ||
3 | |||
4 | Originally by: RP | ||
5 | |||
6 | Updated: Date: 2010/06/28 | ||
7 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
8 | |||
9 | |||
10 | Index: 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, | ||
33 | Index: 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 @@ | |||
1 | A 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 | |||
3 | This is because libdir has a trailing slash which breaks the comparision. | ||
4 | |||
5 | RP 2/1/10 | ||
6 | |||
7 | Merged a patch received from Gary Thomas <gary@mlbassoc.com> | ||
8 | |||
9 | Date: 2010/07/12 | ||
10 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
11 | |||
12 | Index: 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 @@ | |||
1 | require libtool.inc | ||
2 | DEPENDS = "libtool-native" | ||
3 | |||
4 | PR = "r1" | ||
5 | |||
6 | PACKAGES =+ "libltdl libltdl-dev libltdl-dbg" | ||
7 | FILES_${PN} += "${datadir}/aclocal*" | ||
8 | FILES_libltdl = "${libdir}/libltdl.so.*" | ||
9 | FILES_libltdl-dev = "${libdir}/libltdl.* ${includedir}/ltdl.h" | ||
10 | FILES_libltdl-dbg = "${libdir}/.debug/" | ||
11 | |||
12 | inherit autotools | ||
13 | |||
14 | EXTRA_AUTORECONF = "--exclude=libtoolize" | ||
15 | |||
16 | do_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 | # | ||
25 | SYSROOT_PREPROCESS_FUNCS += "libtool_sysroot_preprocess" | ||
26 | |||
27 | libtool_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 | } | ||