Newer
Older
AC_INIT(vlc,0.5.0-cvs)
Samuel Hocevar
committed
AC_PREREQ(2.50)
AC_CONFIG_SRCDIR(src/libvlc.c)
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_INIT_AUTOMAKE(vlc,0.5.0-cvs)
AM_CONFIG_HEADER(config.h)
Samuel Hocevar
committed
CPPFLAGS_save="${CPPFLAGS}"
CFLAGS_save="${CFLAGS}"
CXXFLAGS_save="${CXXFLAGS}"
OBJCFLAGS_save="${OBJCFLAGS}"
LDFLAGS_save="${LDFLAGS}"
Samuel Hocevar
committed
AM_PROG_CC_C_O
Samuel Hocevar
committed
AC_PROG_CXX
AC_PROG_MAKE_SET
AC_PROG_INSTALL
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, :)
dnl
dnl
Christophe Massiot
committed
ALL_LINGUAS="de en_GB fr ja no ru nl pl se"
AM_GNU_GETTEXT_VERSION(0.10.40)
if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl"
fi
AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes")
dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL
dnl Check for compiler properties
AC_C_CONST
AC_C_INLINE
Samuel Hocevar
committed
dnl Set default values
Samuel Hocevar
committed
LDFLAGS_vlc="${LDFLAGS}"
LIBEXT=".so"
case "x${target_os}" in
Samuel Hocevar
committed
x)
SYS=unknown
;;
xlinux*)
SYS=linux
;;
xbsdi*)
SYS=bsdi
CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
LDFLAGS_dvd="${LDFLAGS_dvd} -ldvd"
LDFLAGS_vcd="${LDFLAGS_vcd} -ldvd"
;;
x*bsd*)
SYS="${target_os}"
CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}"
;;
xdarwin*)
SYS=darwin
CFLAGS_save="${CFLAGS_save} -no-cpp-precomp"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp"; OBJCFLAGS="${OBJCFLAGS_save}"
LDFLAGS_vlc="${LDFLAGS_vlc} -all_load"
LIBEXT=".dylib"
;;
Samuel Hocevar
committed
AC_CHECK_TOOL(WINDRES, windres, :)
LIBEXT=".dll"
case "x${target_os}" in
x*mingw32*)
SYS=mingw32
;;
x*cygwin*)
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
if test "x$SYS" = "xmingw32"; then
# add ws2_32 for closesocket, select, recv
CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"
CPPFLAGS="${CPPFLAGS_save}"
LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows"
LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32"
LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32"
LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32"
LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32"
LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lws2_32"
LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32"
Samuel Hocevar
committed
;;
x*nto*)
SYS=nto
LDFLAGS_x11="${LDFLAGS_x11} -lsocket"
LDFLAGS_xvideo="${LDFLAGS_xvideo} -lsocket"
;;
xsolaris*)
SYS=solaris
;;
xhpux*)
SYS=hpux
LIBEXT=".sl"
;;
xbeos)
SYS=beos
CFLAGS_save="${CFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}"
LDFLAGS_vlc="${LDFLAGS_vlc} -lbe"
LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation"
dnl BONE or not BONE ?
AC_CHECK_LIB( bind, inet_ntoa,
[ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind"
LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"],
[])
Samuel Hocevar
committed
;;
x*)
SYS="${target_os}"
;;
Samuel Hocevar
committed
AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos")
AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin")
AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32")
AC_MSG_CHECKING(for suffix of libraries)
AC_MSG_RESULT(${LIBEXT})
dnl Check for the need to include the mingwex lib for mingw32
if test x$SYS = xmingw32
then
AC_CHECK_LIB(mingwex,opendir,
AC_CHECK_LIB(mingw32,opendir,LDFLAGS_vlc="${LDFLAGS_vlc}",
[LDFLAGS_vlc="${LDFLAGS_vlc} -lmingwex"
LDFLAGS_gtk="${LDFLAGS_gtk} -lmingwex"])
dnl Check for fnative-struct or mms-bitfields support for mingw32
if test x$SYS = xmingw32
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 x"$ac_cv_c_mms_bitfields" != x"no"; then
CFLAGS_mingw32_special="-mms-bitfields"
else
CFLAGS_mingw32_special="-fnative-struct"
fi
CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}";
CXXFLAGS_save="${CXXFLAGS_save} ${CFLAGS_mingw32_special}";
CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
fi
dnl Check for fvtable-thunks support for mingw32
if test x$SYS = xmingw32
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 x"$ac_cv_cxx_fvtable_thunks" = x"yes"; then
CXXFLAGS_mingw32_special="-fvtable-thunks"
fi
CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}"
CXXFLAGS="${CXXFLAGS_save}"
AC_LANG_POP(C++)
Samuel Hocevar
committed
case "x${SYS}" in
xmingw32|xcygwin)
CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
OBJCFLAGS_pics="${OBJCFLAGS_pics} ${CFLAGS_mingw32_special}"
CFLAGS_plugins="${CFLAGS_plugins} ${CFLAGS_mingw32_special}"
CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}"
Samuel Hocevar
committed
;;
x*)
CFLAGS_pics="${CFLAGS_pics} -fPIC"
CXXFLAGS_pics="${CXXFLAGS_pics} -fPIC"
OBJCFLAGS_pics="${OBJCFLAGS_pics} -fPIC"
CFLAGS_plugins="${CFLAGS_plugins} -fPIC"
CXXFLAGS_plugins="${CXXFLAGS_plugins} -fPIC"
OBJCFLAGS_plugins="${OBJCFLAGS_plugins} -fPIC"
LDFLAGS_plugins="${LDFLAGS_plugins} -fPIC"
;;
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
Samuel Hocevar
committed
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll getenv putenv setenv)
dnl Check for usual libc functions
AC_CHECK_FUNCS(strdup,,[need_libc=:])
AC_CHECK_FUNCS(strndup,,[need_libc=:])
AC_CHECK_FUNCS(atof,,[need_libc=:])
AC_CHECK_FUNCS(lseek,,[need_libc=:])
AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp,,[need_libc=:])])
AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp,,[need_libc=:])])
AM_CONDITIONAL(BUILD_LIBC, ${need_libc})
Samuel Hocevar
committed
AC_CHECK_LIB(socket,connect,
LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket"
LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket"
Samuel Hocevar
committed
Samuel Hocevar
committed
AC_CHECK_LIB(socket,send,
LDFLAGS_access_http="${LDFLAGS_access_http} -lsocket"
LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket"
LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lsocket"
LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket"
Samuel Hocevar
committed
Samuel Hocevar
committed
AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl",[
AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind")])
Samuel Hocevar
committed
have_nanosleep=false
AC_CHECK_FUNC(nanosleep,have_nanosleep=:,[
Samuel Hocevar
committed
AC_CHECK_LIB(rt,nanosleep,
Samuel Hocevar
committed
[LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:],
Samuel Hocevar
committed
[AC_CHECK_LIB(posix4,nanosleep,
Samuel Hocevar
committed
[LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])]
Samuel Hocevar
committed
)
Samuel Hocevar
committed
if ${have_nanosleep}; then
AC_DEFINE(HAVE_NANOSLEEP, 1,
Define if nanosleep is available.)
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 x$ac_cv_type_socklen_t != xno; then
AC_DEFINE(HAVE_SOCKLEN_T, 1,
Define if <sys/socket.h> defines socklen_t.)
fi
dnl HP/UX port
Samuel Hocevar
committed
AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"])
Samuel Hocevar
committed
AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv")
])
AC_CHECK_FUNC(textdomain,,[
Samuel Hocevar
committed
AC_CHECK_LIB(intl,textdomain,
LDFLAGS_vlc="${LDFLAGS_vlc} -lintl"
LDFLAGS_plugins="${LDFLAGS_plugins} -lintl"
)
Samuel Hocevar
committed
need_getopt=false
AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
[ # FreeBSD has a gnugetopt library for this:
Samuel Hocevar
committed
AC_CHECK_LIB([gnugetopt],[getopt_long],
[AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LDFLAGS_vlc="${LDFLAGS_vlc} -lgnugetopt"],
[need_getopt=:])])
AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt})
Samuel Hocevar
committed
AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl")
Samuel Hocevar
committed
LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm"
LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm")
Samuel Hocevar
committed
LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm"
LDFLAGS_imdct="${LDFLAGS_imdct} -lm"
LDFLAGS_imdct3dn="${LDFLAGS_imdct3dn} -lm"
LDFLAGS_imdctsse="${LDFLAGS_imdctsse} -lm"
LDFLAGS_i420_rgb="${LDFLAGS_i420_rgb} -lm"
LDFLAGS_faad="${LDFLAGS_faad} -lm"
if test "x${THREAD_LIB}" = "xerror"; then
Samuel Hocevar
committed
AC_CHECK_LIB(pthread,main,THREAD_LIB="-lpthread")
if test "x${THREAD_LIB}" = "xerror"; then
Samuel Hocevar
committed
AC_CHECK_LIB(pthreads,main,THREAD_LIB="-lpthreads")
if test "x${THREAD_LIB}" = "xerror"; then
Samuel Hocevar
committed
AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r")
if test "x${THREAD_LIB}" = "xerror"; then
Samuel Hocevar
committed
AC_CHECK_FUNC(pthread_mutex_lock)
THREAD_LIB=""
dnl Check for cthreads under GNU/Hurd for instance
AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
dnl Check for misc headers
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
Samuel Hocevar
committed
AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
Define if <pthread.h> defines pthread_cond_t.)])
Samuel Hocevar
committed
AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1,
Define if <pthread.h> defines pthread_once.)])
Samuel Hocevar
committed
AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Define if <strings.h> defines strncasecmp.)])
AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.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(dlfcn.h image.h)
AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.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_EGREP_HEADER(nanosleep,time.h,[
Samuel Hocevar
committed
AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
Define if <time.h> defines nanosleep.)
Samuel Hocevar
committed
dnl Make sure we have timespecs
AC_EGREP_HEADER(timespec,sys/time.h,[
Samuel Hocevar
committed
AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
Define if <sys/time.h> defines struct timespec.)
Samuel Hocevar
committed
dnl Check for threads library
AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)
dnl Default X headers and libraries
if test "x${x_includes}" = "xNONE"; then
Samuel Hocevar
committed
x_includes="/usr/X11R6/include"
fi
if test "x${x_libraries}" = "xNONE"; then
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
Samuel Hocevar
committed
if test "x${SYS}" != "xmingw32"
Samuel Hocevar
committed
CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
AC_CHECK_HEADERS(X11/extensions/dpms.h, [
AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
Define if <X11/extensions/dpms.h> defines DPMSInfo.)
])
])
CPPFLAGS="${CPPFLAGS_save}"
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 "x${ac_cv_c_ntohl_sys_param_h}" != "xno"; 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 "x${ac_cv_c_inline_limit}" != "xno"; 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 "x${ac_cv_c_W${flag}}" != "xno"; 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 -W],
[ac_cv_c_W],
[CFLAGS="-W ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_W=yes, ac_cv_c_W=no)])
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
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)])
AC_CACHE_CHECK([if \$CC accepts -Wdisabled-optimization],
[ac_cv_c_Wdisabled_optimization],
[CFLAGS="-Wdisabled-optimization ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Wdisabled_optimization=yes, ac_cv_c_Wdisabled_optimization=no)])
AC_CACHE_CHECK([if \$CC accepts -Winline],
[ac_cv_c_Winline],
[CFLAGS="-Winline ${CFLAGS_save}"
AC_TRY_COMPILE([],,ac_cv_c_Winline=yes, ac_cv_c_Winline=no)])
if test "x${ac_cv_c_W}" != "xno"; then
CFLAGS_save="-W ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-W ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-W ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
if test "x${ac_cv_c_Wall}" != "xno"; then
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 "x${ac_cv_c_Wunreachable_code}" != "xno"; then
CFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wunreachable-code ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
dnl -Wunreachable-code means gcc-3.x, we can use -Wconversion and we can
dnl activate -Winline for C++, it won't choke on system headers.
if test "x${ac_cv_c_Wconversion}" != "xno"; then
CFLAGS_save="-Wconversion ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-Wconversion ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wconversion ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
if test "x${ac_cv_c_Winline}" != "xno"; then
CXXFLAGS_save="-Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
fi
fi
if test "x${ac_cv_c_Wsign_compare}" != "xno"; 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
if test "x${ac_cv_c_Wdisabled_optimization}" != "xno"; then
CFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
CXXFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}"
OBJCFLAGS_save="-Wdisabled-optimization ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
if test "x${ac_cv_c_Winline}" != "xno"; then
CFLAGS_save="-Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}"
OBJCFLAGS_save="-Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}"
fi
dnl Check for -pipe
AC_CACHE_CHECK([if \$CC accepts -pipe],
Samuel Hocevar
committed
[ac_cv_c_pipe],
[CFLAGS="${CFLAGS_save} -pipe"
AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
if test "x${ac_cv_c_pipe}" != "xno"; then
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)])
if test "x${ac_cv_c_o3}" != "xno"; then
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
Samuel Hocevar
committed
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 "x${ac_cv_c_o2}" != "xno"; then
CFLAGS_OPTIM="${CFLAGS_OPTIM} -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 "x${ac_cv_c_o}" != "xno"; then
CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
fi
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)])
if test "x${ac_cv_c_fast_math}" != "xno"; then
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
fi
dnl Check for -funroll-loops
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
Samuel Hocevar
committed
[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 "x${ac_cv_c_unroll_loops}" != "xno"; then
Samuel Hocevar
committed
CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
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 "x${ac_cv_c_omit_frame_pointer}" != "xno"; then
Samuel Hocevar
committed
CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
# this plugin does not compile without -fomit-frame-pointer, damn gcc!
CFLAGS_i420_yuy2_mmx="${CFLAGS_i420_yuy2_mmx} -fomit-frame-pointer"
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 "x${ac_cv_c_dynamic_no_pic}" != "xno"; then
CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic"
CFLAGS_libvlc="${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)])
if test "x${ac_cv_ld_darwin}" != "xno"; then
Samuel Hocevar
committed
LDFLAGS_plugins="${LDFLAGS_plugins} -bundle -undefined error -lcc_dynamic"
AC_CACHE_CHECK([if \$CC accepts -shared],
Samuel Hocevar
committed
[ac_cv_ld_plugins],
[CFLAGS="${CFLAGS_save} -shared"
AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
if test "x${ac_cv_ld_plugins}" != "xno"; then
Samuel Hocevar
committed
LDFLAGS_plugins="${LDFLAGS_plugins} -shared"
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 "x${ac_cv_cpp_variadic_macros}" != "xno"; 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 "x${ac_cv_c_attribute_aligned}" != "x0"; then
Samuel Hocevar
committed
AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
[${ac_cv_c_attribute_aligned}],[Maximum supported data alignment])
case "x${target_cpu}" in
Samuel Hocevar
committed
x)
ARCH=unknown
;;
*)
ARCH="${target_cpu}"
;;
esac
case "${ARCH}" in
hppa64)
CFLAGS_mpeg_video="${CFLAGS_mpeg_video} -ffunction-sections"
;;
PLUGINS="${PLUGINS} dummy rc logger access_file memcpy"
Samuel Hocevar
committed
PLUGINS="${PLUGINS} es audio mpeg_system ps ts"
PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio"
#PLUGINS="${PLUGINS} a52old imdct downmix"
PLUGINS="${PLUGINS} lpcm a52"
PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur"
PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32"
PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler"
Samuel Hocevar
committed
PLUGINS="${PLUGINS} trivial_channel_mixer"
PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer"
Samuel Hocevar
committed
PLUGINS="${PLUGINS} aout_file"
#PLUGINS="${PLUGINS} scope"
PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga"
PLUGINS="${PLUGINS} id3 m3u"
PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm"
PLUGINS="${PLUGINS} access_udp access_http access_rtp ipv4 access_mms sap"
Samuel Hocevar
committed
MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx"
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
SSE_MODULES="imdctsse downmixsse"
ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec"
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)])
if test "x${ac_cv_mmx_inline}" != "xno"; then
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 "x${ac_cv_mmxext_inline}" != "xno"; then
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 "x${ac_cv_3dnow_inline}" != "xno"; 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 "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then
AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
fi
# don't try to grok AltiVec with native mingw32 it doesn't work right now
if test "x${SYS}" != "xmingw32"; then
[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 "x${ac_cv_altivec_inline}" != "xno"; then
AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks AltiVec inline assembly.)
if test "x${ac_cv_altivec_inline}" != "xyes"; then
Samuel Hocevar
committed
CFLAGS_idctaltivec="${CFLAGS_idctaltivec} ${ac_cv_altivec_inline}"
CFLAGS_motionaltivec="${CFLAGS_motionaltivec} ${ac_cv_altivec_inline}"
CFLAGS_memcpyaltivec="${CFLAGS_memcpyaltivec} ${ac_cv_altivec_inline}"
CFLAGS_vlc="${CFLAGS_vlc} ${ac_cv_altivec_inline}"
Christophe Massiot
committed
ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi
Christophe Massiot
committed
Samuel Hocevar
committed
[CFLAGS="${CFLAGS_save} -faltivec"
# Darwin test
ac_cv_c_altivec=-faltivec, [
# Linux/PPC test
Samuel Hocevar
committed
CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
[ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
])
Samuel Hocevar
committed
CFLAGS="${CFLAGS_save}"])
if test "x${ac_cv_c_altivec}" != "xno"; then
AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
Samuel Hocevar
committed
CFLAGS_idctaltivec="${CFLAGS_idctaltivec} ${ac_cv_c_altivec}"
CFLAGS_motionaltivec="${CFLAGS_motionaltivec} ${ac_cv_c_altivec}"
CFLAGS_memcpyaltivec="${CFLAGS_memcpyaltivec} ${ac_cv_c_altivec}"
CFLAGS_vlc="${CFLAGS_vlc} ${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}"
if test "x${ac_cv_ld_altivec}" != "xno"; then
Samuel Hocevar
committed
LDFLAGS_idctaltivec="${LDFLAGS_idctaltivec} -framework vecLib"
LDFLAGS_motionaltivec="${LDFLAGS_motionaltivec} -framework vecLib"
LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib"
LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib"
dnl Special arch tuning
AC_ARG_WITH(tuning,
(default i686 on IA-32 and 750 on PPC)])
if test "x${with_tuning}" != "x"; then
Samuel Hocevar
committed
if test "x${target_cpu}" = "xpowerpc"; then
CFLAGS_TUNING="-mtune=${with_tuning}"
else
CFLAGS_TUNING="-mcpu=${with_tuning}"
fi
Samuel Hocevar
committed
if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xi486" -o "x${target_cpu}" = "xi386"; then CFLAGS_TUNING="-mcpu=pentiumpro"
Samuel Hocevar
committed
if test "x${target_cpu}" = "xpowerpc"; then CFLAGS_TUNING="-mtune=750"; fi
if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386"
dnl
dnl Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
Samuel Hocevar
committed
[ --disable-optimizations disable compiler optimizations (default enabled)])
AM_CONDITIONAL(OPTIM, test "x${enable_optimizations}" != "xno")
AC_ARG_ENABLE(altivec,
[ --disable-altivec disable AltiVec optimizations (default enabled on PPC)],
[ if test "x${enable_altivec}" = "xyes"; then ARCH="${ARCH} altivec";
Christophe Massiot
committed
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
[ if test "x${target_cpu}" = "xpowerpc"; then ARCH="${ARCH} altivec";
Christophe Massiot
committed
BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
AC_ARG_ENABLE(debug,
Samuel Hocevar
committed
[ --enable-debug debug mode (default disabled)])
AM_CONDITIONAL(DEBUG, test "x${enable_debug}" = "xyes")
Samuel Hocevar
committed
[ --enable-release activate extra optimizations (default disabled)])
AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes")
dnl DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[ --enable-dvd DVD input module (default enabled)])
if test "x${enable_dvd}" != "xno"
Samuel Hocevar
committed
AC_ARG_WITH(dvdcss,
Samuel Hocevar
committed
AC_ARG_WITH(dvdcss-tree,
case "x${with_dvdcss}" in
if test "x${with_dvdcss_tree}" = x
Samuel Hocevar
committed
[ PLUGINS="${PLUGINS} dvd"
LDFLAGS_dvd="${LDFLAGS_dvd} -ldvdcss"
LDFLAGS_dvdcss="${LDFLAGS_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`"
if test "x${real_dvdcss_tree}" = "x"
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)
Samuel Hocevar
committed
BUILTINS="${BUILTINS} dvd"
LDFLAGS_dvd="${LDFLAGS_dvd} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
LDFLAGS_dvdcss="${LDFLAGS_dvdcss} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
Samuel Hocevar
committed
CPPFLAGS_dvd="${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
Samuel Hocevar
committed
PLUGINS="${PLUGINS} dvd"
CPPFLAGS_dvd="${CPPFLAGS_dvd} -DGOD_DAMN_DMCA"
LDFLAGS_dvd="${LDFLAGS_dvd} -ldl"
AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
Samuel Hocevar
committed
PLUGINS="${PLUGINS} dvd"
LDFLAGS_dvd="${LDFLAGS_dvd} -L${with_dvdcss}/lib -ldvdcss"
LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${with_dvdcss}/lib -ldvdcss"
Samuel Hocevar
committed
CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${with_dvdcss}/include"
dnl dvdread module: check for libdvdread
AC_ARG_ENABLE(dvdread,
[ --enable-dvdread dvdread input module (default disabled)])
if test "x${enable_dvdread}" != "xno"
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])
if test "x${with_dvdread}" = x
if test "x${with_dvdread_tree}" = x
AC_CHECK_HEADERS(dvdread/dvdread.h,
[ PLUGINS="${PLUGINS} dvdread"
LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread" ],
[ if test "x${enable_dvdread}" != "x"
then
AC_MSG_WARN([Please get libdvdread from http://www.dtek.chalmers.se/groups/dvd/downloads.shtml])
AC_MSG_ERROR([cannot find libdvdread headers])
fi ])
else
AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree})
real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`"
if test "x${real_dvdread_tree}" = "x"
dnl The given directory can't be found
AC_MSG_RESULT(no)
AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}])
fi
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)
BUILTINS="${BUILTINS} dvdread"
LDFLAGS_dvdread="${LDFLAGS_dvdread} ${real_dvdread_tree}/dvdread/.libs/libdvdread.a"
CPPFLAGS_dvdread="${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})
if test -f ${with_dvdread}/include/dvdread/dvdread.h
then
dnl Use ${with_dvdread}/include/dvdread/dvdread.h
AC_MSG_RESULT(yes)
PLUGINS="${PLUGINS} dvdread"