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

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