chiark / gitweb /
force x-www-browser on debian
[disorder] / configure.ac
index 32eaeaffa987122d00a46a26b658d2ce9bffe6e7..28e8775998ff253d87fa8aaad40ef25b31268774 100644 (file)
@@ -19,9 +19,9 @@
 # USA
 #
 
 # USA
 #
 
-AC_INIT(disorder, 1.5.99+, richard+disorder@sfere.greenend.org.uk)
+AC_INIT([disorder], [1.5.99+], [richard+disorder@sfere.greenend.org.uk])
 AC_CONFIG_AUX_DIR([config.aux])
 AC_CONFIG_AUX_DIR([config.aux])
-AM_INIT_AUTOMAKE(disorder, 1.5.99+)
+AM_INIT_AUTOMAKE(disorder, [1.5.99+])
 AC_CONFIG_SRCDIR([server/disorderd.c])
 AM_CONFIG_HEADER([config.h])
 
 AC_CONFIG_SRCDIR([server/disorderd.c])
 AM_CONFIG_HEADER([config.h])
 
@@ -32,28 +32,80 @@ AC_CANONICAL_HOST
 want_gtk=yes
 want_python=yes
 
 want_gtk=yes
 want_python=yes
 
+# APIs we want
+want_alsa=yes
+want_oss=yes
+want_coreaudio=yes
+
+# Checks for programs.
+AC_PROG_CC
+AC_SET_MAKE
+if test "x$GCC" = xyes; then
+  gcc_werror=-Werror
+else
+  gcc_werror=""
+fi
+
+AC_ARG_WITH([alsa],
+           [AS_HELP_STRING([--without-alsa],
+                           [do not build with ALSA support])],
+           [want_alsa=$withval])
+AC_ARG_WITH([oss],
+           [AS_HELP_STRING([--without-oss],
+                           [do not build with OSS support])],
+           [want_oss=$withval])
+AC_ARG_WITH([coreaudio],
+           [AS_HELP_STRING([--without-coreaudio],
+                           [do not build with Core Audio support])],
+           [want_coreaudio=$withval])
+
+AC_MSG_CHECKING([for a known target platform])
 case "$host" in
 case "$host" in
+*empeg* )
+  AC_MSG_RESULT([empeg car stereo])
+  AC_DEFINE([EMPEG_HOST],[1],[define if host is an empeg car stereo])
+  # work around broken toolchain
+  AC_CHECK_LIB([gpg-error], [gpg_strerror])
+  AC_CHECK_LIB([pthread], [pthread_create])
+  want_server=no
+ ;;
 *linux* | *Linux* )
 *linux* | *Linux* )
+  AC_MSG_RESULT([Linux])
   want_server=yes
   ;;
 *-apple-darwin* )
   want_server=yes
   ;;
 *-apple-darwin* )
-  want_server=no
-  COREAUDIO="-framework CoreAudio"
+  AC_MSG_RESULT([Mac OS X])
+  want_server=yes
+  if test $want_coreaudio = yes; then
+    COREAUDIO="-framework CoreAudio"
+  fi
+  browser=open
   ;;
 * )
   ;;
 * )
+  AC_MSG_RESULT([unknown, winging it])
   want_server=no
   ;;
 esac
 AC_SUBST([COREAUDIO])
 
   want_server=no
   ;;
 esac
 AC_SUBST([COREAUDIO])
 
-# Checks for programs.
-AC_PROG_CC
-AC_SET_MAKE
-if test "x$GCC" = xyes; then
-  gcc_werror=-Werror
-else
-  gcc_werror=""
+AC_ARG_WITH([browser],
+            [AS_HELP_STRING([--with-browser=BROWSER],
+                           [use BROWSER to display HTML])],
+            [browser=$withval])
+
+AC_CACHE_CHECK([default HTML viewer],[rjk_cv_browser],[
+  rjk_cv_browser=UNKNOWN
+  for candidate in x-www-browser firefox mozilla konqueror netscape; do
+    if type $candidate >/dev/null 2>&1; then
+      rjk_cv_browser="$candidate"
+      break
+    fi
+  done
+])
+if test -z "$browser"; then
+  browser="$rjk_cv_browser"
 fi
 fi
