public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Alec Warner <antarus@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] new helper: econf_build
Date: Thu, 13 Oct 2011 18:41:02 -0700	[thread overview]
Message-ID: <CAAr7Pr_OaVUM3ds0_aSV9p3ObFFHV39UWua3K7YcZ4nfKO_KOw@mail.gmail.com> (raw)
In-Reply-To: <201110131948.00897.vapier@gentoo.org>

On Thu, Oct 13, 2011 at 4:48 PM, Mike Frysinger <vapier@gentoo.org> wrote:
> i've found myself a few times having to implement logic like so:
>        CFLAGS=${BUILD_CFLAGS:--O1 -pipe} \
>        CXXFLAGS=${BUILD_CXXFLAGS:--O1 -pipe} \
>        CPPFLAGS=${BUILD_CPPFLAGS} \
>        LDFLAGS=${BUILD_LDFLAGS} \
>        CC=$(tc-getBUILD_CC) \
>        LD=$(tc-getBUILD_LD) \
>        econf --host=${CBUILD} "$@"

I'm a newb, are BUILD_* expected to be set by users?

-A

>
> this is to deal with packages that build up not insignificant (let's call them
> "nificant") binaries which are then used at build time.  when cross-compiling,
> you can't execute those binaries, and things fail.
>
> python is a good example.  it builds up the local python interpreter (which is
> all written in C/etc...), and then uses that to parse local python scripts
> which take care of building everything else.  so a while ago we added code so
> that it'd build two python binaries when cross-compiling: a local ${CBUILD}
> version which is then used to parse the python build files to compile for
> ${CHOST}.  using host python won't work if it's newer/older/insane/afk.
>
> ncurses compiles its local term database by first creating a tic helper and
> then parsing its local files.  we can't use the build system's tic because if
> the installed ncurses is a different version, we run into fun things like
> crashes/infinite loops/etc...
>
> the latest thing i hit was elfutils where it creates a local binary to
> generate a database of headers which it then compiles into the target code.
>
> so rather than continuing to copy & paste this logic everywhere, i'm going to
> add it to toolchain-funcs.eclass as "econf_build".  any feedback before i do ?
> -mike
>



  reply	other threads:[~2011-10-14  1:42 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-13 23:48 [gentoo-dev] new helper: econf_build Mike Frysinger
2011-10-14  1:41 ` Alec Warner [this message]
2011-10-14  2:01   ` Mike Frysinger
2011-10-14  7:08 ` Michael Haubenwallner
2011-10-14 15:45   ` Mike Frysinger
2011-10-14 15:53     ` Michael Haubenwallner

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=CAAr7Pr_OaVUM3ds0_aSV9p3ObFFHV39UWua3K7YcZ4nfKO_KOw@mail.gmail.com \
    --to=antarus@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /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