build: Make digest function checks conditional on their use

The digest function checks where unconditionally requiring the functions
to exist or they would error out. But these functions are not required
on all systems, they depend on the ABI to be exposed.
This commit is contained in:
Guillem Jover 2024-02-20 04:28:01 +01:00
parent 1d28729514
commit de124dcafa

View File

@ -44,7 +44,7 @@ need_err=yes
need_errc=yes need_errc=yes
need_fpurge=yes need_fpurge=yes
need_funopen=yes need_funopen=yes
need_md5=yes need_md5=no
need_name_from_id=yes need_name_from_id=yes
need_nlist=yes need_nlist=yes
need_progname=yes need_progname=yes
@ -169,20 +169,28 @@ AM_CONDITIONAL([HAVE_LIBTESTU01],
[test "x$ac_cv_lib_testu01_unif01_CreateExternGenBits" = "xyes"]) [test "x$ac_cv_lib_testu01_unif01_CreateExternGenBits" = "xyes"])
saved_LIBS="$LIBS" saved_LIBS="$LIBS"
AC_SEARCH_LIBS([MD5Update], [md], [ AS_IF([test "$need_md5" = "yes"], [
AS_IF([test "x$ac_cv_search_MD5Update" != "xnone required"], [ AC_SEARCH_LIBS([MD5Update], [md], [
MD5_LIBS="$MD5_LIBS $ac_cv_search_MD5Update" AS_IF([test "x$ac_cv_search_MD5Update" != "xnone required"], [
need_transparent_libmd=yes MD5_LIBS="$MD5_LIBS $ac_cv_search_MD5Update"
need_transparent_libmd=yes
])
], [
AC_MSG_ERROR([cannot find required MD5 functions in libc or libmd])
]) ])
], [
AC_MSG_ERROR([cannot find required MD5 functions in libc or libmd])
]) ])
AC_SEARCH_LIBS([SHA512Update], [md], [ AS_IF([test "$need_arc4random" = "yes"], [
AS_IF([test "x$ac_cv_search_SHA512Update" != "xnone required"], [ AC_CHECK_FUNCS([getentropy])
LIBBSD_LIBS="$LIBBSD_LIBS $ac_cv_search_SHA512Update"
AS_IF([test "$ac_cv_func_getentropy" != "yes"], [
AC_SEARCH_LIBS([SHA512Update], [md], [
AS_IF([test "x$ac_cv_search_SHA512Update" != "xnone required"], [
LIBBSD_LIBS="$SHA512_LIBS $ac_cv_search_SHA512Update"
])
], [
AC_MSG_ERROR([cannot find required SHA-2 functions in libc or libmd])
])
]) ])
], [
AC_MSG_ERROR([cannot find required SHA-2 functions in libc or libmd])
]) ])
LIBS="$saved_LIBS" LIBS="$saved_LIBS"