1
0
mirror of https://gitlab.xiph.org/xiph/ezstream.git synced 2024-09-15 04:08:07 -04:00
ezstream/configure.in

217 lines
5.3 KiB
Plaintext
Raw Normal View History

dnl INITIALIZATION
AC_INIT([ezstream], [0.4.4], [mdgrimm@gmx.net])
AC_PREREQ(2.61)
AC_CONFIG_SRCDIR(src/ezstream.c)
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS(src/config.h)
AC_CONFIG_LIBOBJ_DIR(src)
AM_MAINTAINER_MODE
AC_USE_SYSTEM_EXTENSIONS
dnl SETUP
EXAMPLES_DIR="\$(datadir)/examples/${PACKAGE_TARNAME}"
AC_ARG_ENABLE(examplesdir,
AS_HELP_STRING([--enable-examplesdir=DIR],
[example configuration files installation directory (default: DATADIR/examples/ezstream)]),
[case "$enableval" in
yes) ;;
no) AC_MSG_ERROR([Must have an example configuration files install dir.]) ;;
*) EXAMPLES_DIR="$enableval" ;;
esac], [])
AC_SUBST(EXAMPLES_DIR)
AC_CANONICAL_HOST
if test -z "$GCC"; then
Various cleanups and auto-fu tweaks. * Make Makefile.am files look alike as much as possible. * Remove debug: target and don't mess with the users DEBUG environment variable: Autoconf checks for -g and automatically adds it to CFLAGS, which is overridden by the user's $DEBUG. If the user didn't specify one, "make install" will strip the resulting binaries and leave the debugging symbols intact otherwise. * Remove profile: target, as it is quite pointless in Ezstream. Also, the user can add profiling flags via the $DEBUG variable as well. * Remove -ffast-math and -fsigned-char from gcc, and enable two additional warnings instead. * Unconfuse Solaris compiler flags (unfortunately, the configure script still fails in the libshout check with some obscure linker error): Do not force -x04 and -fast optimizations, let the user decide (it doesn't matter for Ezstream anyways.) Remove -xgc92, which is deprecated and actually makes the resulting binary run slower on SPARC. Also remove -fsimple, which does not help and has the potential of causing trouble, and don't enable verbose warnings just to disable them afterwards with -w. Leave only -v for verbose warnings. * Const'ify getFormat*() functions and blankString, and squelch a few const- related warnings. * Squelch a signedness warning and fix two ;; syntax errors. * Add a snapshot target to Makefile.am that creates a tarball of the form ezstream-snapshot-YYYYMMDD.tar.gz. git-svn-id: https://svn.xiph.org/trunk/ezstream@12562 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 09:00:15 -05:00
case $host in
*-irix*)
XIPH_CPPFLAGS="-fullwarn"
Various cleanups and auto-fu tweaks. * Make Makefile.am files look alike as much as possible. * Remove debug: target and don't mess with the users DEBUG environment variable: Autoconf checks for -g and automatically adds it to CFLAGS, which is overridden by the user's $DEBUG. If the user didn't specify one, "make install" will strip the resulting binaries and leave the debugging symbols intact otherwise. * Remove profile: target, as it is quite pointless in Ezstream. Also, the user can add profiling flags via the $DEBUG variable as well. * Remove -ffast-math and -fsigned-char from gcc, and enable two additional warnings instead. * Unconfuse Solaris compiler flags (unfortunately, the configure script still fails in the libshout check with some obscure linker error): Do not force -x04 and -fast optimizations, let the user decide (it doesn't matter for Ezstream anyways.) Remove -xgc92, which is deprecated and actually makes the resulting binary run slower on SPARC. Also remove -fsimple, which does not help and has the potential of causing trouble, and don't enable verbose warnings just to disable them afterwards with -w. Leave only -v for verbose warnings. * Const'ify getFormat*() functions and blankString, and squelch a few const- related warnings. * Squelch a signedness warning and fix two ;; syntax errors. * Add a snapshot target to Makefile.am that creates a tarball of the form ezstream-snapshot-YYYYMMDD.tar.gz. git-svn-id: https://svn.xiph.org/trunk/ezstream@12562 0101bb08-14d6-0310-b084-bc0e0c8e3800
2007-02-25 09:00:15 -05:00
;;
*-solaris*)
XIPH_CPPFLAGS="-v"
;;
*)
;;
esac
else
XIPH_CPPFLAGS="-Wall -Wwrite-strings -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
fi
dnl MISC SYSTEM CHARACTERISTICS
dnl __progname check adapted from OpenNTPd-portable configure.ac
AC_MSG_CHECKING([whether libc defines __progname])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[#include <stdio.h>]],
[[extern char *__progname; printf("%s\n", __progname); ]])],
[ac_cv_libc_defines___progname="yes"],
[ac_cv_libc_defines___progname="no"]
)
if test x"$ac_cv_libc_defines___progname" = "xyes"; then
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE___PROGNAME, 1, [Define whether libc defines __progname])
else
AC_MSG_RESULT([no])
fi
AC_C_CONST
AC_TYPE_SIZE_T
dnl USEFUL HEADERS
AC_CHECK_HEADERS(sys/time.h paths.h signal.h libgen.h)
dnl LIBRARY FUNCTIONS
AC_CHECK_LIB(gen, basename)
AC_CHECK_FUNCS(arc4random gettimeofday random srandomdev stat)
AC_REPLACE_FUNCS(getopt strlcat strlcpy strtonum)
if test x"$ac_cv_header_signal_h" = "xyes"; then
AC_CHECK_FUNCS([sigaction], [
AC_DEFINE(HAVE_SIGNALS, 1, [Define whether we have BSD signals])
], [], [#include <signal.h>])
fi
dnl CONFIGURE OPTIONS
dnl Optional: TagLib support
AC_ARG_VAR([TAGLIB_PREFIX], [path to TagLib installation])
if test -n "${TAGLIB_PREFIX}"; then
taglib_prefix="${TAGLIB_PREFIX}"
else
taglib_prefix=""
fi
use_taglib=yes
require_taglib=no
AC_ARG_WITH(taglib,
[AS_HELP_STRING([--with-taglib=PREFIX],
[Prefix where TagLib is installed (default: autodetect)])],
[case "$withval" in
yes) require_taglib=yes
if test -z "$taglib_prefix"; then
taglib_prefix=/usr/local
fi
;;
no) use_taglib=no ;;
*) require_taglib=yes
taglib_prefix="$withval"
;;
esac], [])
have_taglib=no
AC_MSG_CHECKING([for TagLib option])
if test x"$use_taglib" != "xno"; then
if test x"$require_taglib" = "xyes"; then
AC_MSG_RESULT([enabled])
else
AC_MSG_RESULT([autodetect])
fi
TAGLIB_CFLAGS=""
TAGLIB_CPPFLAGS=""
TAGLIB_LIBS="-ltag_c"
if test -n "$taglib_prefix"; then
TAGLIB_CPPFLAGS="-I${taglib_prefix}/include"
TAGLIB_LIBS="-L${taglib_prefix}/lib ${TAGLIB_LIBS}"
fi
ac_taglib_save_CFLAGS="$CFLAGS"
ac_taglib_save_CPPFLAGS="$CPPFLAGS"
ac_taglib_save_LIBS="$LIBS"
CFLAGS="${TAGLIB_CFLAGS}"
CPPFLAGS="${TAGLIB_CPPFLAGS}"
LIBS="${TAGLIB_LIBS}"
AC_CHECK_HEADERS([taglib/tag_c.h], [
AC_MSG_CHECKING([whether TagLib works])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[#include <taglib/tag_c.h>]],
[[ taglib_set_string_management_enabled(0); ]])],
[
AC_MSG_RESULT([yes])
have_taglib=yes
], [
if test x"$require_taglib" = "xyes"; then
AC_MSG_RESULT([no])
AC_MSG_ERROR([Cannot link against libtag_c in ${taglib_prefix}/lib])
else
AC_MSG_RESULT([no])
AC_MSG_WARN([Error while linking against libtag_c in ${taglib_prefix}/lib, disabling support])
fi
]
)
], [
if test x"$require_taglib" = "xyes"; then
AC_MSG_ERROR([Cannot find taglib/tag_c.h in ${taglib_prefix}/include])
else
AC_MSG_NOTICE([No TagLib C header found on this system])
fi
])
CFLAGS="$ac_taglib_save_CFLAGS"
CPPFLAGS="$ac_taglib_save_CPPFLAGS"
LIBS="$ac_taglib_save_LIBS"
else
AC_MSG_RESULT([disabled])
fi
if test x"$have_taglib" = "xyes"; then
AC_DEFINE(HAVE_TAGLIB, 1, [Define whether we're using TagLib])
else
TAGLIB_CFLAGS=""
TAGLIB_CPPFLAGS=""
TAGLIB_LIBS=""
fi
AC_SUBST(TAGLIB_CFLAGS)
AC_SUBST(TAGLIB_CPPFLAGS)
AC_SUBST(TAGLIB_LIBS)
dnl Check for Ogg Vorbis
XIPH_PATH_OGG(, AC_MSG_ERROR([Must have libogg 1.x installed.]))
XIPH_PATH_VORBIS(, AC_MSG_ERROR([Must have libvorbis 1.x installed.]))
dnl Check for libshout.
XIPH_PATH_SHOUT(, AC_MSG_ERROR([Must have libshout 2.x installed.]))
dnl Check for libxml
XIPH_PATH_XML(, AC_MSG_ERROR([Must have libxml 2.x installed.]))
dnl Assemble *FLAGS and *LIBS in the proper order.
XIPH_VAR_APPEND([XIPH_CFLAGS], [$OGG_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS], [$OGG_LIBS])
XIPH_VAR_APPEND([XIPH_CFLAGS], [$VORBIS_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS], [$VORBIS_LIBS])
XIPH_VAR_APPEND([XIPH_CFLAGS], [$VORBISFILE_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS], [$VORBISFILE_LIBS])
XIPH_VAR_APPEND([XIPH_CFLAGS], [$SHOUT_CFLAGS])
XIPH_VAR_APPEND([XIPH_CPPFLAGS], [$SHOUT_CPPFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS], [$SHOUT_LIBS])
XIPH_VAR_APPEND([XIPH_CFLAGS], [$XML_CFLAGS])
XIPH_VAR_PREPEND([XIPH_LIBS], [$XML_LIBS])
dnl OUTPUT
AC_CONFIG_FILES(Makefile \
doc/Makefile \
examples/Makefile \
m4/Makefile \
src/Makefile \
win32/Makefile)
AC_SUBST(XIPH_CPPFLAGS)
AC_SUBST(XIPH_CFLAGS)
AC_SUBST(XIPH_LIBS)
AC_SUBST(LIBS)
AC_SUBST(CFLAGS)
AC_OUTPUT