summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/libtool
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/libtool
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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}