diff options
Diffstat (limited to 'configure.ac')
| -rw-r--r-- | configure.ac | 119 |
1 files changed, 55 insertions, 64 deletions
diff --git a/configure.ac b/configure.ac index 027dae0..97989d2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,6 @@ # Process this file with autoconf to produce a configure script. AC_INIT(RtAudio, 4.0, gary@music.mcgill.ca, rtaudio) +AC_CONFIG_AUX_DIR(config) AC_CONFIG_SRCDIR(RtAudio.cpp) AC_CONFIG_FILES([rtaudio-config Makefile tests/Makefile]) @@ -7,8 +8,7 @@ AC_CONFIG_FILES([rtaudio-config Makefile tests/Makefile]) AC_SUBST( GXX, ["no"] ) # Checks for programs. -AC_PROG_CC -AC_PROG_CXX(g++ CC c++ cxx) +AC_PROG_CXX AC_PROG_RANLIB AC_PATH_PROG(AR, ar, no) if [[ $AR = "no" ]] ; then @@ -19,66 +19,65 @@ fi AC_HEADER_STDC AC_CHECK_HEADERS(sys/ioctl.h unistd.h) -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST - # Check for debug AC_MSG_CHECKING(whether to compile debug version) AC_ARG_ENABLE(debug, [ --enable-debug = enable various debug output], - [AC_SUBST( debug, [-D__RTAUDIO_DEBUG__] ) AC_SUBST( cflags, [-g] ) AC_SUBST( object_path, [Debug] ) AC_MSG_RESULT(yes)], - [AC_SUBST( debug, [] ) AC_SUBST( cflags, [-O2] ) AC_SUBST( object_path, [Release] ) AC_MSG_RESULT(no)]) + [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, [CFLAGS=$CFLAGS" -DHAVE_GETTIMEOFDAY"], ) +AC_CHECK_FUNC(gettimeofday, [cppflag="$cppflag -DHAVE_GETTIMEOFDAY"], ) + +# 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( warn, [-Wall] ) + AC_SUBST( cxxflag, [-Wall] ) fi -CFLAGS="$CFLAGS $cflags" +CXXFLAGS="$CXXFLAGS $cxxflag" # Checks for package options and external software +AC_SUBST( api, [""] ) AC_CANONICAL_HOST AC_MSG_CHECKING(for audio API) case $host in *-*-netbsd*) - AC_SUBST( sound_api, [-D__LINUX_OSS__] ) AC_MSG_RESULT(using OSS) - AC_SUBST( audio_apis, [-D__LINUX_OSS__] ) - CFLAGS=$CFLAGS" -lossaudio" + api="$api -D__LINUX_OSS__" + LIBS="$LIBS -lossaudio" AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!)) ;; *-*-linux*) - AC_SUBST( sound_api, [_NO_API_] ) - AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (mac and linux only)], [AC_SUBST( sound_api, [-D__UNIX_JACK__] ) AC_MSG_RESULT(using JACK)], ) - if [test $sound_api = -D__UNIX_JACK__;] then - TEMP_LIBS=$LIBS - AC_CHECK_LIB(jack, jack_client_new, , 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!)) - LIBS="`pkg-config --CFLAGS --libs jack` $TEMP_LIBS -lasound" - audio_apis="-D__UNIX_JACK__" - fi + 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!))], ) # Look for ALSA flag - AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [AC_SUBST( sound_api, [-D__LINUX_ALSA__] ) AC_MSG_RESULT(using ALSA)], ) - if [test $sound_api = -D__LINUX_ALSA__;] then - AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!)) - audio_apis="-D__LINUX_ALSA__ $audio_apis" - fi + AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [ + api="$api -D__LINUX_ALSA__" + AC_MSG_RESULT(using ALSA) + AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!))], ) # Look for OSS flag - AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [AC_SUBST( sound_api, [-D__LINUX_OSS__] ) AC_MSG_RESULT(using OSS)], ) - if test $sound_api = -D__LINUX_OSS__; then - audio_apis="-D__LINUX_OSS__ $audio_apis" - fi + AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [ + api="$api -D__LINUX_OSS__" + AC_MSG_RESULT(using OSS)], ) # If no audio api flags specified, use ALSA - if [test $sound_api = _NO_API_;] then + if [test "$api" == "";] then AC_MSG_RESULT(using ALSA) - AC_SUBST( audio_apis, [-D__LINUX_ALSA__] ) + AC_SUBST( api, [-D__LINUX_ALSA__] ) AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!)) fi @@ -86,54 +85,47 @@ case $host in ;; *-apple*) - AC_SUBST( sound_api, [_NO_API_] ) - AC_ARG_WITH(jack, [ --with-jack = choose JACK server support (unix only)], [AC_SUBST( sound_api, [-D__UNIX_JACK__] ) AC_MSG_RESULT(using JACK)], ) - if [test $sound_api = -D__UNIX_JACK__;] then - AC_CHECK_LIB(jack, jack_client_new, , AC_MSG_ERROR(JACK support requires the jack library!)) - audio_apis="-D__UNIX_JACK__" - fi + 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_new, , AC_MSG_ERROR(JACK support requires the jack library!))], ) # Look for Core flag - AC_ARG_WITH(core, [ --with-core = choose CoreAudio API support (mac only)], [AC_SUBST( sound_api, [-D__MACOSX_CORE__] ) AC_MSG_RESULT(using CoreAudio)], ) - if test $sound_api = -D__MACOSX_CORE__; then + AC_ARG_WITH(core, [ --with-core = choose CoreAudio API support (mac only)], [ + api="$api -D__MACOSX_CORE__" + AC_MSG_RESULT(using CoreAudio) AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [], [AC_MSG_ERROR(CoreAudio header files not found!)] ) - AC_SUBST( frameworks, ["-framework CoreAudio -framework CoreFoundation"] ) - audio_apis="-D__MACOSX_CORE__ $audio_apis" - fi + LIBS="$LIBS -framework CoreAudio -framework CoreFoundation" ], ) # If no audio api flags specified, use CoreAudio - if [test $sound_api = _NO_API_;] then - AC_SUBST( sound_api, [-D__MACOSX_CORE__] ) + if [test "$api" == ""; ] then + AC_SUBST( api, [-D__MACOSX_CORE__] ) AC_MSG_RESULT(using CoreAudio) AC_CHECK_HEADER(CoreAudio/CoreAudio.h, - [AC_SUBST( audio_apis, [-D__MACOSX_CORE__] )], + [], [AC_MSG_ERROR(CoreAudio header files not found!)] ) - AC_SUBST( frameworks, ["-framework CoreAudio -framework CoreFoundation"] ) + AC_SUBST( LIBS, ["-framework CoreAudio -framework CoreFoundation"] ) fi AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR(RtAudio requires the pthread library!)) ;; *-mingw32*) - AC_SUBST( sound_api, [_NO_API_] ) - AC_ARG_WITH(asio, [ --with-asio = choose ASIO API support (windoze only)], [AC_SUBST( sound_api, [-D__WINDOWS_ASIO__] ) AC_MSG_RESULT(using ASIO)], ) - if [test $sound_api = -D__WINDOWS_ASIO__;] then - audio_apis="-D__WINDOWS_ASIO__" - AC_SUBST( objects, ["asio.o asiodrivers.o asiolist.o iasiothiscallresolver.o"] ) - fi + AC_ARG_WITH(asio, [ --with-asio = choose ASIO API support (windoze only)], [ + api="$api -D__WINDOWS_ASIO__" + AC_MSG_RESULT(using ASIO) + 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_SUBST( sound_api, [-D__WINDOWS_DS__] ) AC_MSG_RESULT(using DirectSound)], ) - if test $sound_api = -D__WINDOWS_DS__; then - audio_apis="-D__WINDOWS_DS__ $audio_apis" - LIBS="-ldsound -lwinmm $LIBS" - fi + AC_ARG_WITH(ds, [ --with-ds = choose DirectSound API support (windoze only)], [ + api="$api -D__WINDOWS_DS__" + AC_MSG_RESULT(using DirectSound) + LIBS="-ldsound -lwinmm $LIBS" ], ) # If no audio api flags specified, use DirectSound - if [test $sound_api = _NO_API_;] then - AC_SUBST( sound_api, [-D__WINDOWS_DS__] ) + if [test "$api" == "";] then + AC_SUBST( api, [-D__WINDOWS_DS__] ) AC_MSG_RESULT(using DirectSound) - audio_apis="-D__WINDOWS_DS__" LIBS="-ldsound -lwinmm $LIBS" fi @@ -146,8 +138,7 @@ case $host in ;; esac -# Checks for library functions. -AC_PROG_GCC_TRADITIONAL +CPPFLAGS="$CPPFLAGS $api" AC_OUTPUT |
