From e8958dab67aa6dab54cf7a626b3969af27ebd0f4 Mon Sep 17 00:00:00 2001 From: Kareem Date: Fri, 27 Mar 2026 17:01:02 -0700 Subject: [PATCH 1/2] Define HAVE_LIMITS_H in options.h rather than config.h since types.h depends on this definition and config.h isn't consistently available at runtime. Fixes #9936. --- cmake/config.in | 3 --- cmake/options.h.in | 3 +++ configure.ac | 4 +++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/config.in b/cmake/config.in index f2524e41e43..6054b6dbe7b 100644 --- a/cmake/config.in +++ b/cmake/config.in @@ -19,9 +19,6 @@ /* Define to 1 if you have the `gmtime_r' function. */ #cmakedefine HAVE_GMTIME_R @HAVE_GMTIME_R@ -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_PCAP_PCAP_H @HAVE_PCAP_PCAP_H@ diff --git a/cmake/options.h.in b/cmake/options.h.in index 12ab8285e40..02227ee47a7 100644 --- a/cmake/options.h.in +++ b/cmake/options.h.in @@ -33,6 +33,9 @@ extern "C" { #endif #ifndef WOLFSSL_OPTIONS_IGNORE_SYS +/* Since types.h depends on HAVE_LIMITS_H, we must define it in options.h. */ +#undef HAVE_LIMITS_H +#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ #undef _GNU_SOURCE #cmakedefine _GNU_SOURCE #undef _POSIX_THREADS diff --git a/configure.ac b/configure.ac index d324fb30d39..ee2ba30ecd2 100644 --- a/configure.ac +++ b/configure.ac @@ -184,7 +184,9 @@ AC_ARG_ENABLE([freebsdkm-crypto-register], [ENABLED_BSDKM_REGISTER=no] ) -AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stddef.h time.h sys/ioctl.h sys/socket.h sys/time.h errno.h sys/un.h ctype.h sys/random.h]) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h netdb.h netinet/in.h stddef.h time.h sys/ioctl.h sys/socket.h sys/time.h errno.h sys/un.h ctype.h sys/random.h]) +# Special case: Since types.h depends on HAVE_LIMITS_H, we must define it in options.h. +AC_CHECK_HEADER([limits.h], [AM_CPPFLAGS="$AM_CPPFLAGS -DHAVE_LIMITS_H=1"], []) AC_CHECK_LIB([network],[socket]) AC_C_BIGENDIAN AC_C___ATOMIC From 29b915c3c001b6ef08a40fe48f652d165c4225e3 Mon Sep 17 00:00:00 2001 From: Kareem Date: Wed, 29 Apr 2026 16:15:27 -0700 Subject: [PATCH 2/2] Move HAVE_LIMITS_H outside of WOLFSSL_OPTIONS_IGNORE_SYS. --- cmake/options.h.in | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/cmake/options.h.in b/cmake/options.h.in index 02227ee47a7..b87c1dd4da6 100644 --- a/cmake/options.h.in +++ b/cmake/options.h.in @@ -33,14 +33,14 @@ extern "C" { #endif #ifndef WOLFSSL_OPTIONS_IGNORE_SYS -/* Since types.h depends on HAVE_LIMITS_H, we must define it in options.h. */ -#undef HAVE_LIMITS_H -#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ #undef _GNU_SOURCE #cmakedefine _GNU_SOURCE #undef _POSIX_THREADS #cmakedefine _POSIX_THREADS #endif +/* Since types.h depends on HAVE_LIMITS_H, we must define it in options.h. */ +#undef HAVE_LIMITS_H +#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@ #undef ASIO_USE_WOLFSSL #cmakedefine ASIO_USE_WOLFSSL #undef BOOST_ASIO_USE_WOLFSSL