]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
agetpass: Hook into build-system
authorGuillem Jover <guillem@hadrons.org>
Mon, 21 Nov 2022 13:00:13 +0000 (14:00 +0100)
committerIker Pedrosa <ikerpedrosam@gmail.com>
Mon, 5 Dec 2022 09:47:19 +0000 (10:47 +0100)
Signed-off-by: Guillem Jover <guillem@hadrons.org>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
configure.ac
libmisc/Makefile.am
libmisc/agetpass.c

index 6c7d9839979e037d36f42d7ff1bd80680612b1f6..a22b47bdd07c41e560ef44c93eed538d8a0609f0 100644 (file)
@@ -405,6 +405,21 @@ AC_SUBST(LIYESCRYPT)
 AC_CHECK_LIB(crypt, crypt, [LIYESCRYPT=-lcrypt],
        [AC_MSG_ERROR([crypt() not found])])
 
+AC_SEARCH_LIBS([readpassphrase], [bsd], [], [
+       AC_MSG_ERROR([readpassphrase() is missing, either from libc or libbsd])
+])
+AS_IF([test "$ac_cv_search_readpassphrase" = "-lbsd"], [
+       PKG_CHECK_MODULES([LIBBSD], [libbsd-overlay])
+])
+dnl Make sure either the libc or libbsd provide the header.
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS $LIBBSD_CFLAGS"
+AC_CHECK_HEADERS([readpassphrase.h])
+AS_IF([test "$ac_cv_header_readpassphrase_h" != "yes"], [
+       AC_MSG_ERROR([readpassphrase.h is missing])
+])
+CFLAGS="$save_CFLAGS"
+
 AC_SUBST(LIBACL)
 if test "$with_acl" != "no"; then
        AC_CHECK_HEADERS(acl/libacl.h attr/error_context.h, [acl_header="yes"], [acl_header="no"])
index 636cc4394da817a1361f3ed0eaef6ac8eef4d2b2..c2277a02343e34820d6ff68f3a1ad2dee20ff14e 100644 (file)
@@ -5,6 +5,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir) $(ECONF_CPPFLAGS)
 
 noinst_LTLIBRARIES = libmisc.la
 
+libmisc_la_CFLAGS = $(LIBBSD_CFLAGS)
 libmisc_la_SOURCES = \
        addgrps.c \
        age.c \
index 3271ea39afecb1ebb4311506cc5905c1789baf62..f4aad7a302e9218c52b6121303465cd82cee3562 100644 (file)
@@ -26,6 +26,8 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <config.h>
+
 #include <limits.h>
 #include <readpassphrase.h>
 #include <stdio.h>