1# Process this file with autoconf to produce a configure script. 2AC_INIT(QjackCtl, 0.9.5, rncbc@rncbc.org, qjackctl) 3 4AC_CONFIG_SRCDIR(src/qjackctl.cpp) 5AC_CONFIG_HEADERS(src/config.h) 6AC_CONFIG_FILES(Makefile qjackctl.spec src/src.pri) 7 8# Build version string. 9AC_CACHE_VAL([ac_cv_build_version], [ 10 ac_cv_build_version=$(git describe --tags --dirty --abbrev=6 2>/dev/null) 11 if test -n "$ac_cv_build_version"; then 12 ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[[^0-9]]\+//') 13 ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^1_//') 14 ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/^[[_vV]]\+//') 15 ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/-g/git./') 16 ac_cv_build_version=$(echo $ac_cv_build_version | sed 's/[[_|-]]/./g') 17 ac_cv_build_version_extra=$(git rev-parse --abbrev-ref HEAD 2>/dev/null) 18 if test "x$ac_cv_build_version_extra" != "xmaster"; then 19 ac_cv_build_version="$ac_cv_build_version [[$ac_cv_build_version_extra]]" 20 fi 21 else 22 ac_cv_build_version=$PACKAGE_VERSION 23 fi 24]) 25ac_build_version="$ac_cv_build_version" 26AC_DEFINE_UNQUOTED(CONFIG_BUILD_VERSION, ["$ac_build_version"], [Build version string.]) 27 28# Sanitized version string. 29AC_CACHE_VAL([ac_cv_version], [ 30 ac_cv_version=$(echo $PACKAGE_VERSION | sed -r 's/^([[0-9|\.]]+).*$/\1/') 31]) 32ac_version="$ac_cv_version" 33AC_DEFINE_UNQUOTED(CONFIG_VERSION, ["$ac_version"], [Version string.]) 34AC_SUBST(ac_version) 35 36# Set default installation prefix. 37AC_PREFIX_DEFAULT(/usr/local) 38if test "x$prefix" = "xNONE"; then 39 prefix=$ac_default_prefix 40fi 41if test "x$exec_prefix" = "xNONE"; then 42 exec_prefix=$prefix 43fi 44eval ac_prefix=$prefix 45AC_SUBST(ac_prefix) 46AC_DEFINE_UNQUOTED(CONFIG_PREFIX, ["$ac_prefix"], [Default installation prefix.]) 47 48# Set default installation directories. 49eval ac_bindir=$bindir 50AC_SUBST(ac_bindir) 51AC_DEFINE_UNQUOTED(CONFIG_BINDIR, ["$ac_bindir"], [Default executable binary path.]) 52 53eval ac_libdir=$libdir 54AC_SUBST(ac_libdir) 55AC_DEFINE_UNQUOTED(CONFIG_LIBDIR, ["$ac_libdir"], [Default object library path.]) 56 57eval datarootdir=$datarootdir 58eval ac_datadir=$datadir 59AC_SUBST(ac_datadir) 60AC_DEFINE_UNQUOTED(CONFIG_DATADIR, ["$ac_datadir"], [Default arch-idependent data path.]) 61 62eval ac_mandir=$mandir 63AC_SUBST(ac_mandir) 64AC_DEFINE_UNQUOTED(CONFIG_MANDIR, ["$ac_mandir"], [Default man page path.]) 65 66 67# Enable debugging argument option. 68AC_ARG_ENABLE(debug, 69 AS_HELP_STRING([--enable-debug], [enable debugging (default=no)]), 70 [ac_debug="$enableval"]) 71 72# Enable Qt6 build preference. 73AC_ARG_ENABLE(qt6, 74 AS_HELP_STRING([--enable-qt6], [enable Qt6 build (default=yes)]), 75 [ac_qt6="$enableval"], 76 [ac_qt6="yes"]) 77 78 79if test "x$ac_debug" = "xyes"; then 80 AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.]) 81 ac_stacktrace="yes" 82 ac_build_type="debug" 83else 84 ac_stacktrace="no" 85 ac_build_type="release" 86fi 87AC_SUBST(ac_build_type) 88 89 90# Disable system tray argument option. 91AC_ARG_ENABLE(system_tray, 92 AS_HELP_STRING([--enable-system-tray], [enable system tray (default=yes)]), 93 [ac_system_tray="$enableval"], 94 [ac_system_tray="yes"]) 95 96# Enable JACK session support. 97AC_ARG_ENABLE(jack_session, 98 AS_HELP_STRING([--enable-jack-session], [enable JACK session support (default=yes)]), 99 [ac_jack_session="$enableval"], 100 [ac_jack_session="yes"]) 101 102# Enable JACK port aliases support. 103AC_ARG_ENABLE(jack_port_aliases, 104 AS_HELP_STRING([--enable-jack-port-aliases], [enable JACK port aliases support (default=yes)]), 105 [ac_jack_port_aliases="$enableval"], 106 [ac_jack_port_aliases="yes"]) 107 108# Enable JACK metadata support. 109AC_ARG_ENABLE(jack_metadata, 110 AS_HELP_STRING([--enable-jack-metadata], [enable JACK metadata support (default=yes)]), 111 [ac_jack_metadata="$enableval"], 112 [ac_jack_metadata="yes"]) 113 114# Enable JACK MIDI support option. 115AC_ARG_ENABLE(jack_midi, 116 AS_HELP_STRING([--enable-jack-midi], [enable JACK MIDI support (default=yes)]), 117 [ac_jack_midi="$enableval"], 118 [ac_jack_midi="yes"]) 119 120# Enable JACK CV support. 121AC_ARG_ENABLE(jack_cv, 122 AS_HELP_STRING([--enable-jack-cv], [enable JACK CV support (default=yes)]), 123 [ac_jack_cv="$enableval"], 124 [ac_jack_cv="yes"]) 125 126# Enable JACK OSC support. 127AC_ARG_ENABLE(jack_osc, 128 AS_HELP_STRING([--enable-jack-osc], [enable JACK OSC support (default=yes)]), 129 [ac_jack_osc="$enableval"], 130 [ac_jack_osc="yes"]) 131 132# Enable JACK version support. 133AC_ARG_ENABLE(jack_version, 134 AS_HELP_STRING([--enable-jack-version], [enable JACK version support (default=no)]), 135 [ac_jack_version="$enableval"], 136 [ac_jack_version="no"]) 137 138# Enable ALSA sequencer support option. 139AC_ARG_ENABLE(alsa_seq, 140 AS_HELP_STRING([--enable-alsa-seq], [enable ALSA/MIDI sequencer support (default=yes)]), 141 [ac_alsa_seq="$enableval"], 142 [ac_alsa_seq="yes"]) 143 144# Enable PortAudio argument option. 145AC_ARG_ENABLE(portaudio, 146 AS_HELP_STRING([--enable-portaudio], [enable PortAudio interface (default=yes)]), 147 [ac_portaudio="$enableval"], 148 [ac_portaudio="yes"]) 149 150# Enable D-Bus argument option. 151AC_ARG_ENABLE(dbus, 152 AS_HELP_STRING([--enable-dbus], [enable D-Bus interface (default=yes)]), 153 [ac_dbus="$enableval"], 154 [ac_dbus="yes"]) 155 156# Enable unique/single instance. 157AC_ARG_ENABLE(xunique, 158 AS_HELP_STRING([--enable-xunique], [enable unique/single instance (default=yes)]), 159 [ac_xunique="$enableval"], 160 [ac_xunique="yes"]) 161 162# Enable debugger stack-trace option (assumes --enable-debug). 163AC_ARG_ENABLE(stacktrace, 164 AS_HELP_STRING([--enable-stacktrace], [enable debugger stack-trace (default=no)]), 165 [ac_stacktrace="$enableval"]) 166 167 168# Standard installation base dirs. 169ac_path=$PATH 170ac_pkg_config_path=$PKG_CONFIG_PATH 171ac_with_paths="" 172 173# Set for alternate Qt installation dir. 174AC_ARG_WITH(qt, 175 AS_HELP_STRING([--with-qt=PATH], [use alternate Qt install path]), 176 [ac_qt_path="$withval"], [ac_qt_path="no"]) 177 178if test "x$ac_qt_path" != "xno"; then 179 ac_path="$ac_qt_path/bin:$ac_path" 180 ac_pkg_config_path="$ac_qt_path/lib/pkgconfig:$ac_pkg_config_path" 181fi 182 183# Set for alternate JACK installation dir. 184AC_ARG_WITH(jack, 185 AS_HELP_STRING([--with-jack=PATH], [use alternate JACK install path]), 186 [ac_with_paths="$ac_with_paths $withval"]) 187 188# Set for alternate ALSA installation dir. 189AC_ARG_WITH(alsa, 190 AS_HELP_STRING([--with-alsa=PATH], [use alternate ALSA install path]), 191 [ac_with_paths="$ac_with_paths $withval"]) 192 193# Set for alternate PortAudio installation dir. 194AC_ARG_WITH(portaudio, 195 AS_HELP_STRING([--with-portaudio=PATH], [use alternate PortAudio install path]), 196 [ac_with_paths="$ac_with_paths $withval"]) 197 198 199# Honor user specified flags. 200ac_cflags=$CFLAGS 201ac_ldflags=$LDFLAGS 202 203 204# Checks for programs. 205AC_PROG_CPP 206AC_PROG_CXX 207AC_PROG_CXXCPP 208 209# Checks for languages. 210AC_LANG_CPLUSPLUS 211 212# Check for pkg-config. 213PKG_PROG_PKG_CONFIG 214 215# Check whether -std=c++11 support is necessary (4 < g++ version < 6). 216AC_CACHE_CHECK([for g++ major version], [ac_cv_gxx_version_major], [ 217 ac_cv_gxx_version_major=$($CC -dumpversion) 218 if test -n "$ac_cv_gxx_version_major"; then 219 ac_cv_gxx_version_major=$(echo $ac_cv_gxx_version_major | cut -d'.' -f1); 220 fi 221 ac_gxx_version_major=$(($ac_cv_gxx_version_major + 0)) 222]) 223ac_gxx_version_major=$ac_cv_gxx_version_major 224if test $ac_gxx_version_major -ge 4 -a $ac_gxx_version_major -lt 6; then 225 CXXFLAGS="-std=c++11 $CXXFLAGS" 226 ac_cflags="-std=c++11 $ac_cflags" 227elif test $ac_gxx_version_major -ge 6 -a $ac_gxx_version_major -lt 11; then 228 CXXFLAGS="-std=c++17 $CXXFLAGS" 229 ac_cflags="-std=c++17 $ac_cflags" 230fi 231 232# Check for proper flags. 233ac_arch=$(uname -m) 234 235# Check for install paths and alternatives... 236ac_libdirs="lib" 237 238if test "x$ac_arch" = "xx86_64"; then 239 ac_libdirs="$ac_libdirs lib64" 240fi 241 242CFLAGS="-fPIC $CFLAGS" 243CPPFLAGS="-fPIC $CPPFLAGS" 244 245# Prepend alternate dependencies paths. 246for X in $ac_with_paths; do 247 if test -d $X/bin; then 248 ac_path="$X/bin:$ac_path" 249 fi 250 if test -d $X/include; then 251 CFLAGS="-I$X/include $CFLAGS " 252 CPPFLAGS="-I$X/include $CPPFLAGS" 253 ac_incpath="$X/include $ac_incpath" 254 fi 255 for Y in $ac_libdirs; do 256 if test -d $X/$Y; then 257 LIBS="-L$X/$Y $LIBS" 258 ac_libs="-L$X/$Y $ac_libs" 259 if test -d $X/$Y/pkgconfig; then 260 ac_pkg_config_path="$X/$Y/pkgconfig:$ac_pkg_config_path" 261 fi 262 fi 263 done 264done 265 266# Set pkg-config path. 267if test -n "$ac_pkg_config_path"; then 268 export PKG_CONFIG_PATH=$ac_pkg_config_path 269fi 270 271 272# A common error message: 273ac_errmsg="not found in current PATH. Maybe QT development environment isn't available." 274 275# Check for qtchooser availability. 276AC_PATH_TOOL(ac_qtchooser, qtchooser, [no], $ac_path) 277if test -x $ac_qtchooser; then 278 if test "x$ac_qt6" = "xyes"; then 279 export QT_SELECT=6 280 else 281 export QT_SELECT=5 282 fi 283fi 284 285# Check for proper qmake path/version alternatives. 286AC_PATH_TOOL(ac_qmake, qmake, [no], $ac_path) 287if test "x$ac_qmake" = "xno"; then 288 if test "x$ac_qt6" = "xyes"; then 289 AC_PATH_TOOL(ac_cv_qmake, qmake-qt6, [no], $ac_path) 290 ac_qmake=$ac_cv_qmake 291 else 292 AC_PATH_TOOL(ac_cv_qmake, qmake-qt5, [no], $ac_path) 293 ac_qmake=$ac_cv_qmake 294 fi 295fi 296 297# Check for proper Qt major version. 298AC_CACHE_CHECK([for Qt major version], [ac_cv_qt_version_major], [ 299 ac_cv_qt_version=$($ac_qmake -query QT_VERSION) 300 ac_cv_qt_version_major=$(echo $ac_cv_qt_version | cut -d'.' -f1) 301 ac_cv_qt_version_major=$(($ac_cv_qt_version_major + 0)) 302]) 303ac_qt_version=$ac_cv_qt_version 304ac_qt_version_major=$ac_cv_qt_version_major 305if test "x$ac_qmake" = "xno"; then 306 if test $ac_qt_version_major -lt 6; then 307 AC_MSG_ERROR([qmake-qt5 $ac_errmsg (qt5-devel)]) 308 else 309 AC_MSG_ERROR([qmake-qt6 $ac_errmsg (qt6-devel)]) 310 fi 311fi 312 313# Check for proper Qt install path. 314AC_CACHE_CHECK([for Qt install path (bin)], [ac_cv_qt_install_bins], [ 315 ac_cv_qt_install_bins=$($ac_qmake -query QT_INSTALL_BINS) 316]) 317ac_qt_install_bins=$ac_cv_qt_install_bins 318if test -d $ac_qt_install_bins; then 319 ac_path="$ac_qt_install_bins:$ac_path" 320fi 321 322AC_CACHE_CHECK([for Qt install path (libexec)], [ac_cv_qt_install_libexecs], [ 323 ac_cv_qt_install_libexecs=$($ac_qmake -query QT_INSTALL_LIBEXECS) 324]) 325ac_qt_install_libexecs=$ac_cv_qt_install_libexecs 326if test -d $ac_qt_install_libexecs; then 327 ac_path="$ac_qt_install_libexecs:$ac_path" 328fi 329 330# Check it again, now with updated PATH, just in case... 331AC_PATH_TOOL(ac_cv_qmake, qmake, [no], $ac_path) 332ac_qmake=$ac_cv_qmake 333if test "x$ac_qmake" = "xno"; then 334 AC_MSG_ERROR([qmake $ac_errmsg]) 335fi 336 337AC_SUBST(ac_qmake) 338 339AC_CACHE_CHECK([for Qt install headers], [ac_cv_qt_install_headers], [ 340 ac_cv_qt_install_headers=$($ac_qmake -query QT_INSTALL_HEADERS) 341]) 342ac_qt_install_headers=$ac_cv_qt_install_headers 343if test -d $ac_qt_install_headers; then 344 CFLAGS="-I$ac_qt_install_headers $CFLAGS " 345 CPPFLAGS="-I$ac_qt_install_headers $CPPFLAGS" 346 ac_incpath="$ac_qt_install_headers $ac_incpath" 347fi 348 349AC_CACHE_CHECK([for Qt install libraries], [ac_cv_qt_install_libs], [ 350 ac_cv_qt_install_libs=$($ac_qmake -query QT_INSTALL_LIBS) 351]) 352ac_qt_install_libs=$ac_cv_qt_install_libs 353if test -d $ac_qt_install_libs; then 354 LIBS="-L$ac_qt_install_libs $LIBS" 355 ac_libs="-L$ac_qt_install_libs $ac_libs" 356fi 357 358# Finally, check for proper Qt version. 359AC_CACHE_CHECK([for Qt library version >= 5.1], 360 ac_cv_qtversion, [ 361 AC_TRY_COMPILE([#include "QtCore/qglobal.h"], [ 362 #if QT_VERSION < 0x050100 363 #error Qt library 5.1 or greater required. 364 #endif 365 ], ac_cv_qtversion="yes", [ 366 echo "no; Qt 5.1 or greater is required" 367 exit 1 368 ]) 369]) 370 371# Check for Qt moc utility. 372AC_PATH_TOOL(ac_moc, moc, [no], $ac_path) 373if test "x$ac_moc" = "xno"; then 374 AC_MSG_ERROR([moc $ac_errmsg]) 375fi 376AC_SUBST(ac_moc) 377 378# Check for Qt uic utility. 379AC_PATH_TOOL(ac_uic, uic, [no], $ac_path) 380if test "x$ac_uic" = "xno"; then 381 AC_MSG_ERROR([uic $ac_errmsg]) 382fi 383AC_SUBST(ac_uic) 384 385 386# Check for Qt lupdate utility. 387AC_PATH_TOOL(ac_lupdate, lupdate, [no], $ac_path) 388if test "x$ac_lupdate" = "xno"; then 389 if test $ac_qt_version_major -lt 6; then 390 AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt5, [no], $ac_path) 391 else 392 AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt6, [no], $ac_path) 393 fi 394 if test "x$ac_cv_lupdate" = "xno"; then 395 if test $ac_qt_version_major -lt 6; then 396 AC_MSG_ERROR([lupdate $ac_errmsg (qt5-linguist)]) 397 else 398 AC_MSG_ERROR([lupdate $ac_errmsg (qt6-linguist)]) 399 fi 400 else 401 ac_lupdate=$ac_cv_lupdate; 402 fi 403fi 404AC_SUBST(ac_lupdate) 405 406# Check for Qt lrelease utility. 407AC_PATH_TOOL(ac_lrelease, lrelease, [no], $ac_path) 408if test "x$ac_lrelease" = "xno"; then 409 if test $ac_qt_version_major -lt 6; then 410 AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt5, [no], $ac_path) 411 else 412 AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt6, [no], $ac_path) 413 fi 414 if test "x$ac_cv_lrelease" = "xno"; then 415 if test $ac_qt_version_major -lt 6; then 416 AC_MSG_ERROR([lrelease $ac_errmsg (qt5-linguist)]) 417 else 418 AC_MSG_ERROR([lrelease $ac_errmsg (qt6-linguist)]) 419 fi 420 else 421 ac_lrelease=$ac_cv_lrelease; 422 fi 423fi 424AC_SUBST(ac_lrelease) 425 426 427# Checks for libraries. 428AC_CHECK_LIB(m, main) 429AC_CHECK_LIB(X11, main) 430AC_CHECK_LIB(Xext, main) 431 432 433# Check for JACK libraries. 434PKG_CHECK_MODULES([JACK], [jack >= 0.100.0], [ac_jack_lib="yes"], [ac_jack_lib="no"]) 435if test "x$ac_jack_lib" = "xyes"; then 436 AC_DEFINE(CONFIG_JACK, 1, [Define if JACK library is available.]) 437 ac_cflags="$ac_cflags $JACK_CFLAGS" 438 ac_libs="$ac_libs $JACK_LIBS" 439else 440 AC_MSG_ERROR([*** JACK library not found.]) 441fi 442 443# Check for ALSA libraries and primarily 444# for ALSA/MIDI sequencer support. 445if test "x$ac_alsa_seq" = "xyes"; then 446 PKG_CHECK_MODULES([ALSA], [alsa], [ac_alsa_seq="yes"], [ac_alsa_seq="no"]) 447fi 448if test "x$ac_alsa_seq" = "xyes"; then 449 AC_DEFINE(CONFIG_ALSA_SEQ, 1, [Define if ALSA library is available.]) 450 ac_cflags="$ac_cflags $ALSA_CFLAGS" 451 ac_libs="$ac_libs $ALSA_LIBS" 452else 453 AC_MSG_WARN([*** ALSA library not found.]) 454fi 455 456if test "x$ac_portaudio" = "xyes"; then 457 PKG_CHECK_MODULES([PORTAUDIO], [portaudio-2.0], [ac_portaudio="yes"], [ac_portaudio="no"]) 458fi 459if test "x$ac_portaudio" = "xyes"; then 460 AC_DEFINE(CONFIG_PORTAUDIO, 1, [Define if PORTAUDIO library is available.]) 461 ac_cflags="$ac_cflags $PORTAUDIO_CFLAGS" 462 ac_libs="$ac_libs $PORTAUDIO_LIBS" 463else 464 AC_MSG_WARN([*** PORTAUDIO library not found.]) 465fi 466 467 468# Checks for header files. 469AC_HEADER_STDC 470AC_HEADER_SYS_WAIT 471AC_CHECK_HEADERS(fcntl.h sys/ioctl.h unistd.h poll.h signal.h) 472 473# Check for jack/statistics.h header. 474AC_CHECK_HEADER(jack/statistics.h, [ac_jack_statistics_h="yes"], [ac_jack_statistics_h="no"]) 475if test "x$ac_jack_statistics_h" = "xyes"; then 476 AC_DEFINE(CONFIG_JACK_STATISTICS, 1, [Define if jack/statistics.h is available.]) 477fi 478 479# Check for CoreAudio/CoreAudio.h header (MacOSX). 480AC_CHECK_HEADER(CoreAudio/CoreAudio.h, [ac_coreaudio="yes"], [ac_coreaudio="no"]) 481if test "x$ac_coreaudio" = "xyes"; then 482 AC_DEFINE(CONFIG_COREAUDIO, 1, [Define if CoreAudio/CoreAudio.h is available (Mac OS X).]) 483 ac_alsa_seq="no" 484 ac_libs="$ac_libs -framework CoreAudio -framework CoreFoundation" 485fi 486 487# Check for JACK MIDI headers availability. 488if test "x$ac_jack_midi" = "xyes"; then 489 AC_CHECK_HEADER(jack/midiport.h, [ac_jack_midi="yes"], [ac_jack_midi="no"]) 490 if test "x$ac_jack_midi" = "xyes"; then 491 AC_DEFINE(CONFIG_JACK_MIDI, 1, [Define if JACK MIDI support is available.]) 492 else 493 AC_MSG_WARN([*** jack/midiport.h file not found.]) 494 AC_MSG_WARN([*** JACK 0.103.0 or later may be required.]) 495 AC_MSG_WARN([*** JACK MIDI support will be disabled.]) 496 fi 497fi 498 499# Check for JACK session headers availability. 500if test "x$ac_jack_session" = "xyes"; then 501 AC_CHECK_HEADER(jack/session.h, [ac_jack_session="yes"], [ac_jack_session="no"]) 502 if test "x$ac_jack_session" = "xyes"; then 503 AC_DEFINE(CONFIG_JACK_SESSION, 1, [Define if JACK session support is available.]) 504 else 505 AC_MSG_WARN([*** jack/session.h file not found.]) 506 AC_MSG_WARN([*** JACK 0.118.3 or later may be required.]) 507 AC_MSG_WARN([*** JACK session support will be disabled.]) 508 fi 509fi 510 511# Check for JACK metadata headers availability. 512if test "x$ac_jack_metadata" = "xyes"; then 513 AC_CHECK_HEADER(jack/metadata.h, [ac_jack_metadata="yes"], [ac_jack_metadata="no"]) 514 if test "x$ac_jack_metadata" = "xyes"; then 515 AC_DEFINE(CONFIG_JACK_METADATA, 1, [Define if JACK metadata support is available.]) 516 else 517 AC_MSG_WARN([*** jack/metadata.h file not found.]) 518 AC_MSG_WARN([*** JACK 0.124.1 or later may be required.]) 519 AC_MSG_WARN([*** JACK metadata support will be disabled.]) 520 fi 521fi 522 523# Check for JACK metadata availability. 524if test "x$ac_jack_metadata" = "xyes"; then 525 if test "x$ac_jack_cv" = "xyes"; then 526 AC_DEFINE(CONFIG_JACK_CV, 1, [Define if JACK CV support is available.]) 527 fi 528 if test "x$ac_jack_osc" = "xyes"; then 529 AC_DEFINE(CONFIG_JACK_OSC, 1, [Define if JACK OSC support is available.]) 530 fi 531else 532 ac_jack_cv="no" 533 ac_jack_osc="no" 534fi 535 536# Check D-Bus interface support. 537if test "x$ac_dbus" = "xyes"; then 538 if test $ac_qt_version_major -lt 6; then 539 PKG_CHECK_MODULES([QT5DBUS], [Qt5DBus], [ac_dbus="yes"], [ac_dbus="no"]) 540 else 541 #PKG_CHECK_MODULES([QT6DBUS], [Qt6DBus], [ac_dbus="yes"], [ac_dbus="no"]) 542 AC_CHECK_LIB(Qt6DBus, main, [ac_dbus="yes"], [ac_dbus="no"]) 543 fi 544fi 545if test "x$ac_dbus" = "xyes"; then 546 AC_DEFINE(CONFIG_DBUS, 1, [Define if D-Bus interface is enabled.]) 547 ac_qdbus="dbus" 548fi 549AC_SUBST(ac_qdbus) 550 551# Check for unique/single instance support. 552if test "x$ac_xunique" = "xyes"; then 553 if test $ac_qt_version_major -lt 6; then 554 PKG_CHECK_MODULES([QT5NETWORK], [Qt5Network], [ac_xunique="yes"], [ac_xunique="no"]) 555 else 556 #PKG_CHECK_MODULES([QT6NETWORK], [Qt6Network], [ac_xunique="yes"], [ac_xunique="no"]) 557 AC_CHECK_LIB(Qt6Network, main, [ac_xunique="yes"], [ac_xunique="no"]) 558 fi 559fi 560if test "x$ac_xunique" = "xyes"; then 561 AC_DEFINE(CONFIG_XUNIQUE, 1, [Define if unique/single instance is enabled.]) 562 ac_qnetwork="network" 563fi 564AC_SUBST(ac_qnetwork) 565 566# Check for debugging stack-trace. 567if test "x$ac_stacktrace" = "xyes"; then 568 AC_DEFINE(CONFIG_STACKTRACE, 1, [Define if debugger stack-trace is enabled.]) 569fi 570 571AC_SUBST(ac_cflags) 572AC_SUBST(ac_ldflags) 573AC_SUBST(ac_incpath) 574AC_SUBST(ac_libs) 575 576 577# Checks for typedefs, structures, and compiler characteristics. 578# AC_C_CONST 579 580# Checks for library functions. 581AC_CHECK_FUNCS(system) 582 583# Check for system-tray icon. 584if test "x$ac_system_tray" = "xyes"; then 585 AC_DEFINE(CONFIG_SYSTEM_TRAY, 1, [Define if system tray is enabled.]) 586fi 587 588# Check for jack_transport_query function. 589AC_CHECK_LIB(jack, jack_transport_query, [ac_jack_transport="yes"], [ac_jack_transport="no"]) 590if test "x$ac_jack_transport" = "xno"; then 591 AC_MSG_WARN([*** jack_transport_query: function not found.]) 592 AC_MSG_WARN([*** JACK 0.80.0 or later may be required.]) 593 AC_MSG_WARN([*** Transport features will be disabled.]) 594else 595 AC_DEFINE(CONFIG_JACK_TRANSPORT, 1, [Define if jack_tranport_query is available.]) 596fi 597 598# Check for jack_is_realtime function. 599AC_CHECK_LIB(jack, jack_is_realtime, [ac_jack_realtime="yes"], [ac_jack_realtime="no"]) 600if test "x$ac_jack_realtime" = "xyes"; then 601 AC_DEFINE(CONFIG_JACK_REALTIME, 1, [Define if jack_is_realtime is available.]) 602fi 603 604# Check for jack_get_xrun_delayed_usecs function. 605AC_CHECK_LIB(jack, jack_get_xrun_delayed_usecs, [ac_jack_xrun_delay="yes"], [ac_jack_xrun_delay="no"]) 606if test "x$ac_jack_xrun_delay" = "xyes"; then 607 AC_DEFINE(CONFIG_JACK_XRUN_DELAY, 1, [Define if jack_get_xrun_delayed_usecs is available.]) 608fi 609 610# Check for jack_get_max_delayed_usecs function. 611AC_CHECK_LIB(jack, jack_get_max_delayed_usecs, [ac_jack_max_delay="yes"], [ac_jack_max_delay="no"]) 612if test "x$ac_jack_max_delay" = "xyes"; then 613 AC_DEFINE(CONFIG_JACK_MAX_DELAY, 1, [Define if jack_get_max_delayed_usecs is available.]) 614fi 615 616# Check for jack_set_port_rename_callback 617AC_CHECK_LIB(jack, jack_set_port_rename_callback, [ac_jack_port_rename="yes"], [ac_jack_port_rename="no"]) 618if test "x$ac_jack_port_rename" = "xyes"; then 619 AC_TRY_COMPILE([#include <jack/jack.h>], [ 620 void port_rename(jack_port_id_t, const char *, const char *, void *); 621 jack_set_port_rename_callback(0, port_rename, 0); 622 ], ac_jack_port_rename="yes", ac_jack_port_rename="no") 623fi 624if test "x$ac_jack_port_rename" = "xyes"; then 625 AC_DEFINE(CONFIG_JACK_PORT_RENAME, 1, [Define if jack_set_port_rename_callback is available.]) 626fi 627 628# Check for jack_port_get_aliases function. 629if test "x$ac_jack_port_aliases" = "xyes"; then 630 AC_CHECK_LIB(jack, jack_port_get_aliases, [ac_jack_port_aliases="yes"], [ac_jack_port_aliases="no"]) 631 if test "x$ac_jack_port_aliases" = "xyes"; then 632 AC_DEFINE(CONFIG_JACK_PORT_ALIASES, 1, [Define if jack_port_get_aliases is available.]) 633 fi 634fi 635 636# Check for jack_get_version_string function. 637if test "x$ac_jack_version" = "xyes"; then 638 AC_CHECK_LIB(jack, jack_get_version_string, [ac_jack_version="yes"], [ac_jack_version="no"]) 639 if test "x$ac_jack_version" = "xyes"; then 640 AC_DEFINE(CONFIG_JACK_VERSION, 1, [Define if jack_get_version_string is available.]) 641 fi 642fi 643 644# Check for jack_free function. 645AC_CHECK_LIB(jack, jack_free, [ac_jack_free="yes"], [ac_jack_free="no"]) 646if test "x$ac_jack_free" = "xyes"; then 647 AC_DEFINE(CONFIG_JACK_FREE, 1, [Define if jack_free is available.]) 648fi 649 650# Finally produce a configure header file and the main makefile. 651AC_OUTPUT 652 653# make clean > /dev/null 2>&1 654 655# Output summary message 656 657echo 658echo " $PACKAGE_NAME $ac_build_version (Qt $ac_qt_version)" 659echo 660echo " Build target . . . . . . . . . . . . . . . . . . .: $ac_build_type" 661echo 662echo " JACK Audio Connection Kit support . . . . . . . .: $ac_jack_lib" 663echo " JACK Realtime support . . . . . . . . . . . . . .: $ac_jack_realtime" 664echo " JACK Transport support . . . . . . . . . . . . . .: $ac_jack_transport" 665echo " JACK XRUN delay support . . . . . . . . . . . . .: $ac_jack_xrun_delay" 666echo " JACK Maximum scheduling delay support . . . . . .: $ac_jack_max_delay" 667echo " JACK Port aliases support . . . . . . . . . . . .: $ac_jack_port_aliases" 668echo " JACK Metadata support . . . . . . . . . . . . . .: $ac_jack_metadata" 669echo " JACK MIDI support . . . . . . . . . . . . . . . .: $ac_jack_midi" 670echo " JACK CV support . . . . . . . . . . . . . . . . .: $ac_jack_cv" 671echo " JACK OSC support . . . . . . . . . . . . . . . . .: $ac_jack_osc" 672echo " JACK Session support . . . . . . . . . . . . . . .: $ac_jack_session" 673echo " JACK Version support (JACK2) . . . . . . . . . . .: $ac_jack_version" 674echo " ALSA MIDI Sequencer support . . . . . . . . . . .: $ac_alsa_seq" 675echo " System tray icon support . . . . . . . . . . . . .: $ac_system_tray" 676echo " D-Bus interface support . . . . . . . . . . . . .: $ac_dbus" 677echo " PortAudio interface support . . . . . . . . . . .: $ac_portaudio" 678echo " CoreAudio interface support . . . . . . . . . . .: $ac_coreaudio" 679echo 680echo " Unique/Single instance support . . . . . . . . . .: $ac_xunique" 681echo " Debugger stack-trace (gdb) . . . . . . . . . . . .: $ac_stacktrace" 682echo 683echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix" 684echo 685echo "Now type 'make', followed by 'make install' as root." 686echo 687 688