annotate src/portaudio_20161030_catalina_patch/configure.in @ 81:7029a4916348

Merge build update
author Chris Cannam
date Thu, 31 Oct 2019 13:36:58 +0000
parents 91c729825bca
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@79 206 AC_DEFINE(AUDIO_COMPONENT_FIX,1)
Chris@4 207
Chris@79 208 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix -Wno-deprecated"
Chris@4 209 LIBS="-framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework Carbon"
Chris@4 210
Chris@4 211 if test "x$enable_mac_universal" = "xyes" ; then
Chris@55 212 case `xcodebuild -version | sed -n 's/Xcode \(.*\)/\1/p'` in
Chris@55 213
Chris@55 214 [12]*|3.0|3.1)
Chris@55 215 dnl In pre-3.2 versions of Xcode, xcodebuild doesn't
Chris@55 216 dnl support -sdk, so we can't use that to look for
Chris@55 217 dnl SDKs. However, in those versions of Xcode, the
Chris@55 218 dnl SDKs are under /Developer/SDKs, so we can just look
Chris@55 219 dnl there. Also, we assume they had no SDKs later
Chris@55 220 dnl than 10.5, as 3.2 was the version that came with
Chris@55 221 dnl 10.6, at least if the Wikipedia page for Xcode
Chris@55 222 dnl is to be believed.
Chris@55 223 if [[ -d /Developer/SDKs/MacOSX10.5.sdk ]] ; then
Chris@55 224 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 225 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.5.sdk"
Chris@55 226 else
Chris@55 227 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 228 mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.4u.sdk"
Chris@55 229 fi
Chris@55 230 ;;
Chris@55 231
Chris@55 232 *)
Chris@55 233 dnl In 3.2 and later, xcodebuild supports -sdk, and, in
Chris@55 234 dnl 4.3 and later, the SDKs aren't under /Developer/SDKs
Chris@55 235 dnl as there *is* no /Developer, so we use -sdk to check
Chris@55 236 dnl what SDKs are available and to get the full path of
Chris@55 237 dnl the SDKs.
Chris@55 238 if xcodebuild -version -sdk macosx10.5 Path >/dev/null 2>&1 ; then
Chris@55 239 mac_version_min="-mmacosx-version-min=10.3"
Chris@55 240 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.5 Path`"
Chris@55 241 elif xcodebuild -version -sdk macosx10.6 Path >/dev/null 2>&1 ; then
Chris@55 242 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 243 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.6 Path`"
Chris@55 244 elif xcodebuild -version -sdk macosx10.7 Path >/dev/null 2>&1 ; then
Chris@55 245 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 246 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.7 Path`"
Chris@55 247 elif xcodebuild -version -sdk macosx10.8 Path >/dev/null 2>&1 ; then
Chris@55 248 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 249 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.8 Path`"
Chris@55 250 elif xcodebuild -version -sdk macosx10.9 Path >/dev/null 2>&1 ; then
Chris@55 251 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 252 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.9 Path`"
Chris@55 253 elif xcodebuild -version -sdk macosx10.10 Path >/dev/null 2>&1 ; then
Chris@55 254 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 255 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.10 Path`"
Chris@55 256 elif xcodebuild -version -sdk macosx10.11 Path >/dev/null 2>&1 ; then
Chris@55 257 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 258 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.11 Path`"
Chris@55 259 elif xcodebuild -version -sdk macosx10.12 Path >/dev/null 2>&1 ; then
Chris@55 260 mac_version_min="-mmacosx-version-min=10.4"
Chris@55 261 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.12 Path`"
Chris@79 262 elif xcodebuild -version -sdk macosx10.13 Path >/dev/null 2>&1 ; then
Chris@79 263 mac_version_min="-mmacosx-version-min=10.4"
Chris@79 264 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.13 Path`"
Chris@79 265 elif xcodebuild -version -sdk macosx10.14 Path >/dev/null 2>&1 ; then
Chris@79 266 mac_version_min="-mmacosx-version-min=10.4"
Chris@79 267 mac_sysroot="-isysroot `xcodebuild -version -sdk macosx10.14 Path`"
Chris@55 268 else
Chris@79 269 AC_MSG_ERROR([Could not find 10.5 to 10.14 SDK.])
Chris@55 270 fi
Chris@55 271 esac
Chris@55 272
Chris@55 273 dnl Pick which architectures to build for based on what
Chris@55 274 dnl the compiler supports.
Chris@55 275 mac_arches=""
Chris@79 276 for arch in x86_64
Chris@55 277 do
Chris@55 278 save_CFLAGS="$CFLAGS"
Chris@55 279 CFLAGS="$CFLAGS -arch $arch"
Chris@55 280 AC_TRY_COMPILE([], [return 0;],
Chris@55 281 [
Chris@55 282 if [[ -z "$mac_arches" ]] ; then
Chris@55 283 mac_arches="-arch $arch"
Chris@55 284 else
Chris@55 285 mac_arches="$mac_arches -arch $arch"
Chris@55 286 fi
Chris@55 287 ])
Chris@55 288 CFLAGS="$save_CFLAGS"
Chris@55 289 done
Chris@4 290 else
Chris@4 291 mac_arches=""
Chris@4 292 mac_sysroot=""
Chris@4 293 mac_version=""
Chris@4 294 fi
Chris@4 295 SHARED_FLAGS="$LIBS -dynamiclib $mac_arches $mac_sysroot $mac_version_min"
Chris@4 296 CFLAGS="-std=c99 $CFLAGS $mac_arches $mac_sysroot $mac_version_min"
Chris@4 297 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 298 PADLL="libportaudio.dylib"
Chris@4 299 ;;
Chris@4 300
Chris@4 301 mingw* )
Chris@4 302 dnl MingW configuration
Chris@4 303
Chris@4 304 PADLL="portaudio.dll"
Chris@4 305 THREAD_CFLAGS="-mthreads"
Chris@4 306 SHARED_FLAGS="-shared"
Chris@4 307 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 308
Chris@4 309 if [[ "x$with_directx" = "xyes" ]]; then
Chris@4 310 DXDIR="$with_dxdir"
Chris@4 311 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 312 LIBS="${LIBS} -lwinmm -lm -ldsound -lole32"
Chris@4 313 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -ldsound -lole32"
Chris@4 314 #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
Chris@4 315 #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
Chris@4 316 CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_DS -DPA_USE_DS=1"
Chris@4 317 fi
Chris@4 318
Chris@4 319 if [[ "x$with_asio" = "xyes" ]]; then
Chris@4 320 ASIODIR="$with_asiodir"
Chris@4 321 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 322 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 323 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 324 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 325
Chris@4 326 dnl Setting the windows version flags below resolves a conflict between Interlocked*
Chris@4 327 dnl definitions in mingw winbase.h and Interlocked* hacks in ASIO SDK combase.h
Chris@4 328 dnl combase.h is included by asiodrvr.h
Chris@4 329 dnl PortAudio does not actually require Win XP (winver 501) APIs
Chris@4 330 CFLAGS="$CFLAGS -D_WIN32_WINNT=0x0501 -DWINVER=0x0501"
Chris@4 331
Chris@4 332 CXXFLAGS="$CFLAGS"
Chris@4 333 fi
Chris@4 334
Chris@4 335 if [[ "x$with_wdmks" = "xyes" ]]; then
Chris@4 336 DXDIR="$with_dxdir"
Chris@55 337 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 338 LIBS="${LIBS} -lwinmm -lm -luuid -lsetupapi -lole32"
Chris@4 339 DLL_LIBS="${DLL_LIBS} -lwinmm -lm -L$DXDIR/lib -luuid -lsetupapi -lole32"
Chris@4 340 #VC98="\"/c/Program Files/Microsoft Visual Studio/VC98/Include\""
Chris@4 341 #CFLAGS="$CFLAGS -I$VC98 -DPA_NO_WMME -DPA_NO_ASIO"
Chris@4 342 CFLAGS="$CFLAGS -I$DXDIR/include -UPA_USE_WDMKS -DPA_USE_WDMKS=1"
Chris@4 343 fi
Chris@4 344
Chris@4 345 if [[ "x$with_wmme" = "xyes" ]]; then
Chris@4 346 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 347 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 348 DLL_LIBS="${DLL_LIBS} -lwinmm"
Chris@4 349 CFLAGS="$CFLAGS -UPA_USE_WMME -DPA_USE_WMME=1"
Chris@4 350 fi
Chris@4 351
Chris@4 352 if [[ "x$with_wasapi" = "xyes" ]]; then
Chris@4 353 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 354 LIBS="${LIBS} -lwinmm -lm -lole32 -luuid"
Chris@4 355 DLL_LIBS="${DLL_LIBS} -lwinmm -lole32"
Chris@4 356 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hostapi/wasapi/mingw-include -UPA_USE_WASAPI -DPA_USE_WASAPI=1"
Chris@4 357 fi
Chris@4 358 ;;
Chris@4 359
Chris@4 360 cygwin* )
Chris@4 361 dnl Cygwin configuration
Chris@4 362
Chris@4 363 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 364 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 365 LIBS="-lwinmm -lm"
Chris@4 366 PADLL="portaudio.dll"
Chris@4 367 THREAD_CFLAGS="-mthreads"
Chris@4 368 SHARED_FLAGS="-shared"
Chris@4 369 DLL_LIBS="${DLL_LIBS} -lwinmm"
Chris@4 370 ;;
Chris@4 371
Chris@4 372 irix* )
Chris@4 373 dnl SGI IRIX audio library (AL) configuration (Pieter, oct 2-13, 2003).
Chris@4 374 dnl The 'dmedia' library is needed to read the Unadjusted System Time (UST).
Chris@4 375 dnl
Chris@4 376 AC_CHECK_LIB(pthread, pthread_create, , AC_MSG_ERROR([IRIX posix thread library not found!]))
Chris@4 377 AC_CHECK_LIB(audio, alOpenPort, , AC_MSG_ERROR([IRIX audio library not found!]))
Chris@4 378 AC_CHECK_LIB(dmedia, dmGetUST, , AC_MSG_ERROR([IRIX digital media library not found!]))
Chris@4 379
Chris@4 380 dnl See the '#ifdef PA_USE_SGI' in file pa_unix/pa_unix_hostapis.c
Chris@4 381 dnl which selects the appropriate PaXXX_Initialize() function.
Chris@4 382 dnl
Chris@4 383 AC_DEFINE(PA_USE_SGI,1)
Chris@4 384
Chris@4 385 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
Chris@4 386
Chris@4 387 dnl The _REENTRANT option for pthread safety. Perhaps not necessary but it 'll do no harm.
Chris@4 388 dnl
Chris@4 389 THREAD_CFLAGS="-D_REENTRANT"
Chris@4 390
Chris@4 391 OTHER_OBJS="pa_sgi/pa_sgi.o src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
Chris@4 392
Chris@4 393 dnl SGI books say -lpthread should be the last of the libs mentioned.
Chris@4 394 dnl
Chris@4 395 LIBS="-lm -ldmedia -laudio -lpthread"
Chris@4 396 PADLL="libportaudio.so"
Chris@4 397 SHARED_FLAGS=""
Chris@4 398 ;;
Chris@4 399
Chris@4 400 *)
Chris@4 401 dnl Unix configuration
Chris@4 402
Chris@4 403 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/os/unix"
Chris@4 404
Chris@4 405 AC_CHECK_LIB(pthread, pthread_create,[have_pthread="yes"],
Chris@4 406 AC_MSG_ERROR([libpthread not found!]))
Chris@4 407
Chris@4 408 if [[ "$have_alsa" = "yes" ] && [ "$with_alsa" != "no" ]] ; then
Chris@4 409 DLL_LIBS="$DLL_LIBS -lasound"
Chris@4 410 LIBS="$LIBS -lasound"
Chris@4 411 OTHER_OBJS="$OTHER_OBJS src/hostapi/alsa/pa_linux_alsa.o"
Chris@4 412 INCLUDES="$INCLUDES pa_linux_alsa.h"
Chris@4 413 AC_DEFINE(PA_USE_ALSA,1)
Chris@4 414 fi
Chris@4 415
Chris@4 416 if [[ "$have_jack" = "yes" ] && [ "$with_jack" != "no" ]] ; then
Chris@4 417 DLL_LIBS="$DLL_LIBS $JACK_LIBS"
Chris@4 418 CFLAGS="$CFLAGS $JACK_CFLAGS"
Chris@4 419 OTHER_OBJS="$OTHER_OBJS src/hostapi/jack/pa_jack.o src/common/pa_ringbuffer.o"
Chris@4 420 INCLUDES="$INCLUDES pa_jack.h"
Chris@4 421 AC_DEFINE(PA_USE_JACK,1)
Chris@4 422 fi
Chris@4 423
Chris@4 424 if [[ "$with_oss" != "no" ]] ; then
Chris@4 425 OTHER_OBJS="$OTHER_OBJS src/hostapi/oss/pa_unix_oss.o"
Chris@4 426 if [[ "$have_libossaudio" = "yes" ]] ; then
Chris@4 427 DLL_LIBS="$DLL_LIBS -lossaudio"
Chris@4 428 LIBS="$LIBS -lossaudio"
Chris@4 429 fi
Chris@4 430 AC_DEFINE(PA_USE_OSS,1)
Chris@4 431 fi
Chris@4 432
Chris@4 433 if [[ "$have_asihpi" = "yes" ] && [ "$with_asihpi" != "no" ]] ; then
Chris@4 434 LIBS="$LIBS -lhpi"
Chris@4 435 DLL_LIBS="$DLL_LIBS -lhpi"
Chris@4 436 OTHER_OBJS="$OTHER_OBJS src/hostapi/asihpi/pa_linux_asihpi.o"
Chris@4 437 AC_DEFINE(PA_USE_ASIHPI,1)
Chris@4 438 fi
Chris@4 439
Chris@4 440 DLL_LIBS="$DLL_LIBS -lm -lpthread"
Chris@4 441 LIBS="$LIBS -lm -lpthread"
Chris@4 442 PADLL="libportaudio.so"
Chris@4 443
Chris@4 444 ## support sun cc compiler flags
Chris@4 445 case "${host_os}" in
Chris@4 446 solaris*)
Chris@4 447 SHARED_FLAGS="-G"
Chris@4 448 THREAD_CFLAGS="-mt"
Chris@4 449 ;;
Chris@4 450 *)
Chris@4 451 SHARED_FLAGS="-fPIC"
Chris@4 452 THREAD_CFLAGS="-pthread"
Chris@4 453 ;;
Chris@4 454 esac
Chris@4 455
Chris@4 456 OTHER_OBJS="$OTHER_OBJS src/os/unix/pa_unix_hostapis.o src/os/unix/pa_unix_util.o"
Chris@4 457 esac
Chris@4 458 CFLAGS="$CFLAGS $THREAD_CFLAGS"
Chris@4 459
Chris@4 460 test "$enable_shared" != "yes" && SHARED_FLAGS=""
Chris@4 461
Chris@4 462 if test "$enable_cxx" = "yes"; then
Chris@4 463 AC_CONFIG_SUBDIRS([bindings/cpp])
Chris@4 464 ENABLE_CXX_TRUE=""
Chris@4 465 ENABLE_CXX_FALSE="#"
Chris@4 466 else
Chris@4 467 ENABLE_CXX_TRUE="#"
Chris@4 468 ENABLE_CXX_FALSE=""
Chris@4 469 fi
Chris@4 470 AC_SUBST(ENABLE_CXX_TRUE)
Chris@4 471 AC_SUBST(ENABLE_CXX_FALSE)
Chris@4 472
Chris@4 473 if test "x$with_asio" = "xyes"; then
Chris@4 474 WITH_ASIO_TRUE=""
Chris@4 475 WITH_ASIO_FALSE="@ #"
Chris@4 476 else
Chris@4 477 WITH_ASIO_TRUE="@ #"
Chris@4 478 WITH_ASIO_FALSE=""
Chris@4 479 fi
Chris@4 480 AC_SUBST(WITH_ASIO_TRUE)
Chris@4 481 AC_SUBST(WITH_ASIO_FALSE)
Chris@4 482
Chris@4 483 AC_OUTPUT([Makefile portaudio-2.0.pc])
Chris@4 484
Chris@4 485 AC_MSG_RESULT([
Chris@4 486 Configuration summary:
Chris@4 487
Chris@4 488 Target ...................... $target
Chris@4 489 C++ bindings ................ $enable_cxx
Chris@4 490 Debug output ................ $debug_output])
Chris@4 491
Chris@4 492 case "$target_os" in *linux*)
Chris@4 493 AC_MSG_RESULT([
Chris@4 494 ALSA ........................ $have_alsa
Chris@4 495 ASIHPI ...................... $have_asihpi])
Chris@4 496 ;;
Chris@4 497 esac
Chris@4 498 case "$target_os" in
Chris@4 499 *mingw* | *cygwin*)
Chris@4 500 test "x$with_directx" = "xyes" && with_directx="$with_directx (${with_dxdir})"
Chris@4 501 test "x$with_wdmks" = "xyes" && with_wdmks="$with_wdmks (${with_dxdir})"
Chris@4 502 test "x$with_asio" = "xyes" && with_asio="$with_asio (${with_asiodir})"
Chris@4 503 test "x$with_wasapi" = "xyes"
Chris@4 504 AC_MSG_RESULT([
Chris@4 505 WMME ........................ $with_wmme
Chris@4 506 DSound ...................... $with_directx
Chris@4 507 ASIO ........................ $with_asio
Chris@4 508 WASAPI ...................... $with_wasapi
Chris@4 509 WDMKS ....................... $with_wdmks
Chris@4 510 ])
Chris@4 511 ;;
Chris@4 512 *darwin*)
Chris@4 513 AC_MSG_RESULT([
Chris@4 514 Mac debug flags ............. $enable_mac_debug
Chris@4 515 ])
Chris@4 516 ;;
Chris@4 517 *)
Chris@4 518 AC_MSG_RESULT([
Chris@4 519 OSS ......................... $have_oss
Chris@4 520 JACK ........................ $have_jack
Chris@4 521 ])
Chris@4 522 ;;
Chris@4 523 esac