chiark / gitweb /
OSS support in speaker
[disorder] / configure.ac
index c87a40a195bc8db5eb1c158393003b3152b475b7..8b07fd83b1c23a9773fc312e978b1722a9097415 100644 (file)
@@ -19,9 +19,9 @@
 # USA
 #
 
-AC_INIT(disorder, 1.5.1+, richard+disorder@sfere.greenend.org.uk)
+AC_INIT(disorder, 1.5.99+, richard+disorder@sfere.greenend.org.uk)
 AC_CONFIG_AUX_DIR([config.aux])
-AM_INIT_AUTOMAKE(disorder, 1.5.1+)
+AM_INIT_AUTOMAKE(disorder, 1.5.99+)
 AC_CONFIG_SRCDIR([server/disorderd.c])
 AM_CONFIG_HEADER([config.h])
 
@@ -29,18 +29,25 @@ 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_speaker=yes
+  want_alsa=yes
+  want_server=yes
+  ;;
+*-apple-darwin* )
+  want_alsa=no
+  want_server=no
+  COREAUDIO="-framework CoreAudio"
   ;;
 * )
-  want_speaker=no
+  want_alsa=no
+  want_server=no
   ;;
 esac
+AC_SUBST([COREAUDIO])
 
 # Checks for programs.
 AC_PROG_CC
@@ -79,6 +86,7 @@ if test $want_gtk = yes; then
     subdirs="${subdirs} images"
   fi
 fi
+subdirs="${subdirs} tests"
 AC_SUBST([subdirs])
 
 # libtool config
@@ -99,12 +107,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$,,'`"
   ])
-  CPPFLAGS="${CPPFLAGS} -I${rjk_cv_finkprefix}/include"
+  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
@@ -134,19 +146,15 @@ if test $want_server = yes; then
   AC_CHECK_LIB([ao], [ao_initialize],
               [AC_SUBST(LIBAO,[-lao])],
               [missing_libraries="$missing_libraries libao"])
-  if test $want_speaker = yes; then
-    case "$host" in
-    *linux* | *Linux* )
-      AC_CHECK_LIB([asound], [snd_pcm_open],
-                  [AC_SUBST(LIBASOUND,[-lasound])],
-                  [missing_libraries="$missing_libraries libasound"])
-      AC_DEFINE([BUILD_SPEAKER],[1],[define to build the speaker subprocess])
-      ;;
-    * )
-      AC_MSG_ERROR([want to build speaker for unknown sound API])
-      ;;
-    esac
-  fi
+  AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new],
+              [AC_SUBST(LIBFLAC,[-lFLAC])],
+              [missing_libraries="$missing_libraries libFLAC"])
+fi
+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
 
 if test $want_gtk = yes; then
@@ -181,7 +189,7 @@ 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])
 # 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
@@ -206,6 +214,7 @@ fi
 AC_C_CONST
 AC_TYPE_SIZE_T
 AC_C_INLINE
+AC_C_BIGENDIAN
 AC_CHECK_TYPES([struct sockaddr_in6],,,[AC_INCLUDES_DEFAULT
 #include <netinet/in.h>])
 
@@ -349,7 +358,7 @@ if test "x$GCC" = xyes; then
   CC="${CC} $gcc_werror"
 
   # for older GCCs that don't know %ju (etc)
-  AC_CACHE_CHECK([checking whether -Wno-format is required],
+  AC_CACHE_CHECK([whether -Wno-format is required],
                 rjk_cv_noformat,
                 AC_TRY_COMPILE([#include <stdio.h>
 #include <stdint.h>
@@ -361,7 +370,7 @@ if test "x$GCC" = xyes; then
     CC="${CC} -Wno-format"
   fi
 
-  AC_CACHE_CHECK([checking whether -Wshadow is OK],
+  AC_CACHE_CHECK([whether -Wshadow is OK],
                 rjk_cv_shadow,
                  oldCC="${CC}"
                 CC="${CC} -Wshadow"
@@ -400,5 +409,6 @@ AC_CONFIG_FILES([Makefile
                 debian/Makefile
                 sounds/Makefile
                 python/Makefile
-                examples/Makefile])
+                examples/Makefile
+                tests/Makefile])
 AC_OUTPUT