1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
|
AC_INIT([om],[0.2.0],[drobilla@connect.carleton.ca])
AC_CONFIG_SRCDIR([src/clients/Comm.cpp])
#AC_CONFIG_SRCDIR([src/clients/console/console_client.cpp])
AC_CONFIG_SRCDIR([src/clients/patch_loader/patch_loader.cpp])
AC_CONFIG_SRCDIR([src/clients/demolition/demolition.cpp])
AC_CONFIG_SUBDIRS([src/engine])
AC_CONFIG_HEADER([config.h])
AM_INIT_AUTOMAKE
# Checks for compilers
AC_PROG_CXX
AC_PROG_RANLIB
# Check for standard lib stuff
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h unistd.h])
AC_CHECK_FUNCS([strdup strndup])
# Check random other stuff
AC_C_CONST
AC_C_INLINE
AC_FUNC_MALLOC
AC_HEADER_STDBOOL
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
# Check for liblo
PKG_CHECK_MODULES(LOSC, liblo >= 0.22)
AC_SUBST(LOSC_LIBS)
AC_SUBST(LOSC_CFLAGS)
# Check for debugging flag
debug="no"
AC_ARG_ENABLE(debug,
[AS_HELP_STRING(--enable-debug, [Enable debugging (false)])],
[debug="$enableval"])
if test "$debug" = "yes"; then
CXXFLAGS="-O0 -g"
CFLAGS="$CXXFLAGS"
fi
# Check for warnings flag
warnings="no"
AC_ARG_ENABLE(warnings,
[AS_HELP_STRING(--enable-warnings, [Enable warnings compiler flags (false)])],
[warnings="$enableval"])
if test "$warnings" = "yes"; then
CXXFLAGS="$CXXFLAGS -ansi -pedantic -Wall -Woverloaded-virtual -Wsign-promo -Wconversion"
CFLAGS="$CXXFLAGS"
fi
# Check for assertion flag
assert="no"
AC_ARG_ENABLE(assert,
[AS_HELP_STRING(--enable-assert,Enable assertions (false - performance penalty))],
[assert="$enableval" ])
if test "$assert" = "no"; then
CXXFLAGS="$CXXFLAGS -DNDEBUG"
else
CXXFLAGS="$CXXFLAGS -DDEBUG"
fi
# Bolt on a few specific flags to CXXFLAGS that should always be used
CXXFLAGS="$CXXFLAGS -pipe"
# Set nice wide error messages so I can actually read bug reports. :)
CXXFLAGS="$CXXFLAGS -fmessage-length=139 -fdiagnostics-show-location=every-line"
CFLAGS="$CXXFLAGS"
# C++ specific flags
CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
# Check for ALSA
build_alsa="yes"
AC_ARG_ENABLE(alsa,
[AS_HELP_STRING(--enable-alsa, [Enable Alsa MIDI driver (true)])],
[ if test x$enable_alsa = xno ; then build_alsa=no ; fi ])
# Check for LADSPA
build_ladspa="yes"
AC_ARG_ENABLE(ladspa,
[AS_HELP_STRING(--enable-ladspa, [Enable LADSPA plugin support (true)])],
[ if test x$enable_ladspa = xno ; then build_ladspa=no ; fi ])
AC_ARG_ENABLE(dssi,
[AS_HELP_STRING(--enable-dssi, [Enable DSSI plugin support (true)])],
[ if test x$enable_dssi = xno ; then build_dssi=no ; fi ])
# LASH config option
build_lash="yes"
AC_ARG_ENABLE(lash,
[AS_HELP_STRING(--enable-lash, [Enable LASH session management support (true)])],
[ if test x$enable_lash = xno ; then build_lash=no ; fi ])
have_lash="no"
if test "$build_lash" = "yes"; then
PKG_CHECK_MODULES(LASH, lash-1.0 >= 0.5.0, have_lash="yes", have_lash="no")
fi
if test "$have_lash" = "yes"; then
AC_DEFINE(HAVE_LASH, 1, [Has lash.h])
AC_SUBST(LASH_CFLAGS)
AC_SUBST(LASH_LIBS)
else
AC_MSG_WARN([LASH not found, session support will not be built.])
fi
AM_CONDITIONAL(WITH_LASH, [test "$have_lash" = "yes"])
# Check for building patch loader client
build_patch_loader="yes"
AC_ARG_ENABLE([patch-loader],
AS_HELP_STRING(--enable-patch-loader, Build patch loader (true, requires libxml2)),
[ if test x$enable_patch_loader = xno ; then build_patch_loader=no ; fi ])
if test "$build_patch_loader" = "yes"; then
# Check for libxml2 (not needed by engine, just client lib)
PKG_CHECK_MODULES(LXML2, libxml-2.0 >= 2.6.0)
AC_SUBST(LXML2_LIBS)
AC_SUBST(LXML2_CFLAGS)
AC_CONFIG_FILES([src/clients/patch_loader/Makefile])
AC_CONFIG_FILES([src/clients/patches/Makefile])
else
AC_MSG_WARN([Patch loader will NOT be built!])
fi
AM_CONDITIONAL(BUILD_PATCH_LOADER, [test "$build_patch_loader" = "yes"])
# Check for building gtk client
build_gtk="yes"
AC_ARG_ENABLE([gtk-client],
AS_HELP_STRING(--enable-gtk-client, Build GTK client. (true, requires patch loader)),
[ if test x$enable_gtk_client = xno ; then build_gtk=no ; fi ])
if test "$build_gtk" = "yes"; then
if test "$build_patch_loader" = "no"; then
AC_MSG_WARN([GTK client will NOT be built! (requires patch loader)])
build_gtk=no
else
AC_CONFIG_SUBDIRS([src/clients/gtk])
fi
else
AC_MSG_WARN([GTK client will NOT be built!])
fi
AM_CONDITIONAL(BUILD_GTK, [test "$build_gtk" = "yes"])
# Write it!
AC_CONFIG_FILES([Makefile])
AC_CONFIG_FILES([src/Makefile])
AC_CONFIG_FILES([src/clients/Makefile])
AC_CONFIG_FILES([src/clients/python/Makefile])
AC_CONFIG_FILES([src/clients/python/scripts/Makefile])
#AC_CONFIG_FILES([src/clients/console/Makefile])
AC_CONFIG_FILES([src/clients/demolition/Makefile])
AC_OUTPUT
|