|
- dnl Process this file with autoconf to produce a configure script.
- AC_INIT(jackd/jackd.c)
-
- AC_CONFIG_AUX_DIR(.)
-
- dnl ---
- dnl HOWTO: updating the JACK version number
- dnl
- dnl major version = ask on jackit-devel :)
- dnl minor version = incremented when any of the public or internal
- dnl interfaces are changed
- dnl micro version = incremented when implementation-only
- dnl changes are made
- dnl ---
- JACK_MAJOR_VERSION=0
- JACK_MINOR_VERSION=44
- JACK_MICRO_VERSION=1
-
- dnl ---
- dnl HOWTO: updating the libjack interface version
- dnl
- dnl current = incremented whenever the public libjack API is changed
- dnl revision = incremented when the libjack implementation is changed
- dnl age = current libjack is both source and binary compatible with
- dnl libjack interfaces current,current-1,...,current-age
- dnl
- dnl Note! see libtool documentation for detailed documentation
- dnl
- dnl Note Also! until we reach CURRENT>=1, the rules are somewhat
- dnl slacker than this, and closer to those for the JACK version
- dnl number.
- dnl ---
- JACK_API_CURRENT=0
- JACK_API_REVISION=8
- JACK_API_AGE=0
-
- AC_SUBST(JACK_MAJOR_VERSION)
- AC_SUBST(JACK_MINOR_VERSION)
- AC_SUBST(JACK_MICRO_VERSION)
-
- AC_SUBST(JACK_API_MAJOR_VERSION)
- AC_SUBST(JACK_API_MINOR_VERSION)
- AC_SUBST(JACK_API_MICRO_VERSION)
-
- JACK_SO_VERSION=${JACK_API_CURRENT}:${JACK_API_REVISION}:${JACK_API_AGE}
-
- 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
- ]
- )
-
- AC_ARG_ENABLE(timestamps,
- [ --enable-timestamps allow clients to use the JACK timestamp API ],
- [ if test "x$enable_debug" != "xno" ; then
- AC_DEFINE(WITH_TIMESTAMPS,,[Enable JACK timestamp API])
- 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. some example apps depend on libsndfile and fltk.
-
- 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
-
- HAVE_SNDFILE=false
- PKG_CHECK_MODULES(SNDFILE, sndfile >= 1.0,[HAVE_SNDFILE=true], [true])
- if test x$HAVE_SNDFILE = xfalse; then
- AC_MSG_WARN([*** 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
- )
|