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 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.