From be12dd9fffe97a3c5336f77110292e4714bffbbb Mon Sep 17 00:00:00 2001 Message-Id: From: Mark Wooding Date: Sun, 20 May 2018 00:46:50 +0100 Subject: [PATCH] configure.ac: Hack around Termux syslog weirdness. Organization: Straylight/Edgeware From: Mark Wooding Termux's has weird macros to redirect to Android's logcat machinery, but these need a separate library to be linked in. Notice this weirdness and cope. --- configure.ac | 23 +++++++++++++++++++++++ progs/Makefile.am | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 40353daa..b41687a5 100644 --- a/configure.ac +++ b/configure.ac @@ -245,6 +245,29 @@ AC_SEARCH_LIBS([sqrt], [m]) AC_SUBST([MATHLIBS], [$LIBS]) LIBS=$mdw_ORIG_LIBS +dnl Logging is weird under Termux. Unfortunately, it involves macros, so we +dnl have to do this the hard way. +AC_CACHE_CHECK( + [library needed for syslog], [mdw_cv_syslog_lib], + [mdw_ORIG_LIBS=$LIBS LIBS= + for i in 0 1; do + AC_TRY_LINK([#include ], + [openlog("test", LOG_PID, LOG_DAEMON); + syslog(LOG_ERR, "this is a test");], + [ok=t], [ok=nil]) + case $i,$ok in + *,t) mdw_cv_syslog_lib=${LIBS:-none}; break ;; + 0,nil) LIBS="-llog" ;; + 1,nil) AC_MSG_ERROR("failed to link test program") ;; + esac + done + LIBS=$mdw_ORIG_LIBS]) +case $mdw_cv_syslog_lib in + none) LOGLIBS= ;; + *) LOGLIBS=$mdw_cv_syslog_lib ;; +esac +AC_SUBST([LOGLIBS]) + dnl Find out whether very long integer types are available. AC_CHECK_HEADERS([stdint.h]) AC_SUBST([have_stdint_h]) diff --git a/progs/Makefile.am b/progs/Makefile.am index 883174da..ff7f5f76 100644 --- a/progs/Makefile.am +++ b/progs/Makefile.am @@ -101,7 +101,7 @@ perftest_LDADD = $(LDADD) $(MATHLIBS) ## Remember passphrases for limited periods of time. bin_PROGRAMS += pixie pixie_SOURCES = pixie.c -pixie_LDADD = $(UTILS_LIBS) $(PIXIE_LIBS) +pixie_LDADD = $(UTILS_LIBS) $(PIXIE_LIBS) $(LOGLIBS) dist_man_MANS += pixie.1 EXTRA_DIST += xpixie -- [mdw]