[pacman-dev] [PATCH 1/1] To use in cross-compile environments we need a special strip-binary.
Silvio F.
silvio at port1024.net
Tue Jul 22 15:51:45 EDT 2008
Hello,
> > In most cross-compile environment there is a environment-variable
> > $CROSS_COMPILE which reflects the toolchain.
> >
> > Signed-off-by: Silvio fricke <silvio at port1024.net>
> > ---
> > scripts/makepkg.sh.in | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
> > index 2777102..9292b1b 100644
> > --- a/scripts/makepkg.sh.in
> > +++ b/scripts/makepkg.sh.in
> > @@ -736,11 +736,11 @@ tidy_install() {
> > find ${bindirs} -type f 2>/dev/null | while read binary ; do
> > case "$(file -biz "$binary")" in
> > *application/x-sharedlib*) # Libraries (.so)
> > - /usr/bin/strip --strip-debug "$binary";;
> > + ${CROSS_COMPILE}strip --strip-debug "$binary";;
> > *application/x-archive*) # Libraries (.a)
> > - /usr/bin/strip --strip-debug "$binary";;
> > + ${CROSS_COMPILE}strip --strip-debug "$binary";;
> > *application/x-executable*) # Binaries
> > - /usr/bin/strip "$binary";;
> > + ${CROSS_COMPILE}strip "$binary";;
> > esac
> > done
> > fi
>
> As far as I understand this - when CROSS_COMPILE is not set
> (most not-cross-compile environments) - strip will require correct $PATH,
> which is bad (that's why full paths are always used).
You are right! The description of CROSS_COMPILE was not very good.
This variable holds the host-infos of the runtime-platform. The
CROSS_COMPILE is set (as example for a powerpc based crosscompiler) to
"powerpc-linux-".
A cross-compiler and a for-cross-compiler binutils-package, whose
binaries starts with "powerpc-linux-" as prefix, exist in the
(crosscompile-)system.
/cc/powerpc/usr/bin/powerpc-linux-strip
/cc/powerpc/usr/bin/powerpc-linux-ld
/cc/powerpc/usr/bin/powerpc-linux-gcc
/cc/powerpc/usr/bin/powerpc-linux-g++
....
.
.
The Makefiles of the Kernelsources are good examples.
cd <KERNELSOURCES>
grep -R CROSS_COMPILE *
But I think, my patch is not good! We need a more configurable way, like
a STRIP="/usr/bin/strip" in the makepkg.conf.
For now, its all clear?
Have a nice Day,
eS.eF.
--
-- S. Fricke ---------------------------------------- silvio at port1024.net --
Diplom-Informatiker (FH)
Linux-Entwicklung JABBER: silvio at conversation.port1024.net
----------------------------------------------------------------------------
More information about the pacman-dev
mailing list