Patchwork libtool-cross: Upbreak and actually use more of it

login
register
mail settings
Submitter Richard Purdie
Date Nov. 17, 2011, 12:13 a.m.
Message ID <1321488805.18905.5.camel@ted>
Download mbox | patch
Permalink /patch/15065/
State New
Headers show

Comments

Richard Purdie - Nov. 17, 2011, 12:13 a.m.
We should be using libtool-cross for cross compiling but
were not. This patch sets datadir so libtoolize ends up
containing correct paths. It then installs libtoolize.

The path ltmain.sh was installed to was incorrect and this is fixed.

We also now install all the libtool m4 macros.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
Paul Menzel - Nov. 17, 2011, 9:08 a.m.
Dear Richard,


Am Donnerstag, den 17.11.2011, 00:13 +0000 schrieb Richard Purdie:


unfortunately I could not find the meaning of upbreak here.

> We should be using libtool-cross for cross compiling but
> were not.

Is that just a cosmetic thing or did packages break?

> This patch sets datadir so libtoolize ends up
> containing correct paths. It then installs libtoolize.
> 
> The path ltmain.sh was installed to was incorrect and this is fixed.
> 
> We also now install all the libtool m4 macros.
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> index 596528a..4e6e3f2 100644
> --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> @@ -1,10 +1,13 @@
>  require libtool-${PV}.inc
>  
> -PR = "r5"
> +PR = "r7"

Increase just by one?

>  PACKAGES = ""
>  SRC_URI += "file://prefix.patch"
>  SRC_URI += "file://fixinstall.patch"
>  
> +target_datadir := "${datadir}"

Is not already defined this way in `bitbake.conf`?

$ git grep target_d ./meta/conf/bitbake.conf
meta/conf/bitbake.conf:target_datadir := "${datadir}"

> +datadir = "${STAGING_DIR_TARGET}${target_datadir}"
> +
>  do_configure_prepend () {
>  	# Remove any existing libtool m4 since old stale versions would break
>  	# any upgrade
> @@ -13,20 +16,21 @@ do_configure_prepend () {
>  }
>  
>  do_install () {
> -	install -d ${D}${bindir}/
> -	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
> -	install -d ${D}${datadir}/libtool/
> -	install -d ${D}${datadir}/aclocal/
> -	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/
> -	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 -d ${D}${bindir_crossscripts}/
> +	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool
> +	install -d ${D}${bindir_crossscripts}/
> +	install -m 0755 libtoolize ${D}${bindir_crossscripts}/
> +	install -d ${D}${target_datadir}/libtool/config/
> +	install -d ${D}${target_datadir}/aclocal/
> +	install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/
> +	install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/
> +	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/
> +	install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/
>  }
>  
>  SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
>  
>  libtoolcross_sysroot_preprocess () {
> -	install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
> -	install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
> +	sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
> +	sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir}
>  }


Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>


Thanks,

Paul
Richard Purdie - Nov. 17, 2011, 9:53 a.m.
On Thu, 2011-11-17 at 10:08 +0100, Paul Menzel wrote:
> Dear Richard,
> Am Donnerstag, den 17.11.2011, 00:13 +0000 schrieb Richard Purdie:
> 
> unfortunately I could not find the meaning of upbreak here.

Sorry, its a typo and should be "unbreak"

> 
> > We should be using libtool-cross for cross compiling but
> > were not.
> 
> Is that just a cosmetic thing or did packages break?

Its currently harmless but when I applied my other libtool changes,
things did break.

> > This patch sets datadir so libtoolize ends up
> > containing correct paths. It then installs libtoolize.
> > 
> > The path ltmain.sh was installed to was incorrect and this is fixed.
> > 
> > We also now install all the libtool m4 macros.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > index 596528a..4e6e3f2 100644
> > --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > @@ -1,10 +1,13 @@
> >  require libtool-${PV}.inc
> >  
> > -PR = "r5"
> > +PR = "r7"
> 
> Increase just by one?

Ideally I guess, yes.

