On Fri, Dec 02, 2011 at 12:22:30AM -0300, Willian Vale da Rocha wrote:
> I'm writing a ebuild for GNU Radio, just to learn how to write and i
> doesn't found any where(or i was looking for wrong) how to define a LDFLAGS
> for the linking stage. GNU Radio need this because they use their library.
> If i don't explain correct, i going to show the line command that i trying
> to explain
> <pre>
> ./configure --prefix=$HOME/image LDFLAGS="-L$HOME/image/lib64
> <\pre>
> If i need to define prefix, how can i do it, and How can i use the LDFLAGS
> in ebuild
> 
> Sorry about the english

Just so you know, such questions generally belong on the
gentoo-devhelp mailing list or in
irc://chat.freenode.net/gentoo-dev-help.

In an attempt to answer your question, you should use the flag-o-matic
eclass to append directives to LDFLAGS. For example:

inherit flag-o-matic multilib

src_configure() {
        append-ldflags -L"${EPREFIX}"/usr/$(get_libdir)/special_package \
                -Wl,-rpath,"${EPREFIX}"/usr/$(get_libdir)/special_package

        econf
}

But you appear to be trying to link to something outside of a normal
Gentoo install. If a user wanted to link a program against his own
compiled copy of the library, he would instead just invoke emerge with
the proper LDFLAGS:

# LDFLAGS=-L"${HOME}"/image/lib64\ -Wl,-rpath,"${HOME}"/images/lib64 emerge -v 
my_package

If you are writing your ebuild to compile against a package/library
which is not available in portage, your first step should be to write
an ebuild for _that_ package. I.e., write the ebuild for the library
your program needs before writing the ebuild for the program. Then the
library would be properly installed into /usr/$(get_libdir) and appear
in GCC's normal searchpaths.

If this does not help, please ask again in #gentoo-dev-help or the
gentoo-devhelp ML :-).

-- 
binki

Look out for missing or extraneous apostrophes!

Attachment: pgp0l67yvzSAT.pgp
Description: PGP signature

Reply via email to