mirror of
https://github.com/owntone/owntone-server.git
synced 2024-12-26 23:25:56 -05:00
48e8e0ef72
is only true if someone else sets it up for you. Here's my fumbly finger approach to get it right.
295 lines
8.7 KiB
Plaintext
295 lines
8.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.1.1)
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
dnl AC_PROG_YACC
|
|
dnl AM_PROG_LEX
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
AC_CHECK_HEADERS([sys/wait.h])
|
|
AC_CHECK_HEADERS([sys/param.h])
|
|
AC_CHECK_FUNCS(strptime)
|
|
AC_CHECK_FUNCS(strtok_r)
|
|
AM_CONDITIONAL(COND_REND_OSX,false)
|
|
|
|
rend_posix=true
|
|
db_sqlite=false
|
|
db_sqlite3=false
|
|
|
|
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(sqlite,[ --enable-sqlite Enable the sqlite db backend],
|
|
[ case "${enableval}" in
|
|
yes) db_sqlite=true; have_sql=true;;
|
|
no) db_sqlite=false;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-sqlite);;
|
|
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_posix=false; rend_howl=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(howl,[ --enable-howl Use howl 0.9.2 or later],
|
|
[ case "${enableval}" in
|
|
yes) rend_howl=true; rend_posix=false; LIBS="${LIBS} -lhowl";
|
|
CPPFLAGS="${CPPFLAGS} -DWITH_HOWL";;
|
|
no) rend_howl=false;;
|
|
*) AC_MSG_ERROR(bad value ${enableval} for --enable-howl);;
|
|
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")
|
|
|
|
AM_CONDITIONAL(COND_REND_HOWL, test x$rend_howl = xtrue)
|
|
AM_CONDITIONAL(COND_REND_POSIX, test x$rend_posix = 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_SQLITE,test x$db_sqlite = xtrue)
|
|
AM_CONDITIONAL(COND_SQLITE3,test x$db_sqlite3 = xtrue)
|
|
AM_CONDITIONAL(COND_NEED_STRCASESTR,false)
|
|
AM_CONDITIONAL(COND_NEED_STRSEP,false)
|
|
|
|
if test x$have_sql = xtrue; then
|
|
CPPFLAGS="${CPPFLAGS} -DHAVE_SQL"
|
|
fi
|
|
|
|
if test x$db_sqlite = xtrue -o x$db_sqlite3 = xtrue; then
|
|
AM_CONDITIONAL(COND_SQL,true)
|
|
fi
|
|
|
|
if test x$db_sqlite = xfalse -a x$db_sqlite3 = xfalse; then
|
|
echo "Must use either --enable-sqlite or --enable-sqlite3"
|
|
exit;
|
|
fi
|
|
|
|
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"
|
|
LIBS="${LIBS} -lnsl -lsocket";;
|
|
*freebsd*)
|
|
CPPFLAGS="$CPPFLAGS -DFREEBSD";;
|
|
*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_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(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(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(getopt.h,,)
|
|
|
|
AC_CHECK_HEADERS(id3tag.h,, [
|
|
AC_MSG_ERROR([id3tag.h not found... try --with-id3tag=dir])])
|
|
|
|
oldcflags=$CFLAGS
|
|
|
|
CFLAGS="$CFLAGS -lz"
|
|
AC_CHECK_LIB(id3tag,id3_file_open,,echo "no libid3tag. Try --with-id3tag=dir";exit)
|
|
|
|
if test "$STATIC_LIBS" != "no"; then
|
|
LIBS="${LIBS} ${STATIC_LIBS}/libid3tag.a -lz"
|
|
else
|
|
LIBS="${LIBS} -lid3tag -lz"
|
|
fi
|
|
CFLAGS=$oldcflags
|
|
|
|
if test x$db_sqlite = xtrue; then
|
|
AC_CHECK_HEADERS(sqlite.h,, [
|
|
AC_MSG_ERROR([sqlite.h not found... Must have sqlite headers installed])])
|
|
AC_CHECK_LIB(sqlite,sqlite_open,,echo "Must have sqlite libraries installed";exit)
|
|
|
|
if test x"$STATIC_LIBS" != x"no"; then
|
|
LIBS="${LIBS} ${STATIC_LIBS}/libsqlite.a"
|
|
else
|
|
LIBS="${LIBS} -lsqlite"
|
|
fi
|
|
fi
|
|
|
|
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)
|
|
|
|
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_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_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 admin-root/lib-js/Makefile admin-root/lib-js/script.aculo.us/Makefile contrib/Makefile debian/Makefile Makefile)
|