mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2026-07-09 19:40:50 +02:00
Fix HAVE_LIMITS_H definition in CMake. Also move SIZEOF_LONG and SIZEOF_LONG_LONG definitions to options.h.
This commit is contained in:
@@ -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
|
||||
@@ -140,6 +148,17 @@ check_type_size("long" SIZEOF_LONG)
|
||||
check_type_size("time_t" SIZEOF_TIME_T)
|
||||
check_type_size("uintptr_t" HAVE_UINTPTR_T)
|
||||
|
||||
# SIZEOF_LONG/SIZEOF_LONG_LONG are exposed to applications through options.h
|
||||
# (see cmake/options.h.in) so that application code computes the same
|
||||
# CTC_SETTINGS as the library. The in-tree build does not include options.h,
|
||||
# so define them here for the library and test programs.
|
||||
if(HAVE_SIZEOF_LONG)
|
||||
add_definitions("-DSIZEOF_LONG=${SIZEOF_LONG}")
|
||||
endif()
|
||||
if(HAVE_SIZEOF_LONG_LONG)
|
||||
add_definitions("-DSIZEOF_LONG_LONG=${SIZEOF_LONG_LONG}")
|
||||
endif()
|
||||
|
||||
# By default, HAVE___UINT128_T gets defined as TRUE,
|
||||
# but we want it as 1.
|
||||
if(HAVE___UINT128_T)
|
||||
|
||||
@@ -49,12 +49,6 @@
|
||||
/* Define to the full name of this package. */
|
||||
#define PACKAGE_NAME "@CMAKE_PROJECT_NAME@"
|
||||
|
||||
/* The size of `long', as computed by sizeof. */
|
||||
#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
|
||||
|
||||
/* The size of `long long', as computed by sizeof. */
|
||||
#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@
|
||||
|
||||
/* The size of `time_t', as computed by sizeof. */
|
||||
#cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@
|
||||
|
||||
|
||||
+6
-1
@@ -38,9 +38,14 @@ extern "C" {
|
||||
#undef _POSIX_THREADS
|
||||
#cmakedefine _POSIX_THREADS
|
||||
#endif
|
||||
/* Since types.h depends on HAVE_LIMITS_H, we must define it in options.h. */
|
||||
/* Since types.h depends on HAVE_LIMITS_H, SIZEOF_LONG and SIZEOF_LONG_LONG,
|
||||
* we must define them in options.h. */
|
||||
#undef HAVE_LIMITS_H
|
||||
#cmakedefine HAVE_LIMITS_H @HAVE_LIMITS_H@
|
||||
#undef SIZEOF_LONG
|
||||
#cmakedefine SIZEOF_LONG @SIZEOF_LONG@
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#cmakedefine SIZEOF_LONG_LONG @SIZEOF_LONG_LONG@
|
||||
#undef ASIO_USE_WOLFSSL
|
||||
#cmakedefine ASIO_USE_WOLFSSL
|
||||
#undef BOOST_ASIO_USE_WOLFSSL
|
||||
|
||||
@@ -207,6 +207,15 @@ fi
|
||||
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"], [])
|
||||
# Propagate the measured integer sizes (from AC_CHECK_SIZEOF above) into
|
||||
# options.h. The library obtains these from config.h, but config.h is not
|
||||
# available to applications; without them, application code falls back to the
|
||||
# limits.h/architecture heuristics in types.h and can compute a CTC_SETTINGS
|
||||
# value that disagrees with the library's CheckRunTimeSettings().
|
||||
AS_IF([test "x$ac_cv_sizeof_long" != "x"],
|
||||
[AM_CPPFLAGS="$AM_CPPFLAGS -DSIZEOF_LONG=$ac_cv_sizeof_long"])
|
||||
AS_IF([test "x$ac_cv_sizeof_long_long" != "x"],
|
||||
[AM_CPPFLAGS="$AM_CPPFLAGS -DSIZEOF_LONG_LONG=$ac_cv_sizeof_long_long"])
|
||||
AC_CHECK_LIB([network],[socket])
|
||||
AC_C_BIGENDIAN
|
||||
AC_C___ATOMIC
|
||||
|
||||
Reference in New Issue
Block a user