]> git.ozlabs.org Git - ppp.git/commitdiff
pppd: Use a run-time test to detect libutil availability on Linux
authorPaul Mackerras <paulus@ozlabs.org>
Fri, 1 Jan 2021 00:26:48 +0000 (11:26 +1100)
committerPaul Mackerras <paulus@ozlabs.org>
Fri, 1 Jan 2021 08:53:32 +0000 (19:53 +1100)
This tests whether logwtmp is declared in <utmp.h>, and if not we
assume we need to include our own logwtmp implementation.  We assume
that if logwtmp is provided by the system then we need -lutil to get
it (as is the case for glibc).

This fixes compilation with musl libc and other libcs that don't
provide logwtmp.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
pppd/Makefile.linux

index 15fb8da976a6fc24153da9ce39b423e3113a8664..958cc29b1e595f484c95ab6dcde98321d4db11bb 100644 (file)
@@ -1,6 +1,6 @@
 #
 # pppd makefile for Linux
-# $Id: Makefile.linux,v 1.70 2007/06/19 02:08:34 carlsonj Exp $
+# Processed by configure to produce pppd/Makefile
 #
 
 # Default installation locations
@@ -78,8 +78,10 @@ PLUGIN=y
 # Enable EAP SRP-SHA1 authentication (requires libsrp)
 #USE_SRP=y
 
-# Use libutil
+# Use libutil; test if logwtmp is declared in <utmp.h> to detect
+ifeq ($(shell echo '\#include <utmp.h>' | $(CC) -E - 2>/dev/null | grep -q logwtmp && echo yes),yes)
 USE_LIBUTIL=y
+endif
 
 # Enable EAP-TLS authentication (requires MPPE support, libssl and libcrypto)
 USE_EAPTLS=y