dnl Process this file with autoconf to produce a configure script. m4_define(libshout_major, 2) m4_define(libshout_minor, 0) m4_define(libshout_micro, 0) m4_define(libshout_version, m4_if(libshout_micro, 0, libshout_major.libshout_minor-kh31, libshout_major.libshout_minor.libshout_micro-31)) AC_INIT([libshout], libshout_version, [karl@xiph.org]) AC_PREREQ(2.54) AC_CONFIG_SRCDIR([src/shout.c]) AM_INIT_AUTOMAKE AM_CONFIG_HEADER([config.h]) # config.h guard AH_TOP([#ifndef __CONFIG_H__ #define __CONFIG_H__ 1]) AC_DEFINE([LIBSHOUT_MAJOR], libshout_major, [Shout library major version]) AC_DEFINE([LIBSHOUT_MINOR], libshout_minor, [Shout library minor version]) AC_DEFINE([LIBSHOUT_MICRO], libshout_micro, [Shout library patch version]) VERSION=libshout_version AM_MAINTAINER_MODE AC_PROG_CC AC_PROG_LIBTOOL dnl Set some options based on environment # only openbsd has shown up as being broken wrt _XOPEN_SOURCE case $host in *bsd* | *irix*) ;; *) AC_DEFINE(_XOPEN_SOURCE, 600, [Define if you have POSIX and XPG]) ;; esac # case $host in *solaris*) AC_DEFINE(__EXTENSIONS__, 1, [define to 1 for fix some headers]) ;; esac if test -n "$GCC"; then XIPH_CPPFLAGS="-W" dnl XIPH_CPPFLAGS="-ffast-math -fsigned-char" DEBUG="-g" PROFILE="-pg -g" fi dnl Checks for programs. dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC AC_HEADER_TIME AC_CHECK_HEADERS(sys/time.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST XIPH_FUNC_VA_COPY XIPH_C_ATTRIBUTE AC_TRY_COMPILE([#define f(x,...) printf(x , __VA_ARGS__)], , AC_DEFINE(HAVE_VA_ARGS,1,[Define if __VA_ARGS__ is supported])) AH_BOTTOM([ #ifdef HAVE_INTTYPES_H #include #elif HAVE_STDINT_H #include #endif ]) dnl Check for types AC_CHECK_TYPE([uint64_t],,AC_ERROR([could not find a uint64_t type])) dnl Checks for library functions. ac_save_LIBS="$LIBS" LIBS="" AC_SEARCH_LIBS([nanosleep],[rt], [AC_DEFINE([HAVE_NANOSLEEP],1,[Define if you have the nanosleep function]) XIPH_VAR_PREPEND([XIPH_LIBS],[$LIBS]) ]) LIBS="$ac_save_LIBS" dnl Module checks XIPH_NET AC_ARG_ENABLE([pthread], [AC_HELP_STRING([--disable-thread],[do not link with thread support even if it is available])]) SHOUT_THREADSAFE="0" if test "$enable_pthread" != "no" then ACX_PTHREAD([ XIPH_VAR_PREPEND([XIPH_LIBS],[$PTHREAD_LIBS]) XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$PTHREAD_CPPFLAGS]) XIPH_VAR_APPEND([XIPH_CFLAGS],[$PTHREAD_CFLAGS]) CC="$PTHREAD_CC" SHOUT_THREADSAFE="1" ]) fi AC_SUBST([SHOUT_THREADSAFE]) AM_CONDITIONAL([HAVE_THREAD], [test "$SHOUT_THREADSAFE" = "1"]) if test "$SHOUT_THREADSAFE" != "1" then AC_DEFINE([NO_THREAD], 1, [Define if you don't want to use the thread library]) fi XIPH_PATH_VORBIS XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$VORBIS_CFLAGS]) XIPH_VAR_PREPEND([XIPH_LIBS],[$VORBIS_LDFLAGS $VORBISENC_LIBS $VORBIS_LIBS]) XIPH_PATH_THEORA(,[AC_MSG_WARN([Theora lib not found, skipping])]) XIPH_VAR_APPEND([XIPH_CPPFLAGS],[$THEORA_CFLAGS]) XIPH_VAR_PREPEND([XIPH_LIBS],[$THEORA_LDFLAGS $THEORA_LIBS]) dnl pkgconfig/shout-config. dnl If pkgconfig is found, use it and disable shout-config, otherwise do the dnl opposite, unless the user overrides. AC_ARG_ENABLE([pkgconfig], AC_HELP_STRING([--disable-pkgconfig],[disable pkgconfig data files (auto)]), [dopkgconfig="$enableval"], [dopkgconfig="maybe"]) if test "$dopkgconfig" = "maybe" then AC_CHECK_PROG([PKGCONFIG], [pkg-config], [yes], [no]) else AC_MSG_CHECKING([whether pkgconfig should be used]) PKGCONFIG="$dopkgconfig" AC_MSG_RESULT([$PKGCONFIG]) fi AM_CONDITIONAL([HAVE_PKGCONFIG], [test "$PKGCONFIG" != "no"]) # Build shout-config, shout.pc # I hate myself for doing this. save_prefix="$prefix" if test "$prefix" = "NONE" then prefix="$ac_default_prefix" fi eval shout_includedir="$includedir" prefix="$save_prefix" # Build shout-config SHOUT_VERSION="$VERSION" SHOUT_LIBS="-lshout" SHOUT_LIBDEPS="$THEORA_LIBS $VORBIS_LIBS $PTHREAD_LIBS" XIPH_VAR_APPEND([SHOUT_CPPFLAGS], [-I$shout_includedir $VORBIS_CFLAGS $PTHREAD_CPPFLAGS]) SHOUT_CFLAGS="$PTHREAD_CFLAGS" AC_CONFIG_LIBCONFIG_IN_STATIC AC_CONFIG_LIBCONFIG_IN([shout]) AH_BOTTOM([#endif]) dnl Make substitutions AC_SUBST(LIBTOOL_DEPS) AC_SUBST(DEBUG) AC_SUBST(PROFILE) AC_SUBST(XIPH_CFLAGS) AC_SUBST(XIPH_CPPFLAGS) AC_SUBST(XIPH_LIBS) AC_SUBST(SHOUT_CPPFLAGS) AC_SUBST(SHOUT_CFLAGS) AC_SUBST(SHOUT_LIBS) AC_SUBST(SHOUT_LIBDEPS) AC_OUTPUT([Makefile debian/Makefile include/Makefile include/shout/Makefile include/shout/shout.h src/Makefile src/net/Makefile src/timing/Makefile src/thread/Makefile src/avl/Makefile src/httpp/Makefile examples/Makefile shout-config shout.pc ])