annotate src/portaudio_20161030_catalina_patch/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 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