/[svn]/qsampler/trunk/configure.ac
ViewVC logotype

Contents of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2480 - (show annotations) (download)
Fri Nov 1 17:44:30 2013 UTC (10 years, 4 months ago) by capela
File size: 12723 byte(s)
- More preparations for Qt5 configure build.
1 # Process this file with autoconf to produce a configure script.
2 AC_INIT(Qsampler, 0.2.2.41, rncbc@rncbc.org, qsampler)
3
4 AC_CONFIG_SRCDIR(src/qsampler.cpp)
5 AC_CONFIG_HEADERS(src/config.h)
6 AC_CONFIG_FILES(Makefile qsampler.spec src/src.pri src/qsampler.desktop)
7
8 # Set default installation prefix.
9 AC_PREFIX_DEFAULT(/usr/local)
10 ac_prefix=$prefix
11 if test "x$ac_prefix" = "xNONE"; then
12 ac_prefix=$ac_default_prefix
13 fi
14 AC_SUBST(ac_prefix)
15 AC_DEFINE_UNQUOTED(CONFIG_PREFIX, ["$ac_prefix"], [Default installation prefix.])
16
17 # Enable debugging argument option.
18 AC_ARG_ENABLE(debug,
19 AC_HELP_STRING([--enable-debug], [enable debugging (default=no)]),
20 [ac_debug="$enableval"])
21
22 if test "x$ac_debug" = "xyes"; then
23 AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.])
24 ac_stacktrace="yes"
25 ac_debug="debug"
26 else
27 ac_stacktrace="no"
28 ac_debug="release"
29 fi
30 AC_SUBST(ac_debug)
31
32 # Enable libgig availability.
33 AC_ARG_ENABLE(libgig,
34 AC_HELP_STRING([--enable-libgig], [enable libgig interface (default=yes)]),
35 [ac_libgig="$enableval"],
36 [ac_libgig="yes"])
37
38 # Enable debugger stack-trace option (assumes --enable-debug).
39 AC_ARG_ENABLE(stacktrace,
40 AC_HELP_STRING([--enable-stacktrace], [enable debugger stack-trace (default=no)]),
41 [ac_stacktrace="$enableval"])
42
43
44 if test "$cross_compiling" != yes; then
45 # Standard installation base dirs.
46 ac_with_paths="/usr /usr/local"
47
48 # Some a-la-debian alternatives...
49 for X in /usr/lib /usr/lib64 /usr/share; do
50 for Y in qt qt4 qt5; do
51 if test -d $X/$Y/bin; then
52 ac_with_paths="$ac_with_paths $X/$Y"
53 fi
54 done
55 done
56 fi
57
58 # Set for alternate Qt installation dir.
59 AC_ARG_WITH(qt,
60 AC_HELP_STRING([--with-qt=PATH], [use alternate Qt install path]),
61 [ac_with_paths="$ac_with_paths $withval"])
62
63 # Set for alternate liblscp installation dir.
64 AC_ARG_WITH(liblscp,
65 AC_HELP_STRING([--with-liblscp=PATH], [use alternate liblscp install path]),
66 [ac_with_paths="$ac_with_paths $withval"])
67
68 # Set for alternate libgig installation dir.
69 AC_ARG_WITH(libgig,
70 AC_HELP_STRING([--with-libgig=PATH], [use alternate libgig install path]),
71 [ac_with_paths="$ac_with_paths $withval"])
72
73 # Checks for programs.
74 AC_PROG_CC
75 AC_PROG_CPP
76 AC_PROG_CXX
77 AC_PROG_CXXCPP
78 AC_PROG_GCC_TRADITIONAL
79
80 # Checks for languages.
81 AC_LANG_C
82 AC_LANG_CPLUSPLUS
83
84 # Prepend alternate dependencies paths.
85 ac_path=$PATH
86 for X in $ac_with_paths; do
87 if test -d $X/bin; then
88 ac_path="$X/bin:$ac_path"
89 fi
90 # if test -x $X/qmake; then
91 # ac_path="$X:$ac_path"
92 # fi
93 if test -d $X/include; then
94 for Y in qt qt4 qt5; do
95 if test -d $X/include/$Y; then
96 CFLAGS="-I$X/include/$Y $CFLAGS"
97 CPPFLAGS="-I$X/include/$Y $CPPFLAGS"
98 ac_incpath="$X/include/$Y $ac_incpath"
99 fi
100 done
101 CFLAGS="-I$X/include $CFLAGS"
102 CPPFLAGS="-I$X/include $CPPFLAGS"
103 ac_incpath="$X/include $ac_incpath"
104 fi
105 if test -d $X/lib64; then
106 LIBS="-L$X/lib64 $LIBS"
107 ac_libs="-L$X/lib64 $ac_libs"
108 fi
109 if test -d $X/lib; then
110 LIBS="-L$X/lib $LIBS"
111 ac_libs="-L$X/lib $ac_libs"
112 fi
113 done
114
115 # Check for proper flags.
116 ac_arch=`uname -m`
117 if test "$ac_arch" == "x86_64"; then
118 CFLAGS="-fPIC $CFLAGS"
119 CPPFLAGS="-fPIC $CPPFLAGS"
120 fi
121
122 # Check for proper Qt version.
123 AC_CACHE_CHECK([for Qt library version >= 4.4],
124 ac_cv_qtversion, [
125 AC_TRY_LINK([#include "QtCore/qglobal.h"], [
126 #if QT_VERSION < 0x040400
127 #error Qt library 4.4 or greater required.
128 #endif
129 ], ac_cv_qtversion="yes", [
130 echo "no; Qt 4.4 or greater is required"
131 exit
132 ])
133 ])
134
135 # A common error message:
136 ac_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt-devel)."
137
138 # Check for Qt qmake utility.
139 AC_PATH_PROG(ac_qmake, qmake, [no], $ac_path)
140 if test "x$ac_qmake" = "xno"; then
141 AC_MSG_ERROR([qmake $ac_errmsg])
142 fi
143 AC_SUBST(ac_qmake)
144
145 # Check for Qt moc utility.
146 AC_PATH_PROG(ac_moc, moc, [no], $ac_path)
147 if test "x$ac_moc" = "xno"; then
148 AC_MSG_ERROR([moc $ac_errmsg])
149 fi
150 AC_SUBST(ac_moc)
151
152 # Check for Qt uic utility.
153 AC_PATH_PROG(ac_uic, uic, [no], $ac_path)
154 if test "x$ac_uic" = "xno"; then
155 AC_MSG_ERROR([uic $ac_errmsg])
156 fi
157 AC_SUBST(ac_uic)
158
159 # Check for Qt lupdate utility.
160 AC_PATH_PROG(ac_lupdate, lupdate, [no], $ac_path)
161 if test "x$ac_lupdate" = "xno"; then
162 AC_MSG_ERROR([lupdate $ac_errmsg])
163 fi
164 AC_SUBST(ac_lupdate)
165
166 # Check for Qt lrelease utility.
167 AC_PATH_PROG(ac_lrelease, lrelease, [no], $ac_path)
168 if test "x$ac_release" = "xno"; then
169 AC_MSG_ERROR([lrelease $ac_errmsg])
170 fi
171 AC_SUBST(ac_lrelease)
172
173 # Checks for libraries.
174 AC_CHECK_LIB(m, main)
175 AC_CHECK_LIB(X11, main)
176 AC_CHECK_LIB(Xext, main)
177
178 # Check for round math function.
179 AC_CHECK_LIB(m, round, [ac_round="yes"], [ac_round="no"])
180 if test "x$ac_round" = "xyes"; then
181 AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.])
182 fi
183
184 # Check for mandatory libraries.
185 AC_CHECK_LIB(lscp, main, [ac_liblscp="yes"], [ac_liblscp="no"])
186 if test "x$ac_liblscp" = "xno"; then
187 AC_MSG_ERROR([LSCP library not found.])
188 fi
189 ac_libs="$ac_libs -llscp"
190 case "{$host}" in
191 *mingw*)
192 ac_libs="$ac_libs -lws2_32"
193 LIBS="$LIBS -lws2_32"
194 ;;
195 esac
196
197 AC_CACHE_CHECK([for instrument_name in lscp_channel_info_t],
198 ac_cv_instrument_name, [
199 AC_TRY_COMPILE([#include "lscp/client.h"], [
200 lscp_channel_info_t info;
201 info.instrument_name = 0;
202 ], ac_cv_instrument_name="yes", ac_cv_instrument_name="no")
203 ])
204 ac_instrument_name=$ac_cv_instrument_name
205 if test "x$ac_instrument_name" = "xyes"; then
206 AC_DEFINE(CONFIG_INSTRUMENT_NAME, 1, [Define if instrument_name is available.])
207 fi
208
209 AC_CACHE_CHECK([for mute/solo in lscp_channel_info_t],
210 ac_cv_mute_solo, [
211 AC_TRY_COMPILE([#include "lscp/client.h"], [
212 lscp_channel_info_t info;
213 info.mute = 0;
214 info.solo = 0;
215 ], ac_cv_mute_solo="yes", ac_cv_mute_solo="no")
216 ])
217 ac_mute_solo=$ac_cv_mute_solo
218 if test "x$ac_mute_solo" = "xyes"; then
219 AC_CHECK_LIB(lscp, lscp_set_channel_mute, [ac_mute_solo="yes"], [ac_mute_solo="no"])
220 fi
221 if test "x$ac_mute_solo" = "xyes"; then
222 AC_CHECK_LIB(lscp, lscp_set_channel_solo, [ac_mute_solo="yes"], [ac_mute_solo="no"])
223 fi
224 if test "x$ac_mute_solo" = "xyes"; then
225 AC_DEFINE(CONFIG_MUTE_SOLO, 1, [Define if mute/solo is available.])
226 fi
227
228 AC_CHECK_LIB(lscp, lscp_map_midi_instrument, [ac_midi_instrument="yes"], [ac_midi_instrument="no"])
229 if test "x$ac_midi_instrument" = "xyes"; then
230 AC_DEFINE(CONFIG_MIDI_INSTRUMENT, 1, [Define if MIDI instrument mapping is available.])
231 fi
232
233 AC_CHECK_LIB(lscp, lscp_create_fxsend, [ac_fxsend="yes"], [ac_fxsend="no"])
234 if test "x$ac_fxsend" = "xyes"; then
235 AC_DEFINE(CONFIG_FXSEND, 1, [Define if FX sends is available.])
236 AC_CACHE_CHECK([for FX send level in lscp_fxsend_info_t],
237 ac_cv_fxsend_level, [
238 AC_TRY_COMPILE([#include "lscp/client.h"], [
239 lscp_fxsend_info_t info;
240 info.level = 0.0f;
241 ], ac_cv_fxsend_level="yes", ac_cv_fxsend_level="no")
242 ])
243 ac_fxsend_level=$ac_cv_fxsend_level
244 if test "x$ac_fxsend_level" = "xyes"; then
245 AC_DEFINE(CONFIG_FXSEND_LEVEL, 1, [Define if FX send level is available.])
246 fi
247 AC_CHECK_LIB(lscp, lscp_set_fxsend_name, [ac_fxsend_rename="yes"], [ac_fxsend_rename="no"])
248 if test "x$ac_fxsend_rename" = "xyes"; then
249 AC_DEFINE(CONFIG_FXSEND_RENAME, 1, [Define if FX send rename is available.])
250 fi
251 fi
252
253 AC_CACHE_CHECK([for audio_routing array type],
254 ac_cv_audio_routing, [
255 AC_TRY_COMPILE([#include "lscp/client.h"], [
256 lscp_channel_info_t info;
257 char ch = info.audio_routing[0][0];
258 ], ac_cv_audio_routing="no", ac_cv_audio_routing="yes")
259 ])
260 ac_audio_routing=$ac_cv_audio_routing
261 if test "x$ac_audio_routing" = "xyes"; then
262 AC_DEFINE(CONFIG_AUDIO_ROUTING, 1, [Define if audio_routing is an integer array.])
263 fi
264
265 AC_CHECK_LIB(lscp, lscp_set_volume, [ac_volume="yes"], [ac_volume="no"])
266 if test "x$ac_volume" = "xyes"; then
267 AC_DEFINE(CONFIG_VOLUME, 1, [Define if global volume is available.])
268 fi
269
270 AC_CHECK_LIB(lscp, lscp_edit_channel_instrument, [ac_edit_instrument="yes"], [ac_edit_instrument="no"])
271 if test "x$ac_edit_instrument" = "xyes"; then
272 AC_DEFINE(CONFIG_EDIT_INSTRUMENT, 1, [Define if instrument editing is available.])
273 fi
274
275 AC_CACHE_CHECK([for CHANNEL_MIDI LSCP event support in liblscp],
276 ac_cv_channel_midi_event, [
277 AC_TRY_COMPILE([
278 #include "lscp/client.h"
279 #include "lscp/event.h"
280 ], [
281 lscp_event_t ev;
282 ev = LSCP_EVENT_CHANNEL_MIDI;
283 ], ac_cv_channel_midi_event="yes", ac_cv_channel_midi_event="no")
284 ])
285 ac_channel_midi_event=$ac_cv_channel_midi_event
286 if test "x$ac_channel_midi_event" = "xyes"; then
287 AC_DEFINE(CONFIG_EVENT_CHANNEL_MIDI, 1, [Define if LSCP CHANNEL_MIDI event support is available.])
288 fi
289
290 AC_CACHE_CHECK([for DEVICE_MIDI LSCP event support in liblscp],
291 ac_cv_device_midi_event, [
292 AC_TRY_COMPILE([
293 #include "lscp/client.h"
294 #include "lscp/event.h"
295 ], [
296 lscp_event_t ev;
297 ev = LSCP_EVENT_DEVICE_MIDI;
298 ], ac_cv_device_midi_event="yes", ac_cv_device_midi_event="no")
299 ])
300 ac_device_midi_event=$ac_cv_device_midi_event
301 if test "x$ac_device_midi_event" = "xyes"; then
302 AC_DEFINE(CONFIG_EVENT_DEVICE_MIDI, 1, [Define if LSCP DEVICE_MIDI event support is available.])
303 fi
304
305 AC_CHECK_LIB(lscp, lscp_get_voices, [ac_max_voices="yes"], [ac_max_voices="no"])
306 if test "x$ac_max_voices" = "xyes"; then
307 AC_DEFINE(CONFIG_MAX_VOICES, 1, [Define if max. voices / streams is available.])
308 fi
309
310 # Check for optional libraries.
311 if test "x$ac_libgig" = "xyes"; then
312 AC_CHECK_LIB(gig, main, [ac_libgig="yes"], [ac_libgig="no"])
313 if test "x$ac_libgig" = "xyes"; then
314 AC_DEFINE(CONFIG_LIBGIG, 1, [Define if libgig is available.])
315 ac_libs="$ac_libs -lgig"
316 AC_MSG_CHECKING([for gig::File::SetAutoLoad() method in libgig])
317 AC_LANG_SAVE
318 AC_LANG_CPLUSPLUS
319 CXXFLAGS="$ac_libs"
320 AC_TRY_COMPILE([
321 #include <stdlib.h>
322 #include <gig.h>
323 ],[
324 gig::File file;
325 file.SetAutoLoad(false);
326 ],
327 have_libgig_setautoload="yes",
328 have_libgig_setautoload="no"
329 )
330 AC_LANG_RESTORE
331 AC_MSG_RESULT([$have_libgig_setautoload])
332 if test "x$have_libgig_setautoload" = "xyes"; then
333 AC_DEFINE(HAVE_LIBGIG_SETAUTOLOAD, 1, [Define if libgig provides gig::File::SetAutoLoad() method.])
334 fi
335 fi
336 fi
337
338 # Check for round math function.
339 AC_CHECK_LIB(m, lroundf, [ac_round="yes"], [ac_round="no"])
340 if test "x$ac_round" = "xyes"; then
341 AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.])
342 fi
343
344 # Check for debugging stack-trace.
345 if test "x$ac_stacktrace" = "xyes"; then
346 AC_DEFINE(CONFIG_STACKTRACE, 1, [Define if debugger stack-trace is enabled.])
347 fi
348
349 # Some recent distros (eg. fedora, debian) require this.
350 if test "x$ac_cv_lib_X11_main" = "xyes"; then
351 ac_libs="$ac_libs -lX11"
352 fi
353
354 AC_SUBST(ac_libs)
355 AC_SUBST(ac_incpath)
356
357 # Checks for header files.
358 AC_HEADER_STDC
359 AC_HEADER_SYS_WAIT
360 AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h signal.h sys/socket.h)
361
362 AC_CHECK_HEADER(lscp/client.h, [ac_lscp_h="yes"], [ac_lscp_h="no"])
363 if test "x$ac_lscp_h" = "xno"; then
364 AC_MSG_ERROR([LSCP headers not found.])
365 fi
366
367 # Checks for typedefs, structures, and compiler characteristics.
368 # AC_C_CONST
369
370 # Checks for library functions.
371 AC_CHECK_FUNCS(system)
372
373 # Finally produce a configure header file and the makefiles.
374 AC_OUTPUT
375
376 # make clean > /dev/null 2>&1
377
378 # Output summary message
379
380 echo
381 echo " $PACKAGE_NAME $PACKAGE_VERSION"
382 echo
383 echo " Build target . . . . . . . . . . . . . . . . . . .: $ac_debug"
384 echo
385 echo " LSCP instrument name support . . . . . . . . . . .: $ac_instrument_name"
386 echo " LSCP mute/solo support . . . . . . . . . . . . . .: $ac_mute_solo"
387 echo " LSCP MIDI instrument support . . . . . . . . . . .: $ac_midi_instrument"
388 echo " LSCP FX send support . . . . . . . . . . . . . . .: $ac_fxsend"
389 echo " LSCP FX send level support . . . . . . . . . . . .: $ac_fxsend_level"
390 echo " LSCP FX send rename support . . . . . . . . . . .: $ac_fxsend_rename"
391 echo " LSCP audio routing support . . . . . . . . . . . .: $ac_audio_routing"
392 echo " LSCP volume support . . . . . . . . . . . . . . .: $ac_volume"
393 echo " LSCP edit instrument support . . . . . . . . . . .: $ac_edit_instrument"
394 echo " GigaSampler instrument file support (libgig) . . .: $ac_libgig"
395 if test "x$ac_libgig" = "xyes"; then
396 echo " libgig supports fast information retrieval . . . .: $have_libgig_setautoload"
397 fi
398 echo " LSCP channel MIDI event support . . . . . . . . .: $ac_channel_midi_event"
399 echo " LSCP device MIDI event support . . . . . . . . . .: $ac_device_midi_event"
400 echo " LSCP runtime max. voices / disk streams support .: $ac_max_voices"
401 echo
402 echo " Debugger stack-trace (gdb) . . . . . . . . . . . .: $ac_stacktrace"
403 echo
404 echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix"
405 echo
406 echo "Now type 'make', followed by 'make install' as root."
407 echo

  ViewVC Help
Powered by ViewVC