# Process this file with autoconf to produce a configure script.
-AC_INIT(RtAudio, 4.1.2, gary@music.mcgill.ca, rtaudio)
+AC_INIT(RtAudio, 5.0.0, gary@music.mcgill.ca, rtaudio)
AC_CONFIG_AUX_DIR(config)
AC_CONFIG_SRCDIR(RtAudio.cpp)
-AC_CONFIG_FILES([rtaudio-config rtaudio.pc Makefile tests/Makefile doc/Makefile doc/doxygen/Doxyfile])
+AC_CONFIG_FILES([rtaudio.pc Makefile tests/Makefile doc/Makefile doc/doxygen/Doxyfile])
AM_INIT_AUTOMAKE([1.14 -Wall -Werror foreign subdir-objects])
# libtool version: current:revision:age
#
# If any interfaces have been removed since the last public release, then set
# age to 0.
-m4_define([lt_current], 5)
+m4_define([lt_current], 6)
m4_define([lt_revision], 0)
m4_define([lt_age], 0)
AC_MSG_RESULT([no])
$4])
+# Check for debug
+AC_MSG_CHECKING(whether to compile debug version)
+AC_ARG_ENABLE(debug,
+ [AS_HELP_STRING([--enable-debug],[enable various debug output])],
+ [: ${CXXFLAGS="-g -O0"};] [AC_DEFINE([__RTAUDIO_DEBUG__])],
+ [: ${CXXFLAGS="-O3"}])
+
# Checks for programs.
AC_PROG_CXX(g++ CC c++ cxx)
AM_PROG_AR
AC_HEADER_STDC
AC_CHECK_HEADERS(sys/ioctl.h unistd.h)
-# Check for debug
-AC_MSG_CHECKING(whether to compile debug version)
-AC_ARG_ENABLE(debug,
- [ --enable-debug = enable various debug output],
- [AC_SUBST( cppflag, [-D__RTAUDIO_DEBUG__] ) AC_SUBST( cxxflag, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)],
- [AC_SUBST( cppflag, [] ) AC_SUBST( cxxflag, [-O2] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)])
-
-# Checks for functions
-AC_CHECK_FUNC(gettimeofday, [cppflag="$cppflag -DHAVE_GETTIMEOFDAY"], )
-
-# Set paths if prefix is defined
-if test "x$prefix" != "x" && test "x$prefix" != "xNONE"; then
- LIBS="$LIBS -L$prefix/lib"
- CPPFLAGS="$CPPFLAGS -I$prefix/include"
-fi
-
-# For -I and -D flags
-CPPFLAGS="$CPPFLAGS $cppflag"
-
-# For debugging and optimization ... overwrite default because it has both -g and -O2
-#CXXFLAGS="$CXXFLAGS $cxxflag"
-CXXFLAGS="$cxxflag"
-
-# Check compiler and use -Wall if gnu.
-if [test $GXX = "yes" ;] then
- AC_SUBST( cxxflag, ["-Wall -Wextra"] )
+# Check compiler and use -Wall if gnu
+if test x"$GXX" = "xyes"; then
+ CXXFLAGS="${CXXFLAGS} -Wall -Wextra"
+ # Add -Werror in debug mode
+ if test x"${enable_debug+set}" = xset; then
+ CXXFLAGS="${CXXFLAGS} -Werror"
+ fi
fi
-CXXFLAGS="$CXXFLAGS $cxxflag"
+# Checks for functions
+AC_CHECK_FUNCS(gettimeofday)
# Checks for doxygen
AC_CHECK_PROG( DOXYGEN, [doxygen], [doxygen] )
AC_SUBST( api, [""] )
AC_SUBST( req, [""] )
AC_MSG_CHECKING(for audio API)
+
+AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)])
+AS_IF([test "x$with_jack" == "xyes"], [
+ api="$api -D__UNIX_JACK__"
+ AC_MSG_RESULT(using JACK)
+ AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))])
+
case $host in
*-*-netbsd*)
+ AS_IF([test "$api" == ""], [
AC_MSG_RESULT(using OSS)
api="$api -D__LINUX_OSS__"
LIBS="$LIBS -lossaudio"
- AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!))
+ AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!))])
;;
- *-*-linux*)
- AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)], [
- api="$api -D__UNIX_JACK__"
- AC_MSG_RESULT(using JACK)
- AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))
- AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(Jack support also requires the asound library!))], )
+ *-*-freebsd*)
+ AS_IF([test "$api" == ""], [
+ AC_MSG_RESULT(using OSS)
+ api="$api -D__LINUX_OSS__"
+ LIBS="$LIBS -lossaudio"
+ AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!))])
+ ;;
+ *-*-linux*)
# Look for ALSA flag
- AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [
+ AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)])
+ AS_IF([test "x$with_alsa" == "xyes"], [
api="$api -D__LINUX_ALSA__"
req="$req alsa"
AC_MSG_RESULT(using ALSA)
- AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], )
+ AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))])
# Look for PULSE flag
- AC_ARG_WITH(pulse, [ --with-pulse = choose PulseAudio API support (linux only)], [
+ AC_ARG_WITH(pulse, [ --with-pulse = choose PulseAudio API support (linux only)])
+ AS_IF([test "x$with_pulse" == "xyes"], [
api="$api -D__LINUX_PULSE__"
req="$req libpulse-simple"
AC_MSG_RESULT(using PulseAudio)
- AC_CHECK_LIB(pulse-simple, pa_simple_flush, , AC_MSG_ERROR(PulseAudio support requires the pulse-simple library!))], )
+ AC_CHECK_LIB(pulse-simple, pa_simple_flush, , AC_MSG_ERROR(PulseAudio support requires the pulse-simple library!))])
# Look for OSS flag
- AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [
+ AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (unixes)])
+ AS_IF([test "x$with_oss" == "xyes"], [
api="$api -D__LINUX_OSS__"
- AC_MSG_RESULT(using OSS)], )
+ AC_MSG_RESULT(using OSS)])
# If no audio api flags specified, use ALSA
if [test "$api" == "";] then
;;
*-apple*)
- AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (unix only)], [
- api="$api -D__UNIX_JACK__"
- AC_MSG_RESULT(using JACK)
- AC_CHECK_LIB(jack, jack_client_open, , AC_MSG_ERROR(JACK support requires the jack library!))], )
-
-# AC_CHECK_HEADER(jack/jack.h, [], [AC_MSG_ERROR(Jack header file not found!)] )
-# LIBS="$LIBS -framework jackmp" ], )
-
-
# Look for Core flag
- AC_ARG_WITH(core, [ --with-core = choose CoreAudio API support (mac only)], [
+ AC_ARG_WITH(core, [ --with-core = choose CoreAudio API support (mac only)])
+ AS_IF([test "x$with_core" == "xyes"], [
api="$api -D__MACOSX_CORE__"
AC_MSG_RESULT(using CoreAudio)
AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [], [AC_MSG_ERROR(CoreAudio header files not found!)] )
- LIBS="$LIBS -framework CoreAudio -framework CoreFoundation" ], )
+ LIBS="$LIBS -framework CoreAudio -framework CoreFoundation" ])
# If no audio api flags specified, use CoreAudio
if [test "$api" == ""; ] then
;;
*-mingw32*)
- AC_ARG_WITH(asio, [ --with-asio = choose ASIO API support (windoze only)], [
+ AC_ARG_WITH(asio, [ --with-asio = choose ASIO API support (windoze only)])
+ AS_IF([test "x$with_asio" == "xyes"], [
api="$api -D__WINDOWS_ASIO__"
AC_MSG_RESULT(using ASIO)
- AC_SUBST( objects, ["asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o"] ) ], )
+ AC_SUBST( objects, ["asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o"] ) ])
# Look for DirectSound flag
- AC_ARG_WITH(ds, [ --with-ds = choose DirectSound API support (windoze only)], [
+ AC_ARG_WITH(ds, [ --with-ds = choose DirectSound API support (windoze only)])
+ AS_IF([test "x$with_ds" == "xyes"], [
api="$api -D__WINDOWS_DS__"
AC_MSG_RESULT(using DirectSound)
- LIBS="-ldsound -lwinmm $LIBS" ], )
+ LIBS="-ldsound -lwinmm $LIBS" ])
# Look for WASAPI flag
- AC_ARG_WITH(wasapi, [ --with-wasapi = choose Windows Audio Session API support (windoze only)], [
+ AC_ARG_WITH(wasapi, [ --with-wasapi = choose Windows Audio Session API support (windoze only)])
+ AS_IF([test "x$with_wasapi" == "xyes"], [
api="$api -D__WINDOWS_WASAPI__"
AC_MSG_RESULT(using WASAPI)
- LIBS="-lwinmm -luuid -lksuser $LIBS" ], )
+ LIBS="-lwinmm -luuid -lksuser $LIBS" ])
# If no audio api flags specified, use DS
if [test "$api" == "";] then
CPPFLAGS="$CPPFLAGS $api"
AC_OUTPUT
-
-chmod oug+x rtaudio-config