is_windows=no
+api_time_macros=unknown
+
abi_accmode=unknown
abi_arc4random=unknown
abi_arc4random_stir=unknown
AS_CASE([$host_os],
[*-gnu* | gnu*], [
+ api_time_macros=no
+
abi_accmode=yes
# DROP: On glibc >= 2.36.
#abi_arc4random=no
abi_wcsl=yes
],
[*-musl*], [
+ api_time_macros=no
+
abi_accmode=yes
abi_arc4random=yes
abi_arc4random_stir=yes
abi_wcsl=yes
],
[darwin*], [
+ api_time_macros=no
+
abi_accmode=no
abi_arc4random=no
abi_arc4random_stir=no
abi_wcsl=no
],
[solaris2*], [
+ api_time_macros=yes
+
abi_accmode=yes
abi_arc4random=no
abi_arc4random_stir=no
abi_wcsl=yes
],
[aix*], [
+ api_time_macros=yes
+
abi_accmode=yes
abi_arc4random=yes
abi_arc4random_stir=yes
AM_CONDITIONAL([HAVE_GETENTROPY], [test "x$ac_cv_func_getentropy" = "xyes"])
+# API selection
+LIBBSD_SELECT_API([time_macros], [time struct conversion macros])
+
# ABI selection
LIBBSD_SELECT_ABI([accmode], [setmode()/getmode()])
LIBBSD_SELECT_ABI([arc4random], [arc4random() API])
[test "$libbsd_cv_gnu_init_array_support" = yes])
])
+# LIBBSD_SELECT_API(name, desc)
+# -----------------
+AC_DEFUN([LIBBSD_SELECT_API], [
+ AS_IF([test -z "$AS_TR_SH([api_$1])"], [
+ AC_MSG_ERROR([missing API selection for $1])
+ ], [test "$AS_TR_SH([api_$1])" = "unknown"], [
+ AC_MSG_ERROR([unknown ABI selection for $1])
+ ], [test "$AS_TR_SH([api_$1])" = "yes"], [
+ AC_DEFINE(AS_TR_CPP([LIBBSD_API_$1]), [1], [Provide API for $2])
+ ], [
+ AC_DEFINE(AS_TR_CPP([LIBBSD_API_$1]), [0])
+ ])
+ AM_CONDITIONAL(AS_TR_CPP([API_$1]),
+ [test "x$AS_TR_SH([api_$1])" = "xyes"])
+])
+
# LIBBSD_SELECT_ABI(name, desc)
# -----------------
AC_DEFUN([LIBBSD_SELECT_ABI], [
TAILQ_PREV.3bsd \
TAILQ_REMOVE.3bsd \
TAILQ_SWAP.3bsd \
- TIMESPEC_TO_TIMEVAL.3bsd \
- TIMEVAL_TO_TIMESPEC.3bsd \
be16dec.3bsd \
be16enc.3bsd \
be32dec.3bsd \
tree.3bsd \
# EOL
+if API_TIME_MACROS
+dist_man_MANS += \
+ TIMESPEC_TO_TIMEVAL.3bsd \
+ TIMEVAL_TO_TIMESPEC.3bsd \
+ # EOL
+endif
+
if ABI_ACCMODE
dist_man_MANS += \
getmode.3bsd \