owntone-server/configure.in
2009-04-01 19:16:19 +02:00

365 lines
11 KiB
Plaintext

dnl Process this file with autoconf to produce a configure script.
AC_INIT(config.h.in)
AC_CONFIG_HEADER(config.h)
AM_INIT_AUTOMAKE(mt-daapd,0.2.1.1)
AC_USE_SYSTEM_EXTENSIONS
dnl Checks for programs.
AC_PROG_CC
dnl AC_PROG_YACC
dnl AM_PROG_LEX
AC_PROG_LIBTOOL
AC_CHECK_HEADERS([sys/wait.h])
AC_CHECK_HEADERS([sys/param.h])
AC_CHECK_HEADERS([sys/select.h])
AC_CHECK_HEADERS([dirent.h])
AC_CHECK_FUNCS(strptime)
AC_CHECK_FUNCS(strtok_r)
AC_CHECK_FUNCS(timegm)
AC_CHECK_FUNCS(va_copy)
AC_CHECK_FUNCS(__va_copy)
AC_FUNC_SETPGRP
if test "x$prefix" != xNONE -a "x$prefix" != "x/usr"; then
CONFFILE="$prefix/etc/mt-daapd.conf"
else
if test "x$prefix" = "xNONE"; then
CONFFILE="/usr/local/etc/mt-daapd.conf"
else
CONFFILE="/etc/mt-daapd.conf"
fi
fi
AC_DEFINE_UNQUOTED(CONFFILE,"${CONFFILE}",Where the config file is)
rend_avahi=false
db_sqlite3=false
use_ffmpeg=false;
use_upnp=false;
use_ssl=false
use_iconv=true
STATIC_LIBS=no
CPPFLAGS="${CPPFLAGS} -g -Wall"
dnl fix freebsd's broken (?) libpthread
AC_CHECK_LIB(c_r,pthread_creat,LIBS="${LIBS} -lc_r", [
AC_CHECK_LIB(pthread,pthread_create,LIBS="${LIBS} -lpthread") ])
AC_ARG_ENABLE(iconv, [ --enable-iconv Enable iconv conversion],
[ case "${enableval}" in
yes) use_iconv=true;;
no) use_iconv=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-iconv);;
esac ])
AC_ARG_ENABLE(sqlite3,[ --enable-sqlite3 Enable sqlite3 db backend],
[ case "${enableval}" in
yes) db_sqlite3=true; have_sql=true;;
no) db_sqlite3=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-sqlite3);;
esac ])
AC_ARG_ENABLE(mdns,[ --enable-mdns Enable mDNS support],
[ case "${enableval}" in
yes) ;;
no) rend_avahi=false; CPPFLAGS="${CPPFLAGS} -DWITHOUT_MDNS";;
*) AC_MSG_ERROR(bad value ${enableval} for --disable-mdns);;
esac ])
AC_ARG_ENABLE(nslu2,[ --enable-nslu2 Build for NSLU2/uNSLUng],
CFLAGS="${CFLAGS} -DNSLU2")
AC_ARG_ENABLE(avahi,[ --enable-avahi Use avahi 0.6 or later],
[ case "${enableval}" in
yes) PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ]);
rend_avahi=true; LDFLAGS="${LDFLAGS} $AVAHI_LIBS";
CPPFLAGS="${CPPFLAGS} $AVAHI_CFLAGS -DWITH_AVAHI";;
no) rend_avahi=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-avahi);;
esac ])
AC_ARG_ENABLE(oggvorbis,[ --enable-oggvorbis Enable Ogg/Vorbis support],
[ case "${enableval}" in
yes) use_oggvorbis=true;
CPPFLAGS="${CPPFLAGS} -DOGGVORBIS";;
no) use_oggvorbis=false;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-oggvorbis);;
esac ])
AC_ARG_ENABLE(flac,[ --enable-flac Enable FLAC support],
use_flac=true;
CPPFLAGS="${CPPFLAGS} -DFLAC")
AC_ARG_ENABLE(musepack,[ --enable-musepack Enable Musepack support],
use_musepack=true;
CPPFLAGS="${CPPFLAGS} -DMUSEPACK")
AC_ARG_ENABLE(ffmpeg,[ --enable-ffmpeg Enable ffmpeg transcode support],
use_ffmpeg=true;)
AC_ARG_ENABLE(upnp,[ --enable-upnp Enable upnp support],
CPPFLAGS="${CPPFLAGS} -DUPNP"; use_upnp=true;)
AC_ARG_ENABLE(mem-debug,[ --enable-mem-debug Enable memory debugging],
CPPFLAGS="${CPPFLAGS} -DDEBUG_MEM")
AC_ARG_ENABLE(ssl,[ --enable-ssl Enable SSL support in web server],
CPPFLAGS="${CPPFLAGS} -DUSE_SSL"; use_ssl=true; )
AM_CONDITIONAL(COND_REND_AVAHI, test x$rend_avahi = xtrue)
AM_CONDITIONAL(COND_OGGVORBIS, test x$use_oggvorbis = xtrue)
AM_CONDITIONAL(COND_FLAC, test x$use_flac = xtrue)
AM_CONDITIONAL(COND_MUSEPACK, test x$use_musepack = xtrue)
AM_CONDITIONAL(COND_SQLITE3,test x$db_sqlite3 = xtrue)
AM_CONDITIONAL(COND_FFMPEG,test x$use_ffmpeg = xtrue)
AM_CONDITIONAL(COND_UPNP,test x$use_upnp = xtrue)
AM_CONDITIONAL(COND_SSL,test x$use_ssl = xtrue)
#AM_CONDITIONAL(COND_NEED_STRCASESTR,false)
#AM_CONDITIONAL(COND_NEED_STRSEP,false)
AC_CHECK_FUNCS(strcasestr strsep)
if test x$have_sql = xtrue; then
CPPFLAGS="${CPPFLAGS} -DHAVE_SQL"
fi
if test x$db_sqlite3 = xtrue; then
AM_CONDITIONAL(COND_SQL,true)
fi
if test x$db_sqlite3 = xfalse; then
echo "Must use --enable-sqlite3"
exit;
fi
dnl Darwin's stupid cpp preprocessor....
echo Host type is $host
CPPFLAGS="$CPPFLAGS -DHOST='\"$host\"'"
dnl Checks for libraries.
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(ssl-includes,
[--with-ssl-includes[[=DIR]] use ssl include files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval"
fi
])
AC_ARG_WITH(ssl-libs,
[--with-ssl-libs[[=DIR]] use ssl lib files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
LDFLAGS="${LDFLAGS} -L$withval -R$withval"
fi
])
AC_ARG_WITH(sqlite3-includes,
[--with-sqlite3-includes[[=DIR]] use sqlite3 include files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval"
fi
])
AC_ARG_WITH(sqlite3-libs,
[--with-sqlite3-libs[[=DIR]] use sqlite3 lib files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
LDFLAGS="${LDFLAGS} -L$withval -R$withval"
fi
])
AC_ARG_WITH(ffmpeg-includes,
[--with-ffmpeg-includes[[=DIR]] use ffmpeg include files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
CPPFLAGS="${CPPFLAGS} -I$withval"
fi
])
AC_ARG_WITH(ffmpeg-libs,
[--with-ffmpeg-libs[[=DIR]] use ffmpeg lib files in DIR],[
if test "$withval" != "no" -a "$withval" != "yes"; then
Z_DIR=$withval
LDFLAGS="${LDFLAGS} -L$withval -R$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 -R$withval/lib"
fi
])
AC_CHECK_HEADERS(getopt.h,,)
AC_CHECK_HEADERS(stdint.h,,)
AC_CHECK_HEADERS(id3tag.h,, [
AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])])
oldcflags=$CFLAGS
CFLAGS="$CFLAGS -lz"
OLDLIBS=$LIBS
AC_CHECK_LIB(id3tag,id3_file_open,,echo "no libid3tag. Try --with-id3tag=dir";exit)
LIBS=$OLDLIBS
if test "$STATIC_LIBS" != "no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libid3tag.a ${STATIC_LIBS}/libz.a"
else
LIBS="${LIBS} -lid3tag -lz"
fi
CFLAGS=$oldcflags
if test x$use_ssl = xtrue; then
AC_CHECK_HEADERS(openssl/ssl.h,, [
AC_MSG_ERROR([ssl.h not found... Must have ssl headers installed])])
AC_CHECK_LIB(ssl,SSL_library_init,,echo "Must have openssl libraries installed";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libssl.a ${STATIC_LIBS}/libcrypto.a"
else
LIBS="${LIBS} -lssl -lcrypto"
fi
fi
OLDLIBS=$LIBS
if test x$db_sqlite3 = xtrue; then
AC_CHECK_HEADERS(sqlite3.h,, [
AC_MSG_ERROR([sqlite3.h not found... Must have sqlite3 headers installed])])
AC_CHECK_LIB(sqlite3,sqlite3_open,,echo "Must have sqlite3 libraries installed";exit)
LIBS=$OLDLIBS
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libsqlite3.a"
else
LIBS="${LIBS} -lsqlite3"
fi
fi
if test x$use_oggvorbis = xtrue; then
AC_CHECK_HEADERS(ogg/ogg.h,, [
AC_MSG_ERROR([ogg/ogg.h not found... Must have libogg installed for Ogg/Vorbis support])])
AC_CHECK_LIB(ogg,ogg_sync_init,,echo "Must have libogg for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libogg.a"
else
LIBS="${LIBS} -logg"
fi
AC_CHECK_HEADERS(vorbis/codec.h,, [
AC_MSG_ERROR([vorbis/codec.h not found... Must have libvorbis installed for Ogg/Vorbis support])])
AC_CHECK_LIB(vorbis,vorbis_info_init,,echo "Must have libvorbis for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libvorbis.a"
else
LIBS="${LIBS} -lvorbis"
fi
AC_CHECK_LIB(vorbisfile,ov_open,,echo "Must have libvorbisfile for Ogg/Vorbis support";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libvorbisfile.a"
else
LIBS="${LIBS} -lvorbisfile"
fi
fi
if test x$use_flac = xtrue; then
AC_CHECK_HEADERS(FLAC/metadata.h,, [
AC_MSG_ERROR([FLAC/metadata.h not found... Must have libFLAC installed for FLAC support])])
AC_CHECK_LIB(FLAC,FLAC__metadata_chain_read,,echo "Must have libFLAC for FLAC support";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libFLAC.a"
else
LIBS="${LIBS} -lFLAC"
fi
fi
if test x$use_ffmpeg = xtrue; then
AC_CHECK_HEADERS(avcodec.h,, [
AC_MSG_ERROR([avcodec.h not found... Must have ffmpeg installed])])
dnl AC_CHECK_LIB(avcodec,avcodec_find_decoder,,echo "Must have libavcodec";exit)
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libavcodec.a ${STATIC_LIBS}/libavformat.a ${STATIC_LIBS}/libavutil.a"
else
LIBS="${LIBS} -lavcodec -lavformat -lavutil"
fi
fi
if test x$use_musepack = xtrue; then
AC_PATH_PROG(TAGLIB_CONFIG, taglib-config, no)
AC_CHECK_HEADERS(taglib/tag_c.h,, [
AC_MSG_ERROR([taglib/tag_c.h not found... TagLib must be installed for Musepack support])])
if test "x$TAGLIB_CONFIG" = "xno" ; then
AC_MSG_ERROR(['TagLib must be installed for Musepack support'])
fi
dnl if test ! -e "`taglib-config --prefix`/lib/libtag_c.so.0"; then
dnl AC_MSG_ERROR(['Taglib C bindings are not installed'])
dnl fi
if test x"$STATIC_LIBS" != x"no"; then
LIBS="${LIBS} ${STATIC_LIBS}/libtag_c.a"
else
LIBS="${LIBS} -ltag_c"
fi
fi
AC_REPLACE_FUNCS(strcasestr)
AC_REPLACE_FUNCS(strsep)
AC_CHECK_FUNCS(atoll)
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_TYPE_SIGNAL
AC_CHECK_FUNCS(select socket strdup strerror)
dnl check to see if we need -lsocket (solaris)
AC_CHECK_LIB(dl,dlsym)
V_NETLIBS=""
AC_CHECK_LIB(socket,socket,V_NETLIBS="-lsocket $V_NETLIBS",,)
AC_SUBST(V_NETLIBS)
if test x$use_iconv = xtrue; then
dnl add the iconv stuff
AM_ICONV
LDFLAGS="${LDFLAGS} ${LIBICONV}"
fi
AC_OUTPUT(src/Makefile src/plugins/Makefile admin-root/Makefile admin-root/lib-js/Makefile admin-root/lib-js/script.aculo.us/Makefile contrib/Makefile contrib/init.d/Makefile Makefile)