+AC_DEFINE_UNQUOTED([BROWSER],["$browser"],[HTML viewer])
 
 AC_ARG_WITH([server],
            [AS_HELP_STRING([--without-server],
 
 AC_ARG_WITH([server],
            [AS_HELP_STRING([--without-server],
@@ -104,6 +156,7 @@ if test "x$FINK" != xnone; then
   AC_CACHE_CHECK([fink install directory],[rjk_cv_finkprefix],[
     rjk_cv_finkprefix="`echo "$FINK" | sed 's,/bin/fink$,,'`"
   ])
   AC_CACHE_CHECK([fink install directory],[rjk_cv_finkprefix],[
     rjk_cv_finkprefix="`echo "$FINK" | sed 's,/bin/fink$,,'`"
   ])
+  finkdir="${rjk_cv_finkprefix}"
   finkbindir="${rjk_cv_finkprefix}/bin"
   CPPFLAGS="${CPPFLAGS} -I${rjk_cv_finkprefix}/include/gc -I${rjk_cv_finkprefix}/include"
   if test $want_server = yes; then
   finkbindir="${rjk_cv_finkprefix}/bin"
   CPPFLAGS="${CPPFLAGS} -I${rjk_cv_finkprefix}/include/gc -I${rjk_cv_finkprefix}/include"
   if test $want_server = yes; then
@@ -113,6 +166,7 @@ if test "x$FINK" != xnone; then
 else
   finkbindir=""
 fi
 else
   finkbindir=""
 fi
+AC_SUBST([finkdir])
 AC_SUBST([finkbindir])
 
 # Checks for libraries.
 AC_SUBST([finkbindir])
 
 # Checks for libraries.
@@ -126,8 +180,10 @@ AC_CHECK_LIB(gcrypt, gcry_md_open,
 AC_CHECK_LIB(pcre, pcre_compile,
             [AC_SUBST(LIBPCRE,[-lpcre])],
             [missing_libraries="$missing_libraries libpcre"])
 AC_CHECK_LIB(pcre, pcre_compile,
             [AC_SUBST(LIBPCRE,[-lpcre])],
             [missing_libraries="$missing_libraries libpcre"])
-AC_CHECK_LIB([asound], [snd_pcm_open],
-             [AC_SUBST(LIBASOUND,[-lasound])])
+if test $want_alsa = yes; then
+  AC_CHECK_LIB([asound], [snd_pcm_open],
+               [AC_SUBST(LIBASOUND,[-lasound])])
+fi
 if test $want_server = yes; then
   RJK_CHECK_LIB(db, db_create, [#include <db.h>],
               [AC_SUBST(LIBDB,[-ldb])],
 if test $want_server = yes; then
   RJK_CHECK_LIB(db, db_create, [#include <db.h>],
               [AC_SUBST(LIBDB,[-ldb])],
@@ -182,7 +238,16 @@ RJK_REQUIRE_PCRE_UTF8([-lpcre])
 
 # Checks for header files.
 RJK_FIND_GC_H
 
 # Checks for header files.
 RJK_FIND_GC_H
-AC_CHECK_HEADERS([inttypes.h CoreAudio/AudioHardware.h sys/soundcard.h alsa/asoundlib.h linux/empeg.h])
+if test $want_oss = yes; then
+  AC_CHECK_HEADERS([sys/soundcard.h])
+fi
+if test $want_alsa = yes; then
+  AC_CHECK_HEADERS([alsa/asoundlib.h])
+fi
+if test $want_coreaudio = yes; then
+  AC_CHECK_HEADERS([CoreAudio/AudioHardware.h])
+fi
+AC_CHECK_HEADERS([inttypes.h])
 # We don't bother checking very standard stuff
 # Compilation will fail if any of these headers are missing, so we
 # check for them here and fail early.
 # We don't bother checking very standard stuff
 # Compilation will fail if any of these headers are missing, so we
 # check for them here and fail early.