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

Contents of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC