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

Contents of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC