dnl $Id$ dnl dnl Process this file with autoconf to produce a configure script. AC_INIT(config.h.in) AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(mt-daapd,0.2.0) dnl Checks for programs. AC_PROG_CC AC_PROG_YACC AM_PROG_LEX AC_CANONICAL_HOST AM_CONDITIONAL(COND_REND_OSX,false) STATIC_LIBS=no CPPFLAGS="${CPPFLAGS} -g" LDFLAGS="${LDFLAGS} -lz" AC_CHECK_LIB(z,compress,LDFLAGS="$LDFLAGS -lz",echo "Must have zlib";exit) AC_ARG_ENABLE(debug,Enable debugging features,CPPFLAGS="${CPPFLAGS} -Wall") AC_ARG_ENABLE(debug-memory,Enable mem leak debugging,CPPFLAGS="${CPPFLAGS} -DDEBUG_MEMORY") AC_ARG_ENABLE(efence,Enable electric fence,LDFLAGS="${LDFLAGS} -lefence") AC_ARG_ENABLE(new-howl,[ --enable-new-howl Use howl 0.9.2 or later], [ case "${enableval}" in yes) rend_howl=true; LDFLAGS="${LDFLAGS} -lhowl"; CPPFLAGS="${CPPFLAGS} -DWITH_HOWL";; no) rend_howl=false;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-howl);; esac ],[rend_howl=false]) AC_ARG_ENABLE(howl,[ --enable-howl Use the howl mDNS library], [ case "${enableval}" in yes) rend_howl=true; LDFLAGS="${LDFLAGS} -lrendezvous -lcorby -lsalt"; CPPFLAGS="${CPPFLAGS} -DWITH_HOWL";; no) rend_howl=false;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-howl);; esac ],[rend_howl=false]) AC_ARG_ENABLE(browse,[ --enable-browse enable experimenal browse support], [ case "${enableval}" in yes) opt_browse=true; CPPFLAGS="${CPPFLAGS} -DOPT_BROWSE";; no) opt_browse=false;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-browse);; esac ],[opt_browse=false]) AC_ARG_ENABLE(query,[ --enable-query enable experimenal query support], [ case "${enableval}" in yes) opt_query=true; CPPFLAGS="${CPPFLAGS} -DOPT_QUERY";; no) opt_query=false;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-query);; esac ],[opt_query=false]) AM_CONDITIONAL(OPT_BROWSE, test x$opt_browse = xtrue) AM_CONDITIONAL(OPT_QUERY, test x$opt_query = xtrue) AM_CONDITIONAL(COND_REND_HOWL, test x$rend_howl = xtrue) AM_CONDITIONAL(COND_REND_POSIX, test x$rend_howl = xfalse) AM_CONDITIONAL(COND_NEED_STRCASESTR,false) AM_CONDITIONAL(COND_NEED_STRSEP,false) dnl Darwin's stupid cpp preprocessor.... echo Host type is $host CPPFLAGS="$CPPFLAGS -DHOST='\"$host\"'" dnl dnl The apple mDNS stuff wants these compile flags. dnl case $host in *solaris*) CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN -D_XPG4_2" CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME" CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS" LDFLAGS="$LDFLAGS -lnsl -lsocket";; *linux*) CPPFLAGS="$CPPFLAGS -DNOT_HAVE_SA_LEN";; *openbsd*) CPPFLAGS="$CPPFLAGS -DHAVE_BROKEN_RECVDSTADDR";; *darwin*) CPPFLAGS="$CPPFLAGS -no-cpp-precomp -DMAC" LDFLAGS="$LDFLAGS -framework CoreFoundation" AM_CONDITIONAL(COND_REND_OSX,true) AM_CONDITIONAL(COND_REND_HOWL,false) AM_CONDITIONAL(COND_REND_POSIX,false);; esac dnl Checks for libraries. AC_CHECK_LIB(pthread,pthread_create,LDFLAGS="$LDFLAGS -lpthread") AC_ARG_WITH(static-libs, [--with-static-libs[[=DIR]] use static libs in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval STATIC_LIBS="$withval" fi ]) AC_ARG_WITH(gdbm-includes, [--with-gdbm-includes[[=DIR]] use gdbm include files in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval" fi ]) AC_ARG_WITH(howl-includes, [--with-howl-includes[[=DIR]] use howl include files in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval" fi ]) AC_ARG_WITH(gdbm-libs, [--with-gdbm-libs[[=DIR]] use gdbm lib files in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval; LDFLAGS="${LDFLAGS} -L$withval" fi ]) AC_ARG_WITH(howl-libs, [--with-howl-libs[[=DIR]] use howl lib files in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval LDFLAGS="${LDFLAGS} -L$withval" fi ]) AC_ARG_WITH(id3tag, [--with-id3tag[[=DIR]] use id3tag in DIR],[ if test "$withval" != "no" -a "$withval" != "yes"; then Z_DIR=$withval CPPFLAGS="${CPPFLAGS} -I$withval/include" LDFLAGS="${LDFLAGS} -L$withval/lib" fi ]) AC_CHECK_HEADERS(gdbm.h,, [ AC_MSG_ERROR([gdbm.h not found... try --with-gdbm-includes=dir])]) AC_CHECK_LIB(gdbm,gdbm_open,echo "Have gdbm", echo "Must have gdbm";exit) if test "$STATIC_LIBS" != "no"; then LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libgdbm.a" echo "Adding static libgdbm" else LDFLAGS="${LDFLAGS} -lgdbm" echo "Adding dynamic libgdbm" fi AC_CHECK_HEADERS(id3tag.h,, [ AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])]) AC_CHECK_LIB(id3tag,id3_file_open,echo "Have id3tag",echo "Must have libid3tag";exit) if test "$STATIC_LIBS" != "no"; then LDFLAGS="${LDFLAGS} ${STATIC_LIBS}/libid3tag.a" echo "Adding static libid3tag" else LDFLAGS="${LDFLAGS} -lid3tag" echo "Adding dynamic libid3tag" fi AC_REPLACE_FUNCS(strcasestr) AC_REPLACE_FUNCS(strsep) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h syslog.h unistd.h \ sys/filio.h termio.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_HEADER_TIME dnl Checks for library functions. AC_PROG_GCC_TRADITIONAL AC_FUNC_SETPGRP AC_TYPE_SIGNAL AC_CHECK_FUNCS(select socket strdup strerror) dnl check to see if we need -lsocket (solaris) V_NETLIBS="" AC_CHECK_LIB(socket,socket,V_NETLIBS="-lsocket $V_NETLIBS",,) AC_SUBST(V_NETLIBS) AC_OUTPUT(src/Makefile admin-root/Makefile contrib/Makefile debian/Makefile Makefile)