[16ddd1]: configure.ac  Maximize  Restore  History

Download this file

319 lines (274 with data), 9.7 kB

dnl Process this file with autoconf to produce a configure script

dnl ------------------------------------------------
dnl Initialization
dnl ------------------------------------------------

AC_INIT(oggenc/encode.c)

AC_CANONICAL_HOST
AC_CANONICAL_TARGET

AC_PREREQ(2.53)

AM_INIT_AUTOMAKE([vorbis-tools],[1.1.1])
AM_MAINTAINER_MODE

AC_CONFIG_HEADER(config.h)

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"

AC_PROG_LIBTOOL

ALL_LINGUAS="be cs da es fr hr hu nl ro ru sv uk"
AM_GNU_GETTEXT

dnl --------------------------------------------------
dnl Set build flags based on environment
dnl --------------------------------------------------

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="no")
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=no, build_flac="yes")
AC_ARG_WITH(speex,    [  --without-speex    Do not compile Speex support], build_speex=no, build_speex="yes")

dnl --------------------------------------------------
dnl Check for generally needed libraries
dnl --------------------------------------------------

HAVE_OGG=no
dnl first check through pkg-config
dnl check for pkg-config itself so we don't try the m4 macro without pkg-config
AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
if test "x$HAVE_PKG_CONFIG" = "xyes"
then
  PKG_CHECK_MODULES(OGG, ogg >= 1.0, HAVE_OGG=yes, HAVE_OGG=no)
fi
if test "x$HAVE_OGG" = "xno"
then
  dnl fall back to the old school test
  XIPH_PATH_OGG(,AC_MSG_ERROR(Ogg needed!))
  libs_save=$LIBS
  LIBS="$OGG_LIBS $VORBIS_LIBS"
  AC_CHECK_FUNC(oggpack_writealign, , AC_MSG_ERROR(Ogg >= 1.0 required !))
  LIBS=$libs_save
fi

dnl check for Vorbis
HAVE_VORBIS=no

dnl first check through pkg-config since it's more flexible

if test "x$HAVE_PKG_CONFIG" = "xyes"
then
  PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0.1, HAVE_VORBIS=yes, HAVE_VORBIS=no)
  dnl also set VORBISENC_LIBS since an examples needs it
  dnl the old .m4 sets this to a value to use on top of VORBIS_LIBS,
  dnl so we do the same here.
  VORBISENC_LIBS="-lvorbisenc"
  VORBISFILE_LIBS="-lvorbisfile"
  AC_SUBST(VORBISENC_LIBS)
  AC_SUBST(VORBISFILE_LIBS)
fi
if test "x$HAVE_VORBIS" = "xno"
then
  dnl fall back to the old school test
  XIPH_PATH_VORBIS(,AC_MSG_ERROR(Vorbis needed!))
fi



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=""
if test "x$build_flac" = xyes; then
  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
     AC_DEFINE(HAVE_LIBFLAC, 1, [Defined if we have libFLAC])
  else
     build_flac="no"
     FLAC_LIBS=""
  fi
fi
AM_CONDITIONAL(HAVE_LIBFLAC, test "x$have_libFLAC" = "xyes")
AC_SUBST(FLAC_LIBS)

dnl ------------------- Speex ------------------------

SPEEX_LIBS=""
if test "x$build_speex" = xyes; then
  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/speex.h,,
    AC_MSG_WARN(libspeex headers missing)
    have_libspeex=no,[ ])

  if test "x$have_libspeex" = xyes; then
    AC_DEFINE(HAVE_LIBSPEEX, 1, [Defined if we have libspeex])
  else
    build_speex="no"
    SPEEX_LIBS=""
  fi
fi
AM_CONDITIONAL(HAVE_LIBSPEEX, test "x$have_libspeex" = "xyes")
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"
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
m4/Makefile
po/Makefile.in
intl/Makefile
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/on 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/or 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 and/or headers missing, ogg123 
will NOT be built with Speex read support.])
    fi         
fi

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks