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