dnl Process this file with autoconf to produce a configure script. AC_INIT(jackd/jackd.c) AC_CONFIG_AUX_DIR(.) JACK_MAJOR_VERSION=0 JACK_MINOR_VERSION=37 JACK_MICRO_VERSION=2 BETA= AC_SUBST(JACK_MAJOR_VERSION) AC_SUBST(JACK_MINOR_VERSION) AC_SUBST(JACK_MICRO_VERSION) JACK_SO_VERSION=${JACK_MAJOR_VERSION}:${JACK_MINOR_VERSION}:${JACK_MICRO_VERSION}${BETA} JACK_VERSION=$JACK_MAJOR_VERSION.$JACK_MINOR_VERSION.${JACK_MICRO_VERSION}${BETA} JACK_RELEASE=$JACK_MAJOR_VERSION-$JACK_MINOR_VERSION-${JACK_MICRO_VERSION}${BETA} AC_SUBST(JACK_SO_VERSION) AC_SUBST(JACK_VERSION) AC_SUBST(JACK_RELEASE) AM_INIT_AUTOMAKE(jack-audio-connection-kit,${JACK_VERSION}) AM_MAINTAINER_MODE AM_CONFIG_HEADER(config.h) AC_PROG_CC AC_PROG_CXX AC_PROG_LD AM_PROG_LIBTOOL AC_C_BIGENDIAN AC_CHECK_HEADERS(string.h strings.h) AC_CHECK_FUNC(getopt_long, , AC_MSG_ERROR([GNU getopt is required to build jack])) AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent)) AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt)) AC_CHECK_FUNC(connect, , AC_CHECK_LIB(inet, connect)) AC_CHECK_FUNCS(on_exit atexit) JACK_CORE_CFLAGS='-I$(top_srcdir) -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -Wall' JACK_CFLAGS="$JACK_CORE_CFLAGS -g" JACK_OPT_CFLAGS="$JACK_CORE_CFLAGS -O6 -fomit-frame-pointer -ffast-math -fstrength-reduce -funroll-loops -fmove-all-movables" AC_ARG_ENABLE(optimize, [ --enable-optimize ask the compiler for its best optimizations], [ if test "x$enable_optimize" != "xno" ; then JACK_CFLAGS="$JACK_OPT_CFLAGS" ; fi ]) AC_SUBST(JACK_CFLAGS) AC_ARG_ENABLE(debug, [ --enable-debug enable debugging messages in jackd and libjack], [ if test "x$enable_debug" != "xno" ; then AC_DEFINE(DEBUG_ENABLED,,[Enable debugging messages]) fi ] ) USE_CAPABILITIES=false AC_ARG_ENABLE(capabilities, [ --enable-capabilities use libcap to gain realtime scheduling priviledges], [ if test "x$enable_capabilities" != "xno" ; then AC_CHECK_LIB(cap, capgetp, [AC_CHECK_HEADER(sys/capability.h, [HAVE_CAPABILITIES=true], [AC_MSG_WARN([*** no kernel support for capabilities]) HAVE_CAPABILITIES=false] )], [AC_MSG_WARN([*** no libcap present]) HAVE_CAPABILITIES=false] ) if test "x$HAVE_CAPABILITIES" = "xtrue"; then AC_CHECK_PROG(HAVE_CAPABILITIES, md5sum, true, false) fi if test "x$HAVE_CAPABILITIES" = "xfalse"; then AC_MSG_WARN([*** required program md5sum not found]) fi if test "x$HAVE_CAPABILITIES" = "xfalse"; then AC_MSG_ERROR([*** Capabilities support not present. Run configure again without --enable-capabilities.]) fi USE_CAPABILITIES=true AC_DEFINE(USE_CAPABILITIES,,[Enable POSIX 1.e capabilities support]) fi ] ) STRIPPED_JACKD=false AC_ARG_ENABLE(stripped-jackd, [ --enable-stripped-jackd strip jack before computing its md5 sum ], [ if test "x$USE_CAPABILITIES" != "xtrue" ; then AC_MSG_WARN([*** capabilities not enabled, stripped jackd has no effect]) elif test "x$enable_stripped_jackd" != "xno"; then STRIPPED_JACKD=true fi ] ) # plugins go in the addon dir. AS_AC_EXPAND(ADDON_DIR,${libdir}/jack) AC_SUBST(ADDON_DIR) AC_DEFINE_UNQUOTED(ADDON_DIR,"$ADDON_DIR",[Directory for plugins]) AC_ARG_WITH(html-dir, [ --with-html-dir=PATH where to install the html documentation]) if test "x$with_html_dir" = "x" ; then HTML_DIR='${pkgdatadir}' else HTML_DIR=$with_html_dir fi AC_SUBST(HTML_DIR) # jack depends on alsa 0.9 and glib. some example apps depend on libsndfile and fltk. AM_PATH_GLIB(1.0.0, [:], [AC_MSG_ERROR([*** JACK requires GLib, but it does not appear to be installed])] ) AC_CHECK_LIB(asound,snd_pcm_drop, [ HAVE_ALSA="true" ALSA_LIBS=-lasound ], [ HAVE_ALSA="false" AC_MSG_WARN([ALSA 0.9 support not found]) ], [-lm] ) AC_SUBST(ALSA_LIBS) dnl replace me with a proper test HAVE_SOLARIS="false" if test "x$HAVE_ALSA" != "xtrue"; then if test "x$HAVE_SOLARIS" != "xtrue"; then AC_MSG_ERROR([*** Neither Solaris nor ALSA audio support was found, aborting...]) fi fi AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_CHECK_LIB(fltk,main, [AC_CHECK_HEADER(FL/Fl.H, [HAVE_FLTK=true], [HAVE_FLTK=false] )], [HAVE_FLTK=false], [-L/usr/X11R6/lib -lX11 -lXext] ) AC_LANG_RESTORE if test $HAVE_FLTK = "false"; then AC_MSG_WARN([*** no fltk found, the fltk example client will not be built]) fi AC_CHECK_LIB(sndfile,main, [AC_CHECK_HEADER(sndfile.h, [HAVE_SNDFILE=true], [HAVE_SNDFILE=false] )], [HAVE_SNDFILE=false] ) if test $HAVE_SNDFILE = "false"; then AC_MSG_WARN([*** no libsndfile found, the jackrec example client will not be built]) fi # you need doxygen to make dist. AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, true, false) if test $HAVE_DOXYGEN = "false"; then AC_MSG_WARN([*** doxygen not found, docs will not be built]) fi AM_CONDITIONAL(HAVE_FLTK, $HAVE_FLTK) AM_CONDITIONAL(HAVE_SNDFILE, $HAVE_SNDFILE) AM_CONDITIONAL(HAVE_DOXYGEN, $HAVE_DOXYGEN) AM_CONDITIONAL(USE_CAPABILITIES, $USE_CAPABILITIES) AM_CONDITIONAL(STRIPPED_JACKD, $STRIPPED_JACKD) AM_CONDITIONAL(HAVE_ALSA, $HAVE_ALSA) AM_CONDITIONAL(HAVE_SOLARIS, $HAVE_SOLARIS) AC_OUTPUT( Makefile jack.pc jack.spec jack/Makefile jackd/Makefile libjack/Makefile drivers/Makefile drivers/alsa/Makefile drivers/solaris/Makefile example-clients/Makefile doc/Makefile doc/reference.doxygen )