Re: [ptxdist] [PATCH v2] libzmq: Add some conf env variables not automatically detected

2022-09-02 Thread Michael Olbrich
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- |



[ptxdist] [PATCH v2] libzmq: Add some conf env variables not automatically detected

2022-09-02 Thread Alexander Dahl
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
---

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