cannam@140
|
1 #
|
cannam@140
|
2 # PortAudioCpp V19 autoconf input file
|
cannam@140
|
3 # Shamelessly ripped from the PortAudio one by Dominic Mazzoni
|
cannam@140
|
4 # Ludwig Schwardt
|
cannam@140
|
5 #
|
cannam@140
|
6
|
cannam@140
|
7 # Require autoconf >= 2.13
|
cannam@140
|
8 AC_PREREQ(2.13)
|
cannam@140
|
9
|
cannam@140
|
10 AC_INIT([PortAudioCpp], [12])
|
cannam@140
|
11 AC_CONFIG_SRCDIR([../../include/portaudiocpp/PortAudioCpp.hxx])
|
cannam@140
|
12
|
cannam@140
|
13 ###### Top-level directory of pacpp
|
cannam@140
|
14 ###### This makes it easy to shuffle the build directories
|
cannam@140
|
15 ###### Also edit AC_CONFIG_SRCDIR above (wouldn't accept this variable)!
|
cannam@140
|
16 PACPP_ROOT="../.."
|
cannam@140
|
17
|
cannam@140
|
18 ######
|
cannam@140
|
19 ###### SET THIS TO PORTAUDIO DIRECTORY
|
cannam@140
|
20 ######
|
cannam@140
|
21 PORTAUDIO="$PACPP_ROOT/../portaudio"
|
cannam@140
|
22
|
cannam@140
|
23 # Various other variables and flags
|
cannam@140
|
24
|
cannam@140
|
25 PACPP_INC="$PACPP_ROOT/include"
|
cannam@140
|
26 INCLUDES="-I$PACPP_INC -I$PORTAUDIO -I$PORTAUDIO/pa_common"
|
cannam@140
|
27 CFLAGS="-g -O2 -Wall -ansi -pedantic $INCLUDES"
|
cannam@140
|
28 CXXFLAGS="$CFLAGS"
|
cannam@140
|
29 PALIBDIR="$PORTAUDIO/lib"
|
cannam@140
|
30
|
cannam@140
|
31 # Checks for programs
|
cannam@140
|
32
|
cannam@140
|
33 AC_PROG_CC
|
cannam@140
|
34 AC_PROG_CXX
|
cannam@140
|
35 AC_PROG_LN_S
|
cannam@140
|
36 AC_PROG_RANLIB
|
cannam@140
|
37 AC_PROG_INSTALL
|
cannam@140
|
38 AC_PATH_PROG(AR, ar, no)
|
cannam@140
|
39 if [[ $AR = "no" ]] ; then
|
cannam@140
|
40 AC_MSG_ERROR("Could not find ar - needed to create a library");
|
cannam@140
|
41 fi
|
cannam@140
|
42
|
cannam@140
|
43 # This must be one of the first tests we do or it will fail...
|
cannam@140
|
44 AC_C_BIGENDIAN
|
cannam@140
|
45
|
cannam@140
|
46 # Transfer these variables to the Makefile
|
cannam@140
|
47 AC_SUBST(PACPP_ROOT)
|
cannam@140
|
48 AC_SUBST(PORTAUDIO)
|
cannam@140
|
49 AC_SUBST(PADLL)
|
cannam@140
|
50 AC_SUBST(PACPP_DLL)
|
cannam@140
|
51 AC_SUBST(PACPP_INC)
|
cannam@140
|
52 AC_SUBST(SHARED_FLAGS)
|
cannam@140
|
53 AC_SUBST(DLL_LIBS)
|
cannam@140
|
54 AC_SUBST(CXXFLAGS)
|
cannam@140
|
55
|
cannam@140
|
56 ##################### CHECK FOR INSTALLED PACKAGES ############################
|
cannam@140
|
57
|
cannam@140
|
58 # checks for various host APIs and arguments to configure that
|
cannam@140
|
59 # turn them on or off
|
cannam@140
|
60
|
cannam@140
|
61 AC_CHECK_LIB(asound, snd_pcm_open, have_alsa=yes, have_alsa=no)
|
cannam@140
|
62
|
cannam@140
|
63 # Determine the host description for the subsequent test.
|
cannam@140
|
64 # PKG_CHECK_MODULES seems to check and set the host variable also, but
|
cannam@140
|
65 # that then requires pkg-config availability which is not standard on
|
cannam@140
|
66 # MinGW systems and can be a pain to install.
|
cannam@140
|
67 AC_CANONICAL_HOST
|
cannam@140
|
68
|
cannam@140
|
69 PKG_CHECK_MODULES(JACK, jack, have_jack=yes, have_jack=no)
|
cannam@140
|
70
|
cannam@140
|
71 AC_ARG_WITH(alsa,
|
cannam@140
|
72 [ --with-alsa (default=auto)],
|
cannam@140
|
73 with_alsa=$withval, with_alsa="yes")
|
cannam@140
|
74
|
cannam@140
|
75 AC_ARG_WITH(jack,
|
cannam@140
|
76 [ --with-jack (default=auto)],
|
cannam@140
|
77 with_jack=$withval, with_jack="yes")
|
cannam@140
|
78
|
cannam@140
|
79 AC_ARG_WITH(oss,
|
cannam@140
|
80 [ --with-oss (default=yes)],
|
cannam@140
|
81 with_oss=$withval, with_oss="yes")
|
cannam@140
|
82
|
cannam@140
|
83 AC_ARG_WITH(host_os,
|
cannam@140
|
84 [ --with-host_os (no default)],
|
cannam@140
|
85 host_os=$withval)
|
cannam@140
|
86
|
cannam@140
|
87 AC_ARG_WITH(winapi,
|
cannam@140
|
88 [ --with-winapi ((wmme/directx/asio) default=wmme)],
|
cannam@140
|
89 with_winapi=$withval, with_winapi="wmme")
|
cannam@140
|
90
|
cannam@140
|
91 # Mac API added for ASIO, can have other api's listed
|
cannam@140
|
92 AC_ARG_WITH(macapi,
|
cannam@140
|
93 [ --with-macapi (asio) default=asio)],
|
cannam@140
|
94 with_macapi=$withval, with_macapi="asio")
|
cannam@140
|
95
|
cannam@140
|
96 AC_ARG_WITH(asiodir,
|
cannam@140
|
97 [ --with-asiodir (default=/usr/local/asiosdk2)],
|
cannam@140
|
98 with_asiodir=$withval, with_asiodir="/usr/local/asiosdk2")
|
cannam@140
|
99
|
cannam@140
|
100 AC_ARG_WITH(dxdir,
|
cannam@140
|
101 [ --with-dxdir (default=/usr/local/dx7sdk)],
|
cannam@140
|
102 with_dxdir=$withval, with_dxdir="/usr/local/dx7sdk")
|
cannam@140
|
103
|
cannam@140
|
104
|
cannam@140
|
105 ##################### HOST-SPECIFIC LIBRARY SETTINGS ##########################
|
cannam@140
|
106
|
cannam@140
|
107 case "${host_os}" in
|
cannam@140
|
108 darwin* )
|
cannam@140
|
109 # Mac OS X configuration
|
cannam@140
|
110
|
cannam@140
|
111 LIBS="-framework AudioUnit -framework AudioToolbox -framework CoreAudio";
|
cannam@140
|
112 PADLL="libportaudio.dylib";
|
cannam@140
|
113 PACPP_DLL="libportaudiocpp.dylib";
|
cannam@140
|
114 SHARED_FLAGS="-framework AudioUnit -framework AudioToolbox";
|
cannam@140
|
115 SHARED_FLAGS="$SHARED_FLAGS -framework CoreAudio -dynamiclib";
|
cannam@140
|
116 if [[ $with_macapi = "asio" ]] ; then
|
cannam@140
|
117 if [[ $with_asiodir ]] ; then
|
cannam@140
|
118 ASIODIR="$with_asiodir";
|
cannam@140
|
119 else
|
cannam@140
|
120 ASIODIR="/usr/local/asiosdk2";
|
cannam@140
|
121 fi
|
cannam@140
|
122 echo "ASIODIR: $ASIODIR";
|
cannam@140
|
123 fi
|
cannam@140
|
124 ;;
|
cannam@140
|
125
|
cannam@140
|
126 mingw* )
|
cannam@140
|
127 # MingW configuration
|
cannam@140
|
128
|
cannam@140
|
129 echo "WINAPI: $with_winapi"
|
cannam@140
|
130 if [[ $with_winapi = "directx" ]] ; then
|
cannam@140
|
131 if [[ $with_dxdir ]] ; then
|
cannam@140
|
132 DXDIR="$with_dxdir";
|
cannam@140
|
133 else
|
cannam@140
|
134 DXDIR="/usr/local/dx7sdk";
|
cannam@140
|
135 fi
|
cannam@140
|
136 echo "DXDIR: $DXDIR"
|
cannam@140
|
137 LIBS="-L$PALIBDIR -lportaudio"
|
cannam@140
|
138 LIBS="$LIBS -lwinmm -lm -ldsound -lole32";
|
cannam@140
|
139 PADLL="portaudio.dll";
|
cannam@140
|
140 PACPP_DLL="portaudiocpp.dll";
|
cannam@140
|
141 SHARED_FLAGS="-shared -mthreads";
|
cannam@140
|
142 DLL_LIBS="-lwinmm -lm -L./dx7sdk/lib -ldsound -lole32";
|
cannam@140
|
143 CFLAGS="$CFLAGS -DPA_NO_WMME -DPA_NO_ASIO";
|
cannam@140
|
144 CXXFLAGS="$CFLAGS"
|
cannam@140
|
145 elif [[ $with_winapi = "asio" ]] ; then
|
cannam@140
|
146 if [[ $with_asiodir ]] ; then
|
cannam@140
|
147 ASIODIR="$with_asiodir";
|
cannam@140
|
148 else
|
cannam@140
|
149 ASIODIR="/usr/local/asiosdk2";
|
cannam@140
|
150 fi
|
cannam@140
|
151 echo "ASIODIR: $ASIODIR"
|
cannam@140
|
152
|
cannam@140
|
153 LIBS="-L$PALIBDIR -lportaudio"
|
cannam@140
|
154 LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
|
cannam@140
|
155 PADLL="portaudio.dll";
|
cannam@140
|
156 PACPP_DLL="portaudiocpp.dll";
|
cannam@140
|
157 SHARED_FLAGS="-shared -mthreads";
|
cannam@140
|
158 DLL_LIBS="-lwinmm -lm -lstdc++ -lole32 -luuid";
|
cannam@140
|
159 CFLAGS="$CFLAGS -ffast-math -fomit-frame-pointer -DPA_NO_WMME -DPA_NO_DS -DWINDOWS";
|
cannam@140
|
160 CXXFLAGS="$CFLAGS";
|
cannam@140
|
161 else # WMME default
|
cannam@140
|
162 LIBS="-L$PALIBDIR -lportaudio"
|
cannam@140
|
163 LIBS="$LIBS -lwinmm -lm -lstdc++ -lole32 -luuid";
|
cannam@140
|
164 PADLL="portaudio.dll";
|
cannam@140
|
165 PACPP_DLL="portaudiocpp.dll";
|
cannam@140
|
166 SHARED_FLAGS="-shared -mthreads";
|
cannam@140
|
167 DLL_LIBS="-lwinmm";
|
cannam@140
|
168 CFLAGS="$CFLAGS -DPA_NO_DS -DPA_NO_ASIO";
|
cannam@140
|
169 CXXFLAGS="$CFLAGS";
|
cannam@140
|
170 fi
|
cannam@140
|
171 ;;
|
cannam@140
|
172
|
cannam@140
|
173 cygwin* )
|
cannam@140
|
174 # Cygwin configuration
|
cannam@140
|
175
|
cannam@140
|
176 LIBS="-L$PALIBDIR -lportaudio"
|
cannam@140
|
177 LIBS="$LIBS -lwinmm -lm";
|
cannam@140
|
178 PADLL="portaudio.dll";
|
cannam@140
|
179 PACPP_DLL="portaudiocpp.dll";
|
cannam@140
|
180 SHARED_FLAGS="-shared -mthreads";
|
cannam@140
|
181 DLL_LIBS="-lwinmm";
|
cannam@140
|
182 ;;
|
cannam@140
|
183
|
cannam@140
|
184 *)
|
cannam@140
|
185 # Unix OSS configuration
|
cannam@140
|
186
|
cannam@140
|
187 AC_CHECK_LIB(pthread, pthread_create,
|
cannam@140
|
188 ,
|
cannam@140
|
189 AC_MSG_ERROR([libpthread not found!]))
|
cannam@140
|
190
|
cannam@140
|
191 LIBS="$LIBS -L$PALIBDIR -lportaudio"
|
cannam@140
|
192
|
cannam@140
|
193 if [[ $have_jack = "yes" ] && [ $with_jack != "no" ]] ; then
|
cannam@140
|
194 LIBS="$LIBS $JACK_LIBS"
|
cannam@140
|
195 CFLAGS="$CFLAGS $JACK_CFLAGS"
|
cannam@140
|
196 AC_DEFINE(PA_USE_JACK)
|
cannam@140
|
197 fi
|
cannam@140
|
198
|
cannam@140
|
199 if [[ $have_alsa = "yes" ] && [ $with_alsa != "no" ]] ; then
|
cannam@140
|
200 LIBS="$LIBS -lasound"
|
cannam@140
|
201 AC_DEFINE(PA_USE_ALSA)
|
cannam@140
|
202 fi
|
cannam@140
|
203
|
cannam@140
|
204 if [[ $with_oss != "no" ]] ; then
|
cannam@140
|
205 AC_DEFINE(PA_USE_OSS)
|
cannam@140
|
206 fi
|
cannam@140
|
207 LIBS="$LIBS -lm -lpthread";
|
cannam@140
|
208 PADLL="libportaudio.so";
|
cannam@140
|
209 PACPP_DLL="libportaudiocpp.so";
|
cannam@140
|
210 SHARED_FLAGS="-shared";
|
cannam@140
|
211 esac
|
cannam@140
|
212
|
cannam@140
|
213 AC_CONFIG_FILES([Makefile])
|
cannam@140
|
214 AC_OUTPUT
|