Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,14 @@ check_include_file("sys/stat.h" HAVE_SYS_STAT_H)
check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
check_include_file("unistd.h" HAVE_UNISTD_H)

# types.h depends on HAVE_LIMITS_H, and it is defined in options.h (rather than
# config.h) so that applications consuming wolfSSL headers see it. The in-tree
# build, however, is configured through config.h/compile definitions and does
# not include options.h, so define it here as well.
if(HAVE_LIMITS_H)
add_definitions("-DHAVE_LIMITS_H")
endif()

include(CheckFunctionExists)

# TODO: Also check if these functions are declared by the
Expand Down
3 changes: 0 additions & 3 deletions cmake/config.in
Original file line number Diff line number Diff line change
Expand Up @@ -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 <limits.h> header file. */
#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@

/* Define to 1 if you have the <pcap/pcap.h> header file. */
#cmakedefine HAVE_PCAP_PCAP_H @HAVE_PCAP_PCAP_H@

Expand Down
3 changes: 3 additions & 0 deletions cmake/options.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ extern "C" {
#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
Expand Down
4 changes: 3 additions & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,9 @@ then
fi
fi

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
Expand Down
9 changes: 9 additions & 0 deletions wolfssl/wolfcrypt/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -231,6 +231,15 @@ typedef const char wcchar[];
(ULONG_MAX == 0xffffffffUL)
#define SIZEOF_LONG 4
#endif
/* On LP64 (e.g. 64-bit Linux/macOS) long is 8 bytes. Detect it from the
* target's own limits.h so CTC_SETTINGS matches the library, which gets
* SIZEOF_LONG=8 from config.h. This must be derived per-target (not
* baked into options.h), so LLP64 targets such as Windows correctly get
* SIZEOF_LONG=4 from the branch above. */
#if !defined(SIZEOF_LONG) && defined(ULONG_MAX) && \
(ULONG_MAX == 0xffffffffffffffffULL)
#define SIZEOF_LONG 8
#endif
#if !defined(SIZEOF_LONG_LONG) && defined(ULLONG_MAX) && \
(ULLONG_MAX == 0xffffffffffffffffULL)
#define SIZEOF_LONG_LONG 8
Expand Down
Loading