annotate src/portaudio_20161030/configure.in @ 83:ae30d91d2ffe

Replace these with versions built using an older toolset (so as to avoid ABI compatibilities when linking on Ubuntu 14.04 for packaging purposes)
author Chris Cannam
date Fri, 07 Feb 2020 11:51:13 +0000
parents 284acf908dcd
children
rev   line source
Chris@4 1 dnl
Chris@4 2 dnl portaudio V19 configure.in script
Chris@4 3 dnl
Chris@4 4 dnl Dominic Mazzoni, Arve Knudsen, Stelios Bounanos
Chris@4 5 dnl
Chris@4 6
Chris@4 7 dnl Require autoconf >= 2.13
Chris@4 8 AC_PREREQ(2.13)
Chris@4 9
Chris@4 10 dnl Init autoconf and make sure configure is being called
Chris@4 11 dnl from the right directory
Chris@4 12 AC_INIT([include/portaudio.h])
Chris@4 13
Chris@4 14 dnl Define build, build_cpu, build_vendor, build_os
Chris@4 15 AC_CANONICAL_BUILD
Chris@4 16 dnl Define host, host_cpu, host_vendor, host_os
Chris@4 17 AC_CANONICAL_HOST
Chris@4 18 dnl Define target, target_cpu, target_vendor, target_os
Chris@4 19 AC_CANONICAL_TARGET
Chris@4 20
Chris@4 21 dnl Specify options
Chris@4 22
Chris@4 23 AC_ARG_WITH(alsa,
Chris@4 24 AS_HELP_STRING([--with-alsa], [Enable support for ALSA @<:@autodetect@:>@]),
Chris@4 25 [with_alsa=$withval])
Chris@4 26
Chris@4 27 AC_ARG_WITH(jack,
Chris@4 28 AS_HELP_STRING([--with-jack], [Enable support for JACK @<:@autodetect@:>@]),
Chris@4 29 [with_jack=$withval])
Chris@4 30
Chris@4 31 AC_ARG_WITH(oss,
Chris@4 32 AS_HELP_STRING([--with-oss], [Enable support for OSS @<:@autodetect@:>@]),
Chris@4 33 [with_oss=$withval])
Chris@4 34
Chris@4 35 AC_ARG_WITH(asihpi,
Chris@4 36 AS_HELP_STRING([--with-asihpi], [Enable support for ASIHPI @<:@autodetect@:>@]),
Chris@4 37 [with_asihpi=$withval])
Chris@4 38
Chris@4 39 AC_ARG_WITH(winapi,
Chris@4 40 AS_HELP_STRING([--with-winapi],
Chris@4 41 [Select Windows API support (@<:@wmme|directx|asio|wasapi|wdmks@:>@@<:@,...@:>@) @<:@wmme@:>@]),
Chris@4 42 [with_winapi=$withval], [with_winapi="wmme"])
Chris@4 43 case "$target_os" in *mingw* | *cygwin*)
Chris@4 44 with_wmme=no
Chris@4 45 with_directx=no
Chris@4 46 with_asio=no
Chris@4 47 with_wasapi=no
Chris@4 48 with_wdmks=no
Chris@4 49 for api in $(echo $with_winapi | sed 's/,/ /g'); do
Chris@4 50 case "$api" in
Chris@4 51 wmme|directx|asio|wasapi|wdmks)
Chris@4 52 eval with_$api=yes
Chris@4 53 ;;
Chris@4 54 *)
Chris@4 55 AC_MSG_ERROR([unknown Windows API \"$api\" (do you need --help?)])
Chris@4 56 ;;
Chris@4 57 esac
Chris@4 58 done
Chris@4 59 ;;
Chris@4 60 esac
Chris@4 61
Chris@4 62 AC_ARG_WITH(asiodir,
Chris@4 63 AS_HELP_STRING([--with-asiodir], [ASIO directory @<:@/usr/local/asiosdk2@:>@]),
Chris@4 64 with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2")
Chris@4 65
Chris@4 66 AC_ARG_WITH(dxdir,
Chris@4 67 AS_HELP_STRING([--with-dxdir], [DirectX directory @<:@/usr/local/dx7sdk@:>@]),
Chris@4 68 with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk")
Chris@4 69
Chris@4 70 debug_output=no
Chris@4 71 AC_ARG_ENABLE(debug-output,
Chris@4 72 AS_HELP_STRING([--enable-debug-output], [Enable debug output @<:@no@:>@]),
Chris@4 73 [if test "x$enableval" != "xno" ; then
Chris@4 74 AC_DEFINE(PA_ENABLE_DEBUG_OUTPUT,,[Enable debugging messages])
Chris@4 75 debug_output=yes
Chris@4 76 fi
Chris@4 77 ])
Chris@4 78
Chris@4 79 AC_ARG_ENABLE(cxx,
Chris@4 80 AS_HELP_STRING([--enable-cxx], [Enable C++ bindings @<:@no@:>@]),
Chris@4 81 enable_cxx=$enableval, enable_cxx="no")
Chris@4 82
Chris@4 83 AC_ARG_ENABLE(mac-debug,
Chris@4 84 AS_HELP_STRING([--enable-mac-debug], [Enable Mac debug @<:@no@:>@]),
Chris@4 85 enable_mac_debug=$enableval, enable_mac_debug="no")
Chris@4 86
Chris@4 87 AC_ARG_ENABLE(mac-universal,
Chris@4 88 AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries @<:@yes@:>@]),
Chris@4 89 enable_mac_universal=$enableval, enable_mac_universal="yes")
Chris@4 90
Chris@4 91 dnl Continue to accept --host_os for compatibility but do not document
Chris@4 92 dnl it (the correct way to change host_os is with --host=...). Moved
Chris@4 93 dnl here because the empty help string generates a blank line which we
Chris@4 94 dnl can use to separate PA options from libtool options.
Chris@4 95 AC_ARG_WITH(host_os, [], host_os=$withval)
Chris@4 96
Chris@4 97 dnl Checks for programs.
Chris@4 98
Chris@4 99 AC_PROG_CC
Chris@4 100 dnl ASIO and CXX bindings need a C++ compiler
Chris@4 101 if [[ "$with_asio" = "yes" ] || [ "$enable_cxx" = "yes" ]] ; then
Chris@4 102 AC_PROG_CXX
Chris@4 103 fi
Chris@4 104 AC_LIBTOOL_WIN32_DLL
Chris@4 105 AC_PROG_LIBTOOL
Chris@4 106 AC_PROG_INSTALL
Chris@4 107 AC_PROG_LN_S
Chris@4 108 AC_PATH_PROG(AR, ar, no)
Chris@4 109 if [[ $AR = "no" ]] ; then
Chris@4 110 AC_MSG_ERROR("Could not find ar - needed to create a library")
Chris@4 111 fi
Chris@4 112
Chris@4 113 dnl This must be one of the first tests we do or it will fail...
Chris@4 114 AC_C_BIGENDIAN
Chris@4 115
Chris@4 116 dnl checks for various host APIs and arguments to configure that
Chris@4 117 dnl turn them on or off
Chris@4 118
Chris@4 119 have_alsa=no
Chris@4 120 if test "x$with_alsa" != "xno"; then
Chris@4 121 AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
Chris@4 122 fi
Chris@4 123 have_asihpi=no
Chris@4 124 if test "x$with_asihpi" != "xno"; then
Chris@4 125 AC_CHECK_LIB(hpi, HPI_SubSysCreate, have_asihpi=yes, have_asihpi=no, -lm)
Chris@4 126 fi
Chris@4 127 have_libossaudio=no
Chris@4 128 have_oss=no
Chris@4 129 if test "x$with_oss" != "xno"; then
Chris@4 130 AC_CHECK_HEADERS([sys/soundcard.h linux/soundcard.h machine/soundcard.h], [have_oss=yes])
Chris@4 131 if test "x$have_oss" = "xyes"; then
Chris@4 132 AC_CHECK_LIB(ossaudio, _oss_ioctl, have_libossaudio=yes, have_libossaudio=no)
Chris@4 133 fi
Chris@4 134 fi
Chris@4 135 have_jack=no
Chris@4 136 if test "x$with_jack" != "xno"; then
Chris@4 137 PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
Chris@4 138 fi
Chris@4 139
Chris@4 140
Chris@4 141 dnl sizeof checks: we will need a 16-bit and a 32-bit type
Chris@4 142
Chris@4 143 AC_CHECK_SIZEOF(short)
Chris@4 144 AC_CHECK_SIZEOF(int)
Chris@4 145 AC_CHECK_SIZEOF(long)
Chris@4 146
Chris@4 147 save_LIBS="${LIBS}"
Chris@4 148 AC_CHECK_LIB(rt, clock_gettime, [rt_libs=" -lrt"])
Chris@4 149 LIBS="${LIBS}${rt_libs}"
Chris@4 150 DLL_LIBS="${DLL_LIBS}${rt_libs}"
Chris@4 151 AC_CHECK_FUNCS([clock_gettime nanosleep])
Chris@4 152 LIBS="${save_LIBS}"
Chris@4 153
Chris@4 154 dnl LT_RELEASE=19
Chris@4 155 LT_CURRENT=2
Chris@4 156 LT_REVISION=0
Chris@4 157 LT_AGE=0
Chris@4 158
Chris@4 159 AC_SUBST(LT_CURRENT)
Chris@4 160 AC_SUBST(LT_REVISION)
Chris@4 161 AC_SUBST(LT_AGE)
Chris@4 162
Chris@4 163 dnl extra variables
Chris@4 164 AC_SUBST(OTHER_OBJS)
Chris@4 165 AC_SUBST(PADLL)
Chris@4 166 AC_SUBST(SHARED_FLAGS)
Chris@4 167 AC_SUBST(THREAD_CFLAGS)
Chris@4 168 AC_SUBST(DLL_LIBS)
Chris@4 169 AC_SUBST(CXXFLAGS)
Chris@4 170 AC_SUBST(NASM)
Chris@4 171 AC_SUBST(NASMOPT)
Chris@4 172 AC_SUBST(INCLUDES)
Chris@4 173
Chris@4 174 dnl -g is optional on darwin
Chris@4 175 if ( echo "${host_os}" | grep ^darwin >> /dev/null ) &&
Chris@4 176 [[ "$enable_mac_universal" = "yes" ] &&
Chris@4 177 [ "$enable_mac_debug" != "yes" ]] ; then
Chris@4 178 CFLAGS="-O2 -Wall -pedantic -pipe -fPIC -DNDEBUG"
Chris@4 179 else
Chris@4 180 CFLAGS=${CFLAGS:-"-g -O2 -Wall -pedantic -pipe -fPIC"}
Chris@4 181 fi
Chris@4 182
Chris@4 183 if [[ $ac_cv_c_bigendian = "yes" ]] ; then
Chris@4 184 CFLAGS="$CFLAGS -DPA_BIG_ENDIAN"
Chris@4 185 else
Chris@4 186 CFLAGS="$CFLAGS -DPA_LITTLE_ENDIAN"
Chris@4 187 fi
Chris@4 188
Chris@4 189 add_objects()
Chris@4 190 {
Chris@4 191 for o in $@; do
Chris@4 192 test "${OTHER_OBJS#*${o}*}" = "${OTHER_OBJS}" && OTHER_OBJS="$OTHER_OBJS $o"
Chris@4 193 done
Chris@4 194 }
Chris@4 195
Chris@4 196 INCLUDES=portaudio.h
Chris@4 197
Chris@4 198 dnl Include directories needed by all implementations
Chris@4 199 CFLAGS="$CFLAGS -I\$(top_srcdir)/include -I\$(top_srcdir)/src/common"
Chris@4 200
Chris@4 201 case "${host_os}" in
Chris@4 202 darwin* )
Chris@4 203 dnl Mac OS X configuration
Chris@4 204
Chris@4 205 AC_DEFINE(PA_USE_COREAUDIO,1)
Chris@4 206
Chris@55 207 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Wno-deprecated -Werror"
Chris@4 208 LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon"
Chris@4 209
Chris@4 210 if test "x$enable_mac_universal" = "xyes" ; then
Chris@55 211 case `xcodebuild -version | sed -n 's/Xcode \(.*\)/\1/p'` in
Chris@55 212
Chris@55 213 [12]*|3.0|3.1)
Chris@55 214 dnl In pre-3.2 versions of Xcode, xcodebuild doesn't
Chris@55 215 dnl support -sdk, so we can't use that to look for
Chris@55 216 dnl SDKs. However, in those versions of Xcode, the
Chris@55 217 dnl SDKs are under /Developer/SDKs, so we can just look
Chris@55 218 dnl there. Also, we assume they had no SDKs later
Chris@55 219 dnl than 10.5, as 3.2 was the version that came with
Chris@55 220 dnl 10.6, at least if the Wikipedia page for Xcode
Chris@55 221 dnl is to be believed.
Chris@55 222 if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then
Chris@55 223 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 224 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
Chris@55 225 else
Chris@55 226 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 227 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
Chris@55 228 fi
Chris@55 229 ;;
Chris@55 230
Chris@55 231 *)
Chris@55 232 dnl In 3.2 and later, xcodebuild supports -sdk, and, in
Chris@55 233 dnl 4.3 and later, the SDKs aren't under /Developer/SDKs
Chris@55 234 dnl as there *is* no /Developer, so we use -sdk to check
Chris@55 235 dnl what SDKs are available and to get the full path of
Chris@55 236 dnl the SDKs.
Chris@55 237 if xcodebuild -version -sdk macosx10.5 Path >/dev/null 2>&1 ; then
Chris@55 238 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 239 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.5 Path`"
Chris@55 240 elif xcodebuild -version -sdk macosx10.6 Path >/dev/null 2>&1 ; then
Chris@55 241 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 242 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.6 Path`"
Chris@55 243 elif xcodebuild -version -sdk macosx10.7 Path >/dev/null 2>&1 ; then
Chris@55 244 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 245 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.7 Path`"
Chris@55 246 elif xcodebuild -version -sdk macosx10.8 Path >/dev/null 2>&1 ; then
Chris@55 247 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 248 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.8 Path`"
Chris@55 249 elif xcodebuild -version -sdk macosx10.9 Path >/dev/null 2>&1 ; then
Chris@55 250 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 251 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.9 Path`"
Chris@55 252 elif xcodebuild -version -sdk macosx10.10 Path >/dev/null 2>&1 ; then
Chris@55 253 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 254 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.10 Path`"
Chris@55 255 elif xcodebuild -version -sdk macosx10.11 Path >/dev/null 2>&1 ; then
Chris@55 256 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 257 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.11 Path`"
Chris@55 258 elif xcodebuild -version -sdk macosx10.12 Path >/dev/null 2>&1 ; then
Chris@55 259 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 260 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.12 Path`"
Chris@55 261 else
Chris@55 262 AC_MSG_ERROR([Could not find 10.5 to 10.12 SDK.])
Chris@55 263 fi
Chris@55 264 esac
Chris@55 265
Chris@55 266 dnl Pick which architectures to build for based on what
Chris@55 267 dnl the compiler supports.
Chris@55 268 mac_arches=""
Chris@55 269 for arch in i386 x86_64 ppc ppc64
Chris@55 270 do
Chris@55 271 save_CFLAGS="$CFLAGS"
Chris@55 272 CFLAGS="$CFLAGS -arch $arch"
Chris@55 273 AC_TRY_COMPILE([], [return 0;],
Chris@55 274 [
Chris@55 275 if [[ -z "$mac_arches" ]] ; then
Chris@55 276 mac_arches="-arch $arch"
Chris@55 277 else
Chris@55 278 mac_arches="$mac_arches -arch $arch"
Chris@55 279 fi
Chris@55 280 ])
Chris@55 281 CFLAGS="$save_CFLAGS"
Chris@55 282 done
Chris@4 283 else
Chris@4 284 mac_arches=""
Chris@4 285 mac_sysroot=""
Chris@4 286 mac_version=""
Chris@4 287 fi
Chris@4 288 SHARED_FLAGS="$LIBS -dynamiclib $mac_arches $mac_sysroot $mac_version_min"
Chris@4 289 CFLAGS="-std=c99 $CFLAGS $mac_arches $mac_sysroot $mac_version_min"
Chris@4 290 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"
Chris@4 291 PADLL="libportaudio.dylib"
Chris@4 292 ;;
Chris@4 293
Chris@4 294 mingw* )
Chris@4 295 dnl MingW configuration
Chris@4 296
Chris@4 297 PADLL="portaudio.dll"
Chris@4 298 THREAD_CFLAGS="-mthreads"
Chris@4 299 SHARED_FLAGS="-shared"
Chris@4 300 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"
Chris@4 301
Chris@4 302 if [[ "x$with_directx" = "xyes" ]]; then
Chris@4 303 DXDIR="$with_dxdir"
Chris@4 304 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
Chris@55 305 LIBS="${LIBS} -lwinmm -lm -ldsound -lole32"
Chris@4 306 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -ldsound -lole32"
Chris@4 307 #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
Chris@4 308 #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
Chris@4 309 CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_DS -DPA_USE_DS=1"
Chris@4 310 fi
Chris@4 311
Chris@4 312 if [[ "x$with_asio" = "xyes" ]]; then
Chris@4 313 ASIODIR="$with_asiodir"
Chris@4 314 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
Chris@55 315 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 316 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 317 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"
Chris@4 318
Chris@4 319 dnl Setting the windows version flags below resolves a conflict between Interlocked*
Chris@4 320 dnl definitions in mingw winbase.h and Interlocked* hacks in ASIO SDK combase.h
Chris@4 321 dnl combase.h is included by asiodrvr.h
Chris@4 322 dnl PortAudio does not actually require Win XP (winver 501) APIs
Chris@4 323 CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501"
Chris@4 324
Chris@4 325 CXXFLAGS="$CFLAGS"
Chris@4 326 fi
Chris@4 327
Chris@4 328 if [[ "x$with_wdmks" = "xyes" ]]; then
Chris@4 329 DXDIR="$with_dxdir"
Chris@55 330 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
Chris@55 331 LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32"
Chris@4 332 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32"
Chris@4 333 #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
Chris@4 334 #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
Chris@4 335 CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1"
Chris@4 336 fi
Chris@4 337
Chris@4 338 if [[ "x$with_wmme" = "xyes" ]]; then
Chris@4 339 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
Chris@55 340 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 341 DLL_LIBS="${DLL_LIBS} -lwinmm"
Chris@4 342 CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1"
Chris@4 343 fi
Chris@4 344
Chris@4 345 if [[ "x$with_wasapi" = "xyes" ]]; then
Chris@4 346 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
Chris@55 347 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 348 DLL_LIBS="${DLL_LIBS} -lwinmm -lole32"
Chris@4 349 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1"
Chris@4 350 fi
Chris@4 351 ;;
Chris@4 352
Chris@4 353 cygwin* )
Chris@4 354 dnl Cygwin configuration
Chris@4 355
Chris@4 356 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"
Chris@4 357 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"
Chris@4 358 LIBS="-lwinmm -lm"
Chris@4 359 PADLL="portaudio.dll"
Chris@4 360 THREAD_CFLAGS="-mthreads"
Chris@4 361 SHARED_FLAGS="-shared"
Chris@4 362 DLL_LIBS="${DLL_LIBS} -lwinmm"
Chris@4 363 ;;
Chris@4 364
Chris@4 365 irix* )
Chris@4 366 dnl SGI IRIX audio library (AL) configuration (Pieter, oct 2-13, 2003).
Chris@4 367 dnl The 'dmedia' library is needed to read the Unadjusted System Time (UST).
Chris@4 368 dnl
Chris@4 369 AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR([IRIX posix thread library not found!]))
Chris@4 370 AC_CHECK_LIB(audio, alOpenPort, , AC_MSG_ERROR([IRIX audio library not found!]))
Chris@4 371 AC_CHECK_LIB(dmedia, dmGetUST, , AC_MSG_ERROR([IRIX digital media library not found!]))
Chris@4 372
Chris@4 373 dnl See the '#ifdef PA_USE_SGI' in file pa_unix/pa_unix_hostapis.c
Chris@4 374 dnl which selects the appropriate PaXXX_Initialize() function.
Chris@4 375 dnl
Chris@4 376 AC_DEFINE(PA_USE_SGI,1)
Chris@4 377
Chris@4 378 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
Chris@4 379
Chris@4 380 dnl The _REENTRANT option for pthread safety. Perhaps not necessary but it 'll do no harm.
Chris@4 381 dnl
Chris@4 382 THREAD_CFLAGS="-D_REENTRANT"
Chris@4 383
Chris@4 384 OTHER_OBJS="pa_sgi/pa_sgi.o src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
Chris@4 385
Chris@4 386 dnl SGI books say -lpthread should be the last of the libs mentioned.
Chris@4 387 dnl
Chris@4 388 LIBS="-lm -ldmedia -laudio -lpthread"
Chris@4 389 PADLL="libportaudio.so"
Chris@4 390 SHARED_FLAGS=""
Chris@4 391 ;;
Chris@4 392
Chris@4 393 *)
Chris@4 394 dnl Unix configuration
Chris@4 395
Chris@4 396 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
Chris@4 397
Chris@4 398 AC_CHECK_LIB(pthread, pthread_create,[have_pthread="yes"],
Chris@4 399 AC_MSG_ERROR([libpthread not found!]))
Chris@4 400
Chris@4 401 if [[ "$have_alsa" = "yes" ] && [ "$with_alsa" != "no" ]] ; then
Chris@4 402 DLL_LIBS="$DLL_LIBS -lasound"
Chris@4 403 LIBS="$LIBS -lasound"
Chris@4 404 OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o"
Chris@4 405 INCLUDES="$INCLUDES pa_linux_alsa.h"
Chris@4 406 AC_DEFINE(PA_USE_ALSA,1)
Chris@4 407 fi
Chris@4 408
Chris@4 409 if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then
Chris@4 410 DLL_LIBS="$DLL_LIBS $JACK_LIBS"
Chris@4 411 CFLAGS="$CFLAGS $JACK_CFLAGS"
Chris@4 412 OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o src/common/pa_ringbuffer.o"
Chris@4 413 INCLUDES="$INCLUDES pa_jack.h"
Chris@4 414 AC_DEFINE(PA_USE_JACK,1)
Chris@4 415 fi
Chris@4 416
Chris@4 417 if [[ "$with_oss" != "no" ]] ; then
Chris@4 418 OTHER_OBJS="$OTHER_OBJS src/hostapi/oss/pa_unix_oss.o"
Chris@4 419 if [[ "$have_libossaudio" = "yes" ]] ; then
Chris@4 420 DLL_LIBS="$DLL_LIBS -lossaudio"
Chris@4 421 LIBS="$LIBS -lossaudio"
Chris@4 422 fi
Chris@4 423 AC_DEFINE(PA_USE_OSS,1)
Chris@4 424 fi
Chris@4 425
Chris@4 426 if [[ "$have_asihpi" = "yes" ] && [ "$with_asihpi" != "no" ]] ; then
Chris@4 427 LIBS="$LIBS -lhpi"
Chris@4 428 DLL_LIBS="$DLL_LIBS -lhpi"
Chris@4 429 OTHER_OBJS="$OTHER_OBJS src/hostapi/asihpi/pa_linux_asihpi.o"
Chris@4 430 AC_DEFINE(PA_USE_ASIHPI,1)
Chris@4 431 fi
Chris@4 432
Chris@4 433 DLL_LIBS="$DLL_LIBS -lm -lpthread"
Chris@4 434 LIBS="$LIBS -lm -lpthread"
Chris@4 435 PADLL="libportaudio.so"
Chris@4 436
Chris@4 437 ## support sun cc compiler flags
Chris@4 438 case "${host_os}" in
Chris@4 439 solaris*)
Chris@4 440 SHARED_FLAGS="-G"
Chris@4 441 THREAD_CFLAGS="-mt"
Chris@4 442 ;;
Chris@4 443 *)
Chris@4 444 SHARED_FLAGS="-fPIC"
Chris@4 445 THREAD_CFLAGS="-pthread"
Chris@4 446 ;;
Chris@4 447 esac
Chris@4 448
Chris@4 449 OTHER_OBJS="$OTHER_OBJS src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
Chris@4 450 esac
Chris@4 451 CFLAGS="$CFLAGS $THREAD_CFLAGS"
Chris@4 452
Chris@4 453 test "$enable_shared" != "yes" && SHARED_FLAGS=""
Chris@4 454
Chris@4 455 if test "$enable_cxx" = "yes"; then
Chris@4 456 AC_CONFIG_SUBDIRS([bindings/cpp])
Chris@4 457 ENABLE_CXX_TRUE=""
Chris@4 458 ENABLE_CXX_FALSE="#"
Chris@4 459 else
Chris@4 460 ENABLE_CXX_TRUE="#"
Chris@4 461 ENABLE_CXX_FALSE=""
Chris@4 462 fi
Chris@4 463 AC_SUBST(ENABLE_CXX_TRUE)
Chris@4 464 AC_SUBST(ENABLE_CXX_FALSE)
Chris@4 465
Chris@4 466 if test "x$with_asio" = "xyes"; then
Chris@4 467 WITH_ASIO_TRUE=""
Chris@4 468 WITH_ASIO_FALSE="@ #"
Chris@4 469 else
Chris@4 470 WITH_ASIO_TRUE="@ #"
Chris@4 471 WITH_ASIO_FALSE=""
Chris@4 472 fi
Chris@4 473 AC_SUBST(WITH_ASIO_TRUE)
Chris@4 474 AC_SUBST(WITH_ASIO_FALSE)
Chris@4 475
Chris@4 476 AC_OUTPUT([Makefile portaudio-2.0.pc])
Chris@4 477
Chris@4 478 AC_MSG_RESULT([
Chris@4 479 Configuration summary:
Chris@4 480
Chris@4 481 Target ...................... $target
Chris@4 482 C++ bindings ................ $enable_cxx
Chris@4 483 Debug output ................ $debug_output])
Chris@4 484
Chris@4 485 case "$target_os" in *linux*)
Chris@4 486 AC_MSG_RESULT([
Chris@4 487 ALSA ........................ $have_alsa
Chris@4 488 ASIHPI ...................... $have_asihpi])
Chris@4 489 ;;
Chris@4 490 esac
Chris@4 491 case "$target_os" in
Chris@4 492 *mingw* | *cygwin*)
Chris@4 493 test "x$with_directx" = "xyes" && with_directx="$with_directx (${with_dxdir})"
Chris@4 494 test "x$with_wdmks" = "xyes" && with_wdmks="$with_wdmks (${with_dxdir})"
Chris@4 495 test "x$with_asio" = "xyes" && with_asio="$with_asio (${with_asiodir})"
Chris@4 496 test "x$with_wasapi" = "xyes"
Chris@4 497 AC_MSG_RESULT([
Chris@4 498 WMME ........................ $with_wmme
Chris@4 499 DSound ...................... $with_directx
Chris@4 500 ASIO ........................ $with_asio
Chris@4 501 WASAPI ...................... $with_wasapi
Chris@4 502 WDMKS ....................... $with_wdmks
Chris@4 503 ])
Chris@4 504 ;;
Chris@4 505 *darwin*)
Chris@4 506 AC_MSG_RESULT([
Chris@4 507 Mac debug flags ............. $enable_mac_debug
Chris@4 508 ])
Chris@4 509 ;;
Chris@4 510 *)
Chris@4 511 AC_MSG_RESULT([
Chris@4 512 OSS ......................... $have_oss
Chris@4 513 JACK ........................ $have_jack
Chris@4 514 ])
Chris@4 515 ;;
Chris@4 516 esac