From: Gustavo Zacarias <gustavo@zacarias.com.ar>
To: buildroot@busybox.net
Subject: [Buildroot] RPC support for modern (e)glibc toolchains
Date: Thu, 28 Jun 2012 08:51:27 -0300 [thread overview]
Message-ID: <4FEC453F.3050309@zacarias.com.ar> (raw)
In-Reply-To: <20120627145340.34895a74@skate>
On 06/27/12 09:53, Thomas Petazzoni wrote:
>>> *) Should we make the dependency from packages on libtirpc a
>>> "select", like all other library dependencies, or a "depends
>>> on", to
>>> mimic what we currently do for RPC support (packages "depends on
>>> BR2_INET_RPC", and they show a comment if BR2_INET_RPC isn't
>>> available) ?
>>
>> Probably keep it as a "depends on", in some cases you'll already have
>> the toolchain providing RPC.
>> Maybe even block libtirpc if the origin toolchain has RPC support? Or
>> can they be used at the same time? (Not that anyone would want too i
>> think...)
>
> Yes, as I was mentionning in my initial e-mail, I was thinking of
> having something like:
>
> config BR2_RPC_AVAILABLE
> bool
>
> config BR2_TOOLCHAIN_HAS_NATIVE_RPC
> select BR2_RPC_AVAILABLE
> bool
>
>
> Toolchains having native RPC support (i.e uClibc with RPC support, or
> glibc < 2.14) would select BR2_TOOLCHAIN_HAS_NATIVE_RPC Then, the
> libtirpc package would:
>
> config BR2_PACKAGE_LIBTIRPC
> bool "libtirpc"
> depends on !BR2_TOOLCHAIN_HAS_NATIVE_RPC
> select BR2_RPC_AVAILABLE
> select
>
> But now, the question is for packages that need RPC support. We have
> two choices. First, like today, the user has to manually enable RPC
> support in the toolchain *OR* manually enable libtirpc.
>
> config BR2_PACKAGE_FOO
> depends on BR2_RPC_AVAILABLE
>
> comment "foo needs RPC support, either in toolchain or through libtirpc"
> depends on !BR2_RPC_AVAILABLE
>
> Or, we can automatically select libtirpc if needed:
>
> config BR2_PACKAGE_FOO
> select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
>
> and no comment is needed, because if the toolchain has no RPC support,
> it would automatically be handled by libtirpc.
>
> Which one do you prefer?
I prefer the last option, otherwise users will have RPC options all
around instead of one place (toolchain vs. packages).
>>> *) How to handle the case of the Crosstool-NG backend? With the
>>> current Crosstool-NG backend, we have no idea which version of
>>> (e)glibc is being built, so we have no idea whether RPC support
>>> will be provided by the toolchain. Should we add a config option
>>> saying "My toolchain will have RPC support", which we will then
>>> check after the toolchain build, like we do with external
>>> toolchains? Other suggestions?
>>
>> BR2_TOOLCHAIN_I_WANT_RPC ?
>> After the toolchain is done we do an RPC check with readelf, if it's
>> not there we build libtirpc, otherwise we leave it be.
>
> Hardly doable: we need to know at menuconfig time if we need libtirpc
> in order to keep the .config selection consistent. If you don't, things
> like "make source" or "make external-deps" will not work any more (they
> will not know that libtirpc is needed).
True.
From what i've seen it seems libtirpc can be built/used with a
rpc-enabled libc.
We just need a few package tweaks around.
nfs-utils has a configure option to use it (--enable-tirpc) so it's easy.
portmap has not, though rpcbind (new package) should be used with
libtirpc, so portmap is libc-rpc or rpcbind if libtirpc but not both.
Others remain to be seen.
Regards.
next prev parent reply other threads:[~2012-06-28 11:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-26 22:07 [Buildroot] RPC support for modern (e)glibc toolchains Thomas Petazzoni
2012-06-27 2:55 ` [Buildroot] RPC and Busybox Michael J. Hammel
2012-06-27 7:18 ` Thomas Petazzoni
2012-06-27 8:25 ` [Buildroot] RPC support for modern (e)glibc toolchains Thomas Petazzoni
2012-06-27 11:00 ` Gustavo Zacarias
2012-06-27 12:53 ` Thomas Petazzoni
2012-06-28 11:51 ` Gustavo Zacarias [this message]
2012-06-28 11:57 ` Thomas Petazzoni
2012-06-28 12:06 ` Gustavo Zacarias
2012-06-30 12:24 ` Arnout Vandecappelle
2012-07-03 19:48 ` Thomas Petazzoni
2012-07-03 20:37 ` Arnout Vandecappelle
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=4FEC453F.3050309@zacarias.com.ar \
--to=gustavo@zacarias.com.ar \
--cc=buildroot@busybox.net \
/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