summaryrefslogtreecommitdiff
path: root/portaudio/bindings/cpp/build/gnu/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'portaudio/bindings/cpp/build/gnu/configure.ac')
-rw-r--r--portaudio/bindings/cpp/build/gnu/configure.ac214
1 files changed, 214 insertions, 0 deletions
diff --git a/portaudio/bindings/cpp/build/gnu/configure.ac b/portaudio/bindings/cpp/build/gnu/configure.ac
new file mode 100644
index 0000000..5457c53
--- /dev/null
+++ b/portaudio/bindings/cpp/build/gnu/configure.ac
@@ -0,0 +1,214 @@
+#
+# PortAudioCpp V19 autoconf input file
+# Shamelessly ripped from the PortAudio one by Dominic Mazzoni
+# Ludwig Schwardt
+#
+
+# Require autoconf >= 2.13
+AC_PREREQ(2.13)
+
+AC_INIT([PortAudioCpp], [12])
+AC_CONFIG_SRCDIR([../../include/portaudiocpp/PortAudioCpp.hxx])
+
+###### Top-level directory of pacpp
+###### This makes it easy to shuffle the build directories
+###### Also edit AC_CONFIG_SRCDIR above (wouldn't accept this variable)!
+PACPP_ROOT="../.."
+
+######
+###### SET THIS TO PORTAUDIO DIRECTORY
+######
+PORTAUDIO="$PACPP_ROOT/../portaudio"
+
+# Various other variables and flags
+
+PACPP_INC="$PACPP_ROOT/include"
+INCLUDES="-I$PACPP_INC -I$PORTAUDIO -I$PORTAUDIO/pa_common"
+CFLAGS="-g -O2 -Wall -ansi -pedantic $INCLUDES"
+CXXFLAGS="$CFLAGS"
+PALIBDIR="$PORTAUDIO/lib"
+
+# Checks for programs
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_LN_S
+AC_PROG_RANLIB
+AC_PROG_INSTALL
+AC_PATH_PROG(AR, ar, no)
+if [[ $AR = "no" ]] ; then
+ AC_MSG_ERROR("Could not find ar - needed to create a library");
+fi
+
+# This must be one of the first tests we do or it will fail...
+AC_C_BIGENDIAN
+
+# Transfer these variables to the Makefile
+AC_SUBST(PACPP_ROOT)
+AC_SUBST(PORTAUDIO)
+AC_SUBST(PADLL)
+AC_SUBST(PACPP_DLL)
+AC_SUBST(PACPP_INC)
+AC_SUBST(SHARED_FLAGS)
+AC_SUBST(DLL_LIBS)
+AC_SUBST(CXXFLAGS)
+
+##################### CHECK FOR INSTALLED PACKAGES ############################
+
+# checks for various host APIs and arguments to configure that
+# turn them on or off
+
+AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
+
+# Determine the host description for the subsequent test.
+# PKG_CHECK_MODULES seems to check and set the host variable also, but
+# that then requires pkg-config availability which is not standard on
+# MinGW systems and can be a pain to install.
+AC_CANONICAL_HOST
+
+PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
+
+AC_ARG_WITH(alsa,
+ [ --with-alsa (default=auto)],
+ with_alsa=$withval, with_alsa="yes")
+
+AC_ARG_WITH(jack,
+ [ --with-jack (default=auto)],
+ with_jack=$withval, with_jack="yes")
+
+AC_ARG_WITH(oss,
+ [ --with-oss (default=yes)],
+ with_oss=$withval, with_oss="yes")
+
+AC_ARG_WITH(host_os,
+ [ --with-host_os (no default)],
+ host_os=$withval)
+
+AC_ARG_WITH(winapi,
+ [ --with-winapi ((wmme/directx/asio) default=wmme)],
+ with_winapi=$withval, with_winapi="wmme")
+
+# Mac API added for ASIO, can have other api's listed
+AC_ARG_WITH(macapi,
+ [ --with-macapi (asio) default=asio)],
+ with_macapi=$withval, with_macapi="asio")
+
+AC_ARG_WITH(asiodir,
+ [ --with-asiodir (default=/usr/local/asiosdk2)],
+ with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2")
+
+AC_ARG_WITH(dxdir,
+ [ --with-dxdir (default=/usr/local/dx7sdk)],
+ with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk")
+
+
+##################### HOST-SPECIFIC LIBRARY SETTINGS ##########################
+
+case "${host_os}" in
+ darwin* )
+ # Mac OS X configuration
+
+ LIBS="-framework AudioUnit -framework AudioToolbox -framework CoreAudio";
+ PADLL="libportaudio.dylib";
+ PACPP_DLL="libportaudiocpp.dylib";
+ SHARED_FLAGS="-framework AudioUnit -framework AudioToolbox";
+ SHARED_FLAGS="$SHARED_FLAGS -framework CoreAudio -dynamiclib";
+ if [[ $with_macapi = "asio" ]] ; then
+ if [[ $with_asiodir ]] ; then
+ ASIODIR="$with_asiodir";
+ else
+ ASIODIR="/usr/local/asiosdk2";
+ fi
+ echo "ASIODIR: $ASIODIR";
+ fi
+ ;;
+
+ mingw* )
+ # MingW configuration
+
+ echo "WINAPI: $with_winapi"
+ if [[ $with_winapi = "directx" ]] ; then
+ if [[ $with_dxdir ]] ; then
+ DXDIR="$with_dxdir";
+ else
+ DXDIR="/usr/local/dx7sdk";
+ fi
+ echo "DXDIR: $DXDIR"
+ LIBS="-L$PALIBDIR -lportaudio"
+ LIBS="$LIBS -lwinmm -lm -ldsound -lole32";
+ PADLL="portaudio.dll";
+ PACPP_DLL="portaudiocpp.dll";
+ SHARED_FLAGS="-shared -mthreads";
+ DLL_LIBS="-lwinmm -lm -L./dx7sdk/lib -ldsound -lole32";
+ CFLAGS="$CFLAGS -DPA_NO_WMME -DPA_NO_ASIO";
+ CXXFLAGS="$CFLAGS"
+ elif [[ $with_winapi = "asio" ]] ; then
+ if [[ $with_asiodir ]] ; then
+ ASIODIR="$with_asiodir";
+ else
+ ASIODIR="/usr/local/asiosdk2";
+ fi
+ echo "ASIODIR: $ASIODIR"
+
+ LIBS="-L$PALIBDIR -lportaudio"
+ LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
+ PADLL="portaudio.dll";
+ PACPP_DLL="portaudiocpp.dll";
+ SHARED_FLAGS="-shared -mthreads";
+ DLL_LIBS="-lwinmm -lm -lstdc++ -lole32 -luuid";
+ CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -DPA_NO_WMME -DPA_NO_DS -DWINDOWS";
+ CXXFLAGS="$CFLAGS";
+ else # WMME default
+ LIBS="-L$PALIBDIR -lportaudio"
+ LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
+ PADLL="portaudio.dll";
+ PACPP_DLL="portaudiocpp.dll";
+ SHARED_FLAGS="-shared -mthreads";
+ DLL_LIBS="-lwinmm";
+ CFLAGS="$CFLAGS -DPA_NO_DS -DPA_NO_ASIO";
+ CXXFLAGS="$CFLAGS";
+ fi
+ ;;
+
+ cygwin* )
+ # Cygwin configuration
+
+ LIBS="-L$PALIBDIR -lportaudio"
+ LIBS="$LIBS -lwinmm -lm";
+ PADLL="portaudio.dll";
+ PACPP_DLL="portaudiocpp.dll";
+ SHARED_FLAGS="-shared -mthreads";
+ DLL_LIBS="-lwinmm";
+ ;;
+
+ *)
+ # Unix OSS configuration
+
+ AC_CHECK_LIB(pthread, pthread_create,
+ ,
+ AC_MSG_ERROR([libpthread not found!]))
+
+ LIBS="$LIBS -L$PALIBDIR -lportaudio"
+
+ if [[ $have_jack = "yes" ] && [ $with_jack != "no" ]] ; then
+ LIBS="$LIBS $JACK_LIBS"
+ CFLAGS="$CFLAGS $JACK_CFLAGS"
+ AC_DEFINE(PA_USE_JACK)
+ fi
+
+ if [[ $have_alsa = "yes" ] && [ $with_alsa != "no" ]] ; then
+ LIBS="$LIBS -lasound"
+ AC_DEFINE(PA_USE_ALSA)
+ fi
+
+ if [[ $with_oss != "no" ]] ; then
+ AC_DEFINE(PA_USE_OSS)
+ fi
+ LIBS="$LIBS -lm -lpthread";
+ PADLL="libportaudio.so";
+ PACPP_DLL="libportaudiocpp.so";
+ SHARED_FLAGS="-shared";
+esac
+
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT