public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Nathan Phillip Brink <binki@gentoo.org>
To: Willian Vale da Rocha <will.vdr@gmail.com>
Cc: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Linking Stage, building a ebuild
Date: Fri, 2 Dec 2011 03:37:25 +0000	[thread overview]
Message-ID: <20111202033725.GB10880@ohnopublishing.net> (raw)
In-Reply-To: <CAMjArgjLio=k8fiYgt_-bwyj7R2XRr6xvFn3ctrivQPOkVJo=A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1931 bytes --]

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 #2: Type: application/pgp-signature, Size: 836 bytes --]

  parent reply	other threads:[~2011-12-02  3:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-02  3:22 [gentoo-dev] Linking Stage, building a ebuild Willian Vale da Rocha
2011-12-02  3:32 ` Brian Dolbec
2011-12-02  3:37 ` Nathan Phillip Brink [this message]
2011-12-02 13:50 ` James Broadhead

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20111202033725.GB10880@ohnopublishing.net \
    --to=binki@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    --cc=will.vdr@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox