chiark / gitweb /
Use -isystem for extra system includes on FreeBSD.
[disorder] / configure.ac
index 99b2e9726b5028a11884a095af9a051bfa04edaa..369a6f0eef1af829b3c88b011ebd1e51d186413b 100644 (file)
@@ -2,6 +2,7 @@
 #
 # This file is part of DisOrder.
 # Copyright (C) 2004, 2005, 2006, 2007 Richard Kettlewell
+# Portions copyright (C) 2007 Ross Younger
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,9 +20,9 @@
 # USA
 #
 
-AC_INIT([disorder], [1.5.99+], [richard+disorder@sfere.greenend.org.uk])
+AC_INIT([disorder], [2.0+], [richard+disorder@sfere.greenend.org.uk])
 AC_CONFIG_AUX_DIR([config.aux])
-AM_INIT_AUTOMAKE(disorder, [1.5.99+])
+AM_INIT_AUTOMAKE(disorder, [2.0+])
 AC_CONFIG_SRCDIR([server/disorderd.c])
 AM_CONFIG_HEADER([config.h])
 
@@ -81,6 +82,17 @@ case "$host" in
   fi
   browser=open
   ;;
+*-freebsd* )
+  AC_MSG_RESULT([FreeBSD])
+  want_server=yes
+  # Ports install to /usr/local but the compiler stupidly doesn't look
+  # there by default
+  LDFLAGS="${LDFLAGS} -L/usr/local/lib"
+  CPPFLAGS="${CPPFLAGS} -isystem /usr/local/include"
+  # libdb installs elsewhere again
+  LDFLAGS="${LDFLAGS} -L/usr/local/lib/db44"
+  CPPFLAGS="${CPPFLAGS} -isystem /usr/local/include/db44"
+  ;;
 * )
   AC_MSG_RESULT([unknown, winging it])
   want_server=no
@@ -143,6 +155,20 @@ AC_DISABLE_STATIC
 
 AC_PROG_LIBTOOL
 
+AC_CACHE_CHECK([for GNU sed],[rjk_cv_gnused],[
+  rjk_cv_gnused="not found"
+  for candidate in sed gsed; do
+    if $candidate --version >/dev/null 2>&1; then
+      rjk_cv_gnused=$candidate 
+    fi
+  done
+])
+GNUSED="${GNUSED:-$rjk_cv_gnused}"
+if test "$GNUSED" = "not found"; then
+  AC_MSG_ERROR([GNU sed is required to build this program])
+fi
+AC_SUBST([GNUSED])
+
 missing_libraries=""
 missing_headers=""
 missing_functions=""
@@ -204,6 +230,9 @@ if test $want_server = yes; then
               [AC_SUBST(LIBFLAC,[-lFLAC])],
               [missing_libraries="$missing_libraries libFLAC"])
 fi
+AC_CHECK_LIB([pthread], [pthread_create],
+             [AC_SUBST(LIBPTHREAD,[-lpthread])],
+            [missing_libraries="$missing_libraries libpthread"])
 
 if test $want_gtk = yes; then
   AM_PATH_GLIB_2_0([],[],[missing_libraries="$missing_libraries libglib"])
@@ -232,9 +261,6 @@ if test ! -z "$missing_libraries"; then
   AC_MSG_ERROR([missing libraries:$missing_libraries])
 fi
 
-# We require that libpcre support UTF-8
-RJK_REQUIRE_PCRE_UTF8([-lpcre])
-
 # Checks for header files.
 RJK_FIND_GC_H
 if test $want_oss = yes; then
@@ -267,6 +293,9 @@ if test ! -z "$missing_headers"; then
   AC_MSG_ERROR([missing headers:$missing_headers])
 fi
 
+# We require that libpcre support UTF-8
+RJK_REQUIRE_PCRE_UTF8([-lpcre])
+
 # Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_SIZE_T
@@ -466,10 +495,10 @@ if test "x$GCC" = xyes; then
   if test $rjk_cv_shadow = yes; then
     CC="${CC} -Wshadow"
   fi
-                  
-
 fi
 
+RJK_GCOV
+
 AH_BOTTOM([#ifdef __GNUC__
 # define attribute(x) __attribute__(x)
 #else