> >  PACKAGES = ""
> >  SRC_URI += "file://prefix.patch"
> >  SRC_URI += "file://fixinstall.patch"
> >  
> > +target_datadir := "${datadir}"
> 
> Is not already defined this way in `bitbake.conf`?
> 
> $ git grep target_d ./meta/conf/bitbake.conf
> meta/conf/bitbake.conf:target_datadir := "${datadir}"

Good catch, I'd forgotten we'd saved this already.

> > +datadir = "${STAGING_DIR_TARGET}${target_datad

Cheers,

Richard
Mike Crowe - Feb. 7, 2012, 10:31 a.m.
On Thu, Nov 17, 2011 at 12:13:25AM +0000, Richard Purdie wrote:
> We should be using libtool-cross for cross compiling but
> were not. This patch sets datadir so libtoolize ends up
> containing correct paths. It then installs libtoolize.

I have a recipe that no longer works after this (or perhaps the other
changes Richard mentions later in the thread.) It's a pretty
straightforward recipe that inherits from autotools. Judging by the
number of warnings from autoconf the package was probably expecting an
older version of automake/autoconf. The configure task fails with:

 libtoolize: `config/compile' not found in `/home/mac/src/oe/build/tmp-eglibc/sysroots/panther/usr/share/libtool'

(continued inside patch)

> The path ltmain.sh was installed to was incorrect and this is fixed.
> 
> We also now install all the libtool m4 macros.
> 
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> ---
> diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> index 596528a..4e6e3f2 100644
> --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> @@ -1,10 +1,13 @@
>  require libtool-${PV}.inc
>  
> -PR = "r5"
> +PR = "r7"
>  PACKAGES = ""
>  SRC_URI += "file://prefix.patch"
>  SRC_URI += "file://fixinstall.patch"
>  
> +target_datadir := "${datadir}"
> +datadir = "${STAGING_DIR_TARGET}${target_datadir}"
> +
>  do_configure_prepend () {
>  	# Remove any existing libtool m4 since old stale versions would break
>  	# any upgrade
> @@ -13,20 +16,21 @@ do_configure_prepend () {
>  }
>  
>  do_install () {
> -	install -d ${D}${bindir}/
> -	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
> -	install -d ${D}${datadir}/libtool/
> -	install -d ${D}${datadir}/aclocal/
> -	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/
> -	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 -d ${D}${bindir_crossscripts}/
> +	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool
> +	install -d ${D}${bindir_crossscripts}/
> +	install -m 0755 libtoolize ${D}${bindir_crossscripts}/
> +	install -d ${D}${target_datadir}/libtool/config/
> +	install -d ${D}${target_datadir}/aclocal/
> +	install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/
> +	install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/

If I also install "compile", "depcomp" and "missing" here then this
solves the immediate problem but then it looks like I also need to add
"COPYING.LIB" and probably many other files to
${D}{$target_datadir}/libtool/libltdl too which leads me to think that
I'm swimming against the tide and might be going about this the wrong
way. Is this the correct approach? If so why not just call "make
install" rather than installing everything by hand?

> +	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/
> +	install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/
>  }
>  
>  SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
>  
>  libtoolcross_sysroot_preprocess () {
> -	install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
> -	install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
> +	sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
> +	sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir}
>  }

TIA

