1# Process this file with autoconf to produce a configure script. 2AC_INIT(padthv1, 0.9.23, rncbc@rncbc.org) 3 4AC_CONFIG_SRCDIR(src/padthv1.cpp) 5AC_CONFIG_HEADERS(src/config.h) 6AC_CONFIG_FILES(Makefile padthv1.spec src/src_core.pri src/src_ui.pri src/src_jack.pri src/src_lv2.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 JACK standalone build. 73AC_ARG_ENABLE(jack, 74 AS_HELP_STRING([--enable-jack], [enable JACK stand-alone build (default=yes)]), 75 [ac_jack="$enableval"], 76 [ac_jack="yes"]) 77 78# Enable JACK session support. 79AC_ARG_ENABLE(jack-session, 80 AS_HELP_STRING([--enable-jack-session], [enable JACK session support (default=yes)]), 81 [ac_jack_session="$enableval"], 82 [ac_jack_session="yes"]) 83 84# Enable JACK MIDI support option. 85AC_ARG_ENABLE(jack-midi, 86 AS_HELP_STRING([--enable-jack-midi], [enable JACK MIDI support (default=yes)]), 87 [ac_jack_midi="$enableval"], 88 [ac_jack_midi="yes"]) 89 90# Enable ALSA MIDI support option. 91AC_ARG_ENABLE(alsa-midi, 92 AS_HELP_STRING([--enable-alsa-midi], [enable ALSA MIDI support (default=yes)]), 93 [ac_alsa_midi="$enableval"], 94 [ac_alsa_midi="yes"]) 95 96# Enable LV2 plugin build. 97AC_ARG_ENABLE(lv2, 98 AS_HELP_STRING([--enable-lv2], [enable LV2 plug-in build (default=yes)]), 99 [ac_lv2="$enableval"], 100 [ac_lv2="yes"]) 101 102AC_ARG_ENABLE(lv2-ui-x11, 103 AS_HELP_STRING([--enable-lv2-ui-x11], [enable LV2 plug-in X11 UI support (default=yes)]), 104 [ac_lv2_ui_x11="$enableval"], 105 [ac_lv2_ui_x11="yes"]) 106 107AC_ARG_ENABLE(lv2-ui-external, 108 AS_HELP_STRING([--enable-lv2-ui-external], [enable LV2 plug-in External UI support (default=yes)]), 109 [ac_lv2_ui_external="$enableval"], 110 [ac_lv2_ui_external="yes"]) 111 112AC_ARG_ENABLE(lv2-ui-idle, 113 AS_HELP_STRING([--enable-lv2-ui-idle], [enable LV2 UI Idle interface support (default=yes)]), 114 [ac_lv2_ui_idle="$enableval"], 115 [ac_lv2_ui_idle="yes"]) 116 117AC_ARG_ENABLE(lv2-ui-show, 118 AS_HELP_STRING([--enable-lv2-ui-show], [enable LV2 UI Show interface support (default=yes)]), 119 [ac_lv2_ui_show="$enableval"], 120 [ac_lv2_ui_show="yes"]) 121 122AC_ARG_ENABLE(lv2-ui-resize, 123 AS_HELP_STRING([--enable-lv2-ui-resize], [enable LV2 UI Resize interface support (default=yes)]), 124 [ac_lv2_ui_resize="$enableval"], 125 [ac_lv2_ui_resize="yes"]) 126 127AC_ARG_ENABLE(lv2-programs, 128 AS_HELP_STRING([--enable-lv2-programs], [enable LV2 plug-in Programs support (default=yes)]), 129 [ac_lv2_programs="$enableval"], 130 [ac_lv2_programs="yes"]) 131 132AC_ARG_ENABLE(lv2-patch, 133 AS_HELP_STRING([--enable-lv2-patch], [enable LV2 plug-in Patch support (default=yes)]), 134 [ac_lv2_patch="$enableval"], 135 [ac_lv2_patch="yes"]) 136 137AC_ARG_ENABLE(lv2-port-event, 138 AS_HELP_STRING([--enable-lv2-port-event], [enable LV2 plug-in Port-event support (EXPERIMENTAL) (default=yes)]), 139 [ac_lv2_port_event="$enableval"], 140 [ac_lv2_port_event="yes"]) 141 142 143# Enable liblo availability. 144AC_ARG_ENABLE(liblo, 145 AS_HELP_STRING([--enable-liblo], [enable liblo interface (default=yes)]), 146 [ac_liblo="$enableval"], 147 [ac_liblo="yes"]) 148 149# Enable NSM support. 150AC_ARG_ENABLE(nsm, 151 AS_HELP_STRING([--enable-nsm], [enable NSM support (default=yes)]), 152 [ac_nsm="$enableval"], 153 [ac_nsm="yes"]) 154 155 156# Enable Qt6 build preference. 157AC_ARG_ENABLE(qt6, 158 AS_HELP_STRING([--enable-qt6], [enable Qt6 build (default=yes)]), 159 [ac_qt6="$enableval"], 160 [ac_qt6="yes"]) 161 162 163if test "x$ac_debug" = "xyes"; then 164 AC_DEFINE(CONFIG_DEBUG, 1, [Define if debugging is enabled.]) 165 ac_build_type="debug" 166else 167 ac_build_type="release" 168fi 169 170AC_SUBST(ac_build_type) 171 172 173# Standard installation base dirs. 174ac_path=$PATH 175ac_pkg_config_path=$PKG_CONFIG_PATH 176ac_with_paths="" 177 178# Set for alternate Qt installation dir. 179AC_ARG_WITH(qt, 180 AS_HELP_STRING([--with-qt=PATH], [use alternate Qt install path]), 181 [ac_qt_path="$withval"], [ac_qt_path="no"]) 182 183if test "x$ac_qt_path" != "xno"; then 184 ac_path="$ac_qt_path/bin:$ac_path" 185 ac_pkg_config_path="$ac_qt_path/lib/pkgconfig:$ac_pkg_config_path" 186fi 187 188 189# Set for alternate ALSA installation dir. 190AC_ARG_WITH(alsa, 191 AS_HELP_STRING([--with-alsa=PATH], [use alternate ALSA install path]), 192 [ac_with_paths="$ac_with_paths $withval"]) 193 194# Set for alternate JACK installation dir. 195AC_ARG_WITH(jack, 196 AS_HELP_STRING([--with-jack=PATH], [use alternate JACK install path]), 197 [ac_with_paths="$ac_with_paths $withval"]) 198 199# Set for alternate LV2 installation dir. 200AC_ARG_WITH(lv2, 201 AS_HELP_STRING([--with-lv2=PATH], [use alternate LV2 install path]), 202 [ac_with_paths="$ac_with_paths $withval"]) 203 204# Set for alternate FFTW3 installation dir. 205AC_ARG_WITH(fftw3, 206 AS_HELP_STRING([--with-fftw3=PATH], [use alternate FFTW3 path]), 207 [ac_with_paths="$ac_with_paths $withval"]) 208 209# Set for alternate liblo installation dir. 210AC_ARG_WITH(liblo, 211 AS_HELP_STRING([--with-liblo=PATH], [use alternate liblo path]), 212 [ac_with_paths="$ac_with_paths $withval"]) 213 214 215# Honor user specified flags. 216ac_cflags=$CFLAGS 217ac_ldflags=$LDFLAGS 218 219 220# Checks for programs. 221AC_PROG_CPP 222AC_PROG_CXX 223AC_PROG_CXXCPP 224 225# Checks for languages. 226AC_LANG_CPLUSPLUS 227 228# Check for pkg-config. 229PKG_PROG_PKG_CONFIG 230 231# Check whether -std=c++11 support is necessary (4 < g++ version < 6). 232AC_CACHE_CHECK([for g++ major version], [ac_cv_gxx_version_major], [ 233 ac_cv_gxx_version_major=$($CC -dumpversion) 234 if test -n "$ac_cv_gxx_version_major"; then 235 ac_cv_gxx_version_major=$(echo $ac_cv_gxx_version_major | cut -d'.' -f1); 236 fi 237 ac_gxx_version_major=$(($ac_cv_gxx_version_major + 0)) 238]) 239ac_gxx_version_major=$ac_cv_gxx_version_major 240if test $ac_gxx_version_major -ge 4 -a $ac_gxx_version_major -lt 6; then 241 CXXFLAGS="-std=c++11 $CXXFLAGS" 242 ac_cflags="-std=c++11 $ac_cflags" 243elif test $ac_gxx_version_major -ge 6 -a $ac_gxx_version_major -lt 11; then 244 CXXFLAGS="-std=c++17 $CXXFLAGS" 245 ac_cflags="-std=c++17 $ac_cflags" 246fi 247 248# Check for proper flags. 249ac_arch=$(uname -m) 250 251# Check for install paths and alternatives... 252ac_libdirs="lib" 253 254if test "x$ac_arch" = "xx86_64"; then 255 ac_libdirs="$ac_libdirs lib64" 256fi 257 258CFLAGS="-fPIC $CFLAGS" 259CPPFLAGS="-fPIC $CPPFLAGS" 260 261# Prepend alternate dependencies paths. 262for X in $ac_with_paths; do 263 if test -d $X/bin; then 264 ac_path="$X/bin:$ac_path" 265 fi 266 if test -d $X/include; then 267 CFLAGS="-I$X/include $CFLAGS " 268 CPPFLAGS="-I$X/include $CPPFLAGS" 269 ac_incpath="$X/include $ac_incpath" 270 fi 271 for Y in $ac_libdirs; do 272 if test -d $X/$Y; then 273 LIBS="-L$X/$Y $LIBS" 274 ac_libs="-L$X/$Y $ac_libs" 275 if test -d $X/$Y/pkgconfig; then 276 ac_pkg_config_path="$X/$Y/pkgconfig:$ac_pkg_config_path" 277 fi 278 fi 279 done 280done 281 282# Set pkg-config path. 283if test -n "$ac_pkg_config_path"; then 284 export PKG_CONFIG_PATH=$ac_pkg_config_path 285fi 286 287 288# A common error message: 289ac_errmsg="not found in current PATH. Maybe QT development environment isn't available." 290 291# Check for qtchooser availability. 292AC_PATH_TOOL(ac_qtchooser, qtchooser, [no], $ac_path) 293if test -x $ac_qtchooser; then 294 if test "x$ac_qt6" = "xyes"; then 295 export QT_SELECT=6 296 else 297 export QT_SELECT=5 298 fi 299fi 300 301# Check for proper qmake path/version alternatives. 302AC_PATH_TOOL(ac_qmake, qmake, [no], $ac_path) 303if test "x$ac_qmake" = "xno"; then 304 if test "x$ac_qt6" = "xyes"; then 305 AC_PATH_TOOL(ac_cv_qmake, qmake-qt6, [no], $ac_path) 306 ac_qmake=$ac_cv_qmake 307 else 308 AC_PATH_TOOL(ac_cv_qmake, qmake-qt5, [no], $ac_path) 309 ac_qmake=$ac_cv_qmake 310 fi 311fi 312 313# Check for proper Qt major version. 314AC_CACHE_CHECK([for Qt major version], [ac_cv_qt_version_major], [ 315 ac_cv_qt_version=$($ac_qmake -query QT_VERSION) 316 ac_cv_qt_version_major=$(echo $ac_cv_qt_version | cut -d'.' -f1) 317 ac_cv_qt_version_major=$(($ac_cv_qt_version_major + 0)) 318]) 319ac_qt_version=$ac_cv_qt_version 320ac_qt_version_major=$ac_cv_qt_version_major 321if test "x$ac_qmake" = "xno"; then 322 if test $ac_qt_version_major -lt 6; then 323 AC_MSG_ERROR([qmake-qt5 $ac_errmsg (qt5-devel)]) 324 else 325 AC_MSG_ERROR([qmake-qt6 $ac_errmsg (qt6-devel)]) 326 fi 327fi 328 329# Check for proper Qt install path. 330AC_CACHE_CHECK([for Qt install path (bin)], [ac_cv_qt_install_bins], [ 331 ac_cv_qt_install_bins=$($ac_qmake -query QT_INSTALL_BINS) 332]) 333ac_qt_install_bins=$ac_cv_qt_install_bins 334if test -d $ac_qt_install_bins; then 335 ac_path="$ac_qt_install_bins:$ac_path" 336fi 337 338AC_CACHE_CHECK([for Qt install path (libexec)], [ac_cv_qt_install_libexecs], [ 339 ac_cv_qt_install_libexecs=$($ac_qmake -query QT_INSTALL_LIBEXECS) 340]) 341ac_qt_install_libexecs=$ac_cv_qt_install_libexecs 342if test -d $ac_qt_install_libexecs; then 343 ac_path="$ac_qt_install_libexecs:$ac_path" 344fi 345 346# Check it again, now with updated PATH, just in case... 347AC_PATH_TOOL(ac_cv_qmake, qmake, [no], $ac_path) 348ac_qmake=$ac_cv_qmake 349if test "x$ac_qmake" = "xno"; then 350 AC_MSG_ERROR([qmake $ac_errmsg]) 351fi 352 353AC_SUBST(ac_qmake) 354 355AC_CACHE_CHECK([for Qt install headers], [ac_cv_qt_install_headers], [ 356 ac_cv_qt_install_headers=$($ac_qmake -query QT_INSTALL_HEADERS) 357]) 358ac_qt_install_headers=$ac_cv_qt_install_headers 359if test -d $ac_qt_install_headers; then 360 CFLAGS="-I$ac_qt_install_headers $CFLAGS " 361 CPPFLAGS="-I$ac_qt_install_headers $CPPFLAGS" 362 ac_incpath="$ac_qt_install_headers $ac_incpath" 363fi 364 365AC_CACHE_CHECK([for Qt install libraries], [ac_cv_qt_install_libs], [ 366 ac_cv_qt_install_libs=$($ac_qmake -query QT_INSTALL_LIBS) 367]) 368ac_qt_install_libs=$ac_cv_qt_install_libs 369if test -d $ac_qt_install_libs; then 370 LIBS="-L$ac_qt_install_libs $LIBS" 371 ac_libs="-L$ac_qt_install_libs $ac_libs" 372fi 373 374# Finally, check for proper Qt version. 375AC_CACHE_CHECK([for Qt library version >= 5.1], 376 ac_cv_qtversion, [ 377 AC_TRY_COMPILE([#include "QtCore/qglobal.h"], [ 378 #if QT_VERSION < 0x050100 379 #error Qt library 5.1 or greater required. 380 #endif 381 ], ac_cv_qtversion="yes", [ 382 echo "no; Qt 5.1 or greater is required" 383 exit 1 384 ]) 385]) 386 387# Check for Qt moc utility. 388AC_PATH_TOOL(ac_moc, moc, [no], $ac_path) 389if test "x$ac_moc" = "xno"; then 390 AC_MSG_ERROR([moc $ac_errmsg]) 391fi 392AC_SUBST(ac_moc) 393 394# Check for Qt uic utility. 395AC_PATH_TOOL(ac_uic, uic, [no], $ac_path) 396if test "x$ac_uic" = "xno"; then 397 AC_MSG_ERROR([uic $ac_errmsg]) 398fi 399AC_SUBST(ac_uic) 400 401 402# Check for Qt lupdate utility. 403AC_PATH_TOOL(ac_lupdate, lupdate, [no], $ac_path) 404if test "x$ac_lupdate" = "xno"; then 405 if test $ac_qt_version_major -lt 6; then 406 AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt5, [no], $ac_path) 407 else 408 AC_PATH_TOOL(ac_cv_lupdate, lupdate-qt6, [no], $ac_path) 409 fi 410 if test "x$ac_cv_lupdate" = "xno"; then 411 if test $ac_qt_version_major -lt 6; then 412 AC_MSG_ERROR([lupdate $ac_errmsg (qt5-linguist)]) 413 else 414 AC_MSG_ERROR([lupdate $ac_errmsg (qt6-linguist)]) 415 fi 416 else 417 ac_lupdate=$ac_cv_lupdate; 418 fi 419fi 420AC_SUBST(ac_lupdate) 421 422# Check for Qt lrelease utility. 423AC_PATH_TOOL(ac_lrelease, lrelease, [no], $ac_path) 424if test "x$ac_lrelease" = "xno"; then 425 if test $ac_qt_version_major -lt 6; then 426 AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt5, [no], $ac_path) 427 else 428 AC_PATH_TOOL(ac_cv_lrelease, lrelease-qt6, [no], $ac_path) 429 fi 430 if test "x$ac_cv_lrelease" = "xno"; then 431 if test $ac_qt_version_major -lt 6; then 432 AC_MSG_ERROR([lrelease $ac_errmsg (qt5-linguist)]) 433 else 434 AC_MSG_ERROR([lrelease $ac_errmsg (qt6-linguist)]) 435 fi 436 else 437 ac_lrelease=$ac_cv_lrelease; 438 fi 439fi 440AC_SUBST(ac_lrelease) 441 442 443# Checks for libraries. 444AC_CHECK_LIB(m, main) 445AC_CHECK_LIB(X11, main) 446AC_CHECK_LIB(Xext, main) 447 448ac_cflags="-ffast-math -fvisibility=hidden -fvisibility-inlines-hidden $ac_cflags" 449 450# Check for core FFTW3 library. 451PKG_CHECK_MODULES([FFTW3], [fftw3f], [ac_fftw3="yes"], [ac_fftw3="no"]) 452if test "x$ac_fftw3" = "xyes"; then 453 AC_DEFINE(CONFIG_FFTW3, 1, [Define if FFTW3 library is available.]) 454 ac_cflags="$ac_cflags $FFTW3_CFLAGS" 455 ac_libs="$ac_libs $FFTW3_LIBS" 456else 457 AC_MSG_ERROR([*** FFTW3 library not found.]) 458fi 459 460ac_jack_cflags="$ac_cflags" 461ac_jack_ldflags="$ac_ldflags" 462ac_jack_incpath="$ac_incpath" 463ac_jack_libs="$ac_libs" 464 465ac_lv2_cflags="$ac_cflags" 466ac_lv2_ldflags="$ac_ldflags" 467ac_lv2_incpath="$ac_incpath" 468ac_lv2_libs="$ac_libs" 469 470ac_all_targets="" 471ac_install_targets="" 472ac_uninstall_targets="" 473ac_clean_targets="" 474 475# Check for JACK libraries. 476if test "x$ac_jack" = "xyes"; then 477 PKG_CHECK_MODULES([JACK], [jack >= 0.100.0], [ac_jack="yes"], [ac_jack="no"]) 478 if test "x$ac_jack" = "xyes"; then 479 AC_DEFINE(CONFIG_JACK, 1, [Define if JACK library is available.]) 480 ac_jack_cflags="$ac_jack_cflags $JACK_CFLAGS" 481 ac_jack_libs="$ac_jack_libs $JACK_LIBS" 482 else 483 AC_MSG_WARN([*** JACK library not found.]) 484 AC_MSG_WARN([*** JACK stand-alone build will be disabled.]) 485 fi 486fi 487 488if test "x$ac_jack" = "xyes"; then 489 # Check for JACK session event callback availability. 490 if test "x$ac_jack_session" = "xyes"; then 491 AC_CHECK_LIB(jack, jack_set_session_callback, [ac_jack_session="yes"], [ac_jack_session="no"]) 492 else 493 AC_MSG_WARN([*** JACK session support will be disabled.]) 494 fi 495 # Check for ALSA libraries. 496 if test "x$ac_alsa_midi" = "xyes"; then 497 PKG_CHECK_MODULES([ALSA], [alsa], [ac_alsa_midi="yes"], [ac_alsa_midi="no"]) 498 fi 499 if test "x$ac_alsa_midi" = "xyes"; then 500 AC_CHECK_LIB(asound, main, [ac_alsa_midi="yes"], [ac_alsa_midi="no"]) 501 if test "x$ac_alsa_midi" = "xyes"; then 502 AC_DEFINE(CONFIG_ALSA_MIDI, 1, [Define if ALSA MIDI support is enabled.]) 503 ac_jack_cflags="$ac_jack_cflags $ALSA_CFLAGS" 504 ac_jack_libs="$ac_jack_libs $ALSA_LIBS" 505 else 506 AC_MSG_WARN([*** ALSA library not found.]) 507 AC_MSG_WARN([*** ALSA MIDI support will be disabled.]) 508 fi 509 fi 510fi 511 512# Check for JACK build support. 513if test "x$ac_jack" = "xyes"; then 514 ac_all_targets="jack $ac_all_targets" 515 ac_install_targets="install_jack $ac_install_targets" 516 ac_uninstall_targets="uninstall_jack $ac_uninstall_targets" 517 ac_clean_targets="clean_jack $ac_clean_targets" 518else 519 ac_jack_session="no" 520 ac_jack_midi="no" 521 ac_alsa_midi="no" 522 ac_liblo="no" 523 ac_nsm="no" 524fi 525 526# Check for optional LIBLO library. 527if test "x$ac_liblo" = "xyes"; then 528 PKG_CHECK_MODULES([LIBLO], [liblo], [ac_liblo="yes"], [ac_liblo="no"]) 529 if test "x$ac_liblo" = "xyes"; then 530 AC_DEFINE(CONFIG_LIBLO, 1, [Define if LIBLO library is available.]) 531 ac_jack_cflags="$ac_jack_cflags $LIBLO_CFLAGS" 532 ac_jack_libs="$ac_jack_libs $LIBLO_LIBS" 533 else 534 AC_MSG_WARN([*** LIBLO library not found.]) 535 AC_MSG_WARN([*** OSC service support will be disabled.]) 536 ac_nsm="no" 537 fi 538else 539 ac_nsm="no" 540fi 541 542 543# Checks for header files. 544AC_HEADER_STDC 545AC_HEADER_SYS_WAIT 546AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/stat.h unistd.h signal.h) 547 548 549# Check for JACK session headers availability. 550if test "x$ac_jack_session" = "xyes"; then 551 AC_CHECK_HEADER(jack/session.h, [ac_jack_session="yes"], [ac_jack_session="no"]) 552 if test "x$ac_jack_session" = "xyes"; then 553 AC_DEFINE(CONFIG_JACK_SESSION, 1, [Define if JACK session support is available.]) 554 else 555 AC_MSG_WARN([*** JACK session header file not found.]) 556 AC_MSG_WARN([*** JACK session support will be disabled.]) 557 fi 558fi 559 560# Check for JACK MIDI headers availability. 561if test "x$ac_jack_midi" = "xyes"; then 562 AC_CHECK_HEADER(jack/midiport.h, [ac_jack_midi="yes"], [ac_jack_midi="no"]) 563 if test "x$ac_jack_midi" = "xyes"; then 564 AC_DEFINE(CONFIG_JACK_MIDI, 1, [Define if JACK MIDI support is enabled.]) 565 else 566 AC_MSG_WARN([*** JACK MIDI header files not found.]) 567 AC_MSG_WARN([*** JACK MIDI support will be disabled.]) 568 fi 569fi 570 571# Check for LV2 headers. 572if test "x$ac_lv2" = "xyes"; then 573 PKG_CHECK_MODULES([LV2], [lv2], [ac_lv2="yes"], [ac_lv2="no"]) 574 if test "x$ac_lv2" = "xyes"; then 575 ac_lv2_cflags="$ac_lv2_cflags $LV2_CFLAGS" 576 CFLAGS="$CFLAGS $LV2_CFLAGS" 577 CPPFLAGS="$CPPFLAGS $LV2_CFLAGS" 578 fi 579 if test "x$ac_lv2" = "xyes"; then 580 AC_CHECK_HEADERS( 581 lv2/lv2plug.in/ns/ext/urid/urid.h \ 582 lv2/lv2plug.in/ns/ext/atom/atom.h \ 583 lv2/lv2plug.in/ns/ext/atom/forge.h \ 584 lv2/lv2plug.in/ns/ext/atom/util.h, 585 [ac_lv2="yes"], [ac_lv2="no"]) 586 fi 587 if test "x$ac_lv2" = "xyes"; then 588 AC_DEFINE(CONFIG_LV2, 1, [Define if LV2 plug-in build is enabled.]) 589 ac_all_targets="lv2 $ac_all_targets" 590 ac_install_targets="install_lv2 $ac_install_targets" 591 ac_uninstall_targets="uninstall_lv2 $ac_uninstall_targets" 592 ac_clean_targets="clean_lv2 $ac_clean_targets" 593 AC_CACHE_CHECK([for lv2_atom_forge_object], 594 ac_cv_lv2_atom_forge_object, [ 595 AC_TRY_LINK([#include "lv2/lv2plug.in/ns/ext/atom/forge.h"], [ 596 // Checking for lv2_atom_forge_object... 597 LV2_Atom_Forge *forge; 598 LV2_Atom_Forge_Frame *frame; 599 lv2_atom_forge_object(forge, frame, 0, 101); 600 ], ac_cv_lv2_atom_forge_object="yes", ac_cv_lv2_atom_forge_object="no") 601 ]) 602 ac_lv2_atom_forge_object=$ac_cv_lv2_atom_forge_object 603 if test "x$ac_lv2_atom_forge_object" = "xyes"; then 604 AC_DEFINE(CONFIG_LV2_ATOM_FORGE_OBJECT, 1, [Define if lv2_atom_forge_object is available.]) 605 fi 606 AC_CACHE_CHECK([for lv2_atom_forge_key], 607 ac_cv_lv2_atom_forge_key, [ 608 AC_TRY_LINK([#include "lv2/lv2plug.in/ns/ext/atom/forge.h"], [ 609 // Checking for lv2_atom_forge_key... 610 LV2_Atom_Forge *forge; 611 lv2_atom_forge_key(forge, 102); 612 ], ac_cv_lv2_atom_forge_key="yes", ac_cv_lv2_atom_forge_key="no") 613 ]) 614 ac_lv2_atom_forge_key=$ac_cv_lv2_atom_forge_key 615 if test "x$ac_lv2_atom_forge_key" = "xyes"; then 616 AC_DEFINE(CONFIG_LV2_ATOM_FORGE_KEY, 1, [Define if lv2_atom_forge_key is available.]) 617 fi 618 else 619 AC_MSG_WARN([*** LV2 header files not found.]) 620 AC_MSG_WARN([*** LV2 plug-in build will be disabled.]) 621 fi 622fi 623 624if test "x$ac_lv2" = "xno"; then 625 ac_lv2_ui_x11="no" 626 ac_lv2_ui_external="no" 627 ac_lv2_ui_idle="no" 628 ac_lv2_ui_show="no" 629 ac_lv2_ui_resize="no" 630 ac_lv2_programs="no" 631 ac_lv2_patch="no" 632 ac_lv2_port_event="no" 633fi 634 635if test "x$ac_lv2_ui_x11" = "xyes"; then 636 AC_DEFINE(CONFIG_LV2_UI_X11, 1, [Define if LV2 X11 UI support is available.]) 637else 638 AC_MSG_WARN([*** LV2 X11 UI support will be disabled.]) 639fi 640 641if test "x$ac_lv2_ui_external" = "xyes"; then 642 CFLAGS="$CFLAGS -Isrc/lv2" 643 CPPFLAGS="$CPPFLAGS -Isrc/lv2" 644 AC_CHECK_HEADER(lv2_external_ui.h, [ac_lv2_ui_external="yes"], [ac_lv2_ui_external="no"]) 645 if test "x$ac_lv2_ui_external" = "xyes"; then 646 AC_DEFINE(CONFIG_LV2_UI_EXTERNAL, 1, [Define if LV2 External UI extension is available.]) 647 ac_lv2_incpath="lv2 $ac_lv2_incpath" 648 else 649 AC_MSG_WARN([*** LV2 External UI extension will be disabled.]) 650 fi 651fi 652 653if test "x$ac_lv2_ui_idle" = "xyes"; then 654 AC_CACHE_CHECK([for LV2 UI Idle interface], 655 ac_cv_lv2_ui_idle, [ 656 AC_TRY_LINK([#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"], [ 657 // Checking for LV2 UI Idle interface... 658 LV2UI_Idle_Interface idle; 659 ], ac_cv_lv2_ui_idle="yes", ac_cv_lv2_ui_idle="no") 660 ]) 661 ac_lv2_ui_idle=$ac_cv_lv2_ui_idle 662 if test "x$ac_lv2_ui_idle" = "xyes"; then 663 AC_DEFINE(CONFIG_LV2_UI_IDLE, 1, [Define if LV2 UI Idle interface support is available.]) 664 else 665 AC_MSG_WARN([*** LV2 UI Idle interface support will be disabled.]) 666 fi 667fi 668 669if test "x$ac_lv2_ui_show" = "xyes"; then 670 AC_CACHE_CHECK([for LV2 UI Show interface], 671 ac_cv_lv2_ui_show, [ 672 AC_TRY_LINK([#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"], [ 673 // Checking for LV2 UI Show interface... 674 LV2UI_Show_Interface show; 675 ], ac_cv_lv2_ui_show="yes", ac_cv_lv2_ui_show="no") 676 ]) 677 ac_lv2_ui_show=$ac_cv_lv2_ui_show 678 if test "x$ac_lv2_ui_show" = "xyes"; then 679 AC_DEFINE(CONFIG_LV2_UI_SHOW, 1, [Define if LV2 UI Show interface support is available.]) 680 else 681 AC_MSG_WARN([*** LV2 UI Show interface support will be disabled.]) 682 fi 683fi 684 685if test "x$ac_lv2_ui_resize" = "xyes"; then 686 AC_CACHE_CHECK([for LV2 UI Resize interface], 687 ac_cv_lv2_ui_resize, [ 688 AC_TRY_LINK([#include "lv2/lv2plug.in/ns/extensions/ui/ui.h"], [ 689 // Checking for LV2 UI Resize interface... 690 LV2UI_Resize resize; 691 ], ac_cv_lv2_ui_resize="yes", ac_cv_lv2_ui_resize="no") 692 ]) 693 ac_lv2_ui_resize=$ac_cv_lv2_ui_resize 694 if test "x$ac_lv2_ui_resize" = "xyes"; then 695 AC_DEFINE(CONFIG_LV2_UI_RESIZE, 1, [Define if LV2 UI Resize interface support is available.]) 696 else 697 AC_MSG_WARN([*** LV2 UI Resize interface support will be disabled.]) 698 fi 699fi 700 701if test "x$ac_lv2_programs" = "xyes"; then 702 AC_CHECK_HEADER(lv2_programs.h, [ac_lv2_programs="yes"], [ac_lv2_programs="no"]) 703 if test "x$ac_lv2_programs" = "xyes"; then 704 AC_DEFINE(CONFIG_LV2_PROGRAMS, 1, [Define if LV2 Programs extension is available.]) 705 ac_lv2_incpath="lv2 $ac_lv2_incpath" 706 else 707 AC_MSG_WARN([*** LV2 Programs extension will be disabled.]) 708 fi 709fi 710 711if test "x$ac_lv2_patch" = "xyes"; then 712 AC_CHECK_HEADER( 713 lv2/lv2plug.in/ns/ext/patch/patch.h, 714 [ac_lv2_patch="yes"], [ac_lv2_patch="no"]) 715 if test "x$ac_lv2_patch" = "xyes"; then 716 AC_DEFINE(CONFIG_LV2_PATCH, 1, [Define if LV2 Patch is supported.]) 717 else 718 AC_MSG_WARN([*** LV2 Patch support will be disabled.]) 719 fi 720fi 721 722if test "x$ac_lv2_port_event" = "xyes"; then 723 AC_DEFINE(CONFIG_LV2_PORT_EVENT, 1, [Define if LV2 Port-event is supported. (EXPERIMENTAL)]) 724fi 725 726 727# Check for NSM support. 728if test "x$ac_nsm" = "xyes"; then 729 AC_DEFINE(CONFIG_NSM, 1, [Define if NSM support is available.]) 730fi 731 732 733# Checks for build targets 734if test "x$ac_jack" = "xno" -a "x$ac_lv2" = "xno"; then 735 AC_MSG_ERROR([*** JACK and LV2 build options disabled.]) 736fi 737 738if test "x$ac_jack" = "xyes"; then 739 if test "x$ac_jack_midi" = "xno" -a "x$ac_alsa_midi" = "xno"; then 740 AC_MSG_ERROR([*** JACK MIDI and ALSA MIDI support disabled.]) 741 fi 742fi 743 744AC_SUBST(ac_cflags) 745AC_SUBST(ac_ldflags) 746AC_SUBST(ac_incpath) 747AC_SUBST(ac_libs) 748 749AC_SUBST(ac_jack_cflags) 750AC_SUBST(ac_jack_ldflags) 751AC_SUBST(ac_jack_incpath) 752AC_SUBST(ac_jack_libs) 753 754AC_SUBST(ac_lv2_cflags) 755AC_SUBST(ac_lv2_ldflags) 756AC_SUBST(ac_lv2_incpath) 757AC_SUBST(ac_lv2_libs) 758 759AC_SUBST(ac_all_targets) 760AC_SUBST(ac_install_targets) 761AC_SUBST(ac_uninstall_targets) 762AC_SUBST(ac_clean_targets) 763 764 765# Checks for typedefs, structures, and compiler characteristics. 766# AC_C_CONST 767 768# Finally produce a configure header file and the makefiles. 769AC_OUTPUT 770 771# make clean > /dev/null 2>&1 772 773# Output summary message 774 775echo 776echo " $PACKAGE_NAME $ac_build_version (Qt $ac_qt_version)" 777echo 778echo " Build target . . . . . . . . . . . . . . . . . . .: $ac_build_type" 779echo 780echo " JACK stand-alone build . . . . . . . . . . . . . .: $ac_jack" 781echo " JACK session support . . . . . . . . . . . . . . .: $ac_jack_session" 782echo " JACK MIDI support . . . . . . . . . . . . . . . .: $ac_jack_midi" 783echo " ALSA MIDI support . . . . . . . . . . . . . . . .: $ac_alsa_midi" 784echo " LV2 plug-in build . . . . . . . . . . . . . . . .: $ac_lv2" 785echo " LV2 plug-in X11 UI support . . . . . . . . . . .: $ac_lv2_ui_x11" 786echo " LV2 plug-in External UI support . . . . . . . . .: $ac_lv2_ui_external" 787echo " LV2 plug-in UI Idle interface support . . . . . .: $ac_lv2_ui_idle" 788echo " LV2 plug-in UI Show interface support . . . . . .: $ac_lv2_ui_show" 789echo " LV2 plug-in UI Resize interface support . . . . .: $ac_lv2_ui_resize" 790echo " LV2 plug-in Programs support . . . . . . . . . . .: $ac_lv2_programs" 791echo " LV2 plug-in Patch support . . . . . . . . . . . .: $ac_lv2_patch" 792echo " LV2 plug-in Port-event support (EXPERIMENTAL) . .: $ac_lv2_port_event" 793echo " OSC service support (liblo) . . . . . . . . . . .: $ac_liblo" 794echo " Non Session Management (NSM) support . . . . . . .: $ac_nsm" 795echo 796echo " Install prefix . . . . . . . . . . . . . . . . . .: $ac_prefix" 797echo 798echo "Now type 'make', followed by 'make install' as root." 799echo 800