Newer
Older
Samuel Hocevar
committed
AC_PREREQ(2.50)
AC_CONFIG_SRCDIR(src/libvlc.c)
AC_CONFIG_AUX_DIR(autotools)
Samuel Hocevar
committed
AC_CANONICAL_SYSTEM
dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
dnl them. And we need the comma otherwize automake will choke on it.
AM_CONFIG_HEADER(config.h)
Samuel Hocevar
committed
AM_PROG_CC_C_O
Samuel Hocevar
committed
AC_PROG_CXX
AC_PROG_MAKE_SET
AC_PROG_INSTALL
dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right
dnl now otherwise it might be set in an obscure if statement.
AC_EGREP_CPP(foo,foo)
Samuel Hocevar
committed
dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround
AC_MSG_CHECKING(for an Objective-C compiler)
OBJC="${CXX}"
AC_SUBST(OBJC)
OBJCFLAGS="${CXXFLAGS} -fgnu-runtime -fconstant-string-class=NSConstantString"
AC_SUBST(OBJCFLAGS)
dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
#OBJCDEPMODE="depmode=gcc3"
#AC_SUBST(OBJCDEPMODE)
_AM_DEPENDENCIES(OBJC)
AC_MSG_RESULT(not implemented yet)
dnl Find the right ranlib, even when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, :)
AC_CHECK_TOOL(AR, ar, :)
AC_CHECK_TOOL(LD, ld, :)
AC_CHECK_TOOL(UPX, upx, "")
dnl Sam, if you think I didn't see that... --Meuuh
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL
dnl Check for compiler properties
AC_C_CONST
AC_C_INLINE
dnl
dnl Check for the contrib directory
dnl
topdir="`pwd`"
if test -d ${topdir}/extras/contrib/lib; then
export PATH=${topdir}/extras/contrib/bin:$PATH
export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH
CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include"
CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include"
CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include"
CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include"
CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include"
CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include"
OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
if test -d ${topdir}/extras/contrib/vlc-lib; then
LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib"
LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib"
fi
LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
with_livedotcom_tree=${topdir}/extras/contrib/src/live
with_goom_tree=${topdir}/extras/contrib/src/goom
fi
Samuel Hocevar
committed
dnl Set default values
Samuel Hocevar
committed
LDFLAGS_vlc="${LDFLAGS}"
LIBEXT=".so"
Samuel Hocevar
committed
SYS=unknown
;;
Samuel Hocevar
committed
SYS=linux
;;
Samuel Hocevar
committed
SYS=bsdi
CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS="${target_os}"
CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
;;
Samuel Hocevar
committed
SYS=darwin
CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}"
AX_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation])
Samuel Hocevar
committed
AX_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress])
Samuel Hocevar
committed
LIBEXT=".dylib"
;;
Samuel Hocevar
committed
AC_CHECK_TOOL(WINDRES, windres, :)
LIBEXT=".dll"
dnl Check if we are using the mno-cygwin mode in which case we are
dnl actually dealing with a mingw32 compiler.
AC_EGREP_CPP(yes,
[#ifdef WIN32
yes
#endif],
SYS=mingw32, SYS=cygwin)
;;
esac
# add ws2_32 for closesocket, select, recv
CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}"
AX_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows])
AX_ADD_LDFLAGS([vcdx cddax],[-lwinmm])
AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet],[-lws2_32])
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS=nto
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS=solaris
# _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r
# Perhaps it is useful other places as well?
CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}"
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS=hpux
LIBEXT=".sl"
;;
Samuel Hocevar
committed
SYS=beos
CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
AX_ADD_LDFLAGS([vlc beos],[-lbe])
AX_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame])
if test -f /boot/beos/system/lib/libzeta.so; then
AX_ADD_LDFLAGS([beos],[-lzeta])
fi
Samuel Hocevar
committed
;;
Samuel Hocevar
committed
SYS="${target_os}"
;;
AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos")
AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
Samuel Hocevar
committed
dnl
dnl Gettext stuff
dnl
ALL_LINGUAS="de en_GB es fr hu it ja nl no pl pt_BR ru sv"
AM_GNU_GETTEXT
if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
else
AC_CHECK_FUNCS(textdomain,,[
AC_CHECK_LIB(intl,textdomain,
)
])
fi
AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
AC_ARG_ENABLE(utf8,
[ --enable-utf8 unicode utf8 support (default enabled on darwin/beos/win32)])
if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) )
then
AC_DEFINE(ENABLE_UTF8, 1,
Define if you want utf8 support)
fi
Samuel Hocevar
committed
AC_MSG_CHECKING(for suffix of libraries)
AC_MSG_RESULT(${LIBEXT})
AC_CHECK_LIB(mingw32,opendir,AX_ADD_LDFLAGS([vlc],[]),
[AX_ADD_LDFLAGS([vlc gtk],[-lmingwex])])
then
AC_CACHE_CHECK([if \$CC accepts -mms-bitfields],
[ac_cv_c_mms_bitfields],
[CFLAGS="${CFLAGS_save} -mms-bitfields"
AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)])
if test "${ac_cv_c_mms_bitfields}" != "no"; then
CFLAGS_save="${CFLAGS_save} -mms-bitfields";
CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields";
AC_CACHE_CHECK([if \$CC accepts -fnative-struct],
[ac_cv_c_fnative_struct],
[CFLAGS="${CFLAGS_save} -fnative-struct"
AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)])
if test "${ac_cv_c_fnative_struct}" != "no"; then
CFLAGS_save="${CFLAGS_save} -fnative-struct";
CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct";
fi
CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
fi
dnl Check for fvtable-thunks support for mingw32
then
AC_LANG_PUSH(C++)
AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks],
[ac_cv_cxx_fvtable_thunks],
[CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks"
AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes,
ac_cv_cxx_fvtable_thunks=no)])
if test "${ac_cv_cxx_fvtable_thunks}" = "yes"; then
CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"; CXXFLAGS="${CXXFLAGS_save}"
AX_ADD_CFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special}])
AX_ADD_CXXFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}])
AX_ADD_OBJCFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special}])
Samuel Hocevar
committed
;;
AX_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC])
AX_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC])
AX_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC])
AX_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC])
Samuel Hocevar
committed
;;
esac
Samuel Hocevar
committed
CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
dnl Check for system libs needed
Samuel Hocevar
committed
need_libc=false
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf)
Samuel Hocevar
committed
dnl Check for usual libc functions
Samuel Hocevar
committed
AC_CHECK_FUNCS(strdup strndup atof lseek)
AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
dnl Check for setlocal and langinfo
AC_CHECK_FUNCS(setlocale)
AC_CHECK_HEADERS(langinfo.h)
AC_CHECK_FUNCS(nl_langinfo)
AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset,
[AC_TRY_LINK([#include <langinfo.h>],
[char* cs = nl_langinfo(CODESET);],
ac_cv_langinfo_codeset=yes,
ac_cv_langinfo_codeset=no)
])
if test ${ac_cv_langinfo_codeset} = yes; then
AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
[Define if you have <langinfo.h> and nl_langinfo(CODESET).])
fi
AC_CHECK_FUNCS(connect,,[
AX_ADD_LDFLAGS([vlc ipv4 cddax],-lsocket)
Samuel Hocevar
committed
AC_CHECK_FUNCS(send,,[
AX_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket])
Samuel Hocevar
committed
AC_CHECK_FUNCS(gethostbyname,,[
Samuel Hocevar
committed
dnl Check for socklen_t
AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
[AC_TRY_COMPILE(
[#include <sys/types.h>
#include <sys/socket.h>],
[socklen_t len = 42; return len;],
ac_cv_type_socklen_t=yes,
ac_cv_type_socklen_t=no)])
if test "${ac_cv_type_socklen_t}" != "no"; then
AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
fi
dnl Check for va_copy
AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
AC_TRY_LINK(
[#include <stdarg.h>],
[va_list ap1, ap2; va_copy(ap1,ap2);],
[ac_cv_c_va_copy="yes"],
[ac_cv_c_va_copy="no"]))
AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
fi
AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
AC_TRY_LINK(
[#include <stdarg.h>],
[va_list ap1, ap2; __va_copy(ap1,ap2);],
[ac_cv_c___va_copy="yes"],
[ac_cv_c___va_copy="no"]))
AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
AC_CHECK_FUNCS(inet_aton,,[
dnl Check for getopt (always use builtin one on win32)
if test "${SYS}" = "mingw32"; then
need_getopt=:
else
Samuel Hocevar
committed
need_getopt=false
AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
Samuel Hocevar
committed
AC_CHECK_LIB([gnugetopt],[getopt_long],
[AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support)
AX_ADD_LDFLAGS([vlc],[-lgnugetopt])],
Samuel Hocevar
committed
[need_getopt=:])])
fi
Samuel Hocevar
committed
AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad vlc],[-lm])
])
AC_CHECK_LIB(m,sqrt,[
AX_ADD_LDFLAGS([headphone_channel_mixer],[-lm])
])
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
dnl Check for dynamic plugins
ac_cv_have_plugins=no
# OS X style
AC_CHECK_HEADERS(mach-o/dyld.h,
[AC_CHECK_FUNCS(NSLinkModule,
[AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API])
ac_cv_have_plugins=yes])])
# HP-UX style
if test "${ac_cv_have_plugins}" = "no"; then
AC_CHECK_HEADERS(dl.h)
ac_cv_my_have_shl_load=no
AC_CHECK_FUNC(shl_load,
[ac_cv_my_have_shl_load=yes,
AC_CHECK_LIB(dld, shl_load,
[ac_cv_my_have_shl_load=yes
AX_ADD_LDFLAGS([vlc],[-ldld])])])
if test "${ac_cv_my_have_shl_load}" = "yes"; then
AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API])
ac_cv_have_plugins=yes
fi
fi
# Whatever style
if test "${ac_cv_have_plugins}" = "no"; then
AC_CHECK_LIB(dld, dld_link,
[AX_ADD_LDFLAGS([vlc],[-ldld])
AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library])
ac_cv_have_plugins=yes])
fi
# Win32 style
if test "${ac_cv_have_plugins}" = "no"; then
if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then
AC_CHECK_LIB(kernel32, main,
[AX_ADD_LDFLAGS([vlc],[-lkernel32])
AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary])
ac_cv_have_plugins=yes])
fi
fi
# BeOS style
if test "${ac_cv_have_plugins}" = "no"; then
AC_CHECK_HEADERS(image.h)
AC_CHECK_FUNCS(load_add_on,
[AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl])
ac_cv_have_plugins=yes])
fi
# Only test for dlopen() if the others didn't work
if test "${ac_cv_have_plugins}" = "no"; then
AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
ac_cv_my_have_dlopen=no
AC_CHECK_FUNC(dlopen,
ac_cv_my_have_dlopen=yes,
AC_CHECK_LIB(dl, dlopen,
ac_cv_my_have_dlopen=yes
AX_ADD_LDFLAGS([vlc],[-ldl]),
AC_CHECK_LIB(svld, dlopen,
ac_cv_my_have_dlopen=yes
AX_ADD_LDFLAGS([vlc],[-lsvld]))))
if test "${ac_cv_my_have_dlopen}" = "yes"; then
AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
ac_cv_have_plugins=yes
fi
fi
Samuel Hocevar
committed
AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
Samuel Hocevar
committed
AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
Samuel Hocevar
committed
AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
AC_CHECK_FUNCS(pthread_mutex_lock)
Samuel Hocevar
committed
THREAD_LIB=""
dnl Check for cthreads under GNU/Hurd for instance
AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
dnl
dnl GNU portable threads
dnl
AC_ARG_ENABLE(pth,
[ --enable-pth GNU Pth support (default disabled)],
AC_CHECK_LIB(pth,pth_init)
AC_MSG_CHECKING(for pth_init in pth.h)
AC_EGREP_HEADER(pth_init,pth.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(PTH_INIT_IN_PTH_H, 1,
Define if <pth.h> defines pth_init)
THREAD_LIB="-lpth"
],[
AC_MSG_RESULT(no)
])
fi
])
dnl
dnl State Threads
dnl
AC_ARG_ENABLE(st,
[ --enable-st State Threads (default disabled)],
AC_CHECK_LIB(st,st_init)
AC_MSG_CHECKING(for st_init in st.h)
AC_EGREP_HEADER(st_init,st.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(ST_INIT_IN_ST_H, 1,
Define if <st.h> defines st_init)
THREAD_LIB="-lst"
],[
AC_MSG_RESULT(yes)
])
fi
])
if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then
have_nanosleep=false
AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
AC_CHECK_LIB(rt,nanosleep,
)
])
if ${have_nanosleep}; then
AC_DEFINE(HAVE_NANOSLEEP, 1,
Define if nanosleep is available.)
fi
fi
AC_MSG_CHECKING(for pthread_cond_t in pthread.h)
AC_MSG_RESULT(yes)
Samuel Hocevar
committed
AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
Define if <pthread.h> defines pthread_cond_t.)],[
AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for pthread_once in pthread.h)
AC_MSG_RESULT(yes)
Samuel Hocevar
committed
AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
Define if <pthread.h> defines pthread_once.)],[
AC_MSG_RESULT(no)])
AC_MSG_CHECKING(for strncasecmp in strings.h)
AC_MSG_RESULT(yes)
Samuel Hocevar
committed
AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Define if <strings.h> defines strncasecmp.)],[
AC_MSG_RESULT(no)])
AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h)
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
AC_CHECK_HEADERS(linux/version.h)
dnl Check for dirent
need_dirent=false
AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent})
Samuel Hocevar
committed
dnl Mac OS X and other OSes don't have declaration for nanosleep
AC_MSG_CHECKING(for nanosleep in time.h)
AC_EGREP_HEADER(nanosleep,time.h,[
AC_MSG_RESULT(yes)
Samuel Hocevar
committed
AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
Define if <time.h> defines nanosleep.)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
dnl Make sure we have timespecs
AC_MSG_CHECKING(for timespec in sys/time.h)
AC_EGREP_HEADER(timespec,sys/time.h,[
AC_MSG_RESULT(yes)
Samuel Hocevar
committed
AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
Define if <sys/time.h> defines struct timespec.)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
dnl Default X headers and libraries
Samuel Hocevar
committed
x_includes="/usr/X11R6/include"
fi
Samuel Hocevar
committed
x_libraries="/usr/X11R6/lib"
fi
Samuel Hocevar
committed
dnl Build the gtk_main plugins?
Samuel Hocevar
committed
NEED_GTK_MAIN=no
Samuel Hocevar
committed
NEED_GNOME_MAIN=no
NEED_GTK2_MAIN=no
NEED_GNOME2_MAIN=no
Samuel Hocevar
committed

Jean-Paul Saman
committed
dnl build the qte plugin ?
NEED_QTE_MAIN=no
AC_CACHE_CHECK([for ntohl in sys/param.h],
Samuel Hocevar
committed
[ac_cv_c_ntohl_sys_param_h],
[CFLAGS="${CFLAGS_save} -Wall -Werror"
AC_TRY_COMPILE([#include <sys/param.h>],
[void foo() { int meuh; ntohl(meuh); }],
ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)])
if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
Samuel Hocevar
committed
AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
AC_CACHE_CHECK([if \$CC accepts -finline-limit],
Samuel Hocevar
committed
[ac_cv_c_inline_limit],
[CFLAGS="${CFLAGS_save} -finline-limit-30000"
AC_TRY_COMPILE([],,ac_cv_c_inline_limit=yes, ac_cv_c_inline_limit=no)])
if test "${ac_cv_c_inline_limit}" != "no"; then
Samuel Hocevar
committed
CFLAGS_save="${CFLAGS_save} -finline-limit-30000"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -finline-limit-30000"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="${OBJCFLAGS_save} -finline-limit-30000"; OBJCFLAGS="${OBJCFLAGS_save}"
# XXX: do this with an M4 macro?
#dnl Check for various -W flags
#for flag in "" all unreachable-code conversion sign-compare disabled-optimization
#do
# AC_CACHE_CHECK([if \$CC accepts -W${flag}],
# [ac_cv_c_W${flag}],
# [CFLAGS="-W${flag} ${CFLAGS_save}"
# AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)])
# if test "${ac_cv_c_W${flag}}" != "no"; then
# CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
# CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
# OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
# fi
#done
AC_CACHE_CHECK([if \$CC accepts -Wall],
[ac_cv_c_Wall],
[CFLAGS="-Wall ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)])
AC_CACHE_CHECK([if \$CC accepts -Wconversion],
[ac_cv_c_Wconversion],
[CFLAGS="-Wconversion ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)])
AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code],
[ac_cv_c_Wunreachable_code],
[CFLAGS="-Wunreachable-code ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)])
AC_CACHE_CHECK([if \$CC accepts -Wsign-compare],
[ac_cv_c_Wsign_compare],
[CFLAGS="-Wsign-compare ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)])
CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
if test "${ac_cv_c_Wsign_compare}" != "no"; then
CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
Samuel Hocevar
committed
[ac_cv_c_pipe],
[CFLAGS="${CFLAGS_save} -pipe"
AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
Samuel Hocevar
committed
CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
dnl Check for various optimization flags
AC_CACHE_CHECK([if \$CC accepts -O3],
Samuel Hocevar
committed
[ac_cv_c_o3],
[CFLAGS="${CFLAGS_save} -O3"
AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
fi
AC_CACHE_CHECK([if \$CC accepts -O2],
[ac_cv_c_o2],
[CFLAGS="${CFLAGS_save} -O2"
AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
if test "${ac_cv_c_o2}" != "no"; then
if test "${ac_cv_c_o3}" = "no"; then
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
fi
CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2"
else
AC_CACHE_CHECK([if \$CC accepts -O],
[ac_cv_c_o],
[CFLAGS="${CFLAGS_save} -O"
AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
if test "${ac_cv_c_o}" != "no"; then
if test "${ac_cv_c_o3}" = "no"; then
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
fi
CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O"
fi
fi
dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
Samuel Hocevar
committed
[ac_cv_c_fast_math],
[CFLAGS="${CFLAGS_save} -ffast-math"
AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)])
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it
then
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
[ac_cv_c_unroll_loops],
[CFLAGS="${CFLAGS_save} -funroll-loops"
AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)])
if test "${ac_cv_c_unroll_loops}" != "no"; then
CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
fi
fi
dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
Samuel Hocevar
committed
[ac_cv_c_omit_frame_pointer],
[CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
Samuel Hocevar
committed
CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
# this plugin does not compile without -fomit-frame-pointer, damn gcc!
Christophe Massiot
committed
dnl Check for -mdynamic-no-pic
AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic],
[ac_cv_c_dynamic_no_pic],
[CFLAGS="${CFLAGS_save} -mdynamic-no-pic"
AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)])
if test "${ac_cv_c_dynamic_no_pic}" != "no"; then
AX_ADD_CFLAGS([builtin],[-mdynamic-no-pic])
AX_ADD_CFLAGS([libvlc],[-mdynamic-no-pic])
Christophe Massiot
committed
fi
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
Samuel Hocevar
committed
[ac_cv_ld_darwin],
[CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic"
AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)])
AX_ADD_LDFLAGS([plugin],[-bundle -undefined error -lcc_dynamic])
dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
AC_CACHE_CHECK([if \$CC accepts -shared],
[ac_cv_ld_plugins],
[CFLAGS="${CFLAGS_save} -shared"
AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
if test "${ac_cv_ld_plugins}" != "no"; then
AX_ADD_LDFLAGS([plugin mozilla],[-shared])
fi
Samuel Hocevar
committed
dnl Check for variadic macros
AC_CACHE_CHECK([for variadic cpp macros],
Samuel Hocevar
committed
[ac_cv_cpp_variadic_macros],
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(
[#include <stdio.h>
#define a(b,c...) printf(b,##c)],
[a("foo");a("%s","bar");a("%s%s","baz","quux");],
ac_cv_cpp_variadic_macros=yes,
ac_cv_cpp_variadic_macros=no)])
if test "${ac_cv_cpp_variadic_macros}" != "no"; then
Samuel Hocevar
committed
AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros)
fi
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
Samuel Hocevar
committed
[ac_cv_c_attribute_aligned],
[ac_cv_c_attribute_aligned=0
CFLAGS="${CFLAGS_save} -Werror"
for ac_cv_c_attr_align_try in 2 4 8 16 32 64; do
AC_TRY_COMPILE([],
[static char c __attribute__ ((aligned(${ac_cv_c_attr_align_try}))) = 0; return c;],
[ac_cv_c_attribute_aligned="${ac_cv_c_attr_align_try}"])
done
CFLAGS="${CFLAGS_save}"])
if test "${ac_cv_c_attribute_aligned}" != "0"; then
Samuel Hocevar
committed
AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
[${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
dnl Checks for __attribute__(format()) directive
AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers],
[ac_cv_c_attribute_format],
[ac_cv_c_attribute_format=no
CFLAGS="${CFLAGS_save} -Werror"
AC_TRY_COMPILE([],
[static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;],
[ac_cv_c_attribute_format=yes])
CFLAGS="${CFLAGS_save}"])
if test "${ac_cv_c_attribute_format}" != "no"; then
AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers)
fi
dnl Check for __attribute__(())
AC_CACHE_CHECK([for __attribute__((packed))],
[ac_cv_c_attribute_packed],
[ac_cv_c_attribute_packed=no
AC_TRY_COMPILE(, [struct __attribute__((__packed__)) foo { int a; } b;],
[ac_cv_c_attribute_packed=yes])])
if test "${ac_cv_c_attribute_packed}" != "no"; then
AC_DEFINE(HAVE_ATTRIBUTE_PACKED, 1, Support for __attribute__((packed)) for structs)
fi
Samuel Hocevar
committed
ARCH=unknown
;;
*)
ARCH="${target_cpu}"
;;
esac
dnl
dnl Enable profiling
dnl
AC_ARG_ENABLE(gprof,
[ --enable-gprof gprof profiling (default disabled)])
AC_ARG_ENABLE(cprof,
[ --enable-cprof cprof profiling (default disabled)])
test "${enable_gprof}" != "yes" && enable_gprof="no"
test "${enable_cprof}" != "yes" && enable_cprof="no"
AX_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys])
AX_ADD_PLUGINS([mpgv mpga m4v h264 mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff])
AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
AX_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler])
AX_ADD_PLUGINS([trivial_channel_mixer headphone_channel_mixer])
AX_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
AX_ADD_PLUGINS([aout_file])
AX_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
AX_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
AX_ADD_PLUGINS([access_ftp access_directory sap http])
dnl
dnl Switch to enable a version of VLC where most modules will be builtin
dnl
AC_ARG_ENABLE(mostly-builtin,
[ --enable-mostly-builtin most modules will be built-in (default disabled)])
if test "${enable_mostly_builtin}" = "yes"; then
MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx"
#MMX_MODULES="${MMX_MODULES} idctmmx motionmmx"
MMXEXT_MODULES="memcpymmxext"
#MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn"
SSE_MODULES=""
ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec"
#ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec"
if test "${enable_gprof}" != "yes"
then
MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx"
fi
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
[ac_cv_mmx_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));],
ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
[ac_cv_mmxext_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));],
ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
if test "${ac_cv_mmxext_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
[ac_cv_3dnow_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));],
ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
if test "${ac_cv_3dnow_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
fi
AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
[ac_cv_sse_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
fi
[ac_cv_altivec_inline],
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save}"
ac_cv_altivec_inline=yes,
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save} -Wa,-m7400"
ac_cv_altivec_inline=no)
if test "${ac_cv_altivec_inline}" != "no"; then
AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
if test "${ac_cv_altivec_inline}" != "yes"; then
AX_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
AX_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
AX_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
AX_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
Christophe Massiot
committed
ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi
Christophe Massiot
committed
[# Darwin test
CFLAGS="${CFLAGS_save} -faltivec"
AC_TRY_COMPILE([],
[ac_cv_c_altivec="-faltivec"],
[# Linux/PPC test
CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
#include <altivec.h>
#endif],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-maltivec -mabi=altivec"],
[# Linux/PPC test (old GCC versions)
CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
#include <altivec.h>
#endif],
[vec_ld(0, (unsigned char *)0);],
[ac_cv_c_altivec="-fvec"],
[ac_cv_c_altivec=no])
])
Samuel Hocevar
committed
CFLAGS="${CFLAGS_save}"])
AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
AX_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec deinterlace i420_yuy2_altivec],[${ac_cv_c_altivec}])
ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi
AC_CACHE_CHECK([if linker needs -framework vecLib],
[ac_cv_ld_altivec],
Samuel Hocevar
committed
[LDFLAGS="${LDFLAGS_vlc} -framework vecLib"
AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
AX_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib])
dnl Special arch tuning
AC_ARG_WITH(tuning,
(default i686 on IA-32 and 750 on PPC)])
Samuel Hocevar
committed
CFLAGS_TUNING="-mtune=${with_tuning}"
else
CFLAGS_TUNING="-mcpu=${with_tuning}"
fi
if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then
CFLAGS_TUNING="-mcpu=pentiumpro"
if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi
fi
fi
if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386"
dnl
dnl Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
Samuel Hocevar
committed
[ --disable-optimizations disable compiler optimizations (default enabled)])
test "${enable_optimizations}" != "no" && enable_optimizations="yes"
AC_ARG_ENABLE(altivec,
[ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
[ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec";
[ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec";
AC_ARG_ENABLE(debug,
Samuel Hocevar
committed
[ --enable-debug debug mode (default disabled)])
Samuel Hocevar
committed
[ --enable-release activate extra optimizations (default disabled)])
dnl
dnl Stream output
dnl
AC_ARG_ENABLE(sout,
[ --enable-sout Stream output modules (default enabled)])
AX_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
AX_ADD_PLUGINS([mux_ts mux_ps mux_avi mux_mp4 mux_asf mux_dummy])
AX_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
AX_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
AX_ADD_PLUGINS([packetizer_copy])
AX_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp])
AX_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_gather])
Christophe Massiot
committed
# AX_ADD_PLUGINS([stream_out_transrate])
dnl
dnl live.com input
dnl
AC_ARG_ENABLE(livedotcom,
[ --enable-livedotcom live.com input plugin (default disabled)])
AC_ARG_WITH(livedotcom-tree,
[ --with-livedotcom-tree=PATH live.com tree for static linking])
dnl
dnl test for --with-livedotcom-tree
dnl
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
if test -z "${with_livedotcom_tree}"; then
AC_LANG_PUSH(C++)
CPPFLAGS_save="${CPPFLAGS}"
CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment"
CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}"
AC_CHECK_HEADERS(liveMedia.hh, [
AX_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}])
AC_CHECK_LIB(liveMedia_pic, main, [
# We have -lliveMedia_pic, build plugins
AX_ADD_PLUGINS([livedotcom])
AX_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic])
], [
AC_CHECK_LIB(liveMedia, main, [
# We only have -lliveMedia, do builtins
AX_ADD_BUILTINS([livedotcom])
AX_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
])
])
if test "${SYS}" = "mingw32"; then
# add ws2_32 for closesocket, select, recv
AX_ADD_LDFLAGS([livedotcom],[-lws2_32])
fi
])
CPPFLAGS="${CPPFLAGS_save}"
AC_LANG_POP(C++)
else
AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree})
real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`"
if test -z "${real_livedotcom_tree}"; then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}])
fi
if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then
AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a)
AX_ADD_BUILTINS([livedotcom])
if test "${SYS}" = "mingw32"; then
# add ws2_32 for closesocket, select, recv
AX_ADD_LDFLAGS([livedotcom],[-lws2_32])
fi
AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia])
AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment])
AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock])
AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment])
AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include])
AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include])
AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include])
AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ])
else
dnl The given live.com wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}])
fi
fi
fi
dnl DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[ --enable-dvd DVD input module (default enabled)])
Samuel Hocevar
committed
AC_ARG_WITH(dvdcss,
Samuel Hocevar
committed
AC_ARG_WITH(dvdcss-tree,
[ AX_ADD_PLUGINS([dvd])
AX_ADD_LDFLAGS([dvd dvdcss],[-ldvdcss])],
[ AC_MSG_WARN([libdvdcss is no longer provided with vlc; please get libdvdcss from http://www.videolan.org/libdvdcss/ and build it. Then either use --with-dvdcss=<path/where/libdvdcss/was/installed> for dynamic linking (recommended under Unix) or --with-dvdcss-tree=<path/where/libdvdcss/was/built> for static linking (recommended under BeOS, Windows, MacOS X). Alternatively you can use --disable-dvd to disable the DVD plugin.])
AC_MSG_ERROR([cannot find libdvdcss headers]) ])
else
AC_MSG_CHECKING(for libdvdcss.a in ${with_dvdcss_tree})
real_dvdcss_tree="`cd ${with_dvdcss_tree} 2>/dev/null && pwd`"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvdcss_tree}])
fi
if test -f "${real_dvdcss_tree}/src/.libs/libdvdcss.a"
then
dnl Use a custom libdvdcss
AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a)
AX_ADD_BUILTINS([dvd])
AX_ADD_LDFLAGS([dvd dvdcss],[-L${real_dvdcss_tree}/src/.libs -ldvdcss])
AX_ADD_CPPFLAGS([dvd],[-I${real_dvdcss_tree}/src])
else
dnl The given libdvdcss wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvdcss_tree}/src/.libs/libdvdcss.a, make sure you compiled libdvdcss in ${with_dvdcss_tree}])
fi
fi
AX_ADD_PLUGINS([dvd])
AX_ADD_CPPFLAGS([dvd],[-DGOD_DAMN_DMCA])
AX_ADD_LDFLAGS([dvd],[-ldl])
AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
AX_ADD_PLUGINS([dvd])
AX_ADD_LDFLAGS([dvd dvdcss],[-L${with_dvdcss}/lib -ldvdcss])
AX_ADD_CPPFLAGS([dvd],[-I${with_dvdcss}/include])
dnl dvdread module: check for libdvdread
AC_ARG_ENABLE(dvdread,
[ --enable-dvdread dvdread input module (default disabled)])
Samuel Hocevar
committed
AC_ARG_WITH(dvdread,
[ --with-dvdread=PATH libdvdread headers and libraries])
AC_ARG_WITH(dvdread-tree,
[ --with-dvdread-tree=PATH libdvdread tree for static linking])
[ AX_ADD_PLUGINS([dvdread])
AX_ADD_LDFLAGS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}])
],[
then
AC_MSG_WARN([Please get libdvdread from http://www.dtek.chalmers.se/groups/dvd/downloads.shtml])
AC_MSG_ERROR([cannot find libdvdread headers])
else
AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
fi
Samuel Hocevar
committed
if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
then
dnl Use a custom libdvdread
AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a)
AX_ADD_BUILTINS([dvdread])
AX_ADD_LDFLAGS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}])
AX_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}])
dnl The given libdvdread wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}])
else
AC_MSG_CHECKING(for dvdread headers in ${with_dvdread})
then
AC_MSG_RESULT(yes)
AX_ADD_PLUGINS([dvdread])
AX_ADD_LDFLAGS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}])
AX_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include])
else
dnl No libdvdread could be found, sorry
AC_MSG_RESULT(no)
fi
fi
fi
dnl
dnl dvdplay module: check for libdvdplay
dnl
AC_ARG_ENABLE(dvdplay,
then
Samuel Hocevar
committed
AC_ARG_WITH(dvdplay,
[ --with-dvdplay=PATH libdvdplay headers and libraries])
AC_ARG_WITH(dvdplay-tree,
[ --with-dvdplay-tree=PATH libdvdplay tree for static linking])
then
then
AC_CHECK_HEADERS(dvdplay/dvdplay.h,[
AX_ADD_PLUGINS([dvdplay])
AX_ADD_LDFLAGS([dvdplay],[-ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread}])
],[
then
AC_MSG_WARN([Please get libdvdplay from http://www.videolan.org/.])
AC_MSG_ERROR([cannot find libdvdplay headers])
else
AC_MSG_CHECKING(for libdvdplay.a in ${with_dvdplay_tree})
real_dvdplay_tree="`cd ${with_dvdplay_tree} 2>/dev/null && pwd`"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvdplay_tree}])
fi
Samuel Hocevar
committed
if test -f "${real_dvdplay_tree}/src/.libs/libdvdplay.a"
then
dnl Use a custom libdvdplay
AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a)
AX_ADD_BUILTINS([dvdplay])
AX_ADD_LDFLAGS([dvdplay],[-L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src])
else
dnl The given libdvdplay wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvdplay_tree}/src/.libs/libdvdplay.a, make sure you compiled libdvdplay in ${with_dvdplay_tree}])
fi
fi
else
AC_MSG_CHECKING(for dvdplay headers in ${with_dvdplay})
then
dnl Use ${with_dvdplay}/include/dvdplay/dvdplay.h
AC_MSG_RESULT(yes)
AX_ADD_PLUGINS([dvdplay])
AX_ADD_LDFLAGS([dvdplay],[-L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}])
AX_ADD_CPPFLAGS([dvdplay],[${CPPFLAGS_dvdread} -I${with_dvdplay}/include])
else
dnl No libdvdplay could be found, sorry
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${with_dvdplay}/include/dvdplay/dvdplay.h])
fi
fi
dnl
dnl libdvdnav plugin
dnl
AC_ARG_ENABLE(dvdnav,
[ --enable-dvdnav dvdnav input module (default enabled)])
then
DVDNAV_PATH="${PATH}"
AC_ARG_WITH(dvdnav-config-path,
[ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)],
[ if test "${with_dvdnav_config_path}" != "no"
then
DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}"
fi ])
AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH})
if test "${DVDNAV_CONFIG}" != "no"
then
AX_ADD_PLUGINS([dvdnav])
AX_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`])
AX_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`])
fi
fi
dnl
dnl Windows DirectShow access module
dnl
AC_ARG_ENABLE(dshow,
[ --enable-dshow Win32 DirectShow support (default enabled on Win32)])
if test "${enable_dshow}" != "no"
then
if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
then
AC_CHECK_HEADERS(dshow.h,
[ AX_ADD_PLUGINS([dshow])
AX_ADD_CXXFLAGS([dshow],[])
AX_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ])
fi
fi
Laurent Aimar
committed
dnl libdvbpsi ts demux/mux
dnl
AC_ARG_ENABLE(dvbpsi,
Laurent Aimar
committed
[ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)])
then
Samuel Hocevar
committed
AC_ARG_WITH(dvbpsi,
[ --with-dvbpsi=PATH libdvbpsi headers and libraries])
AC_ARG_WITH(dvbpsi,
[ --with-dvbpsi-tree=PATH libdvbpsi tree for static linking])
then
[ AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2])
AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-ldvbpsi]) ],
[ AC_MSG_WARN([cannot find libdvbpsi headers]) ],
[#if defined( HAVE_STDINT_H )
# include <stdint.h>
#elif defined( HAVE_INTTYPES_H )
# include <inttypes.h>
#endif
#include <dvbpsi/dvbpsi.h>
#include <dvbpsi/descriptor.h>
#include <dvbpsi/pat.h>
#include <dvbpsi/pmt.h>])
else
AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree})
real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvbpsi_tree}])
fi
if test -f "${real_dvbpsi_tree}/src/.libs/libdvbpsi.a"
then
dnl Use a custom libdvbpsi
AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a)
AX_ADD_BUILTINS([ts_dvbpsi mux_ts_dvbpsi ts2])
AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-I${real_dvbpsi_tree}/src])
AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi])
else
dnl The given libdvbpsi wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a, make sure you compiled libdvbpsi in ${with_dvbpsi_tree}])
fi
dnl Compile without dvbpsi
;;
*)
AC_MSG_CHECKING(for dvbpsi headers in ${with_dvbpsi})
Samuel Hocevar
committed
LDFLAGS_test=""
CPPFLAGS_test=""
Samuel Hocevar
committed
LDFLAGS_test="-L${with_dvbpsi}/lib"
CPPFLAGS_test="-I${with_dvbpsi}/include"
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}"
AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2])
AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${CPPFLAGS_test}])
AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${LDFLAGS_test} -ldvbpsi])
Laurent Aimar
committed
then
AC_MSG_ERROR([Could not find libdvbpsi on your system: you may get it from www.videolan.org, you'll need at least version 0.1.1])
fi
])
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save}"
Samuel Hocevar
committed
dnl
dnl Video4Linux plugin
dnl
AC_ARG_ENABLE(v4l,
[ --enable-v4l Video4Linux input support (default disabled)])
Samuel Hocevar
committed
then
AC_ARG_WITH(v4l,
[ --with-v4l=PATH path to a v4l-enabled kernel tree],[],[])
then
AX_ADD_CPPFLAGS([v4l],[-I${with_v4l}/include])
fi
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l}"
],[])
CPPFLAGS="${CPPFLAGS_save}"
Samuel Hocevar
committed
fi
dnl
dnl special access module for Hauppauge PVR cards
dnl
AC_ARG_ENABLE(pvr,
[ --enable-pvr PVR cards access module (default disabled)])
dnl
dnl VCDX and CDDAX modules
dnl
AC_ARG_ENABLE(libcdio,
[ --enable-libcdio CDDA support via libcdio (default enabled)])
[ --enable-libcddb CDDB support for CDDAX (default enabled)])
[ --enable-vcdx VCD support with Navigation (default enabled)])

Jean-Paul Saman
committed
[ --enable-cdda CDDA plugin support (default enabled)])
AC_ARG_ENABLE(cddax,
[ --enable-cddax CDDAX plugin support (default enabled)])
if test "${enable_cddax}" != "no"
then
PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65,
[enable_cddax="no"
AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio])
AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS])
AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS])
AX_ADD_PLUGINS([cddax])],
[AC_MSG_WARN(libcdio library not found)
HAVE_CDDAX=no])
Rocky Bernstein
committed
if test x$enable_libcddb != no; then
PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [
HAVE_LIBCDDB=yes
AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed])
AX_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS])
AX_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS])
],
[AC_MSG_WARN(new enough libcddb not found. CDDB access disabled)
HAVE_LIBCDDB=no])
fi
if test "${enable_vcdx}" != "no"
then
PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20,
AC_DEFINE(HAVE_VCDX, [],
[Define for the VCD plugin using libcdio/libvcdinfo])
AX_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS])
AX_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS])
AX_ADD_PLUGINS([vcdx])],
[AC_MSG_WARN(vcdinfo library not found)
HAVE_VCDX=no])
[ --enable-vcd VCD support for Linux, FreeBSD, MacOS X and Win32 (default enabled)])
AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h)
AC_MSG_RESULT(yes)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
AC_MSG_CHECKING(for scsireq in sys/scsiio.h)
AC_EGREP_HEADER(scsireq,sys/scsiio.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support)
],[
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h)
AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[
AC_MSG_RESULT(yes)
AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support)
],[
AC_MSG_RESULT(no)
Samuel Hocevar
committed
if test "${SYS}" = "bsdi" -o "${SYS}" = "mingw32"
AX_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation])
dnl
dnl Satellite input module
dnl
AC_ARG_ENABLE(satellite,
AC_DEFINE(HAVE_SATELLITE, [],
[Define for the VCD plugin using libcdio/libvcdinfo])
dnl
dnl DVB-S/DVB-T/DVB-C satellite/teresterial/cable input using v4l2
dnl
AC_ARG_ENABLE(dvb,
[ --enable-dvb DVB-S/T/C card support (default disabled)])
if test "${enable_dvb}" = "yes"
then
AC_ARG_WITH(dvb,
[ --with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree],[],[])
if test "${with_dvb}" != "no" -a -n "${with_dvb}"
then
AX_ADD_CFLAGS([dvb],[-I${with_dvb}/include])
fi

Jean-Paul Saman
committed
CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include"
AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [
AX_ADD_PLUGINS([dvb])
],[])
CPPFLAGS="${CPPFLAGS_save}"
fi
Christophe Massiot
committed
dnl
dnl ipv6 plugin - not for QNX yet
Christophe Massiot
committed
dnl
if test "${SYS}" != "nto" && test "${SYS}" != "mingw32"
Samuel Hocevar
committed
have_ipv6=false
AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[
AC_CHECK_LIB(resolv,inet_pton,
Samuel Hocevar
committed
[have_ipv6=:
AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h)
AC_EGREP_HEADER(sockaddr_in6,netinet/in.h,
[AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no) have_ipv6=false])
Samuel Hocevar
committed
if ${have_ipv6}; then
fi
then
AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h)
AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes)
Christophe Massiot
committed
dnl
AC_ARG_ENABLE(ogg,
[ --enable-ogg Ogg demux support (default enabled)])
AX_ADD_PLUGINS([ogg mux_ogg])
AX_ADD_LDFLAGS([ogg mux_ogg],[-logg])])
if test "${enable_mkv}" != "no"; then
AC_LANG_PUSH(C++)
AC_CHECK_HEADERS(ebml/EbmlVersion.h, [
AC_CHECK_HEADERS(matroska/KaxVersion.h, [
AC_CHECK_HEADERS(matroska/KaxAttachments.h)
AX_ADD_CXXFLAGS([mkv],[])
AC_CHECK_LIB(ebml_pic, main, [
# We have ebml_pic, that's good, we can build an mkv.so plugin !
AX_ADD_PLUGINS([mkv])
AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic])
], [
AC_CHECK_LIB(ebml, main, [
# We only have libebml, make mkv.a a builtin
AX_ADD_BUILTINS([mkv])
AX_ADD_LDFLAGS([mkv],[-lmatroska -lebml])
])
])
Samuel Hocevar
committed
])
dnl
dnl modplug demux plugin
dnl
AC_ARG_ENABLE(mod,
[ --enable-mod Mod demux support (default enabled)])
if test "${enable_mod}" != "no"
then
AC_CHECK_HEADERS(libmodplug/modplug.h, [
AX_ADD_PLUGINS([mod])
AX_ADD_CXXFLAGS([mod],[])
AX_ADD_LDFLAGS([mod],[-lmodplug])])
fi
[ --enable-mad libmad module (default enabled)])
AX_ADD_CPPFLAGS([mpgatofixed32],[-I${with_mad}/include])
AX_ADD_LDFLAGS([mpgatofixed32],[-L${with_mad}/lib])
fi
AC_ARG_WITH(mad-tree,
[ --with-mad-tree=PATH mad tree for static linking],[],[])
if test "${with_mad_tree}" != "no" -a -n "${with_mad_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
fi
dnl Use a custom libmad
AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
if test -f ${real_mad_tree}/mad.h
AX_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
AX_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
AX_ADD_BUILTINS([mpgatofixed32])
AX_ADD_LDFLAGS([mpgatofixed32],[-lmad])
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([the specified tree doesn't have mad.h])
fi
else
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
[ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ])
AX_ADD_PLUGINS([mpgatofixed32])
AX_ADD_LDFLAGS([mpgatofixed32],[-lmad])],
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save}"
LDFLAGS="${LDFLAGS_save}"
dnl
dnl libid3tag support
dnl
AC_CHECK_HEADERS(id3tag.h, [
AX_ADD_LDFLAGS([id3tag],[-lid3tag -lz])
AX_ADD_PLUGINS([id3tag])]) ])
Samuel Hocevar
committed
dnl
dnl
AC_ARG_ENABLE(ffmpeg,
then
AC_ARG_WITH(ffmpeg-mp3lame,
[ --with-ffmpeg-mp3lame if ffmpeg has been compiled with mp3lame support],
[
dnl XXX: we don't link with -lavcodec a 2nd time because the OS X
dnl linker would miserably barf on multiple definitions.
AX_ADD_LDFLAGS([stream_out_transcode],[])
AC_ARG_WITH(ffmpeg-faac,
[ --with-ffmpeg-faac if ffmpeg has been compiled with faac support],
[
dnl XXX: we don't link with -lavcodec a 2nd time because the OS X
dnl linker would miserably barf on multiple definitions.
AX_ADD_LDFLAGS([stream_out_transcode],[])
AX_ADD_LDFLAGS([ffmpeg],[-lfaac]) ])
AC_ARG_WITH(ffmpeg-tree,
[ --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
dnl
dnl test for !(--with-ffmpeg-tree)
dnl
if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}"

Jean-Paul Saman
committed
AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
AX_ADD_LDFLAGS([ffmpeg],[-lavcodec])
dnl XXX: we don't link with -lavcodec a 2nd time because the OS X
dnl linker would miserably barf on multiple definitions.
[ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
AC_CHECK_LIB(avformat, av_open_input_stream, [
AC_DEFINE(HAVE_LIBAVFORMAT, 1,
[Define if you have ffmpeg's libavformat.])
AX_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ])
if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then
AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree})
real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`"
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}])
fi
if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
dnl The given libavcodec wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
fi
if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
dnl The given libavcodec wasn't built with --enable-pp
AC_MSG_RESULT(no)
AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
fi
dnl Use a custom libffmpeg
AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a)
AX_ADD_BUILTINS([ffmpeg stream_out_transcode])
AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec])
AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.])
AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
fi
dnl XXX: we don't link with -lavcodec a 2nd time because the OS X
dnl linker would miserably barf on multiple definitions.
AX_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec])
AX_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat])
fi
dnl
dnl faad decoder plugin
dnl
AC_ARG_ENABLE(faad,
[ --enable-faad faad codec (default disabled)])
then
Samuel Hocevar
committed
AC_ARG_WITH(faad-tree,
[ --with-faad-tree=PATH faad tree for static linking])
then
AC_MSG_CHECKING(for libfaad.a in ${with_faad_tree})
real_faad_tree="`cd ${with_faad_tree} 2>/dev/null && pwd`"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_faad_tree}])
fi
if test -f "${real_faad_tree}/libfaad/.libs/libfaad.a"
then
dnl Use a custom faad
AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
AX_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
else
dnl The given libfaad wasn't built
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot find ${real_faad_tree}/libfaad/.libs/libfaad.a, make sure you compiled libfaad in ${with_faad_tree}])
fi
else
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
AC_CHECK_HEADERS(faad.h, ,
[ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
AC_CHECK_LIB(faad, faacDecOpen, [
AC_CHECK_LIB(faad, NeAACDecOpen, [
AX_ADD_PLUGINS([faad])
AX_ADD_LDFLAGS([faad],[-lfaad]) ],
[ AC_MSG_ERROR([Cannot find libfaad library...]) ]))
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
CPPFLAGS="${CPPFLAGS_save}"
fi
fi
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
dnl dnl
dnl dnl xvid decoder plugin
dnl dnl
dnl AC_ARG_ENABLE(xvid,
dnl [ --enable-xvid xvid codec (default disabled)])
dnl if test "${enable_xvid}" = "yes"
dnl then
dnl AC_ARG_WITH(xvid,
dnl [ --with-xvid=PATH path to xvid installation],[],[])
dnl if test "${with_xvid}" != "no" -a -n "${with_xvid}"
dnl then
dnl AX_ADD_CPPFLAGS([xvid],[-I${with_xvid}/include])
dnl AX_ADD_LDFLAGS([xvid],[-L${with_xvid}/lib])
dnl fi
dnl
dnl AC_ARG_WITH(xvid-tree,
dnl [ --with-xvid-tree=PATH xvid tree for static linking])
dnl if test -n "${with_xvid_tree}"
dnl then
dnl AC_MSG_CHECKING(for libxvidcore.a in ${with_xvid_tree})
dnl real_xvid_tree="`cd ${with_xvid_tree} 2>/dev/null && pwd`"
dnl if test -z "${real_xvid_tree}"
dnl then
dnl dnl The given directory can't be found
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot cd to ${with_xvid_tree}])
dnl fi
dnl if test -f "${real_xvid_tree}/build/generic/libxvidcore.a"
dnl then
dnl dnl Use a custom xvid
dnl AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a)
dnl AX_ADD_BUILTINS([xvid])
dnl AX_ADD_LDFLAGS([xvid],[-L${real_xvid_tree}/build/generic -lxvidcore])
dnl AX_ADD_CPPFLAGS([xvid],[-I${real_xvid_tree}/src])
dnl else
dnl dnl The given libxvidcore wasn't built
dnl AC_MSG_RESULT(no)
dnl AC_MSG_ERROR([cannot find ${real_xvid_tree}/build/generic/libxvidcore.a, make sure you compiled libxvidcore in ${with_xvid_tree}])
dnl fi
dnl else
dnl CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xvid}"
dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}"
dnl AC_CHECK_HEADERS(xvid.h, ,
dnl [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ])
dnl AC_CHECK_LIB(xvidcore, xvid_init, [
dnl AX_ADD_PLUGINS([xvid])
dnl AX_ADD_LDFLAGS([xvid],[-lxvidcore]) ],
dnl [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ])
dnl LDFLAGS="${LDFLAGS_save}"
dnl CPPFLAGS="${CPPFLAGS_save}"
dnl fi
dnl fi
Samuel Hocevar
committed
dnl
dnl QuickTime plugin
dnl
AC_ARG_ENABLE(quicktime,
[ --enable-quicktime QuickTime module (default enabled on MacOS X)])
if test "${enable_quicktime}" != "no" &&
(test "${SYS}" = "darwin" || test "${enable_quicktime}" = "yes")
if test "${SYS}" = "mingw32"; then
AX_ADD_BUILTINS([quicktime])
else
[ AX_ADD_BUILTINS([quicktime])
AX_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon])
Samuel Hocevar
committed
dnl
dnl MP4 module
dnl
AX_ADD_LDFLAGS([mp4 skins skins2 sap],[-lz])
AC_CHECK_HEADERS(sysfs/libsysfs.h, [
AX_ADD_LDFLAGS([mp4],[-lsysfs])
] )
dnl
dnl skins module
dnl
AC_CHECK_HEADERS(libtar.h, [
AX_ADD_LDFLAGS([skins skins2],[-ltar])
[ --enable-a52 A/52 support with liba52 (default enabled)])
Samuel Hocevar
committed
AC_ARG_WITH(a52,
[ --with-a52=PATH a52 headers and libraries])
AC_ARG_WITH(a52-tree,
[ --with-a52-tree=PATH a52dec tree for static linking ],[],[])
if test "${with_a52_tree}" != "no" -a -n "${with_a52_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([${with_a52_tree} directory doesn't exist])
fi
dnl Use a custom a52dec
AC_MSG_CHECKING(for a52.h in ${real_a52_tree}/include)
if test -f ${real_a52_tree}/include/a52.h
then
AC_MSG_RESULT(yes)
AX_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}])
AX_ADD_LDFLAGS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs])
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}"
AX_ADD_BUILTINS([a52tofloat32])
AX_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE])
AX_ADD_LDFLAGS([a52tofloat32],[-la52])
Samuel Hocevar
committed
AC_MSG_ERROR([make sure you have at least a52dec-0.7.3])
])
Samuel Hocevar
committed
LDFLAGS="${LDFLAGS_save}"
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([the specified tree doesn't have a52.h])
fi
Samuel Hocevar
committed
LDFLAGS_test=""
CPPFLAGS_test=""
Samuel Hocevar
committed
LDFLAGS_test="-L${with_a52}/lib"
CPPFLAGS_test="-I${with_a52}/include"
CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}"
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}"
AC_CHECK_HEADERS(a52dec/a52.h, [
AX_ADD_PLUGINS([a52tofloat32])
AX_ADD_LDFLAGS([a52tofloat32],[${LDFLAGS_test} -la52])
AX_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}])
AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.])
])
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save}"
LDFLAGS="${LDFLAGS_save}"
dnl
dnl DTS Coherent Acoustics decoder plugin
dnl
AC_ARG_ENABLE(dts,
[ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)])
if test "${enable_dts}" != "no"; then
AC_ARG_WITH(dts-tree,
if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}"
then
real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`"
if test -z "${real_dts_tree}"
then
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([${with_dts_tree} directory doesn't exist])
fi
AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include)
if test -f ${real_dts_tree}/include/dts.h
then
AC_MSG_RESULT(yes)
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
AC_CHECK_LIB(dts, dts_free, [
AX_ADD_BUILTINS([dtstofloat32])
AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
],[
else
AC_MSG_ERROR([the specified tree hasn't been compiled])
fi
])
LDFLAGS="${LDFLAGS_save}"
else
AC_MSG_RESULT(no)
AC_MSG_ERROR([the specified tree doesn't have dts.h])
fi
else
LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
AC_CHECK_LIB(dts, dts_free, [
AX_ADD_PLUGINS([dtstofloat32])
AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
],[
if test "${enable_dts}" = "yes"; then
AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
LDFLAGS="${LDFLAGS_save}"
dnl dnl
dnl dnl DV plugin
dnl dnl
dnl AC_ARG_ENABLE(dv,
dnl [ --enable-dv DV decoder support (deprecated in favor of ffmpeg) (default disabled)])
dnl if test "${enable_dv}" = "yes"
dnl then
Loading
Loading full blame...