mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-30 15:49:41 +02:00
------------------------------------------------------------------------ r1910 | gineera | 2013-09-07 05:14:52 -0500 (Sat, 07 Sep 2013) | 1 line paqa_devs: limit max number of channels tested (to 4); add a fixed decimal format to the timestamp printout. ------------------------------------------------------------------------ r1909 | rbencina | 2013-08-28 19:36:56 -0500 (Wed, 28 Aug 2013) | 1 line pa_mac_core.c line 664 fixed incorrect memset size (was using sizeof(ptr) not sizeof(struct type) ------------------------------------------------------------------------ r1908 | gineera | 2013-08-27 12:14:51 -0500 (Tue, 27 Aug 2013) | 1 line Alsa: Add function to prevent duplicate parts in the visible pa device name string, that occur when the pcm-device name starts with the card name (since they are both used). Achieved by trimming the pcm-device string beginning. ------------------------------------------------------------------------ r1907 | gineera | 2013-08-22 17:01:17 -0500 (Thu, 22 Aug 2013) | 1 line Alsa: Fix memory leak as nonMmapBuffers were not freed (since change to realloc). Clean out corresponding dead code chunk. ------------------------------------------------------------------------ r1906 | gineera | 2013-08-22 14:43:07 -0500 (Thu, 22 Aug 2013) | 1 line Alsa: Rename some variables in pa_linux_alsa where the meaning is mis-leading or wrong in the Alsa context. Also tweak one debug message and a few typos. ------------------------------------------------------------------------ r1897 | gineera | 2013-08-13 15:37:04 -0500 (Tue, 13 Aug 2013) | 1 line Alsa: Fix handling of poll descriptors in PaAlsaStream_WaitForFrames(). Otherwise if capture signals before playback a duplex stream could poll the wrong descriptor, causing a loop (reported by Alexander Kartashov). ------------------------------------------------------------------------ r1896 | rbencina | 2013-08-06 03:26:55 -0500 (Tue, 06 Aug 2013) | 1 line fixed bug that was causing memory corruption in PA/ALSA when host sample format was lager than user format. e.g. using 16 bit output with a sound card that used 24 bit buffers. the incorrect input zeroer was being used. Thanks to Anders Tornvig for identifying the problem ------------------------------------------------------------------------ r1895 | rbencina | 2013-07-24 10:37:15 -0500 (Wed, 24 Jul 2013) | 1 line fixed doxygen markup for a few line breaks in the tutorial ------------------------------------------------------------------------ r1894 | gineera | 2013-06-08 14:30:41 -0500 (Sat, 08 Jun 2013) | 1 line OSS: revise default latency reporting: previous fixed values could not actually be achieved with OSS power-of-2 sizes. Instead try a configuration and correctly report the default latency based on one less than the number of fragments; also fix the stream component 'bufSz' calculation. ------------------------------------------------------------------------ r1893 | gineera | 2013-06-08 14:12:25 -0500 (Sat, 08 Jun 2013) | 1 line Alsa: revise latency use and calculations, since the latency should be equivalent to one Alsa period less than the Alsa ringbuffer (was based on the whole). Also fixes failure if zero latency was specified. ------------------------------------------------------------------------ r1892 | gineera | 2013-05-30 06:30:28 -0500 (Thu, 30 May 2013) | 1 line qa-latency: fix printout typos; re-enable checks of default high vs low latency - but allow them to be equal; remove rogue tab. ------------------------------------------------------------------------ r1891 | rbencina | 2013-05-05 09:00:02 -0500 (Sun, 05 May 2013) | 1 line added code to print error result from Pa_Initialize() in pa_devs.c example ------------------------------------------------------------------------ r1890 | rbencina | 2013-05-01 20:06:01 -0500 (Wed, 01 May 2013) | 1 line factored out InitPaDeviceInfoFromAsioDriver function. skip device rather than failing entire init process if a single ASIO driver returns an error during init. This was happening with MOTU devices if the device wasn't present. See ticket #221 ------------------------------------------------------------------------ r1889 | rbencina | 2013-04-07 09:15:24 -0500 (Sun, 07 Apr 2013) | 1 line move static variables into x86 section so they don't generate warnings when trying to build on 64 bit ------------------------------------------------------------------------ r1888 | rbencina | 2013-04-07 05:20:18 -0500 (Sun, 07 Apr 2013) | 1 line configure.in fix from Leland '[Portaudio] Small patch to fix Mac build' march 4
502 lines
18 KiB
Plaintext
502 lines
18 KiB
Plaintext
dnl
|
|
dnl portaudio V19 configure.in script
|
|
dnl
|
|
dnl Dominic Mazzoni, Arve Knudsen, Stelios Bounanos
|
|
dnl
|
|
|
|
dnl Require autoconf >= 2.13
|
|
AC_PREREQ(2.13)
|
|
|
|
dnl Init autoconf and make sure configure is being called
|
|
dnl from the right directory
|
|
AC_INIT([include/portaudio.h])
|
|
|
|
dnl Define build, build_cpu, build_vendor, build_os
|
|
AC_CANONICAL_BUILD
|
|
dnl Define host, host_cpu, host_vendor, host_os
|
|
AC_CANONICAL_HOST
|
|
dnl Define target, target_cpu, target_vendor, target_os
|
|
AC_CANONICAL_TARGET
|
|
|
|
dnl Specify options
|
|
|
|
AC_ARG_WITH(alsa,
|
|
AS_HELP_STRING([--with-alsa], [Enable support for ALSA @<:@autodetect@:>@]),
|
|
[with_alsa=$withval])
|
|
|
|
AC_ARG_WITH(jack,
|
|
AS_HELP_STRING([--with-jack], [Enable support for JACK @<:@autodetect@:>@]),
|
|
[with_jack=$withval])
|
|
|
|
AC_ARG_WITH(oss,
|
|
AS_HELP_STRING([--with-oss], [Enable support for OSS @<:@autodetect@:>@]),
|
|
[with_oss=$withval])
|
|
|
|
AC_ARG_WITH(asihpi,
|
|
AS_HELP_STRING([--with-asihpi], [Enable support for ASIHPI @<:@autodetect@:>@]),
|
|
[with_asihpi=$withval])
|
|
|
|
AC_ARG_WITH(winapi,
|
|
AS_HELP_STRING([--with-winapi],
|
|
[Select Windows API support (@<:@wmme|directx|asio|wasapi|wdmks@:>@@<:@,...@:>@) @<:@wmme@:>@]),
|
|
[with_winapi=$withval], [with_winapi="wmme"])
|
|
case "$target_os" in *mingw* | *cygwin*)
|
|
with_wmme=no
|
|
with_directx=no
|
|
with_asio=no
|
|
with_wasapi=no
|
|
with_wdmks=no
|
|
for api in $(echo $with_winapi | sed 's/,/ /g'); do
|
|
case "$api" in
|
|
wmme|directx|asio|wasapi|wdmks)
|
|
eval with_$api=yes
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([unknown Windows API \"$api\" (do you need --help?)])
|
|
;;
|
|
esac
|
|
done
|
|
;;
|
|
esac
|
|
|
|
AC_ARG_WITH(asiodir,
|
|
AS_HELP_STRING([--with-asiodir], [ASIO directory @<:@/usr/local/asiosdk2@:>@]),
|
|
with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2")
|
|
|
|
AC_ARG_WITH(dxdir,
|
|
AS_HELP_STRING([--with-dxdir], [DirectX directory @<:@/usr/local/dx7sdk@:>@]),
|
|
with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk")
|
|
|
|
debug_output=no
|
|
AC_ARG_ENABLE(debug-output,
|
|
AS_HELP_STRING([--enable-debug-output], [Enable debug output @<:@no@:>@]),
|
|
[if test "x$enableval" != "xno" ; then
|
|
AC_DEFINE(PA_ENABLE_DEBUG_OUTPUT,,[Enable debugging messages])
|
|
debug_output=yes
|
|
fi
|
|
])
|
|
|
|
AC_ARG_ENABLE(cxx,
|
|
AS_HELP_STRING([--enable-cxx], [Enable C++ bindings @<:@no@:>@]),
|
|
enable_cxx=$enableval, enable_cxx="no")
|
|
|
|
AC_ARG_ENABLE(mac-debug,
|
|
AS_HELP_STRING([--enable-mac-debug], [Enable Mac debug @<:@no@:>@]),
|
|
enable_mac_debug=$enableval, enable_mac_debug="no")
|
|
|
|
AC_ARG_ENABLE(mac-universal,
|
|
AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries @<:@yes@:>@]),
|
|
enable_mac_universal=$enableval, enable_mac_universal="yes")
|
|
|
|
dnl Continue to accept --host_os for compatibility but do not document
|
|
dnl it (the correct way to change host_os is with --host=...). Moved
|
|
dnl here because the empty help string generates a blank line which we
|
|
dnl can use to separate PA options from libtool options.
|
|
AC_ARG_WITH(host_os, [], host_os=$withval)
|
|
|
|
dnl Checks for programs.
|
|
|
|
AC_PROG_CC
|
|
dnl ASIO and CXX bindings need a C++ compiler
|
|
if [[ "$with_asio" = "yes" ] || [ "$enable_cxx" = "yes" ]] ; then
|
|
AC_PROG_CXX
|
|
fi
|
|
AC_LIBTOOL_WIN32_DLL
|
|
AC_PROG_LIBTOOL
|
|
AC_PROG_INSTALL
|
|
AC_PROG_LN_S
|
|
AC_PATH_PROG(AR, ar, no)
|
|
if [[ $AR = "no" ]] ; then
|
|
AC_MSG_ERROR("Could not find ar - needed to create a library")
|
|
fi
|
|
|
|
dnl This must be one of the first tests we do or it will fail...
|
|
AC_C_BIGENDIAN
|
|
|
|
dnl checks for various host APIs and arguments to configure that
|
|
dnl turn them on or off
|
|
|
|
have_alsa=no
|
|
if test "x$with_alsa" != "xno"; then
|
|
AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
|
|
fi
|
|
have_asihpi=no
|
|
if test "x$with_asihpi" != "xno"; then
|
|
AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
|
|
fi
|
|
have_libossaudio=no
|
|
have_oss=no
|
|
if test "x$with_oss" != "xno"; then
|
|
AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h machine/soundcard.h], [have_oss=yes])
|
|
if test "x$have_oss" = "xyes"; then
|
|
AC_CHECK_LIB(ossaudio, _oss_ioctl, have_libossaudio=yes, have_libossaudio=no)
|
|
fi
|
|
fi
|
|
have_jack=no
|
|
if test "x$with_jack" != "xno"; then
|
|
PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
|
|
fi
|
|
|
|
|
|
dnl sizeof checks: we will need a 16-bit and a 32-bit type
|
|
|
|
AC_CHECK_SIZEOF(short)
|
|
AC_CHECK_SIZEOF(int)
|
|
AC_CHECK_SIZEOF(long)
|
|
|
|
save_LIBS="${LIBS}"
|
|
AC_CHECK_LIB(rt, clock_gettime, [rt_libs=" -lrt"])
|
|
LIBS="${LIBS}${rt_libs}"
|
|
DLL_LIBS="${DLL_LIBS}${rt_libs}"
|
|
AC_CHECK_FUNCS([clock_gettime nanosleep])
|
|
LIBS="${save_LIBS}"
|
|
|
|
dnl LT_RELEASE=19
|
|
LT_CURRENT=2
|
|
LT_REVISION=0
|
|
LT_AGE=0
|
|
|
|
AC_SUBST(LT_CURRENT)
|
|
AC_SUBST(LT_REVISION)
|
|
AC_SUBST(LT_AGE)
|
|
|
|
dnl extra variables
|
|
AC_SUBST(OTHER_OBJS)
|
|
AC_SUBST(PADLL)
|
|
AC_SUBST(SHARED_FLAGS)
|
|
AC_SUBST(THREAD_CFLAGS)
|
|
AC_SUBST(DLL_LIBS)
|
|
AC_SUBST(CXXFLAGS)
|
|
AC_SUBST(NASM)
|
|
AC_SUBST(NASMOPT)
|
|
AC_SUBST(INCLUDES)
|
|
|
|
dnl -g is optional on darwin
|
|
if ( echo "${host_os}" | grep ^darwin >> /dev/null ) &&
|
|
[[ "$enable_mac_universal" = "yes" ] &&
|
|
[ "$enable_mac_debug" != "yes" ]] ; then
|
|
CFLAGS="-O2 -Wall -pedantic -pipe -fPIC -DNDEBUG"
|
|
else
|
|
CFLAGS=${CFLAGS:-"-g -O2 -Wall -pedantic -pipe -fPIC"}
|
|
fi
|
|
|
|
if [[ $ac_cv_c_bigendian = "yes" ]] ; then
|
|
CFLAGS="$CFLAGS -DPA_BIG_ENDIAN"
|
|
else
|
|
CFLAGS="$CFLAGS -DPA_LITTLE_ENDIAN"
|
|
fi
|
|
|
|
add_objects()
|
|
{
|
|
for o in $@; do
|
|
test "${OTHER_OBJS#*${o}*}" = "${OTHER_OBJS}" && OTHER_OBJS="$OTHER_OBJS $o"
|
|
done
|
|
}
|
|
|
|
INCLUDES=portaudio.h
|
|
|
|
dnl Include directories needed by all implementations
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir)/include -I\$(top_srcdir)/src/common"
|
|
|
|
case "${host_os}" in
|
|
darwin* )
|
|
dnl Mac OS X configuration
|
|
|
|
AC_DEFINE(PA_USE_COREAUDIO,1)
|
|
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Werror"
|
|
LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon"
|
|
|
|
if test "x$enable_mac_universal" = "xyes" ; then
|
|
case `xcodebuild -version | sed -n 's/Xcode \(.*\)/\1/p'` in
|
|
|
|
[12]*|3.0|3.1)
|
|
dnl In pre-3.2 versions of Xcode, xcodebuild doesn't
|
|
dnl support -sdk, so we can't use that to look for
|
|
dnl SDKs. However, in those versions of Xcode, the
|
|
dnl SDKs are under /Developer/SDKs, so we can just look
|
|
dnl there. Also, we assume they had no SDKs later
|
|
dnl than 10.5, as 3.2 was the version that came with
|
|
dnl 10.6, at least if the Wikipedia page for Xcode
|
|
dnl is to be believed.
|
|
if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then
|
|
mac_version_min="-mmacosx-version-min=10.3"
|
|
mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
|
|
else
|
|
mac_version_min="-mmacosx-version-min=10.3"
|
|
mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
dnl In 3.2 and later, xcodebuild supports -sdk, and, in
|
|
dnl 4.3 and later, the SDKs aren't under /Developer/SDKs
|
|
dnl as there *is* no /Developer, so we use -sdk to check
|
|
dnl what SDKs are available and to get the full path of
|
|
dnl the SDKs.
|
|
if xcodebuild -version -sdk macosx10.5 Path >/dev/null 2>&1 ; then
|
|
mac_version_min="-mmacosx-version-min=10.3"
|
|
mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.5 Path`"
|
|
elif xcodebuild -version -sdk macosx10.6 Path >/dev/null 2>&1 ; then
|
|
mac_version_min="-mmacosx-version-min=10.4"
|
|
mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.6 Path`"
|
|
elif xcodebuild -version -sdk macosx10.7 Path >/dev/null 2>&1 ; then
|
|
mac_version_min="-mmacosx-version-min=10.4"
|
|
mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.7 Path`"
|
|
else
|
|
AC_MSG_ERROR([Couldn't find 10.5, 10.6, or 10.7 SDK])
|
|
fi
|
|
esac
|
|
|
|
dnl Pick which architectures to build for based on what
|
|
dnl the compiler supports.
|
|
mac_arches=""
|
|
for arch in i386 x86_64 ppc ppc64
|
|
do
|
|
save_CFLAGS="$CFLAGS"
|
|
CFLAGS="$CFLAGS -arch $arch"
|
|
AC_TRY_COMPILE([], [return 0;],
|
|
[
|
|
if [[ -z "$mac_arches" ]] ; then
|
|
mac_arches="-arch $arch"
|
|
else
|
|
mac_arches="$mac_arches -arch $arch"
|
|
fi
|
|
])
|
|
CFLAGS="$save_CFLAGS"
|
|
done
|
|
else
|
|
mac_arches=""
|
|
mac_sysroot=""
|
|
mac_version=""
|
|
fi
|
|
SHARED_FLAGS="$LIBS -dynamiclib $mac_arches $mac_sysroot $mac_version_min"
|
|
CFLAGS="-std=c99 $CFLAGS $mac_arches $mac_sysroot $mac_version_min"
|
|
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"
|
|
PADLL="libportaudio.dylib"
|
|
;;
|
|
|
|
mingw* )
|
|
dnl MingW configuration
|
|
|
|
PADLL="portaudio.dll"
|
|
THREAD_CFLAGS="-mthreads"
|
|
SHARED_FLAGS="-shared"
|
|
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"
|
|
|
|
if [[ "x$with_directx" = "xyes" ]]; then
|
|
DXDIR="$with_dxdir"
|
|
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
|
|
LIBS="${LIBS} -lwinmm -lm -ldsound -lole32"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -ldsound -lole32"
|
|
#VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
|
|
#CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
|
|
CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_DS -DPA_USE_DS=1"
|
|
fi
|
|
|
|
if [[ "x$with_asio" = "xyes" ]]; then
|
|
ASIODIR="$with_asiodir"
|
|
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
|
|
LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid"
|
|
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"
|
|
|
|
dnl Setting the windows version flags below resolves a conflict between Interlocked*
|
|
dnl definitions in mingw winbase.h and Interlocked* hacks in ASIO SDK combase.h
|
|
dnl combase.h is included by asiodrvr.h
|
|
dnl PortAudio does not actually require Win XP (winver 501) APIs
|
|
CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501"
|
|
|
|
CXXFLAGS="$CFLAGS"
|
|
fi
|
|
|
|
if [[ "x$with_wdmks" = "xyes" ]]; then
|
|
DXDIR="$with_dxdir"
|
|
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_util.o src/os/win/pa_win_waveformat.o
|
|
LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32"
|
|
#VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
|
|
#CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
|
|
CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1"
|
|
fi
|
|
|
|
if [[ "x$with_wmme" = "xyes" ]]; then
|
|
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
|
|
LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm"
|
|
CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1"
|
|
fi
|
|
|
|
if [[ "x$with_wasapi" = "xyes" ]]; then
|
|
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
|
|
LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm -lole32"
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1"
|
|
fi
|
|
;;
|
|
|
|
cygwin* )
|
|
dnl Cygwin configuration
|
|
|
|
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"
|
|
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"
|
|
LIBS="-lwinmm -lm"
|
|
PADLL="portaudio.dll"
|
|
THREAD_CFLAGS="-mthreads"
|
|
SHARED_FLAGS="-shared"
|
|
DLL_LIBS="${DLL_LIBS} -lwinmm"
|
|
;;
|
|
|
|
irix* )
|
|
dnl SGI IRIX audio library (AL) configuration (Pieter, oct 2-13, 2003).
|
|
dnl The 'dmedia' library is needed to read the Unadjusted System Time (UST).
|
|
dnl
|
|
AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR([IRIX posix thread library not found!]))
|
|
AC_CHECK_LIB(audio, alOpenPort, , AC_MSG_ERROR([IRIX audio library not found!]))
|
|
AC_CHECK_LIB(dmedia, dmGetUST, , AC_MSG_ERROR([IRIX digital media library not found!]))
|
|
|
|
dnl See the '#ifdef PA_USE_SGI' in file pa_unix/pa_unix_hostapis.c
|
|
dnl which selects the appropriate PaXXX_Initialize() function.
|
|
dnl
|
|
AC_DEFINE(PA_USE_SGI,1)
|
|
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
|
|
|
|
dnl The _REENTRANT option for pthread safety. Perhaps not necessary but it 'll do no harm.
|
|
dnl
|
|
THREAD_CFLAGS="-D_REENTRANT"
|
|
|
|
OTHER_OBJS="pa_sgi/pa_sgi.o src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
|
|
|
|
dnl SGI books say -lpthread should be the last of the libs mentioned.
|
|
dnl
|
|
LIBS="-lm -ldmedia -laudio -lpthread"
|
|
PADLL="libportaudio.so"
|
|
SHARED_FLAGS=""
|
|
;;
|
|
|
|
*)
|
|
dnl Unix configuration
|
|
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
|
|
|
|
AC_CHECK_LIB(pthread, pthread_create,[have_pthread="yes"],
|
|
AC_MSG_ERROR([libpthread not found!]))
|
|
|
|
if [[ "$have_alsa" = "yes" ] && [ "$with_alsa" != "no" ]] ; then
|
|
DLL_LIBS="$DLL_LIBS -lasound"
|
|
LIBS="$LIBS -lasound"
|
|
OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o"
|
|
INCLUDES="$INCLUDES pa_linux_alsa.h"
|
|
AC_DEFINE(PA_USE_ALSA,1)
|
|
fi
|
|
|
|
if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then
|
|
DLL_LIBS="$DLL_LIBS $JACK_LIBS"
|
|
CFLAGS="$CFLAGS $JACK_CFLAGS"
|
|
OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o src/hostapi/jack/pa_jack_dynload.o src/common/pa_ringbuffer.o"
|
|
INCLUDES="$INCLUDES pa_jack.h"
|
|
AC_DEFINE(PA_USE_JACK,1)
|
|
fi
|
|
|
|
if [[ "$with_oss" != "no" ]] ; then
|
|
OTHER_OBJS="$OTHER_OBJS src/hostapi/oss/pa_unix_oss.o"
|
|
if [[ "$have_libossaudio" = "yes" ]] ; then
|
|
DLL_LIBS="$DLL_LIBS -lossaudio"
|
|
LIBS="$LIBS -lossaudio"
|
|
fi
|
|
AC_DEFINE(PA_USE_OSS,1)
|
|
fi
|
|
|
|
if [[ "$have_asihpi" = "yes" ] && [ "$with_asihpi" != "no" ]] ; then
|
|
LIBS="$LIBS -lhpi"
|
|
DLL_LIBS="$DLL_LIBS -lhpi"
|
|
OTHER_OBJS="$OTHER_OBJS src/hostapi/asihpi/pa_linux_asihpi.o"
|
|
AC_DEFINE(PA_USE_ASIHPI,1)
|
|
fi
|
|
|
|
DLL_LIBS="$DLL_LIBS -lm -lpthread"
|
|
LIBS="$LIBS -lm -lpthread"
|
|
PADLL="libportaudio.so"
|
|
|
|
## support sun cc compiler flags
|
|
case "${host_os}" in
|
|
solaris*)
|
|
SHARED_FLAGS="-G"
|
|
THREAD_CFLAGS="-mt"
|
|
;;
|
|
*)
|
|
SHARED_FLAGS="-fPIC"
|
|
THREAD_CFLAGS="-pthread"
|
|
;;
|
|
esac
|
|
|
|
OTHER_OBJS="$OTHER_OBJS src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
|
|
esac
|
|
CFLAGS="$CFLAGS $THREAD_CFLAGS"
|
|
|
|
test "$enable_shared" != "yes" && SHARED_FLAGS=""
|
|
|
|
if test "$enable_cxx" = "yes"; then
|
|
AC_CONFIG_SUBDIRS([bindings/cpp])
|
|
ENABLE_CXX_TRUE=""
|
|
ENABLE_CXX_FALSE="#"
|
|
else
|
|
ENABLE_CXX_TRUE="#"
|
|
ENABLE_CXX_FALSE=""
|
|
fi
|
|
AC_SUBST(ENABLE_CXX_TRUE)
|
|
AC_SUBST(ENABLE_CXX_FALSE)
|
|
|
|
if test "x$with_asio" = "xyes"; then
|
|
WITH_ASIO_TRUE=""
|
|
WITH_ASIO_FALSE="@ #"
|
|
else
|
|
WITH_ASIO_TRUE="@ #"
|
|
WITH_ASIO_FALSE=""
|
|
fi
|
|
AC_SUBST(WITH_ASIO_TRUE)
|
|
AC_SUBST(WITH_ASIO_FALSE)
|
|
|
|
AC_OUTPUT([Makefile portaudio-2.0.pc])
|
|
|
|
AC_MSG_RESULT([
|
|
Configuration summary:
|
|
|
|
Target ...................... $target
|
|
C++ bindings ................ $enable_cxx
|
|
Debug output ................ $debug_output])
|
|
|
|
case "$target_os" in *linux*)
|
|
AC_MSG_RESULT([
|
|
ALSA ........................ $have_alsa
|
|
ASIHPI ...................... $have_asihpi])
|
|
;;
|
|
esac
|
|
case "$target_os" in
|
|
*mingw* | *cygwin*)
|
|
test "x$with_directx" = "xyes" && with_directx="$with_directx (${with_dxdir})"
|
|
test "x$with_wdmks" = "xyes" && with_wdmks="$with_wdmks (${with_dxdir})"
|
|
test "x$with_asio" = "xyes" && with_asio="$with_asio (${with_asiodir})"
|
|
test "x$with_wasapi" = "xyes"
|
|
AC_MSG_RESULT([
|
|
WMME ........................ $with_wmme
|
|
DSound ...................... $with_directx
|
|
ASIO ........................ $with_asio
|
|
WASAPI ...................... $with_wasapi
|
|
WDMKS ....................... $with_wdmks
|
|
])
|
|
;;
|
|
*darwin*)
|
|
AC_MSG_RESULT([
|
|
Mac debug flags ............. $enable_mac_debug
|
|
])
|
|
;;
|
|
*)
|
|
AC_MSG_RESULT([
|
|
OSS ......................... $have_oss
|
|
JACK ........................ $have_jack
|
|
])
|
|
;;
|
|
esac
|