3 AC_INIT([ezstream], [0.5.4], [https://trac.xiph.org/newticket?component=ezstream])
5 AC_CONFIG_SRCDIR(src/ezstream.c)
6 AC_CONFIG_AUX_DIR(build-aux)
8 AC_CONFIG_HEADERS(src/config.h)
9 AC_CONFIG_LIBOBJ_DIR(src)
11 AC_USE_SYSTEM_EXTENSIONS
17 EXAMPLES_DIR="\$(datadir)/examples/${PACKAGE_TARNAME}"
18 AC_ARG_ENABLE(examplesdir,
19 AS_HELP_STRING([--enable-examplesdir=DIR],
20 [example configuration files installation directory (default: DATADIR/examples/ezstream)]),
23 no) AC_MSG_ERROR([Must have an example configuration files install dir.]) ;;
24 *) EXAMPLES_DIR="$enableval" ;;
26 AC_SUBST(EXAMPLES_DIR)
30 if test -z "$GCC"; then
33 XIPH_CPPFLAGS="-fullwarn"
42 XIPH_CPPFLAGS="-fstrict-aliasing -Wall -Wwrite-strings -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations"
47 AS_HELP_STRING([--enable-debug],
48 [enable memory debugging (default: no)]),
51 *) ez_enable_debug=yes ;;
53 AC_MSG_CHECKING([whether to enable debugging])
54 if test x"$ez_enable_debug" = "xyes"; then
55 AC_DEFINE(XALLOC_DEBUG, 1, [Define whether to build with XALLOC debugging])
57 AC_MSG_RESULT([$ez_enable_debug])
62 AC_CHECK_HEADERS(sys/time.h paths.h signal.h langinfo.h libgen.h locale.h)
65 if test x"$ez_enable_debug" = "xyes"; then
66 AC_CHECK_HEADERS(sys/tree.h)
67 if test x"$ac_cv_header_sys_tree_h" = "xyes"; then
68 AC_MSG_CHECKING([for RB_FOREACH and RB_INSERT in sys/tree.h])
71 #if defined(RB_FOREACH) && defined(RB_INSERT)
76 AC_DEFINE(HAVE_WORKING_SYS_TREE_H, 1,
77 [Define whether RB_FOREACH is defined in <sys/tree.h>])
80 COMPAT_INCLUDES="-I\$(top_srcdir)/compat"
83 COMPAT_INCLUDES="-I\$(top_srcdir)/compat"
86 AC_SUBST(COMPAT_INCLUDES)
89 dnl MISC SYSTEM CHARACTERISTICS
91 dnl __progname check adapted from OpenNTPd-portable configure.ac
92 AC_MSG_CHECKING([whether libc defines __progname])
94 [AC_LANG_PROGRAM([[#include <stdio.h>]],
95 [[extern char *__progname; printf("%s\n", __progname); ]])],
96 [ac_cv_libc_defines___progname="yes"],
97 [ac_cv_libc_defines___progname="no"]
99 if test x"$ac_cv_libc_defines___progname" = "xyes"; then
101 AC_DEFINE(HAVE___PROGNAME, 1, [Define whether libc defines __progname])
110 AC_CHECK_TYPES(struct timeval, , ,
112 #ifdef HAVE_SYS_TIME_H
113 # include <sys/time.h>
118 dnl LIBRARY FUNCTIONS
120 AC_CHECK_LIB(gen, basename)
121 AC_CHECK_FUNCS(arc4random gettimeofday nl_langinfo random setlocale srandomdev stat)
122 AC_REPLACE_FUNCS(getopt strlcat strlcpy strtonum)
123 if test x"$ac_cv_header_signal_h" = "xyes"; then
124 AC_CHECK_FUNCS([sigaction], [
125 AC_DEFINE(HAVE_SIGNALS, 1, [Define whether we have BSD signals])
126 ], [], [#include <signal.h>])
134 if test -n "$LTLIBICONV"; then
135 EZ_LIBICONV="$LTLIBICONV"
137 EZ_LIBICONV="$LIBICONV"
139 XIPH_VAR_PREPEND([XIPH_LIBS], [$EZ_LIBICONV])
140 XIPH_VAR_APPEND([XIPH_CPPFLAGS], [$INCICONV])
143 dnl CONFIGURE OPTIONS
145 dnl Optional: TagLib support
146 AC_ARG_VAR([TAGLIB_PREFIX], [path to TagLib installation])
147 if test -n "${TAGLIB_PREFIX}"; then
148 taglib_prefix="${TAGLIB_PREFIX}"
155 [AS_HELP_STRING([--with-taglib=PREFIX],
156 [Prefix where TagLib is installed (default: autodetect)])],
158 yes) require_taglib=yes
159 if test -z "$taglib_prefix"; then
160 taglib_prefix=/usr/local
164 *) require_taglib=yes
165 taglib_prefix="$withval"
170 AC_MSG_CHECKING([for TagLib option])
171 if test x"$use_taglib" != "xno"; then
172 if test x"$require_taglib" = "xyes"; then
173 AC_MSG_RESULT([enabled])
175 AC_MSG_RESULT([autodetect])
180 TAGLIB_LIBS="-ltag_c"
181 if test -n "$taglib_prefix"; then
182 TAGLIB_CPPFLAGS="-I${taglib_prefix}/include"
183 TAGLIB_LIBS="-L${taglib_prefix}/lib ${TAGLIB_LIBS}"
186 ac_taglib_save_CFLAGS="$CFLAGS"
187 ac_taglib_save_CPPFLAGS="$CPPFLAGS"
188 ac_taglib_save_LIBS="$LIBS"
190 CFLAGS="${TAGLIB_CFLAGS}"
191 CPPFLAGS="${TAGLIB_CPPFLAGS}"
192 LIBS="${TAGLIB_LIBS}"
194 AC_CHECK_HEADERS([taglib/tag_c.h], [
195 AC_MSG_CHECKING([whether libtag_c works])
197 [AC_LANG_PROGRAM([[#include <taglib/tag_c.h>]],
198 [[ taglib_set_string_management_enabled(0); ]])],
202 ], [AC_MSG_RESULT([no])]
205 if test x"$require_taglib" = "xyes"; then
206 AC_MSG_ERROR([Cannot find taglib/tag_c.h in ${taglib_prefix}/include])
208 AC_MSG_NOTICE([No TagLib C header found on this system])
212 dnl For static-only archs:
213 if test x"$have_taglib" = "xno" -a x"$ac_cv_header_taglib_tag_c_h" = "xyes"; then
214 AC_MSG_CHECKING([whether libtag_c works with -ltag -lstdc++ -lz (static arch)])
215 TAGLIB_LIBS="${TAGLIB_LIBS} -ltag -lstdc++ -lz"
216 LIBS="${TAGLIB_LIBS}"
218 [AC_LANG_PROGRAM([[#include <taglib/tag_c.h>]],
219 [[ taglib_set_string_management_enabled(0); ]])],
224 if test x"$require_taglib" = "xyes"; then
226 AC_MSG_ERROR([Cannot link against libtag_c in ${taglib_prefix}/lib])
229 AC_MSG_WARN([Error while linking against libtag_c in ${taglib_prefix}/lib, disabling support])
235 CFLAGS="$ac_taglib_save_CFLAGS"
236 CPPFLAGS="$ac_taglib_save_CPPFLAGS"
237 LIBS="$ac_taglib_save_LIBS"
239 AC_MSG_RESULT([disabled])
242 if test x"$have_taglib" = "xyes"; then
243 AC_DEFINE(HAVE_TAGLIB, 1, [Define whether we're using TagLib])
249 AC_SUBST(TAGLIB_CFLAGS)
250 AC_SUBST(TAGLIB_CPPFLAGS)
251 AC_SUBST(TAGLIB_LIBS)
253 dnl Check for Ogg Vorbis
254 XIPH_PATH_OGG(, AC_MSG_ERROR([Must have libogg 1.x installed.]))
255 XIPH_PATH_VORBIS(, AC_MSG_ERROR([Must have libvorbis 1.x installed.]))
257 dnl Check for libshout.
258 XIPH_PATH_SHOUT(, AC_MSG_ERROR([Must have libshout 2.x installed.]))
261 XIPH_PATH_XML(, AC_MSG_ERROR([Must have libxml 2.x installed.]))
263 dnl Assemble *FLAGS and *LIBS in the proper order.
264 XIPH_VAR_APPEND([XIPH_CFLAGS], [$OGG_CFLAGS])
265 XIPH_VAR_PREPEND([XIPH_LIBS], [$OGG_LIBS])
266 XIPH_VAR_APPEND([XIPH_CFLAGS], [$VORBIS_CFLAGS])
267 XIPH_VAR_PREPEND([XIPH_LIBS], [$VORBIS_LIBS])
268 XIPH_VAR_APPEND([XIPH_CFLAGS], [$VORBISFILE_CFLAGS])
269 XIPH_VAR_PREPEND([XIPH_LIBS], [$VORBISFILE_LIBS])
270 XIPH_VAR_APPEND([XIPH_CFLAGS], [$SHOUT_CFLAGS])
271 XIPH_VAR_APPEND([XIPH_CPPFLAGS], [$SHOUT_CPPFLAGS])
272 XIPH_VAR_PREPEND([XIPH_LIBS], [$SHOUT_LIBS])
273 XIPH_VAR_APPEND([XIPH_CFLAGS], [$XML_CFLAGS])
274 XIPH_VAR_PREPEND([XIPH_LIBS], [$XML_LIBS])
279 AC_CONFIG_FILES(Makefile \
282 compat/sys/Makefile \
289 AC_SUBST(XIPH_CPPFLAGS)
290 AC_SUBST(XIPH_CFLAGS)