From: Romain Naour <romain.naour@gmail.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 3/8] mongrel2: allow using uClibc but only on certain architectures
Date: Mon, 25 Jan 2016 23:41:13 +0100 [thread overview]
Message-ID: <56A6A489.70105@gmail.com> (raw)
In-Reply-To: <1453148701-10036-4-git-send-email-thomas.petazzoni@free-electrons.com>
Thomas, All,
Le 18/01/2016 21:24, Thomas Petazzoni a ?crit :
> mongrel2 uses the {get,make,swap}context functions:
>
> - With glibc, no problem, they are available on all supported
> architectures
>
> - With uClibc, they are available only on a subset of the
> architectures. Until now, only BR2_UCLIBC_VERSION_SNAPSHOT
> configurations were allowed to select mongrel2, but we are going to
> get rid of the uClibc snapshot version, and uClibc-ng is as capable
> as the uClibc snapshot. However, only certain architectures have
> the *context() functions.
>
> - With musl, there is no *context() support.
>
> Since this dependency is quite complicated, we introduce a
> BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS hidden boolean to encode which C
> libraries are supported.
>
> Also, listing the supported uClibc architectures would be too long in
> the comment, so we simply indicate that the package needs uClibc or
> glibc.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
> package/mongrel2/Config.in | 22 ++++++++++++----------
> 1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/package/mongrel2/Config.in b/package/mongrel2/Config.in
> index 1c7b495..49dd6fd 100644
> --- a/package/mongrel2/Config.in
> +++ b/package/mongrel2/Config.in
> @@ -1,10 +1,16 @@
> -comment "mongrel2 needs a toolchain w/ C++, threads, wchar, dynamic library"
> - depends on BR2_UCLIBC_VERSION_SNAPSHOT || \
> - BR2_TOOLCHAIN_USES_GLIBC || \
> - BR2_arm
> +# mongrel2 uses {get,make,swap}context() functions, which are
> +# available in glibc for all architectures and in uClibc only for a
> +# subset of the architectures
> +config BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS
> + bool
> + default y if BR2_TOOLCHAIN_USES_GLIBC
> + default y if BR2_TOOLCHAIN_USES_UCLIBC && \
> + (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el || BR2_x86_64)
In the libunwind patch BR2_mips64 and BR2_mips64el where dropped from the
libunwind's supported architecture. Why they are not here ?
Best regards,
Romain
> +
> +comment "mongrel2 needs a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library"
> depends on !BR2_INSTALL_LIBSTDCPP || \
> !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
> - BR2_STATIC_LIBS
> + BR2_STATIC_LIBS || !BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS
>
> config BR2_PACKAGE_MONGREL2
> bool "mongrel2"
> @@ -14,11 +20,7 @@ config BR2_PACKAGE_MONGREL2
> depends on BR2_TOOLCHAIN_HAS_THREADS # zeromq
> depends on BR2_USE_WCHAR # zeromq -> util-linux
> depends on !BR2_STATIC_LIBS # uses dlopen()
> - # {get,make,swap}context functions present in
> - # {e,}glibc and in uClibc's master branch. Source has arm workaround
> - depends on BR2_UCLIBC_VERSION_SNAPSHOT || \
> - BR2_TOOLCHAIN_USES_GLIBC || \
> - BR2_arm
> + depends on BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS
> help
> Mongrel2 is an application, language, and network architecture
> agnostic web server that focuses on web applications using
>
next prev parent reply other threads:[~2016-01-25 22:41 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-18 20:24 [Buildroot] [PATCH 0/8] Remove uClibc version selection: always use uClibc-ng Thomas Petazzoni
2016-01-18 20:24 ` [Buildroot] [PATCH 1/8] libunwind: fix C library dependency Thomas Petazzoni
2016-01-25 21:59 ` Romain Naour
2016-01-25 22:20 ` Thomas Petazzoni
2016-01-25 22:33 ` Romain Naour
2016-01-25 22:43 ` Thomas Petazzoni
2016-01-18 20:24 ` [Buildroot] [PATCH 2/8] lttng-babeltrace: make available for all C libraries Thomas Petazzoni
2016-01-18 20:35 ` Baruch Siach
2016-01-25 22:16 ` Romain Naour
2016-01-18 20:24 ` [Buildroot] [PATCH 3/8] mongrel2: allow using uClibc but only on certain architectures Thomas Petazzoni
2016-01-25 22:41 ` Romain Naour [this message]
2016-01-25 22:59 ` Thomas Petazzoni
2016-01-18 20:24 ` [Buildroot] [PATCH 4/8] vlc: remove dependency on C library Thomas Petazzoni
2016-01-25 22:55 ` Romain Naour
2016-01-18 20:24 ` [Buildroot] [PATCH 5/8] samba4: remove dependency on specific C libraries Thomas Petazzoni
2016-01-25 23:06 ` Romain Naour
2016-01-26 9:58 ` Thomas Petazzoni
2016-01-18 20:24 ` [Buildroot] [PATCH 6/8] uclibc: remove 0.9.33 version Thomas Petazzoni
2016-01-25 23:11 ` Romain Naour
2016-01-25 23:14 ` Romain Naour
2016-01-26 22:08 ` Arnout Vandecappelle
2016-01-18 20:25 ` [Buildroot] [PATCH 7/8] uclibc: remove support for the snapshot version Thomas Petazzoni
2016-01-25 23:16 ` Romain Naour
2016-01-18 20:25 ` [Buildroot] [PATCH 8/8] uclibc: remove version selection Thomas Petazzoni
2016-01-25 23:31 ` Romain Naour
2016-01-24 20:25 ` [Buildroot] [PATCH 0/8] Remove uClibc version selection: always use uClibc-ng Romain Naour
2016-01-24 20:32 ` Thomas Petazzoni
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=56A6A489.70105@gmail.com \
--to=romain.naour@gmail.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