make libtool a tool build and let autoconf depend on it
SVN-Revision: 24673
This commit is contained in:
parent
b40d260aaf
commit
51538948fe
6 changed files with 238 additions and 2 deletions
|
@ -14,7 +14,7 @@ ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
|
|||
tools-$(CONFIG_GCC_VERSION_4_3)$(CONFIG_GCC_VERSION_4_4)$(CONFIG_GCC_VERSION_4_5) += gmp mpfr
|
||||
tools-$(CONFIG_GCC_VERSION_4_5) += mpc libelf
|
||||
endif
|
||||
tools-y += m4 autoconf automake flex bison pkg-config sed mklibs
|
||||
tools-y += m4 libtool autoconf automake flex bison pkg-config sed mklibs
|
||||
tools-y += sstrip ipkg-utils genext2fs e2fsprogs mtd-utils mkimage
|
||||
tools-y += firmware-utils patch-cmdline quilt yaffs2 flock
|
||||
tools-y += xorg-macros xz
|
||||
|
@ -36,11 +36,12 @@ endif
|
|||
# builddir dependencies
|
||||
$(curdir)/bison/compile := $(curdir)/flex/install
|
||||
$(curdir)/pkg-config/compile := $(curdir)/sed/install
|
||||
$(curdir)/libtool/compile := $(curdir)/sed/install
|
||||
$(curdir)/squashfs/compile := $(curdir)/lzma-old/install
|
||||
$(curdir)/squashfs4/compile := $(curdir)/lzma/install
|
||||
$(curdir)/quilt/compile := $(curdir)/sed/install $(curdir)/autoconf/install
|
||||
$(curdir)/dtc/compile := $(curdir)/bison/install
|
||||
$(curdir)/autoconf/compile := $(curdir)/m4/install
|
||||
$(curdir)/autoconf/compile := $(curdir)/m4/install $(curdir)/libtool/install
|
||||
$(curdir)/automake/compile := $(curdir)/m4/install $(curdir)/autoconf/install $(curdir)/pkg-config/install
|
||||
$(curdir)/mpc/compile := $(curdir)/gmp/install
|
||||
$(curdir)/mpfr/compile := $(curdir)/gmp/install
|
||||
|
|
34
tools/libtool/Makefile
Normal file
34
tools/libtool/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
|||
#
|
||||
# Copyright (C) 2008 OpenWrt.org
|
||||
#
|
||||
# This is free software, licensed under the GNU General Public License v2.
|
||||
# See /LICENSE for more information.
|
||||
#
|
||||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=libtool
|
||||
PKG_VERSION:=2.4
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=@GNU/$(PKG_NAME)
|
||||
PKG_MD5SUM:=b32b04148ecdd7344abc6fe8bd1bb021
|
||||
|
||||
include $(INCLUDE_DIR)/host-build.mk
|
||||
|
||||
define Host/Compile
|
||||
$(MAKE) -C $(HOST_BUILD_DIR)
|
||||
endef
|
||||
|
||||
define Host/Install
|
||||
$(MAKE) -C $(HOST_BUILD_DIR) install
|
||||
$(SED) 's,\(hardcode_into_libs\)=yes,\1=no,g' $(STAGING_DIR_HOST)/bin/libtool
|
||||
$(CP) $(STAGING_DIR_HOST)/bin/libtool $(STAGING_DIR_HOST)/bin/libtool-ucxx
|
||||
$(SED) 's,-lstdc++,-luClibc++,g' $(STAGING_DIR_HOST)/bin/libtool-ucxx
|
||||
endef
|
||||
|
||||
define Host/Clean
|
||||
-$(MAKE) -C $(HOST_BUILD_DIR) uninstall
|
||||
$(call Host/Clean/Default)
|
||||
endef
|
||||
|
||||
$(eval $(call HostBuild))
|
49
tools/libtool/patches/100-libdir-fixes.patch
Normal file
49
tools/libtool/patches/100-libdir-fixes.patch
Normal file
|
@ -0,0 +1,49 @@
|
|||
Index: libtool-2.4/libltdl/config/ltmain.m4sh
|
||||
===================================================================
|
||||
--- libtool-2.4.orig/libltdl/config/ltmain.m4sh 2010-09-22 16:45:18.000000000 +0200
|
||||
+++ libtool-2.4/libltdl/config/ltmain.m4sh 2010-12-06 22:51:21.961732599 +0100
|
||||
@@ -5715,8 +5715,14 @@
|
||||
absdir="$abs_ladir"
|
||||
libdir="$abs_ladir"
|
||||
else
|
||||
- dir="$lt_sysroot$libdir"
|
||||
- absdir="$lt_sysroot$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="$lt_sysroot$abs_ladir"
|
||||
+ absdir="$abs_ladir"
|
||||
+ libdir="$abs_ladir"
|
||||
+ #dir="$libdir"
|
||||
+ #absdir="$lt_sysroot$libdir"
|
||||
fi
|
||||
test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
|
||||
else
|
||||
@@ -6114,8 +6120,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
|
||||
@@ -6270,7 +6274,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
|
|
@ -0,0 +1,10 @@
|
|||
--- a/libltdl/config/ltmain.m4sh
|
||||
+++ b/libltdl/config/ltmain.m4sh
|
||||
@@ -6104,7 +6104,6 @@ func_mode_link ()
|
||||
test "$hardcode_direct_absolute" = no; then
|
||||
add="$libdir/$linklib"
|
||||
elif test "$hardcode_minus_L" = yes; then
|
||||
- add_dir="-L$libdir"
|
||||
add="-l$name"
|
||||
elif test "$hardcode_shlibpath_var" = yes; then
|
||||
case :$finalize_shlibpath: in
|
30
tools/libtool/patches/150-trailingslash.patch
Normal file
30
tools/libtool/patches/150-trailingslash.patch
Normal file
|
@ -0,0 +1,30 @@
|
|||
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)
|
||||
|
||||
This is because libdir has a trailing slash which breaks the comparision.
|
||||
|
||||
RP 2/1/10
|
||||
|
||||
Merged a patch received from Gary Thomas <gary@mlbassoc.com>
|
||||
|
||||
Date: 2010/07/12
|
||||
Nitin A Kamble <nitin.a.kamble@intel.com>
|
||||
|
||||
--- a/libltdl/config/ltmain.m4sh
|
||||
+++ b/libltdl/config/ltmain.m4sh
|
||||
@@ -2164,8 +2164,15 @@ func_mode_install ()
|
||||
func_append dir "$objdir"
|
||||
|
||||
if test -n "$relink_command"; then
|
||||
+ # Strip any trailing slash from the destination.
|
||||
+ func_stripname '' '/' "$libdir"
|
||||
+ destlibdir=$func_stripname_result
|
||||
+
|
||||
+ func_stripname '' '/' "$destdir"
|
||||
+ s_destdir=$func_stripname_result
|
||||
+
|
||||
# Determine the prefix the user has applied to our future dir.
|
||||
- inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"`
|
||||
+ inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"`
|
||||
|
||||
# Don't allow the user to place us outside of our expected
|
||||
# location b/c this prevents finding dependent libraries that
|
112
tools/libtool/patches/200-openwrt-branding.patch
Normal file
112
tools/libtool/patches/200-openwrt-branding.patch
Normal file
|
@ -0,0 +1,112 @@
|
|||
--- a/libltdl/config/general.m4sh
|
||||
+++ b/libltdl/config/general.m4sh
|
||||
@@ -352,7 +352,7 @@ opt_warning=:
|
||||
# name if it has been set yet.
|
||||
func_echo ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
|
||||
}
|
||||
|
||||
# func_verbose arg...
|
||||
@@ -378,14 +378,14 @@ func_echo_all ()
|
||||
# Echo program name prefixed message to standard error.
|
||||
func_error ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
}
|
||||
|
||||
# func_warning arg...
|
||||
# Echo program name prefixed warning message to standard error.
|
||||
func_warning ()
|
||||
{
|
||||
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
|
||||
# bash bug again:
|
||||
:
|
||||
--- a/libltdl/config/ltmain.sh
|
||||
+++ b/libltdl/config/ltmain.sh
|
||||
@@ -443,7 +443,7 @@ opt_warning=:
|
||||
# name if it has been set yet.
|
||||
func_echo ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
|
||||
}
|
||||
|
||||
# func_verbose arg...
|
||||
@@ -469,14 +469,14 @@ func_echo_all ()
|
||||
# Echo program name prefixed message to standard error.
|
||||
func_error ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
}
|
||||
|
||||
# func_warning arg...
|
||||
# Echo program name prefixed warning message to standard error.
|
||||
func_warning ()
|
||||
{
|
||||
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
|
||||
# bash bug again:
|
||||
:
|
||||
--- a/libtoolize.in
|
||||
+++ b/libtoolize.in
|
||||
@@ -633,7 +633,7 @@ opt_warning=:
|
||||
# name if it has been set yet.
|
||||
func_echo ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
|
||||
}
|
||||
|
||||
# func_verbose arg...
|
||||
@@ -659,14 +659,14 @@ func_echo_all ()
|
||||
# Echo program name prefixed message to standard error.
|
||||
func_error ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
}
|
||||
|
||||
# func_warning arg...
|
||||
# Echo program name prefixed warning message to standard error.
|
||||
func_warning ()
|
||||
{
|
||||
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
|
||||
# bash bug again:
|
||||
:
|
||||
--- a/tests/defs.in
|
||||
+++ b/tests/defs.in
|
||||
@@ -588,7 +588,7 @@ opt_warning=:
|
||||
# name if it has been set yet.
|
||||
func_echo ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }$*"
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }$*"
|
||||
}
|
||||
|
||||
# func_verbose arg...
|
||||
@@ -614,14 +614,14 @@ func_echo_all ()
|
||||
# Echo program name prefixed message to standard error.
|
||||
func_error ()
|
||||
{
|
||||
- $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
+ $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2
|
||||
}
|
||||
|
||||
# func_warning arg...
|
||||
# Echo program name prefixed warning message to standard error.
|
||||
func_warning ()
|
||||
{
|
||||
- $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
+ $opt_warning && $ECHO "OpenWrt-$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2
|
||||
|
||||
# bash bug again:
|
||||
:
|
Loading…
Reference in a new issue