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

Annotation of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC