configure.ac: Hack around Termux syslog weirdness.
[fwd] / configure.ac
index b1037ae..bb7eb4b 100644 (file)
@@ -68,6 +68,29 @@ AC_CHECK_FUNCS([setgroups])
 AC_CHECK_FUNCS([getnetbyname])
 AC_CHECK_FUNCS([strsignal])
 
+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 <syslog.h>],
+                [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) ;;
+  *) LIBS="$LIBS $mdw_cv_syslog_lib" ;;
+esac
+AC_SUBST([LOGLIBS])
+
 dnl--------------------------------------------------------------------------
 dnl Output.