owntone-server/configure.in
David W. Berry 9492a64846 1. Implement browse and query. These are both still somewhat experimental
pending further verification against iTunes.  --enable-browse and
    --enable-query must be specified to configure to enable both options.
    browse support requires query support.
2.  Database iteration is now sorted and the database is not kept locked
    as long during iteration.
2004-06-14 19:01:06 +00:00

195 lines
5.7 KiB
Plaintext

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)