From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] RPC support for modern (e)glibc toolchains
Date: Thu, 28 Jun 2012 13:57:44 +0200 [thread overview]
Message-ID: <20120628135744.09fc059f@skate> (raw)
In-Reply-To: <4FEC453F.3050309@zacarias.com.ar>
Hello,
Le Thu, 28 Jun 2012 08:51:27 -0300,
Gustavo Zacarias <gustavo@zacarias.com.ar> a ?crit :
> > 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).
Hm? Not sure to understand what you mean here.
Regardless of whether my option (1) or my option (2) is chosen, the
number of options will be the same. It is just that:
With option (1), if the toolchain does not have native RPC support,
then all packages that need RPC support will immediately be visible,
and will automatically select the libtirpc package. So it's fully
transparent for users.
With option (2), if the toolchain does not have native RPC support,
then all packages that need RPC support will be hidden, and the user
will have to enable the libtirpc package to see them.
So really, even with option (1) there is no such thing as "RPC options
all around instead of one place".
Note: by this, I am not implying that I have a preference for option
(1), I am just explaining a bit more, because it seems we're not
seeing the same thing :)
> >> 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.
Do we want to support that? I guess what you meant is that regardless
of whether the toolchain has RPC support we can always enable
libtirpc, so that in the ct-ng backend case we don't have to worry
about this?
Ultimately, this is what will probably happen: RPC support will no
longer be seen as a toolchain capability, but just as a normal library.
But we're not there yet.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
next prev parent reply other threads:[~2012-06-28 11:57 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
2012-06-28 11:57 ` Thomas Petazzoni [this message]
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=20120628135744.09fc059f@skate \
--to=thomas.petazzoni@free-electrons.com \
--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