dnl Process this file with autoconf to produce a configure script dnl ------------------------------------------------ dnl Initialization dnl ------------------------------------------------ AC_INIT(oggenc/encode.c) dnl Apparently we need a newer version than we used to. AC_PREREQ(2.53) AM_INIT_AUTOMAKE(vorbis-tools,1.0.1) AM_MAINTAINER_MODE dnl -------------------------------------------------- dnl Check for programs dnl -------------------------------------------------- dnl save $CFLAGS since AC_PROG_CC likes to insert "-g -O2" dnl if $CFLAGS is blank cflags_save="$CFLAGS" AC_PROG_CC CFLAGS="$cflags_save" AM_PROG_LIBTOOL ALL_LINGUAS="be cs da es fr hr hu nl ro ru sv" AM_GNU_GETTEXT dnl -------------------------------------------------- dnl Set build flags based on environment dnl -------------------------------------------------- AC_CANONICAL_HOST cflags_save="$CFLAGS" ldflags_save="$LDFLAGS" if test -z "$GCC"; then case $host in *-*-irix*) DEBUG="-g -signed" CFLAGS="-O2 -w -signed" PROFILE="-p -g3 -O2 -signed" ;; sparc-sun-solaris*) DEBUG="-v -g" CFLAGS="-xO4 -fast -w -fsimple -native -xcg92" PROFILE="-v -xpg -g -xO4 -fast -native -fsimple -xcg92 -Dsuncc" ;; *) DEBUG="-g" CFLAGS="-O" PROFILE="-g -p" ;; esac else case $host in *-*-linux*) DEBUG="-g -Wall -fsigned-char" CFLAGS="-O20 -ffast-math -fsigned-char" PROFILE="-Wall -W -pg -g -O20 -ffast-math -fsigned-char" ;; sparc-sun-*) DEBUG="-g -Wall -fsigned-char -mv8" CFLAGS="-O20 -ffast-math -fsigned-char -mv8" PROFILE="-pg -g -O20 -fsigned-char -mv8" ;; *-*-darwin*) DEBUG="-fno-common -g -Wall -fsigned-char" CFLAGS="-fno-common -O4 -Wall -fsigned-char -ffast-math" PROFILE="-fno-common -O4 -Wall -pg -g -fsigned-char -ffast-math" ;; *) DEBUG="-g -Wall -fsigned-char" CFLAGS="-O20 -fsigned-char" PROFILE="-O20 -g -pg -fsigned-char" ;; esac fi CFLAGS="$CFLAGS $cflags_save" DEBUG="$DEBUG $cflags_save" PROFILE="$PROFILE $cflags_save" LDFLAGS="$LDFLAGS $ldflags_save" dnl -------------------------------------------------- dnl Allow tools to be selectively built dnl -------------------------------------------------- AC_ARG_ENABLE(ogg123, [ --disable-ogg123 Skip building ogg123], build_ogg123="$enableval", build_ogg123="yes") AC_ARG_ENABLE(oggdec, [ --disable-oggdec Skip building oggdec], build_oggdec="$enableval", build_oggdec="yes") AC_ARG_ENABLE(oggenc, [ --disable-oggenc Skip building oggenc], build_oggenc="$enableval", build_oggenc="yes") AC_ARG_ENABLE(ogginfo,[ --disable-ogginfo Skip building ogginfo], build_ogginfo="$enableval", build_ogginfo="yes") AC_ARG_ENABLE(vcut, [ --disable-vcut Skip building vcut], build_vcut="$enableval", build_vcut="yes") AC_ARG_ENABLE(vorbiscomment, [ --disable-vorbiscomment Skip building vorbiscomment], build_vorbiscomment="$enableval", build_vorbiscomment="yes") AC_ARG_WITH(flac, [ --without-flac Do not compile FLAC support], build_flac="$enableval", build_flac="yes") AC_ARG_WITH(speex, [ --without-speex Do not compile Speex support], build_speex="$enableval", build_speex="yes") dnl -------------------------------------------------- dnl Check for generally needed libraries dnl -------------------------------------------------- XIPH_PATH_OGG(,AC_MSG_ERROR(Ogg needed!)) XIPH_PATH_VORBIS(,AC_MSG_ERROR(Vorbis needed!)) SHARE_LIBS='$(top_builddir)/share/libutf8.a $(top_builddir)/share/libgetopt.a' SHARE_CFLAGS='-I$(top_srcdir)/include' I18N_CFLAGS='-I$(top_srcdir)/intl' I18N_LIBS=$INTLLIBS SOCKET_LIBS= AC_CHECK_LIB(socket, socket, SOCKET_LIBS="-lsocket") AC_CHECK_LIB(nsl, gethostbyname, SOCKET_LIBS="-lnsl $SOCKET_LIBS") dnl -------------------------------------------------- dnl Check for ogg123 critical libraries and other optional libraries dnl -------------------------------------------------- if test "x$build_ogg123" = xyes; then AC_MSG_RESULT([checking for ogg123 requirements]) XIPH_PATH_AO(,build_ogg123=no; AC_MSG_WARN(libao missing)) AM_PATH_CURL(,build_ogg123=no; AC_MSG_WARN(libcurl missing)) ACX_PTHREAD(,build_ogg123=no; AC_MSG_WARN(POSIX threads missing)) fi dnl -------------------- FLAC ---------------------- FLAC_LIBS="" AC_CHECK_LIB(m,log,FLAC_LIBS="-lm") AC_CHECK_LIB(FLAC, [FLAC__stream_decoder_process_single], [have_libFLAC=yes; FLAC_LIBS="-lFLAC $FLAC_LIBS"], AC_MSG_WARN([libFLAC missing]) have_libFLAC=no, [$FLAC_LIBS] ) AC_CHECK_LIB(OggFLAC, [OggFLAC__stream_decoder_new], [FLAC_LIBS="-lOggFLAC $FLAC_LIBS $OGG_LIBS"], AC_MSG_WARN([libOggFLAC missing]) have_libFLAC=no, [$FLAC_LIBS $OGG_LIBS] ) AC_CHECK_HEADER(FLAC/stream_decoder.h,, AC_MSG_WARN(libFLAC headers missing) have_libFLAC=no,[ ]) if test "x$have_libFLAC" = xyes; then if test "x$build_flac" = xyes; then AC_DEFINE(HAVE_LIBFLAC) fi else build_flac="no" FLAC_LIBS="" fi AC_SUBST(FLAC_LIBS) dnl ------------------- Speex ------------------------ SPEEX_LIBS="" AC_CHECK_LIB(m,log,SPEEX_LIBS="-lm") AC_CHECK_LIB(speex, [speex_decoder_init], [have_libspeex=yes; SPEEX_LIBS="-lspeex $SPEEX_LIBS"], AC_MSG_WARN(libspeex missing) have_libspeex=no, [$SPEEX_LIBS] ) AC_CHECK_HEADER(speex.h,, AC_MSG_WARN(libspeex headers missing) have_libspeex=no,[ ]) if test "x$have_libspeex" = xyes; then if test "x$build_speex" = xyes; then AC_DEFINE(HAVE_LIBSPEEX) fi else build_speex="no" SPEEX_LIBS="" fi AC_SUBST(SPEEX_LIBS) dnl -------------------------------------------------- dnl Check for library functions dnl -------------------------------------------------- AC_FUNC_ALLOCA AM_ICONV AC_CHECK_FUNCS(atexit on_exit) AM_LANGINFO_CODESET dnl -------------------------------------------------- dnl Work around FHS stupidity dnl -------------------------------------------------- if test -z "$mandir"; then if test "$prefix" = "/usr"; then MANDIR='$(datadir)/man' else MANDIR='$(prefix)/man' fi else MANDIR=$mandir fi AC_SUBST(MANDIR) dnl -------------------------------------------------- dnl Do substitutions dnl -------------------------------------------------- # add optional subdirs to the build OPT_SUBDIRS="" if test "x$build_ogg123" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS ogg123" if test "x$have_libFLAC" = xyes; then OGG123_FLAC_OBJS='flac_format.$(OBJEXT) easyflac.$(OBJEXT)' OGGENC_FLAC_OBJS='flac.$(OBJEXT) easyflac.$(OBJEXT)' else OGG123_FLAC_OBJS='' OGGENC_FLAC_OBJS='' fi AC_SUBST(OGG123_FLAC_OBJS) AC_SUBST(OGGENC_FLAC_OBJS) if test "x$have_libspeex" = xyes; then OGG123_SPEEX_OBJS='speex_format.$(OBJEXT)' else OGG123_SPEEX_OBJS='' fi AC_SUBST(OGG123_SPEEX_OBJS) fi if test "x$build_oggenc" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS oggenc" fi if test "x$build_oggdec" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS oggdec" fi if test "x$build_ogginfo" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS ogginfo" fi if test "x$build_vcut" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS vcut" fi if test "x$build_vorbiscomment" = xyes; then OPT_SUBDIRS="$OPT_SUBDIRS vorbiscomment" fi AC_SUBST(OPT_SUBDIRS) AC_SUBST(DEBUG) AC_SUBST(PROFILE) AC_SUBST(SOCKET_LIBS) AC_SUBST(SHARE_CFLAGS) AC_SUBST(SHARE_LIBS) AC_SUBST(CURL_CFLAGS) AC_SUBST(CURL_LIBS) AC_SUBST(I18N_CFLAGS) AC_SUBST(I18N_LIBS) AC_OUTPUT(Makefile intl/Makefile po/Makefile.in include/Makefile share/Makefile win32/Makefile oggdec/Makefile oggenc/Makefile oggenc/man/Makefile ogg123/Makefile vorbiscomment/Makefile vcut/Makefile ogginfo/Makefile debian/Makefile) if test "x$build_oggenc" = xyes -a "x$have_libFLAC" != xyes; then AC_MSG_WARN([FLAC and OggFLAC libraries or headers missing, oggenc will NOT be built with FLAC read support.]) fi if test "x$build_ogg123" != xyes; then AC_MSG_WARN([Prerequisites for ogg123 not met, ogg123 will be skipped. Please ensure that you have POSIX threads, libcurl and libao libraries and headers present if you would like to build ogg123.]) else if test "x$have_libFLAC" != xyes; then AC_MSG_WARN([FLAC and OggFLAC libraries or headers missing, ogg123 will NOT be built with FLAC read support.]) fi if test "x$have_libspeex" != xyes; then AC_MSG_WARN([Speex libraries or headers missing, ogg123 will NOT be built with Speex read support.]) fi fi