From: Fabian Groffen <grobian@gentoo.org>
To: gentoo-soc@lists.gentoo.org
Subject: Re: [gentoo-soc] Ebuild generator week 10 update
Date: Mon, 25 Jul 2011 19:23:16 +0200 [thread overview]
Message-ID: <20110725172316.GR9415@gentoo.org> (raw)
In-Reply-To: <cone.1311591736.981543.27586.1000@DarkRain>
On 25-07-2011 13:02:16 +0200, darkdefende@gmail.com wrote:
> Because I have the pfl stuff implemented I think I can extend the
> previous milestone that is autotools support. I hope I can say that I'm
> still on schedule because of that.
> If not autotools is a really essential feature for the ebuild generator
> so I will not drop that to work on other stuff as the ebuild generator
> would be quite useless then…
>
> Because GSoC is comming to an end soon I think I will first solve the
> autoconf problems that I'm having by trying to ignore/work around most
> of the problematic stuff so it can at least generate an ebuild for
> autotools projects. I really want to have atleast something working by
> the end of this GSoC so I think I'll do a basic solution first then
> improve it.
Hey,
Because you seem to be stuck here, I'll give you some of my thoughts.
First off, I'll start by saying that none of my ideas is 100%
water-proof for all cases, but they give some start, if not some handle
to have something going, quickly.
Starting with heuristics, I see that some grepping is going to result in
some information that we might be interested in here from configure.
% ./configure --help | grep -E -- '--(with|without)-'
This gives a list of --with/--without that already might give you a good
hint or two. "--with-gpgme[=PFX]" for example, probably needs a
USE=gpg. Assume you can map a fair bunch of names to packages.
% grep -E "checking for [^ ]+ in -l.+\.\.\." configure
This returns all libs that configure is checking for. If you can map
the libs on packages, you can match this with the optional list of
above, probably this is where USE-flags are necessary. Other libs (one
typically sees -lz in the list) probably need to be unconditional
dependencies.
% grep -E -- "FLAGS=.*-(I|L)" configure
What is returned usually is a big and ugly list. I doubt it is very
useful, but with some brute force case-insensitive grepping package
names may be found in variables or path names. The found packages can
be optional or mandatory. I expect a big overlap with the lib search
before.
I can imagine a pkg-config check (it's an autoconf macro
PKG_CHECK_EXISTS, see pkg-config(1)) to try and do something similar as
the previous grep.
I think largest problem here is to match what you find onto packages.
With some luck you can match a fair bit, though.
Hope this helps a bit,
--
Fabian Groffen
Gentoo on a different level
prev parent reply other threads:[~2011-07-25 17:23 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-25 11:02 [gentoo-soc] Ebuild generator week 10 update darkdefende
2011-07-25 17:23 ` Fabian Groffen [this message]
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=20110725172316.GR9415@gentoo.org \
--to=grobian@gentoo.org \
--cc=gentoo-soc@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