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

Contents of /qsampler/trunk/configure.ac

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2705 - (show annotations) (download)
Tue Jan 13 23:31:13 2015 UTC (5 years, 8 months ago) by schoenebeck
File size: 13515 byte(s)
* Configure fix: don't overwrite CFLAGS or CPPFLAGS in between, as it would
  break cross compilation.

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

  ViewVC Help
Powered by ViewVC