cannam@162: dnl cannam@162: dnl portaudio V19 configure.in script cannam@162: dnl cannam@162: dnl Dominic Mazzoni, Arve Knudsen, Stelios Bounanos cannam@162: dnl cannam@162: cannam@162: dnl Require autoconf >= 2.13 cannam@162: AC_PREREQ(2.13) cannam@162: cannam@162: dnl Init autoconf and make sure configure is being called cannam@162: dnl from the right directory cannam@162: AC_INIT([include/portaudio.h]) cannam@162: cannam@162: dnl Define build, build_cpu, build_vendor, build_os cannam@162: AC_CANONICAL_BUILD cannam@162: dnl Define host, host_cpu, host_vendor, host_os cannam@162: AC_CANONICAL_HOST cannam@162: dnl Define target, target_cpu, target_vendor, target_os cannam@162: AC_CANONICAL_TARGET cannam@162: cannam@162: dnl Specify options cannam@162: cannam@162: AC_ARG_WITH(alsa, cannam@162: AS_HELP_STRING([--with-alsa], [Enable support for ALSA @<:@autodetect@:>@]), cannam@162: [with_alsa=$withval]) cannam@162: cannam@162: AC_ARG_WITH(jack, cannam@162: AS_HELP_STRING([--with-jack], [Enable support for JACK @<:@autodetect@:>@]), cannam@162: [with_jack=$withval]) cannam@162: cannam@162: AC_ARG_WITH(oss, cannam@162: AS_HELP_STRING([--with-oss], [Enable support for OSS @<:@autodetect@:>@]), cannam@162: [with_oss=$withval]) cannam@162: cannam@162: AC_ARG_WITH(asihpi, cannam@162: AS_HELP_STRING([--with-asihpi], [Enable support for ASIHPI @<:@autodetect@:>@]), cannam@162: [with_asihpi=$withval]) cannam@162: cannam@162: AC_ARG_WITH(winapi, cannam@162: AS_HELP_STRING([--with-winapi], cannam@162: [Select Windows API support (@<:@wmme|directx|asio|wasapi|wdmks@:>@@<:@,...@:>@) @<:@wmme@:>@]), cannam@162: [with_winapi=$withval], [with_winapi="wmme"]) cannam@162: case "$target_os" in *mingw* | *cygwin*) cannam@162: with_wmme=no cannam@162: with_directx=no cannam@162: with_asio=no cannam@162: with_wasapi=no cannam@162: with_wdmks=no cannam@162: for api in $(echo $with_winapi | sed 's/,/ /g'); do cannam@162: case "$api" in cannam@162: wmme|directx|asio|wasapi|wdmks) cannam@162: eval with_$api=yes cannam@162: ;; cannam@162: *) cannam@162: AC_MSG_ERROR([unknown Windows API \"$api\" (do you need --help?)]) cannam@162: ;; cannam@162: esac cannam@162: done cannam@162: ;; cannam@162: esac cannam@162: cannam@162: AC_ARG_WITH(asiodir, cannam@162: AS_HELP_STRING([--with-asiodir], [ASIO directory @<:@/usr/local/asiosdk2@:>@]), cannam@162: with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2") cannam@162: cannam@162: AC_ARG_WITH(dxdir, cannam@162: AS_HELP_STRING([--with-dxdir], [DirectX directory @<:@/usr/local/dx7sdk@:>@]), cannam@162: with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk") cannam@162: cannam@162: debug_output=no cannam@162: AC_ARG_ENABLE(debug-output, cannam@162: AS_HELP_STRING([--enable-debug-output], [Enable debug output @<:@no@:>@]), cannam@162: [if test "x$enableval" != "xno" ; then cannam@162: AC_DEFINE(PA_ENABLE_DEBUG_OUTPUT,,[Enable debugging messages]) cannam@162: debug_output=yes cannam@162: fi cannam@162: ]) cannam@162: cannam@162: AC_ARG_ENABLE(cxx, cannam@162: AS_HELP_STRING([--enable-cxx], [Enable C++ bindings @<:@no@:>@]), cannam@162: enable_cxx=$enableval, enable_cxx="no") cannam@162: cannam@162: AC_ARG_ENABLE(mac-debug, cannam@162: AS_HELP_STRING([--enable-mac-debug], [Enable Mac debug @<:@no@:>@]), cannam@162: enable_mac_debug=$enableval, enable_mac_debug="no") cannam@162: cannam@162: AC_ARG_ENABLE(mac-universal, cannam@162: AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries @<:@yes@:>@]), cannam@162: enable_mac_universal=$enableval, enable_mac_universal="yes") cannam@162: cannam@162: dnl Continue to accept --host_os for compatibility but do not document cannam@162: dnl it (the correct way to change host_os is with --host=...). Moved cannam@162: dnl here because the empty help string generates a blank line which we cannam@162: dnl can use to separate PA options from libtool options. cannam@162: AC_ARG_WITH(host_os, [], host_os=$withval) cannam@162: cannam@162: dnl Checks for programs. cannam@162: cannam@162: AC_PROG_CC cannam@162: dnl ASIO and CXX bindings need a C++ compiler cannam@162: if [[ "$with_asio" = "yes" ] || [ "$enable_cxx" = "yes" ]] ; then cannam@162: AC_PROG_CXX cannam@162: fi cannam@162: AC_LIBTOOL_WIN32_DLL cannam@162: AC_PROG_LIBTOOL cannam@162: AC_PROG_INSTALL cannam@162: AC_PROG_LN_S cannam@162: AC_PATH_PROG(AR, ar, no) cannam@162: if [[ $AR = "no" ]] ; then cannam@162: AC_MSG_ERROR("Could not find ar - needed to create a library") cannam@162: fi cannam@162: cannam@162: dnl This must be one of the first tests we do or it will fail... cannam@162: AC_C_BIGENDIAN cannam@162: cannam@162: dnl checks for various host APIs and arguments to configure that cannam@162: dnl turn them on or off cannam@162: cannam@162: have_alsa=no cannam@162: if test "x$with_alsa" != "xno"; then cannam@162: AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no) cannam@162: fi cannam@162: have_asihpi=no cannam@162: if test "x$with_asihpi" != "xno"; then cannam@162: AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm) cannam@162: fi cannam@162: have_libossaudio=no cannam@162: have_oss=no cannam@162: if test "x$with_oss" != "xno"; then cannam@162: AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h machine/soundcard.h], [have_oss=yes]) cannam@162: if test "x$have_oss" = "xyes"; then cannam@162: AC_CHECK_LIB(ossaudio, _oss_ioctl, have_libossaudio=yes, have_libossaudio=no) cannam@162: fi cannam@162: fi cannam@162: have_jack=no cannam@162: if test "x$with_jack" != "xno"; then cannam@162: PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no) cannam@162: fi cannam@162: cannam@162: cannam@162: dnl sizeof checks: we will need a 16-bit and a 32-bit type cannam@162: cannam@162: AC_CHECK_SIZEOF(short) cannam@162: AC_CHECK_SIZEOF(int) cannam@162: AC_CHECK_SIZEOF(long) cannam@162: cannam@162: save_LIBS="${LIBS}" cannam@162: AC_CHECK_LIB(rt, clock_gettime, [rt_libs=" -lrt"]) cannam@162: LIBS="${LIBS}${rt_libs}" cannam@162: DLL_LIBS="${DLL_LIBS}${rt_libs}" cannam@162: AC_CHECK_FUNCS([clock_gettime nanosleep]) cannam@162: LIBS="${save_LIBS}" cannam@162: cannam@162: dnl LT_RELEASE=19 cannam@162: LT_CURRENT=2 cannam@162: LT_REVISION=0 cannam@162: LT_AGE=0 cannam@162: cannam@162: AC_SUBST(LT_CURRENT) cannam@162: AC_SUBST(LT_REVISION) cannam@162: AC_SUBST(LT_AGE) cannam@162: cannam@162: dnl extra variables cannam@162: AC_SUBST(OTHER_OBJS) cannam@162: AC_SUBST(PADLL) cannam@162: AC_SUBST(SHARED_FLAGS) cannam@162: AC_SUBST(THREAD_CFLAGS) cannam@162: AC_SUBST(DLL_LIBS) cannam@162: AC_SUBST(CXXFLAGS) cannam@162: AC_SUBST(NASM) cannam@162: AC_SUBST(NASMOPT) cannam@162: AC_SUBST(INCLUDES) cannam@162: cannam@162: dnl -g is optional on darwin cannam@162: if ( echo "${host_os}" | grep ^darwin >> /dev/null ) && cannam@162: [[ "$enable_mac_universal" = "yes" ] && cannam@162: [ "$enable_mac_debug" != "yes" ]] ; then cannam@162: CFLAGS="-O2 -Wall -pedantic -pipe -fPIC -DNDEBUG" cannam@162: else cannam@162: CFLAGS=${CFLAGS:-"-g -O2 -Wall -pedantic -pipe -fPIC"} cannam@162: fi cannam@162: cannam@162: if [[ $ac_cv_c_bigendian = "yes" ]] ; then cannam@162: CFLAGS="$CFLAGS -DPA_BIG_ENDIAN" cannam@162: else cannam@162: CFLAGS="$CFLAGS -DPA_LITTLE_ENDIAN" cannam@162: fi cannam@162: cannam@162: add_objects() cannam@162: { cannam@162: for o in $@; do cannam@162: test "${OTHER_OBJS#*${o}*}" = "${OTHER_OBJS}" && OTHER_OBJS="$OTHER_OBJS $o" cannam@162: done cannam@162: } cannam@162: cannam@162: INCLUDES=portaudio.h cannam@162: cannam@162: dnl Include directories needed by all implementations cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/include -I\$(top_srcdir)/src/common" cannam@162: cannam@162: case "${host_os}" in cannam@162: darwin* ) cannam@162: dnl Mac OS X configuration cannam@162: cannam@162: AC_DEFINE(PA_USE_COREAUDIO,1) cannam@165: AC_DEFINE(AUDIO_COMPONENT_FIX,1) cannam@162: cannam@165: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Wno-deprecated" cannam@162: LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon" cannam@162: cannam@162: if test "x$enable_mac_universal" = "xyes" ; then cannam@162: case `xcodebuild -version | sed -n 's/Xcode \(.*\)/\1/p'` in cannam@162: cannam@162: [12]*|3.0|3.1) cannam@162: dnl In pre-3.2 versions of Xcode, xcodebuild doesn't cannam@162: dnl support -sdk, so we can't use that to look for cannam@162: dnl SDKs. However, in those versions of Xcode, the cannam@162: dnl SDKs are under /Developer/SDKs, so we can just look cannam@162: dnl there. Also, we assume they had no SDKs later cannam@162: dnl than 10.5, as 3.2 was the version that came with cannam@162: dnl 10.6, at least if the Wikipedia page for Xcode cannam@162: dnl is to be believed. cannam@162: if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then cannam@162: mac_version_min="-mmacosx-version-min=10.3" cannam@162: mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk" cannam@162: else cannam@162: mac_version_min="-mmacosx-version-min=10.3" cannam@162: mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk" cannam@162: fi cannam@162: ;; cannam@162: cannam@162: *) cannam@162: dnl In 3.2 and later, xcodebuild supports -sdk, and, in cannam@162: dnl 4.3 and later, the SDKs aren't under /Developer/SDKs cannam@162: dnl as there *is* no /Developer, so we use -sdk to check cannam@162: dnl what SDKs are available and to get the full path of cannam@162: dnl the SDKs. cannam@162: if xcodebuild -version -sdk macosx10.5 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.3" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.5 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.6 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.6 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.7 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.7 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.8 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.8 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.9 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.9 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.10 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.10 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.11 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.11 Path`" cannam@162: elif xcodebuild -version -sdk macosx10.12 Path >/dev/null 2>&1 ; then cannam@162: mac_version_min="-mmacosx-version-min=10.4" cannam@162: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.12 Path`" cannam@165: elif xcodebuild -version -sdk macosx10.13 Path >/dev/null 2>&1 ; then cannam@165: mac_version_min="-mmacosx-version-min=10.4" cannam@165: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.13 Path`" cannam@165: elif xcodebuild -version -sdk macosx10.14 Path >/dev/null 2>&1 ; then cannam@165: mac_version_min="-mmacosx-version-min=10.4" cannam@165: mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.14 Path`" cannam@162: else cannam@165: AC_MSG_ERROR([Could not find 10.5 to 10.14 SDK.]) cannam@162: fi cannam@162: esac cannam@162: cannam@162: dnl Pick which architectures to build for based on what cannam@162: dnl the compiler supports. cannam@162: mac_arches="" cannam@165: for arch in x86_64 cannam@162: do cannam@162: save_CFLAGS="$CFLAGS" cannam@162: CFLAGS="$CFLAGS -arch $arch" cannam@162: AC_TRY_COMPILE([], [return 0;], cannam@162: [ cannam@162: if [[ -z "$mac_arches" ]] ; then cannam@162: mac_arches="-arch $arch" cannam@162: else cannam@162: mac_arches="$mac_arches -arch $arch" cannam@162: fi cannam@162: ]) cannam@162: CFLAGS="$save_CFLAGS" cannam@162: done cannam@162: else cannam@162: mac_arches="" cannam@162: mac_sysroot="" cannam@162: mac_version="" cannam@162: fi cannam@162: SHARED_FLAGS="$LIBS -dynamiclib $mac_arches $mac_sysroot $mac_version_min" cannam@162: CFLAGS="-std=c99 $CFLAGS $mac_arches $mac_sysroot $mac_version_min" cannam@162: OTHER_OBJS="src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o src/hostapi/coreaudio/pa_mac_core.o src/hostapi/coreaudio/pa_mac_core_utilities.o src/hostapi/coreaudio/pa_mac_core_blocking.o src/common/pa_ringbuffer.o" cannam@162: PADLL="libportaudio.dylib" cannam@162: ;; cannam@162: cannam@162: mingw* ) cannam@162: dnl MingW configuration cannam@162: cannam@162: PADLL="portaudio.dll" cannam@162: THREAD_CFLAGS="-mthreads" cannam@162: SHARED_FLAGS="-shared" cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_WMME=0 -DPA_USE_ASIO=0 -DPA_USE_WDMKS=0 -DPA_USE_DS=0 -DPA_USE_WASAPI=0" cannam@162: cannam@162: if [[ "x$with_directx" = "xyes" ]]; then cannam@162: DXDIR="$with_dxdir" cannam@162: add_objects src/hostapi/dsound/pa_win_ds.o src/hostapi/dsound/pa_win_ds_dynlink.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o cannam@162: LIBS="${LIBS} -lwinmm -lm -ldsound -lole32" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -ldsound -lole32" cannam@162: #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\"" cannam@162: #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO" cannam@162: CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_DS -DPA_USE_DS=1" cannam@162: fi cannam@162: cannam@162: if [[ "x$with_asio" = "xyes" ]]; then cannam@162: ASIODIR="$with_asiodir" cannam@162: add_objects src/hostapi/asio/pa_asio.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/hostapi/asio/iasiothiscallresolver.o $ASIODIR/common/asio.o $ASIODIR/host/asiodrivers.o $ASIODIR/host/pc/asiolist.o cannam@162: LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid" cannam@162: CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -I\$(top_srcdir)/src/hostapi/asio -I$ASIODIR/host/pc -I$ASIODIR/common -I$ASIODIR/host -UPA_USE_ASIO -DPA_USE_ASIO=1 -DWINDOWS" cannam@162: cannam@162: dnl Setting the windows version flags below resolves a conflict between Interlocked* cannam@162: dnl definitions in mingw winbase.h and Interlocked* hacks in ASIO SDK combase.h cannam@162: dnl combase.h is included by asiodrvr.h cannam@162: dnl PortAudio does not actually require Win XP (winver 501) APIs cannam@162: CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501" cannam@162: cannam@162: CXXFLAGS="$CFLAGS" cannam@162: fi cannam@162: cannam@162: if [[ "x$with_wdmks" = "xyes" ]]; then cannam@162: DXDIR="$with_dxdir" cannam@162: add_objects src/hostapi/wdmks/pa_win_wdmks.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_wdmks_utils.o src/os/win/pa_win_waveformat.o cannam@162: LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32" cannam@162: #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\"" cannam@162: #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO" cannam@162: CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1" cannam@162: fi cannam@162: cannam@162: if [[ "x$with_wmme" = "xyes" ]]; then cannam@162: add_objects src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o cannam@162: LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm" cannam@162: CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1" cannam@162: fi cannam@162: cannam@162: if [[ "x$with_wasapi" = "xyes" ]]; then cannam@162: add_objects src/hostapi/wasapi/pa_win_wasapi.o src/common/pa_ringbuffer.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_coinitialize.o src/os/win/pa_win_waveformat.o cannam@162: LIBS="${LIBS} -lwinmm -lm -lole32 -luuid" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm -lole32" cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1" cannam@162: fi cannam@162: ;; cannam@162: cannam@162: cygwin* ) cannam@162: dnl Cygwin configuration cannam@162: cannam@162: OTHER_OBJS="src/hostapi/wmme/pa_win_wmme.o src/os/win/pa_win_hostapis.o src/os/win/pa_win_util.o src/os/win/pa_win_waveformat.o" cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/win -DPA_USE_DS=0 -DPA_USE_WDMKS=0 -DPA_USE_ASIO=0 -DPA_USE_WASAPI=0 -DPA_USE_WMME=1" cannam@162: LIBS="-lwinmm -lm" cannam@162: PADLL="portaudio.dll" cannam@162: THREAD_CFLAGS="-mthreads" cannam@162: SHARED_FLAGS="-shared" cannam@162: DLL_LIBS="${DLL_LIBS} -lwinmm" cannam@162: ;; cannam@162: cannam@162: irix* ) cannam@162: dnl SGI IRIX audio library (AL) configuration (Pieter, oct 2-13, 2003). cannam@162: dnl The 'dmedia' library is needed to read the Unadjusted System Time (UST). cannam@162: dnl cannam@162: AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR([IRIX posix thread library not found!])) cannam@162: AC_CHECK_LIB(audio, alOpenPort, , AC_MSG_ERROR([IRIX audio library not found!])) cannam@162: AC_CHECK_LIB(dmedia, dmGetUST, , AC_MSG_ERROR([IRIX digital media library not found!])) cannam@162: cannam@162: dnl See the '#ifdef PA_USE_SGI' in file pa_unix/pa_unix_hostapis.c cannam@162: dnl which selects the appropriate PaXXX_Initialize() function. cannam@162: dnl cannam@162: AC_DEFINE(PA_USE_SGI,1) cannam@162: cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix" cannam@162: cannam@162: dnl The _REENTRANT option for pthread safety. Perhaps not necessary but it 'll do no harm. cannam@162: dnl cannam@162: THREAD_CFLAGS="-D_REENTRANT" cannam@162: cannam@162: OTHER_OBJS="pa_sgi/pa_sgi.o src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o" cannam@162: cannam@162: dnl SGI books say -lpthread should be the last of the libs mentioned. cannam@162: dnl cannam@162: LIBS="-lm -ldmedia -laudio -lpthread" cannam@162: PADLL="libportaudio.so" cannam@162: SHARED_FLAGS="" cannam@162: ;; cannam@162: cannam@162: *) cannam@162: dnl Unix configuration cannam@162: cannam@162: CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix" cannam@162: cannam@162: AC_CHECK_LIB(pthread, pthread_create,[have_pthread="yes"], cannam@162: AC_MSG_ERROR([libpthread not found!])) cannam@162: cannam@162: if [[ "$have_alsa" = "yes" ] && [ "$with_alsa" != "no" ]] ; then cannam@162: DLL_LIBS="$DLL_LIBS -lasound" cannam@162: LIBS="$LIBS -lasound" cannam@162: OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o" cannam@162: INCLUDES="$INCLUDES pa_linux_alsa.h" cannam@162: AC_DEFINE(PA_USE_ALSA,1) cannam@162: fi cannam@162: cannam@162: if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then cannam@162: DLL_LIBS="$DLL_LIBS $JACK_LIBS" cannam@162: CFLAGS="$CFLAGS $JACK_CFLAGS" cannam@162: OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o src/common/pa_ringbuffer.o" cannam@162: INCLUDES="$INCLUDES pa_jack.h" cannam@162: AC_DEFINE(PA_USE_JACK,1) cannam@162: fi cannam@162: cannam@162: if [[ "$with_oss" != "no" ]] ; then cannam@162: OTHER_OBJS="$OTHER_OBJS src/hostapi/oss/pa_unix_oss.o" cannam@162: if [[ "$have_libossaudio" = "yes" ]] ; then cannam@162: DLL_LIBS="$DLL_LIBS -lossaudio" cannam@162: LIBS="$LIBS -lossaudio" cannam@162: fi cannam@162: AC_DEFINE(PA_USE_OSS,1) cannam@162: fi cannam@162: cannam@162: if [[ "$have_asihpi" = "yes" ] && [ "$with_asihpi" != "no" ]] ; then cannam@162: LIBS="$LIBS -lhpi" cannam@162: DLL_LIBS="$DLL_LIBS -lhpi" cannam@162: OTHER_OBJS="$OTHER_OBJS src/hostapi/asihpi/pa_linux_asihpi.o" cannam@162: AC_DEFINE(PA_USE_ASIHPI,1) cannam@162: fi cannam@162: cannam@162: DLL_LIBS="$DLL_LIBS -lm -lpthread" cannam@162: LIBS="$LIBS -lm -lpthread" cannam@162: PADLL="libportaudio.so" cannam@162: cannam@162: ## support sun cc compiler flags cannam@162: case "${host_os}" in cannam@162: solaris*) cannam@162: SHARED_FLAGS="-G" cannam@162: THREAD_CFLAGS="-mt" cannam@162: ;; cannam@162: *) cannam@162: SHARED_FLAGS="-fPIC" cannam@162: THREAD_CFLAGS="-pthread" cannam@162: ;; cannam@162: esac cannam@162: cannam@162: OTHER_OBJS="$OTHER_OBJS src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o" cannam@162: esac cannam@162: CFLAGS="$CFLAGS $THREAD_CFLAGS" cannam@162: cannam@162: test "$enable_shared" != "yes" && SHARED_FLAGS="" cannam@162: cannam@162: if test "$enable_cxx" = "yes"; then cannam@162: AC_CONFIG_SUBDIRS([bindings/cpp]) cannam@162: ENABLE_CXX_TRUE="" cannam@162: ENABLE_CXX_FALSE="#" cannam@162: else cannam@162: ENABLE_CXX_TRUE="#" cannam@162: ENABLE_CXX_FALSE="" cannam@162: fi cannam@162: AC_SUBST(ENABLE_CXX_TRUE) cannam@162: AC_SUBST(ENABLE_CXX_FALSE) cannam@162: cannam@162: if test "x$with_asio" = "xyes"; then cannam@162: WITH_ASIO_TRUE="" cannam@162: WITH_ASIO_FALSE="@ #" cannam@162: else cannam@162: WITH_ASIO_TRUE="@ #" cannam@162: WITH_ASIO_FALSE="" cannam@162: fi cannam@162: AC_SUBST(WITH_ASIO_TRUE) cannam@162: AC_SUBST(WITH_ASIO_FALSE) cannam@162: cannam@162: AC_OUTPUT([Makefile portaudio-2.0.pc]) cannam@162: cannam@162: AC_MSG_RESULT([ cannam@162: Configuration summary: cannam@162: cannam@162: Target ...................... $target cannam@162: C++ bindings ................ $enable_cxx cannam@162: Debug output ................ $debug_output]) cannam@162: cannam@162: case "$target_os" in *linux*) cannam@162: AC_MSG_RESULT([ cannam@162: ALSA ........................ $have_alsa cannam@162: ASIHPI ...................... $have_asihpi]) cannam@162: ;; cannam@162: esac cannam@162: case "$target_os" in cannam@162: *mingw* | *cygwin*) cannam@162: test "x$with_directx" = "xyes" && with_directx="$with_directx (${with_dxdir})" cannam@162: test "x$with_wdmks" = "xyes" && with_wdmks="$with_wdmks (${with_dxdir})" cannam@162: test "x$with_asio" = "xyes" && with_asio="$with_asio (${with_asiodir})" cannam@162: test "x$with_wasapi" = "xyes" cannam@162: AC_MSG_RESULT([ cannam@162: WMME ........................ $with_wmme cannam@162: DSound ...................... $with_directx cannam@162: ASIO ........................ $with_asio cannam@162: WASAPI ...................... $with_wasapi cannam@162: WDMKS ....................... $with_wdmks cannam@162: ]) cannam@162: ;; cannam@162: *darwin*) cannam@162: AC_MSG_RESULT([ cannam@162: Mac debug flags ............. $enable_mac_debug cannam@162: ]) cannam@162: ;; cannam@162: *) cannam@162: AC_MSG_RESULT([ cannam@162: OSS ......................... $have_oss cannam@162: JACK ........................ $have_jack cannam@162: ]) cannam@162: ;; cannam@162: esac