autoconf
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cross-compiling question: static libraries and binaries to different


From: Dan Kegel
Subject: Re: cross-compiling question: static libraries and binaries to different places?
Date: Mon, 04 Mar 2002 18:19:11 -0800

Here's what happens when you try to use --libdir.

When doing builds into a staging area, you pass the
path to the staging area to make as DESTDIR.  
So if DESTDIR is /foo, but you want libraries to go to /usr/lib,
you're screwed; nothing you put into --libdir will make
them go anywhere but a subdirectory of /foo.

And you can't cheat and pass DESTDIR as a prefix on
--prefix, because then libtool will get all confused
on the target system; it will expect executables to
be in /foo/bin, but on the target, they'll be in /bin.

It's pretty confusing stuff.
- Dan

Dan Kegel wrote:
> 
> You'd think so, but playing games like that might really
> confuse libtool.
> 
> What I'd like to see is a fully-worked out example of how
> to use libtool, with both static and shared libraries,
> in a cross-compile situation, without the static libraries
> leaking out onto the target system.  We may need to split
> --libdir into --libdir and --buildlibdir, or something
> awful like that?
> 
> Thinking about libtool and cross-compiling is giving me
> serious heartburn.
> - Dan
> 
> Guido Draheim wrote:
> >
> > --bindir vs. --libdir ?
> >
> > Es schrieb Dan Kegel:
> > >
> > > I'm cross-developing.  I want to build a package
> > > that has both static libraries and binaries.
> > > The binaries should go to the target system;
> > > the libraries should stay on the build system.
> > > What do I pass to configure and to make?
> > >
> > > If I do
> > > configure --build=pentium-unknown-linux address@hidden@-unknown-linux
> > > --disable-shared --with-gnu-ld --prefix=/usr
> > > make -C @IXIA_PORTARCH@/src/lib DESTDIR=$(DEST) install
> > >
> > > the library ends up in the right place (DEST/usr/lib)
> > > but the binary ends up in the wrong place (DEST/usr/bin).
> > >
> > > If instead I do
> > >
> > > make -C @IXIA_PORTARCH@/src/lib DESTDIR=$(DEST)/fsimg install
> > > the library ends up in the wrong place (DEST/fsimg/usr/lib)
> > > but the binary ends up in the right place (DEST/fsimg/usr/bin).
> > >
> > > What to do?  In cross-development environments, is it not
> > > supported to have static libraries go to the build system,
> > > but binaries go to the target?
> > >
> > > - Dan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]