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

Contents of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2797 - (show annotations) (download)
Fri Jul 17 16:50:22 2015 UTC (8 years, 8 months ago) by schoenebeck
File size: 14477 byte(s)
* Fixed configure script's Qt include directory lookup
  for some 64 bit Linux flavours.
* Prefer Qt5 over Qt4 by default with configure script.

1 # Process this file with autoconf to produce a configure script.
2 AC_INIT(Qsampler, 0.3.0.4, 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
33 # Enable Qt4/5 availability.
34 AC_ARG_ENABLE(qt4,
35 AC_HELP_STRING([--enable-qt4], [enable Qt4 build (default=no)]),
36 [ac_qt4="$enableval"],
37 [ac_qt4="no"])
38
39 AC_ARG_ENABLE(qt5,
40 AC_HELP_STRING([--enable-qt5], [enable Qt5 build (default=yes)]),
41 [ac_qt5="$enableval"],
42 [ac_qt5="yes"])
43
44
45
46 # Enable libgig availability.
47 AC_ARG_ENABLE(libgig,
48 AC_HELP_STRING([--enable-libgig], [enable libgig interface (default=yes)]),
49 [ac_libgig="$enableval"],
50 [ac_libgig="yes"])
51
52 # Enable debugger stack-trace option (assumes --enable-debug).
53 AC_ARG_ENABLE(stacktrace,
54 AC_HELP_STRING([--enable-stacktrace], [enable debugger stack-trace (default=no)]),
55 [ac_stacktrace="$enableval"])
56
57
58 # Standard installation base dirs.
59 if test "$cross_compiling" = yes; then
60 ac_with_paths=""
61 else
62 ac_with_paths="/usr/local /usr"
63 fi
64
65 # Set for alternate Qt4/5 installation dir.
66 AC_ARG_WITH(qt4,
67 AC_HELP_STRING([--with-qt4=PATH], [use alternate Qt4 install path]),
68 [ac_qt4_path="$withval"], [ac_qt4_path="no"])
69
70 AC_ARG_WITH(qt5,
71 AC_HELP_STRING([--with-qt5=PATH], [use alternate Qt5 install path]),
72 [ac_qt5_path="$withval"], [ac_qt5_path="no"])
73
74 if test "x$ac_qt4_path" != "xno"; then
75 ac_with_paths="$ac_with_paths $ac_qt4_path"
76 ac_qt4="yes"
77 fi
78
79 if test "x$ac_qt5_path" != "xno"; then
80 ac_with_paths="$ac_with_paths $ac_qt5_path"
81 ac_qt5="yes"
82 fi
83
84 if test "x$ac_qt4" != "xyes"; then
85 ac_qt5="yes"
86 ac_qt4="no"
87 else
88 ac_qt5="no"
89 ac_qt4="yes"
90 fi
91
92 # Set for alternate liblscp installation dir.
93 AC_ARG_WITH(liblscp,
94 AC_HELP_STRING([--with-liblscp=PATH], [use alternate liblscp install path]),
95 [ac_with_paths="$ac_with_paths $withval"])
96
97 # Set for alternate libgig installation dir.
98 AC_ARG_WITH(libgig,
99 AC_HELP_STRING([--with-libgig=PATH], [use alternate libgig install path]),
100 [ac_with_paths="$ac_with_paths $withval"])
101
102
103 # Honor user specified flags.
104 ac_cflags=$CFLAGS
105 ac_ldflags=$LDFLAGS
106
107
108 # Checks for programs.
109 AC_PROG_CC
110 AC_PROG_CPP
111 AC_PROG_CXX
112 AC_PROG_CXXCPP
113 AC_PROG_GCC_TRADITIONAL
114
115 # Checks for languages.
116 AC_LANG_C
117 AC_LANG_CPLUSPLUS
118
119 PKG_PROG_PKG_CONFIG
120
121 # Check for proper flags.
122 ac_arch=`uname -m`
123
124 # Check for some a-la-debian alternatives...
125 ac_qtdirs="qt"
126
127 if test "x$ac_qt4" = "xyes"; then
128 ac_qtdirs="qt4 $ac_qtdirs"
129 fi
130 if test "x$ac_qt5" = "xyes"; then
131 ac_qtdirs="qt5 $ac_qtdirs"
132 fi
133
134 ac_topdirs="/usr/local /usr"
135 ac_subdirs="lib"
136
137 if test "x$ac_arch" = "xx86_64"; then
138 ac_subdirs="$ac_subdirs lib64"
139 fi
140
141 if test "x$ac_arch" = "xx86_64" -o "x$ac_qt5" = "xyes"; then
142 CFLAGS="-fPIC $CFLAGS"
143 CPPFLAGS="-fPIC $CPPFLAGS"
144 fi
145
146 for X in $ac_topdirs; do
147 for Y in share $ac_subdirs; do
148 for Z in $ac_qtdirs; do
149 if test -d $X/$Y/$Z/bin; then
150 ac_with_paths="$X/$Y/$Z $ac_with_paths"
151 fi
152 done
153 done
154 done
155
156 # Prepend alternate dependencies paths.
157 ac_path=$PATH
158 ac_base_inc="include include/${ac_arch}-linux-gnu"
159 for X in $ac_with_paths; do
160 if test -d $X/bin; then
161 ac_path="$X/bin:$ac_path"
162 fi
163 if test -d $X/include; then
164 for Y in $ac_qtdirs; do
165 for Z in $ac_base_inc; do
166 if test -d "$X/$Z/$Y"; then
167 CFLAGS="-I$X/$Z/$Y $CFLAGS"
168 CPPFLAGS="-I$X/$Z/$Y $CPPFLAGS"
169 ac_incpath="$X/$Z/$Y $ac_incpath"
170 fi
171 done
172 done
173 CFLAGS="$CFLAGS -I$X/include"
174 CPPFLAGS="$CPPFLAGS -I$X/include"
175 ac_incpath="$ac_incpath $X/include"
176 fi
177 for Y in $ac_subdirs; do
178 if test -d $X/$Y; then
179 LIBS="-L$X/$Y $LIBS"
180 ac_libs="-L$X/$Y $ac_libs"
181 fi
182 done
183 done
184
185 # Check for proper Qt4/5 version.
186 if test "x$ac_qt4" = "xyes"; then
187 AC_CACHE_CHECK([for Qt library version >= 4.4],
188 ac_cv_qtversion, [
189 AC_TRY_LINK([#include "QtCore/qglobal.h"], [
190 #if QT_VERSION < 0x040400 || QT_VERSION >= 0x050000
191 #error Qt library 4.4 or greater required.
192 #endif
193 ], ac_cv_qtversion="yes", [
194 echo "no; Qt 4.4 or greater is required"
195 exit 1
196 ])
197 ])
198 fi
199
200 if test "x$ac_qt5" = "xyes"; then
201 AC_CACHE_CHECK([for Qt library version >= 5.1],
202 ac_cv_qtversion, [
203 AC_TRY_LINK([#include "QtCore/qglobal.h"], [
204 #if QT_VERSION < 0x050100 || QT_VERSION >= 0x060000
205 #error Qt library 5.1 or greater required.
206 #endif
207 ], ac_cv_qtversion="yes", [
208 echo "no; Qt 5.1 or greater is required"
209 exit 1
210 ])
211 ])
212 fi
213
214 # A common error message:
215 ac_errmsg="not found in current PATH. Maybe QT development environment isn't available (qt-devel)."
216
217 # Check for Qt qmake utility.
218 AC_PATH_PROG(ac_qmake, qmake, [no], $ac_path)
219 if test "x$ac_qmake" = "xno"; then
220 AC_MSG_ERROR([qmake $ac_errmsg])
221 fi
222 AC_SUBST(ac_qmake)
223
224 # Check for Qt moc utility.
225 AC_PATH_PROG(ac_moc, moc, [no], $ac_path)
226 if test "x$ac_moc" = "xno"; then
227 AC_MSG_ERROR([moc $ac_errmsg])
228 fi
229 AC_SUBST(ac_moc)
230
231 # Check for Qt uic utility.
232 AC_PATH_PROG(ac_uic, uic, [no], $ac_path)
233 if test "x$ac_uic" = "xno"; then
234 AC_MSG_ERROR([uic $ac_errmsg])
235 fi
236 AC_SUBST(ac_uic)
237
238 # Check for Qt lupdate utility.
239 AC_PATH_PROG(ac_lupdate, lupdate, [no], $ac_path)
240 if test "x$ac_lupdate" = "xno"; then
241 AC_MSG_ERROR([lupdate $ac_errmsg])
242 fi
243 AC_SUBST(ac_lupdate)
244
245 # Check for Qt lrelease utility.
246 AC_PATH_PROG(ac_lrelease, lrelease, [no], $ac_path)
247 if test "x$ac_release" = "xno"; then
248 AC_MSG_ERROR([lrelease $ac_errmsg])
249 fi
250 AC_SUBST(ac_lrelease)
251
252 # Checks for libraries.
253 AC_CHECK_LIB(m, main)
254 AC_CHECK_LIB(X11, main)
255 AC_CHECK_LIB(Xext, main)
256
257 # Check for round math function.
258 AC_CHECK_LIB(m, round, [ac_round="yes"], [ac_round="no"])
259 if test "x$ac_round" = "xyes"; then
260 AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.])
261 fi
262
263 # Check for mandatory libraries.
264 AC_CHECK_LIB(lscp, main, [ac_liblscp="yes"], [ac_liblscp="no"])
265 if test "x$ac_liblscp" = "xno"; then
266 AC_MSG_ERROR([LSCP library not found.])
267 fi
268 ac_libs="$ac_libs -llscp"
269 case "{$host}" in
270 *mingw*)
271 ac_libs="$ac_libs -lws2_32"
272 LIBS="$LIBS -lws2_32"
273 ;;
274 esac
275
276 AC_CACHE_CHECK([for instrument_name in lscp_channel_info_t],
277 ac_cv_instrument_name, [
278 AC_TRY_COMPILE([#include "lscp/client.h"], [
279 lscp_channel_info_t info;
280 info.instrument_name = 0;
281 ], ac_cv_instrument_name="yes", ac_cv_instrument_name="no")
282 ])
283 ac_instrument_name=$ac_cv_instrument_name
284 if test "x$ac_instrument_name" = "xyes"; then
285 AC_DEFINE(CONFIG_INSTRUMENT_NAME, 1, [Define if instrument_name is available.])
286 fi
287
288 AC_CACHE_CHECK([for mute/solo in lscp_channel_info_t],
289 ac_cv_mute_solo, [
290 AC_TRY_COMPILE([#include "lscp/client.h"], [
291 lscp_channel_info_t info;
292 info.mute = 0;
293 info.solo = 0;
294 ], ac_cv_mute_solo="yes", ac_cv_mute_solo="no")
295 ])
296 ac_mute_solo=$ac_cv_mute_solo
297 if test "x$ac_mute_solo" = "xyes"; then
298 AC_CHECK_LIB(lscp, lscp_set_channel_mute, [ac_mute_solo="yes"], [ac_mute_solo="no"])
299 fi
300 if test "x$ac_mute_solo" = "xyes"; then
301 AC_CHECK_LIB(lscp, lscp_set_channel_solo, [ac_mute_solo="yes"], [ac_mute_solo="no"])
302 fi
303 if test "x$ac_mute_solo" = "xyes"; then
304 AC_DEFINE(CONFIG_MUTE_SOLO, 1, [Define if mute/solo is available.])
305 fi
306
307 AC_CHECK_LIB(lscp, lscp_map_midi_instrument, [ac_midi_instrument="yes"], [ac_midi_instrument="no"])
308 if test "x$ac_midi_instrument" = "xyes"; then
309 AC_DEFINE(CONFIG_MIDI_INSTRUMENT, 1, [Define if MIDI instrument mapping is available.])
310 fi
311
312 AC_CHECK_LIB(lscp, lscp_create_fxsend, [ac_fxsend="yes"], [ac_fxsend="no"])
313 if test "x$ac_fxsend" = "xyes"; then
314 AC_DEFINE(CONFIG_FXSEND, 1, [Define if FX sends is available.])
315 AC_CACHE_CHECK([for FX send level in lscp_fxsend_info_t],
316 ac_cv_fxsend_level, [
317 AC_TRY_COMPILE([#include "lscp/client.h"], [
318 lscp_fxsend_info_t info;
319 info.level = 0.0f;
320 ], ac_cv_fxsend_level="yes", ac_cv_fxsend_level="no")
321 ])
322 ac_fxsend_level=$ac_cv_fxsend_level
323 if test "x$ac_fxsend_level" = "xyes"; then
324 AC_DEFINE(CONFIG_FXSEND_LEVEL, 1, [Define if FX send level is available.])
325 fi
326 AC_CHECK_LIB(lscp, lscp_set_fxsend_name, [ac_fxsend_rename="yes"], [ac_fxsend_rename="no"])
327 if test "x$ac_fxsend_rename" = "xyes"; then
328 AC_DEFINE(CONFIG_FXSEND_RENAME, 1, [Define if FX send rename is available.])
329 fi
330 fi
331
332 AC_CACHE_CHECK([for audio_routing array type],
333 ac_cv_audio_routing, [
334 AC_TRY_COMPILE([#include "lscp/client.h"], [
335 lscp_channel_info_t info;
336 char ch = info.audio_routing[0][0];
337 ], ac_cv_audio_routing="no", ac_cv_audio_routing="yes")
338 ])
339 ac_audio_routing=$ac_cv_audio_routing
340 if test "x$ac_audio_routing" = "xyes"; then
341 AC_DEFINE(CONFIG_AUDIO_ROUTING, 1, [Define if audio_routing is an integer array.])
342 fi
343
344 AC_CHECK_LIB(lscp, lscp_set_volume, [ac_volume="yes"], [ac_volume="no"])
345 if test "x$ac_volume" = "xyes"; then
346 AC_DEFINE(CONFIG_VOLUME, 1, [Define if global volume is available.])
347 fi
348
349 AC_CHECK_LIB(lscp, lscp_edit_channel_instrument, [ac_edit_instrument="yes"], [ac_edit_instrument="no"])
350 if test "x$ac_edit_instrument" = "xyes"; then
351 AC_DEFINE(CONFIG_EDIT_INSTRUMENT, 1, [Define if instrument editing is available.])
352 fi
353
354 AC_CACHE_CHECK([for CHANNEL_MIDI LSCP event support in liblscp],
355 ac_cv_channel_midi_event, [
356 AC_TRY_COMPILE([
357 #include "lscp/client.h"
358 #include "lscp/event.h"
359 ], [
360 lscp_event_t ev;
361 ev = LSCP_EVENT_CHANNEL_MIDI;
362 ], ac_cv_channel_midi_event="yes", ac_cv_channel_midi_event="no")
363 ])
364 ac_channel_midi_event=$ac_cv_channel_midi_event
365 if test "x$ac_channel_midi_event" = "xyes"; then
366 AC_DEFINE(CONFIG_EVENT_CHANNEL_MIDI, 1, [Define if LSCP CHANNEL_MIDI event support is available.])
367 fi
368
369 AC_CACHE_CHECK([for DEVICE_MIDI LSCP event support in liblscp],
370 ac_cv_device_midi_event, [
371 AC_TRY_COMPILE([
372 #include "lscp/client.h"
373 #include "lscp/event.h"
374 ], [
375 lscp_event_t ev;
376 ev = LSCP_EVENT_DEVICE_MIDI;
377 ], ac_cv_device_midi_event="yes", ac_cv_device_midi_event="no")
378 ])
379 ac_device_midi_event=$ac_cv_device_midi_event
380 if test "x$ac_device_midi_event" = "xyes"; then
381 AC_DEFINE(CONFIG_EVENT_DEVICE_MIDI, 1, [Define if LSCP DEVICE_MIDI event support is available.])
382 fi
383
384 AC_CHECK_LIB(lscp, lscp_get_voices, [ac_max_voices="yes"], [ac_max_voices="no"])
385 if test "x$ac_max_voices" = "xyes"; then
386 AC_DEFINE(CONFIG_MAX_VOICES, 1, [Define if max. voices / streams is available.])
387 fi
388
389 # Check for optional libraries.
390 if test "x$ac_libgig" = "xyes"; then
391 PKG_CHECK_MODULES(LIBGIG, gig >= 3.3.0, [ac_libgig="yes"], [ac_libgig="no"])
392 if test "x$ac_libgig" = "xyes"; then
393 AC_DEFINE(CONFIG_LIBGIG, 1, [Define if libgig is available.])
394 AC_SUBST(LIBGIG_CFLAGS)
395 AC_SUBST(LIBGIG_LIBS)
396 ac_cflags="$ac_cflags $LIBGIG_CFLAGS"
397 ac_libs="$ac_libs $LIBGIG_LIBS"
398 AC_DEFINE(CONFIG_LIBGIG_SETAUTOLOAD, 1, [Define if libgig provides gig::File::SetAutoLoad() method.])
399 ac_libgig_setautoload="yes"
400 fi
401 fi
402
403 # Check for round math function.
404 AC_CHECK_LIB(m, lroundf, [ac_round="yes"], [ac_round="no"])
405 if test "x$ac_round" = "xyes"; then
406 AC_DEFINE(CONFIG_ROUND, 1, [Define if round is available.])
407 fi
408
409 # Check for debugging stack-trace.
410 if test "x$ac_stacktrace" = "xyes"; then
411 AC_DEFINE(CONFIG_STACKTRACE, 1, [Define if debugger stack-trace is enabled.])
412 fi
413
414 # Some recent distros (eg. fedora, debian) require this.
415 if test "x$ac_cv_lib_X11_main" = "xyes"; then
416 ac_libs="$ac_libs -lX11"
417 fi
418
419 AC_SUBST(ac_libs)
420 AC_SUBST(ac_incpath)
421 AC_SUBST(ac_cflags)
422 AC_SUBST(ac_ldflags)
423
424 # Checks for header files.
425 AC_HEADER_STDC
426 AC_HEADER_SYS_WAIT
427 AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h signal.h sys/socket.h)
428
429 AC_CHECK_HEADER(lscp/client.h, [ac_lscp_h="yes"], [ac_lscp_h="no"])
430 if test "x$ac_lscp_h" = "xno"; then
431 AC_MSG_ERROR([LSCP headers not found.])
432 fi
433
434 if test "x$ac_libgig" = "xyes"; then
435 AC_CHECK_HEADER(libgig/SF.h, [ac_libgig_sf2="yes"], [ac_libgig_sf2="no"])
436 if test "x$ac_libgig_sf2" = "xyes"; then
437 AC_DEFINE(CONFIG_LIBGIG_SF2, 1, [Define if libgig/SF.h is available.])
438 fi
439 fi
440
441 # Checks for typedefs, structures, and compiler characteristics.
442 # AC_C_CONST
443
444 # Checks for library functions.
445 AC_CHECK_FUNCS(system)
446
447 # Finally produce a configure header file and the makefiles.
448 AC_OUTPUT
449
450 # make clean > /dev/null 2>&1
451
452 # Output summary message
453
454 echo
455 echo " $PACKAGE_NAME $PACKAGE_VERSION"
456 echo
457 echo " Build target . . . . . . . . . . . . . . . . . . .: $ac_debug"
458 echo
459 echo " LSCP instrument name support . . . . . . . . . . .: $ac_instrument_name"
460 echo " LSCP mute/solo support . . . . . . . . . . . . . .: $ac_mute_solo"
461 echo " LSCP MIDI instrument support . . . . . . . . . . .: $ac_midi_instrument"
462 echo " LSCP FX send support . . . . . . . . . . . . . . .: $ac_fxsend"
463 echo " LSCP FX send level support . . . . . . . . . . . .: $ac_fxsend_level"
464 echo " LSCP FX send rename support . . . . . . . . . . .: $ac_fxsend_rename"
465 echo " LSCP audio routing support . . . . . . . . . . . .: $ac_audio_routing"
466 echo " LSCP volume support . . . . . . . . . . . . . . .: $ac_volume"
467 echo " LSCP edit instrument support . . . . . . . . . . .: $ac_edit_instrument"
468 echo " GigaSampler instrument file support (libgig) . . .: $ac_libgig"
469 if test "x$ac_libgig" = "xyes"; then
470 echo " libgig supports fast information retrieval . . . .: $ac_libgig_setautoload"
471 echo " libgig supports SoundFont2 instruments files . . .: $ac_libgig_sf2"
472 fi
473 echo " LSCP channel MIDI event support . . . . . . . . .: $ac_channel_midi_event"
474 echo " LSCP device MIDI event support . . . . . . . . . .: $ac_device_midi_event"
475 echo " LSCP runtime max. voices / disk streams support .: $ac_max_voices"
476 echo
477 echo " Debugger stack-trace (gdb) . . . . . . . . . . . .: $ac_stacktrace"
478 echo
479 echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix"
480 echo
481 echo "Now type 'make', followed by 'make install' as root."
482 echo

  ViewVC Help
Powered by ViewVC