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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.