X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=configure.ac;h=dc2ad0aa3cd117b4607bfcb940be075c586801e7;hb=73339493aeb2ecba8568b268f98a790420b7db41;hp=616ad54db0807019a38c33085481314405bd1680;hpb=1aeb3051b91d55cb23e15d5b03fe71a7cb447860;p=rtaudio-cdist.git diff --git a/configure.ac b/configure.ac index 616ad54..dc2ad0a 100644 --- a/configure.ac +++ b/configure.ac @@ -1,12 +1,26 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(RtAudio, 4.0, gary@music.mcgill.ca, rtaudio) +AC_INIT(RtAudio, 4.1, gary@music.mcgill.ca, rtaudio) AC_CONFIG_AUX_DIR(config) AC_CONFIG_SRCDIR(RtAudio.cpp) -AC_CONFIG_FILES([rtaudio-config Makefile tests/Makefile]) +AC_CONFIG_FILES([rtaudio-config librtaudio.pc Makefile tests/Makefile]) # Fill GXX with something before test. AC_SUBST( GXX, ["no"] ) +dnl Check for pkg-config program, used for configuring some libraries. +m4_define_default([PKG_PROG_PKG_CONFIG], +[AC_MSG_CHECKING([pkg-config]) +AC_MSG_RESULT([no])]) + +PKG_PROG_PKG_CONFIG + +dnl If the pkg-config autoconf support isn't installed, define its +dnl autoconf macro to disable any packages depending on it. +m4_define_default([PKG_CHECK_MODULES], +[AC_MSG_CHECKING([$1]) +AC_MSG_RESULT([no]) +$4]) + # Checks for programs. AC_PROG_CXX(g++ CC c++ cxx) AC_PROG_RANLIB @@ -30,6 +44,12 @@ AC_ARG_ENABLE(debug, # 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" @@ -39,14 +59,26 @@ CXXFLAGS="$cxxflag" # Check compiler and use -Wall if gnu. if [test $GXX = "yes" ;] then - AC_SUBST( cxxflag, [-Wall] ) + AC_SUBST( cxxflag, ["-Wall -Wextra"] ) fi CXXFLAGS="$CXXFLAGS $cxxflag" +AC_CANONICAL_HOST + +AC_SUBST( sharedlib, ["librtaudio.so"] ) +AC_SUBST( sharedname, ["librtaudio.so.\$(RELEASE)"] ) +AC_SUBST( libflags, ["-shared -Wl,-soname,\$(SHARED).\$(MAJOR) -o \$(SHARED).\$(RELEASE)"] ) +case $host in + *-apple*) + AC_SUBST( sharedlib, ["librtaudio.dylib"] ) + AC_SUBST( sharedname, ["librtaudio.\$(RELEASE).dylib"] ) + AC_SUBST( libflags, ["-dynamiclib -o librtaudio.\$(RELEASE).dylib"] ) +esac + # Checks for package options and external software AC_SUBST( api, [""] ) -AC_CANONICAL_HOST +AC_SUBST( req, [""] ) AC_MSG_CHECKING(for audio API) case $host in *-*-netbsd*) @@ -66,9 +98,17 @@ case $host in # Look for ALSA flag AC_ARG_WITH(alsa, [ --with-alsa = choose native ALSA API support (linux only)], [ 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!))], ) + # Look for PULSE flag + AC_ARG_WITH(pulse, [ --with-pulse = choose PulseAudio API support (linux only)], [ + 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!))], ) + # Look for OSS flag AC_ARG_WITH(oss, [ --with-oss = choose OSS API support (linux only)], [ api="$api -D__LINUX_OSS__" @@ -78,6 +118,7 @@ case $host in if [test "$api" == "";] then AC_MSG_RESULT(using ALSA) AC_SUBST( api, [-D__LINUX_ALSA__] ) + req="$req alsa" AC_CHECK_LIB(asound, snd_pcm_open, , AC_MSG_ERROR(ALSA support requires the asound library!)) fi @@ -126,7 +167,13 @@ case $host in AC_MSG_RESULT(using DirectSound) LIBS="-ldsound -lwinmm $LIBS" ], ) - # If no audio api flags specified, use DirectSound + # Look for WASAPI flag + AC_ARG_WITH(wasapi, [ --with-wasapi = choose Windows Audio Session API support (windoze only)], [ + api="$api -D__WINDOWS_WASAPI__" + AC_MSG_RESULT(using WASAPI) + LIBS="-lwinmm -luuid -lksuser $LIBS" ], ) + + # If no audio api flags specified, use DS if [test "$api" == "";] then AC_SUBST( api, [-D__WINDOWS_DS__] ) AC_MSG_RESULT(using DirectSound)