chiark / gitweb /
configure.ac, vars.am: Use host-specific link options for test programs.
[catacomb] / configure.ac
index bdc94be7ee6841e30257ac21ba183962ea414d23..8ebda7baf1512047b204269ec249fda4b4362b3e 100644 (file)
@@ -39,6 +39,13 @@ AC_PROG_CC
 AX_CFLAGS_WARN_ALL
 AM_PROG_LIBTOOL
 mdw_LIBTOOL_VERSION_INFO
+case $host_os in
+  cygwin* | mingw* | pw32* | os2* | darwin* | cegcc*)
+    TEST_LDFLAGS=-no-fast-install ;;
+  *)
+    TEST_LDFLAGS=-no-install ;;
+esac
+AC_SUBST([TEST_LDFLAGS])
 
 AM_PROG_AS
 
@@ -78,8 +85,8 @@ AC_DEFUN([catacomb_CPU_FAMILIES],
    $1([i[[3-6]]86,*], [x86], [sysv])
    $1([x86_64,cygwin], [amd64], [win])
    $1([x86_64,*], [amd64], [sysv])
-   $1([arm,*-gnueabi | arm,*-gnueabihf | dnl
-       armv*,*-gnueabi | armv*,*-gnueabihf], [armel], [gnueabi])])
+   $1([arm,* | armv*,*], [armel], [std])
+   $1([aarch64,*], [arm64], [std])])
 
 dnl A utility to clear the `seen' flags, used so as to process each CPU or
 dnl ABI once.
@@ -239,11 +246,33 @@ AC_CHECK_TYPE([socklen_t], [],
 ])
 
 dnl The maths library.
-mdw_ORIG_LIBS=$LIBS LIBS=
+mdw_ORIG_LIBS=$LIBS LIBS=$CATACOMB_LIBS
 AC_SEARCH_LIBS([log], [m])
 AC_SEARCH_LIBS([sqrt], [m])
-AC_SUBST([MATHLIBS], [$LIBS])
-LIBS=$mdw_ORIG_LIBS
+CATACOMB_LIBS=$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 <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) 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])
@@ -368,6 +397,12 @@ LIBS=$mdw_ORIG_LIBS
 dnl Memory locking support.
 AC_CHECK_FUNCS([mlock])
 
+dnl See if we can find Valgrind's header files.
+AC_CHECK_HEADER([valgrind/memcheck.h],
+  AC_DEFINE([HAVE_VALGRIND_H], [1],
+           [Define if the Valgrind header files are available.])
+  [])
+
 dnl Set the master libraries we need.
 AC_SUBST([CATACOMB_LIBS])