Mike.
Khem Raj - Feb. 7, 2012, 10:47 p.m.
On (07/02/12 10:31), Mike Crowe wrote:
> On Thu, Nov 17, 2011 at 12:13:25AM +0000, Richard Purdie wrote:
> > We should be using libtool-cross for cross compiling but
> > were not. This patch sets datadir so libtoolize ends up
> > containing correct paths. It then installs libtoolize.
> 
> I have a recipe that no longer works after this (or perhaps the other
> changes Richard mentions later in the thread.) It's a pretty
> straightforward recipe that inherits from autotools. Judging by the
> number of warnings from autoconf the package was probably expecting an
> older version of automake/autoconf. The configure task fails with:
> 
>  libtoolize: `config/compile' not found in `/home/mac/src/oe/build/tmp-eglibc/sysroots/panther/usr/share/libtool'
> 
> (continued inside patch)
> 
> > The path ltmain.sh was installed to was incorrect and this is fixed.
> > 
> > We also now install all the libtool m4 macros.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > ---
> > diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > index 596528a..4e6e3f2 100644
> > --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > @@ -1,10 +1,13 @@
> >  require libtool-${PV}.inc
> >  
> > -PR = "r5"
> > +PR = "r7"
> >  PACKAGES = ""
> >  SRC_URI += "file://prefix.patch"
> >  SRC_URI += "file://fixinstall.patch"
> >  
> > +target_datadir := "${datadir}"
> > +datadir = "${STAGING_DIR_TARGET}${target_datadir}"
> > +
> >  do_configure_prepend () {
> >  	# Remove any existing libtool m4 since old stale versions would break
> >  	# any upgrade
> > @@ -13,20 +16,21 @@ do_configure_prepend () {
> >  }
> >  
> >  do_install () {
> > -	install -d ${D}${bindir}/
> > -	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
> > -	install -d ${D}${datadir}/libtool/
> > -	install -d ${D}${datadir}/aclocal/
> > -	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/
> > -	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 -d ${D}${bindir_crossscripts}/
> > +	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool
> > +	install -d ${D}${bindir_crossscripts}/
> > +	install -m 0755 libtoolize ${D}${bindir_crossscripts}/
> > +	install -d ${D}${target_datadir}/libtool/config/
> > +	install -d ${D}${target_datadir}/aclocal/
> > +	install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/
> > +	install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/
> 
> If I also install "compile", "depcomp" and "missing" here then this
> solves the immediate problem but then it looks like I also need to add
> "COPYING.LIB" and probably many other files to
> ${D}{$target_datadir}/libtool/libltdl too which leads me to think that
> I'm swimming against the tide and might be going about this the wrong
> way. Is this the correct approach? If so why not just call "make
> install" rather than installing everything by hand?

can you just try oe_runmake DESTDIR=${D} install ?
you might need to do some extra bits in there but that can be done
additionally

> 
> > +	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/
> > +	install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/
> >  }
> >  
> >  SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
> >  
> >  libtoolcross_sysroot_preprocess () {
> > -	install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
> > -	install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
> > +	sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
> > +	sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir}
> >  }
> 
> TIA
> 
> Mike.
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Mike Crowe - Feb. 8, 2012, 12:29 p.m.
On Tue, Feb 07, 2012 at 02:47:28PM -0800, Khem Raj wrote:
> On (07/02/12 10:31), Mike Crowe wrote:
> > On Thu, Nov 17, 2011 at 12:13:25AM +0000, Richard Purdie wrote:
> > > We should be using libtool-cross for cross compiling but
> > > were not. This patch sets datadir so libtoolize ends up
> > > containing correct paths. It then installs libtoolize.
> > 
> > I have a recipe that no longer works after this (or perhaps the other
> > changes Richard mentions later in the thread.) It's a pretty
> > straightforward recipe that inherits from autotools. Judging by the
> > number of warnings from autoconf the package was probably expecting an
> > older version of automake/autoconf. The configure task fails with:
> > 
> >  libtoolize: `config/compile' not found in `/home/mac/src/oe/build/tmp-eglibc/sysroots/panther/usr/share/libtool'
> > 
> > (continued inside patch)
> > 
> > > The path ltmain.sh was installed to was incorrect and this is fixed.
> > > 
> > > We also now install all the libtool m4 macros.
> > > 
> > > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> > > ---
> > > diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > > index 596528a..4e6e3f2 100644
> > > --- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > > +++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
> > > @@ -1,10 +1,13 @@
> > >  require libtool-${PV}.inc
> > >  
> > > -PR = "r5"
> > > +PR = "r7"
> > >  PACKAGES = ""
> > >  SRC_URI += "file://prefix.patch"
> > >  SRC_URI += "file://fixinstall.patch"
> > >  
> > > +target_datadir := "${datadir}"
> > > +datadir = "${STAGING_DIR_TARGET}${target_datadir}"
> > > +
> > >  do_configure_prepend () {
> > >  	# Remove any existing libtool m4 since old stale versions would break
> > >  	# any upgrade
> > > @@ -13,20 +16,21 @@ do_configure_prepend () {
> > >  }
> > >  
> > >  do_install () {
> > > -	install -d ${D}${bindir}/
> > > -	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
> > > -	install -d ${D}${datadir}/libtool/
> > > -	install -d ${D}${datadir}/aclocal/
> > > -	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/
> > > -	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 -d ${D}${bindir_crossscripts}/
> > > +	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool
> > > +	install -d ${D}${bindir_crossscripts}/
> > > +	install -m 0755 libtoolize ${D}${bindir_crossscripts}/
> > > +	install -d ${D}${target_datadir}/libtool/config/
> > > +	install -d ${D}${target_datadir}/aclocal/
> > > +	install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/
> > > +	install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/
> > 
> > If I also install "compile", "depcomp" and "missing" here then this
> > solves the immediate problem but then it looks like I also need to add
> > "COPYING.LIB" and probably many other files to
> > ${D}{$target_datadir}/libtool/libltdl too which leads me to think that
> > I'm swimming against the tide and might be going about this the wrong
> > way. Is this the correct approach? If so why not just call "make
> > install" rather than installing everything by hand?
> 
> can you just try oe_runmake DESTDIR=${D} install ?
> you might need to do some extra bits in there but that can be done
> additionally

I replaced the whole of do_install with your suggestion and my package
now configures and compiles successfully.

I'll try a complete build from clean to see if the change causes any
other problems for me. If it does not should I submit a patch for this
change?

Thanks for your help.

Mike.

> > > +	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/
> > > +	install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/
> > >  }
> > >  
> > >  SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
> > >  
> > >  libtoolcross_sysroot_preprocess () {
> > > -	install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
> > > -	install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
> > > +	sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
> > > +	sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir}
> > >  }
> > 
> > TIA
> > 
> > Mike.
> > 
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
index 596528a..4e6e3f2 100644
--- a/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
+++ b/meta/recipes-devtools/libtool/libtool-cross_2.4.bb
@@ -1,10 +1,13 @@ 
 require libtool-${PV}.inc
 
