On Fri, Sep 02, 2022 at 10:04:11AM +0200, Alexander Dahl wrote:
> Follow up to the discussion on the last version bump.
> zmq does not (try to) detect these features when cross compiling,
> so we must assist.
> Output of prepare stage contains this now:
>
> checking whether EFD_CLOEXEC is supported... (cached) yes
> …
> checking whether SOCK_CLOEXEC is supported... (cached) yes
> checking whether O_CLOEXEC is supported... (cached) yes
> checking whether SO_BINDTODEVICE is supported... (cached) yes
> checking whether SO_KEEPALIVE is supported... (cached) yes
> checking whether TCP_KEEPCNT is supported... (cached) yes
> checking whether TCP_KEEPIDLE is supported... (cached) yes
> checking whether TCP_KEEPINTVL is supported... (cached) yes
> checking whether TCP_KEEPALIVE is supported... not during cross-compile
> checking whether SO_PRIORITY is supported... (cached) yes
> checking whether getrandom is supported... (cached) yes
>
> Link:
> https://lore.ptxdist.org/ptxdist/20220708151537.gk20...@pengutronix.de/T/#m9b6e02442a30b09d25fe98258051ebd34ee4f94b
Signed-off-by is missing.
Michael
> ---
>
> Notes:
> v2:
> - also enable getrandom(2)
> - reorganize comments to reflect glibc follows kernel,
> so years are not swapped
>
> rules/libzmq.make | 24
> 1 file changed, 24 insertions(+)
>
> diff --git a/rules/libzmq.make b/rules/libzmq.make
> index d221ef6ac..94a5f84d8 100644
> --- a/rules/libzmq.make
> +++ b/rules/libzmq.make
> @@ -34,6 +34,30 @@ LIBZMQ_CONF_ENV:= \
> $(CROSS_ENV) \
> ac_cv_lib_sodium_sodium_init=no
>
> +# Assume these are always available:
> +# - O_CLOEXEC(2007, kernel 2.6.23, glibc 2.7)
> +# - EFD_CLOEXEC (2008, kernel 2.6.27, glibc 2.9)
> +# - SOCK_CLOEXEC (2008, kernel 2.6.27, glibc 2.9)
> +# - SO_BINDTODEVICE (2009, kernel 2.6.31)
> +# - SO_KEEPALIVE (2009, kernel 2.6.31, glibc 1.x)
> +# - SO_PRIORITY (2009, kernel 2.6.31)
> +# - TCP_KEEPCNT (pre 2005/2013, pre kernel 2.6.12, glibc 2.18)
> +# - TCP_KEEPIDLE (pre 2005/2013, pre kernel 2.6.12, glibc 2.18)
> +# - TCP_KEEPINTVL(pre 2005/2013, pre kernel 2.6.12, glibc 2.18)
> +# - getrandom(2014/2017, kernel 3.17, glibc 2.25)
> +# Note: TCP_KEEPALIVE is not available in glibc/kernel.
> +LIBZMQ_CONF_ENV += \
> + libzmq_cv_o_cloexec=yes \
> + libzmq_cv_efd_cloexec=yes \
> + libzmq_cv_sock_cloexec=yes \
> + libzmq_cv_so_bindtodevice=yes \
> + libzmq_cv_so_keepalive=yes \
> + libzmq_cv_so_priority=yes \
> + libzmq_cv_tcp_keepcnt=yes \
> + libzmq_cv_tcp_keepidle=yes \
> + libzmq_cv_tcp_keepintvl=yes \
> + libzmq_cv_getrandom=yes
> +
> #
> # autoconf
> #
>
> base-commit: 20275946c697076ca6f696276117daf08ca6f4d1
> --
> 2.30.2
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- |