chiark / gitweb /
further empeg support
[disorder] / configure.ac
index 2082670d8492aec5a7fcd4014bd21226f47b4d84..ef43af14990db89f57b7d7bb46ac3e888c81e25b 100644 (file)
@@ -29,19 +29,9 @@ AM_CONFIG_HEADER([config.h])
 AC_CANONICAL_HOST
 
 # What we want to build
-want_server=yes
 want_gtk=yes
 want_python=yes
 
-case "$host" in
-*linux* | *Linux* )
-  want_alsa=yes
-  ;;
-* )
-  want_alsa=no
-  ;;
-esac
-
 # Checks for programs.
 AC_PROG_CC
 AC_SET_MAKE
@@ -51,6 +41,32 @@ else
   gcc_werror=""
 fi
 
+AC_MSG_CHECKING([for a known target platform])
+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* )
+  AC_MSG_RESULT([Linux])
+  want_server=yes
+  ;;
+*-apple-darwin* )
+  AC_MSG_RESULT([Mac OS X])
+  want_server=no
+  COREAUDIO="-framework CoreAudio"
+  ;;
+* )
+  AC_MSG_RESULT([unknown, winging it])
+  want_server=no
+  ;;
+esac
+AC_SUBST([COREAUDIO])
+
 AC_ARG_WITH([server],
            [AS_HELP_STRING([--without-server],
                            [do not build server])],
@@ -64,7 +80,7 @@ AC_ARG_WITH([python],
                            [do not build Python support])],
            [want_python=$withval])
 
-subdirs="scripts lib clients doc examples debian tests"
+subdirs="scripts lib clients doc examples debian"
 
 if test $want_server = yes; then
   subdirs="${subdirs} server plugins driver templates sounds images"
@@ -79,6 +95,7 @@ if test $want_gtk = yes; then
     subdirs="${subdirs} images"
   fi
 fi
+subdirs="${subdirs} tests"
 AC_SUBST([subdirs])
 
 # libtool config
@@ -99,12 +116,16 @@ if test "x$FINK" != xnone; then
   AC_CACHE_CHECK([fink install directory],[rjk_cv_finkprefix],[
     rjk_cv_finkprefix="`echo "$FINK" | sed 's,/bin/fink$,,'`"
   ])
+  finkbindir="${rjk_cv_finkprefix}/bin"
   CPPFLAGS="${CPPFLAGS} -I${rjk_cv_finkprefix}/include/gc -I${rjk_cv_finkprefix}/include"
   if test $want_server = yes; then
     CPPFLAGS="${CPPFLAGS} -I${rjk_cv_finkprefix}/include/db4"
   fi
   LDFLAGS="${LDFLAGS} -L${rjk_cv_finkprefix}/lib"
+else
+  finkbindir=""
 fi
+AC_SUBST([finkbindir])
 
 # Checks for libraries.
 # We save up a list of missing libraries that we can't do without
@@ -117,6 +138,8 @@ 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([asound], [snd_pcm_open],
+             [AC_SUBST(LIBASOUND,[-lasound])])
 if test $want_server = yes; then
   RJK_CHECK_LIB(db, db_create, [#include <db.h>],
               [AC_SUBST(LIBDB,[-ldb])],
@@ -134,12 +157,9 @@ if test $want_server = yes; then
   AC_CHECK_LIB([ao], [ao_initialize],
               [AC_SUBST(LIBAO,[-lao])],
               [missing_libraries="$missing_libraries libao"])
-  if test $want_alsa = yes; then
-    AC_CHECK_LIB([asound], [snd_pcm_open],
-                [AC_SUBST(LIBASOUND,[-lasound])],
-                [missing_libraries="$missing_libraries libasound"])
-    AC_DEFINE([API_ALSA],[1],[define to use the ALSA API])
-  fi
+  AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new],
+              [AC_SUBST(LIBFLAC,[-lFLAC])],
+              [missing_libraries="$missing_libraries libFLAC"])
 fi
 
 if test $want_gtk = yes; then
@@ -174,15 +194,14 @@ RJK_REQUIRE_PCRE_UTF8([-lpcre])
 
 # Checks for header files.
 RJK_FIND_GC_H
-AC_CHECK_HEADERS([inttypes.h])
+AC_CHECK_HEADERS([inttypes.h CoreAudio/AudioHardware.h sys/soundcard.h alsa/asoundlib.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
 if test $want_server = yes; then
   AC_CHECK_HEADERS([db.h],[:],[
     missing_headers="$missing_headers $ac_header"
   ])
-  AC_CHECK_HEADERS([sys/soundcard.h]) dnl can cope without
 fi
 AC_CHECK_HEADERS([dlfcn.h gcrypt.h \
                 getopt.h iconv.h langinfo.h \