-PR = "r5"
+PR = "r7"
 PACKAGES = ""
 SRC_URI += "file://prefix.patch"
 SRC_URI += "file://fixinstall.patch"
 
+target_datadir := "${datadir}"
+datadir = "${STAGING_DIR_TARGET}${target_datadir}"
+
 do_configure_prepend () {
 	# Remove any existing libtool m4 since old stale versions would break
 	# any upgrade
@@ -13,20 +16,21 @@  do_configure_prepend () {
 }
 
 do_install () {
-	install -d ${D}${bindir}/
-	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
-	install -d ${D}${datadir}/libtool/
-	install -d ${D}${datadir}/aclocal/
-	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/
-	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 -d ${D}${bindir_crossscripts}/
+	install -m 0755 ${HOST_SYS}-libtool ${D}${bindir_crossscripts}/${HOST_SYS}-libtool
+	install -d ${D}${bindir_crossscripts}/
+	install -m 0755 libtoolize ${D}${bindir_crossscripts}/
+	install -d ${D}${target_datadir}/libtool/config/
+	install -d ${D}${target_datadir}/aclocal/
+	install -c ${S}/libltdl/config/config.guess ${D}${target_datadir}/libtool/
+	install -c ${S}/libltdl/config/config.sub ${D}${target_datadir}/libtool/
+	install -c -m 0644 ${S}/libltdl/config/ltmain.sh ${D}${target_datadir}/libtool/config/
+	install -c -m 0644 ${S}/libltdl/m4/*.m4 ${D}${target_datadir}/aclocal/
 }
 
 SYSROOT_PREPROCESS_FUNCS += "libtoolcross_sysroot_preprocess"
 
 libtoolcross_sysroot_preprocess () {
-	install -d ${SYSROOT_DESTDIR}${bindir_crossscripts}
-	install -m 755 ${D}${bindir}/${HOST_SYS}-libtool ${SYSROOT_DESTDIR}${bindir_crossscripts}/${HOST_SYS}-libtool
+	sysroot_stage_dir ${D}${bindir_crossscripts} ${SYSROOT_DESTDIR}${bindir_crossscripts}
+	sysroot_stage_dir ${D}${target_datadir} ${SYSROOT_DESTDIR}${target_datadir}
 }