Skip to content
Snippets Groups Projects
configure.in 44.7 KiB
Newer Older
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Autoconf settings for vlc
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_INIT(include/main.h)
AC_CONFIG_HEADER(include/defs.h)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
VERSION="0.3.0"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
CODENAME=Ourumov
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Save CFLAGS and LDFLAGS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
save_CFLAGS="${CFLAGS}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
save_CPPFLAGS="${CPPFLAGS}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
save_LDFLAGS="${LDFLAGS}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl Check for tools
AC_PROG_MAKE_SET
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_PROG_CC
AC_PROG_CPP
gbazin's avatar
 
gbazin committed
dnl Find the right ranlib, even when cross-compiling
AC_CHECK_TOOL(RANLIB, ranlib, :)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_TOOL(STRIP, strip, :)
gbazin's avatar
 
gbazin committed

Christophe Massiot's avatar
Christophe Massiot committed
dnl Check for GNU make
AC_PATH_PROG(GMAKE, gmake, no)
if test "x$GMAKE" = "xno"; then
  AC_CACHE_CHECK([whether GNU make is installed],
      [ac_cv_gmake],
      [if make --version | grep -q -i gnu; then
         ac_cv_gmake="yes"
       else
         echo "This software needs you to install GNU make to compile properly."
         echo "You can get it from http://www.gnu.org/."
         exit
       fi])
  VLC_MAKE="make"
else
  VLC_MAKE="gmake"
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Gettext stuff
Samuel Hocevar's avatar
 
Samuel Hocevar committed
ALL_LINGUAS="de fr ja no ru nl"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_DEFINE_UNQUOTED(VLC_PACKAGE, "vlc", [Package name])
AC_DEFINE_UNQUOTED(VLC_VERSION, "$VERSION", [Package version])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AM_GNU_GETTEXT

dnl AM_PROG_LIBTOOL
AC_PROG_INSTALL

gbazin's avatar
 
gbazin committed
dnl
dnl  Check the operating system
dnl
case x"${target_os}" in
  x)
    SYS=unknown
    ;;
  xlinux*)
    SYS=linux
    ;;
  xbsdi*)
    SYS=bsdi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    save_CFLAGS="${save_CFLAGS} -pthread"
    dvd_LDFLAGS="${dvd_LDFLAGS} -ldvd"
    vcd_LDFLAGS="${vcd_LDFLAGS} -ldvd"
    ;;
  x*bsd*)
    SYS="${target_os}"
    save_CFLAGS="${save_CFLAGS} -pthread"
gbazin's avatar
 
gbazin committed
    ;;
  xdarwin*)
    SYS=darwin
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    save_CFLAGS="${save_CFLAGS} -no-cpp-precomp"
gbazin's avatar
 
gbazin committed
    ;;
  x*mingw32*)
    SYS=mingw32
    AC_CHECK_TOOL(WINDRES, windres, :)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    save_CFLAGS="${save_CFLAGS} -fnative-struct -D_OFF_T_ -D_off_t=long"
    save_LDFLAGS="${save_LDFLAGS} -mwindows -Xlinker --force-exe-suffix"
    vlc_LDFLAGS="${vlc_LDFLAGS} -lws2_32 -lnetapi32"
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lws2_32"
    rc_LDFLAGS="${rc_LDFLAGS} -lws2_32"
gbazin's avatar
 
gbazin committed
    ;;
  x*nto*)
    SYS=nto
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    x11_LDFLAGS="${x11_LDFLAGS} -lsocket"
    xvideo_LDFLAGS="${xvideo_LDFLAGS} -lsocket"
gbazin's avatar
 
gbazin committed
    ;;
  xbeos)
    SYS=beos
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    vlc_LDFLAGS="${vlc_LDFLAGS} -lbe"
    plugins_LDFLAGS="${plugins_LDFLAGS} -nostart"
    beos_LDFLAGS="${beos_LDFLAGS} -lbe -lgame -lroot -ltracker"
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind"
gbazin's avatar
 
gbazin committed
    ;;
  x*)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    SYS="${target_os}"
gbazin's avatar
 
gbazin committed
    ;;
esac

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Flags needed for clean BeOS compilation
if test x"${SYS}" != xbeos
then
  save_CFLAGS="${save_CFLAGS} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"
fi

dnl Flags for plugin compilation
if test x"${SYS}" = xmingw32
then
  plugins_CFLAGS="${plugins_CFLAGS} -fnative-struct"
else
  plugins_CFLAGS="${plugins_CFLAGS} -fPIC"
fi

dnl The -DSYS_FOO flag
save_CFLAGS="${save_CFLAGS} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr '[a-z].' '[A-Z]_'`"

dnl Check for system libs needed
gbazin's avatar
 
gbazin committed
AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty usleep vasprintf swab sigrelse getpwuid memalign posix_memalign)
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_FUNC(connect,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(socket,connect,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    ipv4_LDFLAGS="${ipv4_LDFLAGS} -lsocket"
    vlc_LDFLAGS="${vlc_LDFLAGS} -lsocket"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_FUNC(gethostbyname,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(nsl,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lnsl")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
])
AC_CHECK_FUNC(gethostbyname,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(bind,gethostbyname,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lbind")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
])
AC_CHECK_FUNC(nanosleep,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(rt,nanosleep,vlc_LDFLAGS="${vlc_LDFLAGS} -lrt",[
    AC_CHECK_LIB(posix4,nanosleep,vlc_LDFLAGS="${vlc_LDFLAGS} -lposix4")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ])
])
AC_CHECK_FUNC(inet_aton,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(resolv,inet_aton,ipv4_LDFLAGS="${ipv4_LDFLAGS} -lresolv")
])
AC_CHECK_FUNC(textdomain,,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_LIB(intl,textdomain,vlc_LDFLAGS="${vlc_LDFLAGS} -lintl")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for getopt
Samuel Hocevar's avatar
 
Samuel Hocevar committed
NEED_GETOPT=0
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)],
[ # FreeBSD has a gnugetopt library for this:
  AC_CHECK_LIB([gnugetopt],[getopt_long],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) vlc_LDFLAGS="${vlc_LDFLAGS} -lgnugetopt"],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [NEED_GETOPT=1])])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_LIB(dl,dlopen,vlc_LDFLAGS="${vlc_LDFLAGS} -ldl")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_LIB(m,cos,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
  filter_distort_LDFLAGS="${filter_distort_LDFLAGS} -lm")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_LIB(m,pow,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  imdct_LDFLAGS="${imdct_LDFLAGS} -lm"
  imdct3dn_LDFLAGS="${imdct3dn_LDFLAGS} -lm"
  imdctsse_LDFLAGS="${imdctsse_LDFLAGS} -lm"
  chroma_i420_rgb_LDFLAGS="${chroma_i420_rgb_LDFLAGS} -lm"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
)
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for pthreads - borrowed from XMMS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
THREAD_LIB=error
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(pthread,pthread_attr_init,THREAD_LIB="-lpthread")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(pthreads,pthread_attr_init,THREAD_LIB="-lpthreads")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_LIB(c_r,pthread_attr_init,THREAD_LIB="-lc_r")
fi
if test "x${THREAD_LIB}" = xerror; then
  AC_CHECK_FUNC(pthread_attr_init)
  THREAD_LIB=""
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl Check for cthreads under GNU/Hurd for instance
AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for misc headers
AC_EGREP_HEADER(pthread_cond_t,pthread.h,[
  AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
            Define if <pthread.h> defines pthread_cond_t.)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_EGREP_HEADER(strncasecmp,strings.h,[
  AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
            Define if <strings.h> defines strncasecmp.)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for headers
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_HEADERS(getopt.h strings.h)
AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h sys/times.h)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_HEADERS(dlfcn.h image.h)
AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_CHECK_HEADERS(machine/param.h sys/shm.h)
AC_CHECK_HEADERS(linux/version.h)
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_HEADER_TIME

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for threads library
AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h)

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for DPMS
if test x$SYS != xmingw32
then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  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.)
    ])
  ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CPPFLAGS="$save_CPPFLAGS"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for ntohl, etc.
AC_CACHE_CHECK([for ntohl in sys/param.h],
    [ac_cv_c_ntohl_sys_param_h],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
    AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if <sys/param.h> defines ntohl.)
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for inline function size limit
AC_CACHE_CHECK([if \$CC accepts -finline-limit],
    [ac_cv_c_inline_limit],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -finline-limit-30000"
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for -W or -w flags
AC_CACHE_CHECK([if \$CC accepts -Wall -Winline],
    [ac_cv_c_Wall_Winline],
    [CFLAGS="${save_CFLAGS} -Wall -Winline"
     AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)])
if test x"$ac_cv_c_Wall_Winline" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -Wall -Winline"
else
    AC_CACHE_CHECK([if \$CC accepts -wall -winline],
        [ac_cv_c_wall_winline],
        [CFLAGS="${save_CFLAGS} -wall -winline"
         AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)])
    if test x"$ac_cv_c_wall_winline" != x"no"; then
        save_CFLAGS="${save_CFLAGS} -wall -winline"
    fi
fi

dnl Check for -pipe
AC_CACHE_CHECK([if \$CC accepts -pipe],
    [ac_cv_c_pipe],
    [CFLAGS="${save_CFLAGS} -pipe"
     AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)])
if test x"$ac_cv_c_pipe" != x"no"; then
    save_CFLAGS="${save_CFLAGS} -pipe"
fi

dnl Check for various optimization flags
AC_CACHE_CHECK([if \$CC accepts -O3],
    [ac_cv_c_o3],
    [CFLAGS="${save_CFLAGS} -O3"
     AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)])
if test x"$ac_cv_c_o3" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3"
else
    AC_CACHE_CHECK([if \$CC accepts -O2],
        [ac_cv_c_o2],
        [CFLAGS="${save_CFLAGS} -O2"
         AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)])
    if test x"$ac_cv_c_o2" != x"no"; then
        CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2"
    else
        AC_CACHE_CHECK([if \$CC accepts -O],
            [ac_cv_c_o],
            [CFLAGS="${save_CFLAGS} -O"
             AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)])
        if test x"$ac_cv_c_o" != x"no"; then
            CFLAGS_OPTIM="${CFLAGS_OPTIM} -O"
        fi
    fi
fi

dnl Check for -ffast-math
AC_CACHE_CHECK([if \$CC accepts -ffast-math],
    [ac_cv_c_fast_math],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math"
fi

dnl Check for -funroll-loops
AC_CACHE_CHECK([if \$CC accepts -funroll-loops],
    [ac_cv_c_unroll_loops],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
    CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops"
fi

dnl Check for -fomit-frame-pointer
AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
    [ac_cv_c_omit_frame_pointer],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl Check for Darwin plugin linking flags
AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic],
    [CFLAGS="${save_CFLAGS} -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" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    plugins_LDFLAGS="${plugins_LDFLAGS} -bundle -undefined error -lcc_dynamic"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl Check for standard plugin linking flags
AC_CACHE_CHECK([if \$CC accepts -shared],
    [ac_cv_ld_plugins],
    [CFLAGS="${save_CFLAGS} -shared"
     AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
if test x"$ac_cv_ld_plugins" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    plugins_LDFLAGS="${plugins_LDFLAGS} -shared"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi
dnl Checks for __attribute__(aligned()) directive
AC_CACHE_CHECK([__attribute__ ((aligned ())) support],
    [ac_cv_c_attribute_aligned],
    [ac_cv_c_attribute_aligned=0
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        CFLAGS="${save_CFLAGS} -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])
if test x"$ac_cv_c_attribute_aligned" != x"0"; then
    AC_DEFINE_UNQUOTED([ATTRIBUTE_ALIGNED_MAX],
        [$ac_cv_c_attribute_aligned],[Maximum supported data alignment])
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl End of the bizarre compilation tests
Samuel Hocevar's avatar
 
Samuel Hocevar committed
CFLAGS="${save_CFLAGS}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
CPPFLAGS="${save_CPPFLAGS}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
LDFLAGS="${save_LDFLAGS}"
AC_CACHE_CHECK([for boolean_t in sys/types.h],
    [ac_cv_c_boolean_t_sys_types_h],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [AC_TRY_COMPILE([#include <sys/types.h>], [boolean_t foo;],
     ac_cv_c_boolean_t_sys_types_h=yes, ac_cv_c_boolean_t_sys_types_h=no)])
if test x"$ac_cv_c_boolean_t_sys_types_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_SYS_TYPES_H, 1, Define if <sys/types.h> defines boolean_t.)
fi

AC_CACHE_CHECK([for boolean_t in pthread.h],
    [ac_cv_c_boolean_t_pthread_h],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [AC_TRY_COMPILE([#include <pthread.h>], [boolean_t foo;],
     ac_cv_c_boolean_t_pthread_h=yes, ac_cv_c_boolean_t_pthread_h=no)])
if test x"$ac_cv_c_boolean_t_pthread_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_PTHREAD_H, 1, Define if <pthread.h> defines boolean_t.)
fi

AC_CACHE_CHECK([for boolean_t in cthreads.h],
    [ac_cv_c_boolean_t_cthreads_h],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [AC_TRY_COMPILE([#include <cthreads.h>], [boolean_t foo;],
     ac_cv_c_boolean_t_cthreads_h=yes, ac_cv_c_boolean_t_cthreads_h=no)])
if test x"$ac_cv_c_boolean_t_cthreads_h" != x"no"; then
    AC_DEFINE(BOOLEAN_T_IN_CTHREADS_H, 1, Define if <cthreads.h> defines boolean_t.)
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Check the CPU
dnl
case x"${target_cpu}" in
  x)
    ARCH=unknown
    ;;
  *)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    ARCH="${target_cpu}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    ;;
esac
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  default modules
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
BUILTINS="${BUILTINS} idct idctclassic motion imdct downmix chroma_i420_rgb chroma_i420_yuy2 chroma_i422_yuy2 chroma_i420_ymga mpeg_adec ac3_adec mpeg_vdec"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
PLUGINS="${PLUGINS} dummy null rc logger mpeg_es mpeg_ps mpeg_ts file udp http ipv4 memcpy lpcm_adec ac3_spdif spudec filter_deinterlace filter_invert filter_wall filter_transform filter_distort fx_scope"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  Accelerated modules
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext"
THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn"
gbazin's avatar
 
gbazin committed
SSE_MODULES="imdctsse downmixsse"
ALTIVEC_MODULES="idctaltivec motionaltivec"
AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
    [ac_cv_mmx_inline],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [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" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
    [ac_cv_mmxext_inline],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [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" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
    [ac_cv_3dnow_inline],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [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" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
    [ac_cv_sse_inline],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [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" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
Samuel Hocevar's avatar
 
Samuel Hocevar committed

gbazin's avatar
 
gbazin committed
# don't try to grok altivec with native mingw32 it doesn't work right now
# we should be able to remove this test with future versions of mingw32
if test x$SYS != xmingw32; then
AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
    [ac_cv_altivec_inline],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
         ac_cv_altivec_inline=yes,
         [save_CFLAGS=$CFLAGS
          CFLAGS="$CFLAGS -Wa,-m7400"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
          AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");],
            [ac_cv_altivec_inline="-Wa,-m7400"],
            ac_cv_altivec_inline=no)
if test x"$ac_cv_altivec_inline" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
  if test x"$ac_cv_altivec_inline" != x"yes"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_altivec_inline"
    motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_altivec_inline"
    memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_altivec_inline"
    vlc_CFLAGS="$vlc_CFLAGS $ac_cv_altivec_inline"
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
    [ac_cv_c_altivec],
    [save_CFLAGS=$CFLAGS
     CFLAGS="$CFLAGS -faltivec"
     # Darwin test
Samuel Hocevar's avatar
 
Samuel Hocevar committed
     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
        ac_cv_c_altivec=-faltivec, [
        # Linux/PPC test
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        CFLAGS="$save_CFLAGS $idctaltivec_CFLAGS -fvec"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
        ])
     CFLAGS=$save_CFLAGS
    ])
if test x"$ac_cv_c_altivec" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  idctaltivec_CFLAGS="$idctaltivec_CFLAGS $ac_cv_c_altivec"
  motionaltivec_CFLAGS="$motionaltivec_CFLAGS $ac_cv_c_altivec"
  memcpyaltivec_CFLAGS="$memcpyaltivec_CFLAGS $ac_cv_c_altivec"
  vlc_CFLAGS="$vlc_CFLAGS $ac_cv_c_altivec"
  ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
fi

AC_CACHE_CHECK([if linker needs -framework vecLib],
    [ac_cv_ld_altivec],
    [save_LDFLAGS=$LDFLAGS
     LDFLAGS="$LDFLAGS -framework vecLib"
     AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
     LDFLAGS=$save_LDFLAGS
    ])
if test x"$ac_cv_ld_altivec" != x"no"; then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  idctaltivec_LDFLAGS="${idctaltivec_LDFLAGS} -framework vecLib"
  motionaltivec_LDFLAGS="${motionaltivec_LDFLAGS} -framework vecLib"
  memcpyaltivec_LDFLAGS="${memcpyaltivec_LDFLAGS} -framework vecLib"
  vlc_LDFLAGS="${vlc_LDFLAGS} -framework vecLib"
gbazin's avatar
 
gbazin committed
fi # end if mingw32
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_WITH(,[])
AC_ARG_WITH(,[Optimization options:])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
[  --with-tuning=ARCH      enable special tuning for an architecture
                          (default i686 on IA-32 and 750 on PPC)])
if test "x$withval" != "x"; then
    TUNING=$withval
else
    if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xi486 -o x${target_cpu} = xi386; then TUNING="pentiumpro"
        if test x${target_cpu} = xpowerpc; then TUNING="750"; fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  x86 accelerations
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x${target_cpu} = xi686 -o x${target_cpu} = xi586 -o x${target_cpu} = xx86 -o x${target_cpu} = xi386
then
    ARCH="${ARCH} mmx"
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Enable/disable optimizations
dnl
AC_ARG_ENABLE(optimizations,
[  --disable-optimizations disable compiler optimizations (default enabled)],
[ if test x$enableval = xno; then OPTIMS=0; fi ],
[ OPTIMS=1 ])

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  AltiVec acceleration
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
[  --disable-altivec       disable altivec optimizations (default enabled on PPC)],
[ if test x$enableval = xyes; then ARCH="${ARCH} altivec";
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ],
[ if test x${target_cpu} = xpowerpc; then ARCH="${ARCH} altivec";
    BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  Debugging mode
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
DEBUG=0
Samuel Hocevar's avatar
 
Samuel Hocevar committed
[  --enable-debug          debug mode (default disabled)],
[ if test x$enableval = xyes; then DEBUG=1; fi ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Enable release-specific flags
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
RELEASE=0
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(release,
[  --enable-release        activate extra optimizations (default disabled)],
[ if test x$enableval = xyes; then RELEASE=1; fi ],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
[ VERSION="${VERSION}_`date +%Y-%m-%d`" ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Input plugins
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_WITH(,[Input plugins:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  DVD module: optionally check for installed libdvdcss
dnl
AC_ARG_ENABLE(dvd,
[  --enable-dvd            DVD input module (default enabled)])
if test "x$enableval" != "xno"
then
  AC_ARG_WITH(dvdcss, 
  [    --with-dvdcss=PATH    libdvdcss headers and libraries])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_ARG_WITH(dvdcss-tree, 
  [    --with-dvdcss-tree=PATH libdvdcss tree for static linking])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  case "x$with_dvdcss" in
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  x|xyes)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    if test "x$with_dvdcss_tree" = x
    then
      AC_CHECK_HEADERS(dvdcss/dvdcss.h,
        [ PLUGINS="${PLUGINS} dvd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
          dvd_LDFLAGS="${dvd_LDFLAGS} -ldvdcss" ],
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        [ 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)
        BUILTINS="${BUILTINS} dvd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        dvd_LDFLAGS="${dvd_LDFLAGS} ${real_dvdcss_tree}/src/.libs/libdvdcss.a"
        dvd_CFLAGS="${dvd_CFLAGS} -I${real_dvdcss_tree}/src"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      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's avatar
 
Samuel Hocevar committed
  ;;
  xno)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    dnl  Compile without dvdcss (dlopen version, works only under Linux)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    PLUGINS="${PLUGINS} dvd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    dvd_CFLAGS="${dvd_CFLAGS} -DGOD_DAMN_DMCA"
    dvd_LDFLAGS="${dvd_LDFLAGS} -ldl"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ;;
  *)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    AC_MSG_CHECKING(for dvdcss headers in ${with_dvdcss})
    if test -f ${with_dvdcss}/include/dvdcss/dvdcss.h
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      dnl  Use ${with_dvdcss}/include/dvdcss/dvdcss.h
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      AC_MSG_RESULT(yes)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      PLUGINS="${PLUGINS} dvd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      dvd_LDFLAGS="${dvd_LDFLAGS} -L${with_dvdcss}/lib -ldvdcss"
      dvd_CFLAGS="${dvd_CFLAGS} -I${with_dvdcss}/include"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    else
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      dnl  No libdvdcss could be found, sorry
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      AC_MSG_RESULT(no)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      AC_MSG_ERROR([cannot find ${with_dvdcss}/include/dvdcss/dvdcss.h])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    fi
  ;;
  esac
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Stéphane Borel's avatar
Stéphane Borel committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl dvdread module: check for libdvdread plugin
Stéphane Borel's avatar
Stéphane Borel committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(dvdread,
[  --enable-dvdread        dvdread input module (default disabled)])
if test "x$enableval" != "xno"
then
  AC_ARG_WITH(dvdread, 
  [    --with-dvdread=PATH   libdvdread headers and libraries])
  case "x$with_dvdread" in
  x)
    AC_CHECK_HEADERS(dvdread/dvd_reader.h,
      [ PLUGINS="${PLUGINS} dvdread"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        dvdread_LDFLAGS="${dvdread_LDFLAGS} -ldvdread" ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ;;
  *)
    AC_MSG_CHECKING(for dvdread headers in ${withval})
    if test -f ${withval}/include/dvdread/dvd_reader.h
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      AC_MSG_RESULT(yes)
      PLUGINS="${PLUGINS} dvdread"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      dvdread_LDFLAGS="${dvdread_LDFLAGS} -L${withval}/lib -ldvdread"
      dvdread_CFLAGS="${dvdread_CFLAGS} -I${withval}/include"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      AC_MSG_RESULT(no)
      AC_MSG_ERROR([Cannot find ${withval}/dvdread/dvd_reader.h])
    fi
  ;;
  esac
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  VCD module
dnl
AC_ARG_ENABLE(vcd,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-vcd            VCD support for Linux and MacOS X (default enabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_vcd != xno
then
  AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    PLUGINS="${PLUGINS} vcd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test "x${SYS}" = "xbsdi"
  then
    PLUGINS="${PLUGINS} vcd"
  fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test "x${SYS}" = "xdarwin"
  then
    PLUGINS="${PLUGINS} vcd"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    vcd_LDFLAGS="${vcd_LDFLAGS} -framework IOKit -framework CoreFoundation" 
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  fi
Johan Bilien's avatar
Johan Bilien committed
dnl
dnl  Satellite input module
dnl
AC_ARG_ENABLE(satellite,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-satellite      satellite card support (default disabled)],
Johan Bilien's avatar
Johan Bilien committed
  [ if test x$enable_satellite = xyes
    then
      BUILTINS="${BUILTINS} satellite"
      AC_DEFINE(HAVE_SATELLITE, 1, define if compiling with satellite card support)
    fi])

Christophe Massiot's avatar
Christophe Massiot committed
AC_CHECK_FUNC(inet_pton,[PLUGINS="${PLUGINS} ipv6"])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Codec plugins
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_WITH(,[Codec plugins:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  mad plugin
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(mad,
  [  --enable-mad            libmad module (default disabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_mad = xyes
Samuel Hocevar's avatar
 
Samuel Hocevar committed
then
  PLUGINS="${PLUGINS} mad"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  mad_LDFLAGS="${mad_LDFLAGS} -lmad"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_ARG_WITH(mad,
    [    --with-mad=PATH       path to libmad],
    [ if test "x$with_val" != "xno" -a "x$with_val" != "x"
      then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        mad_CFLAGS="${mad_CFLAGS} -I$with_val/include"
        mad_LDFLAGS="${mad_LDFLAGS} -L$with_val/lib"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      fi ])
  save_CFLAGS=$CFLAGS
  save_LDFLAGS=$LDFLAGS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CFLAGS="$CFLAGS $mad_CFLAGS"
  LDFLAGS="$LDFLAGS $mad_LDFLAGS"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_HEADERS(mad.h, ,
  [ echo "Cannot find development headers for libmad..."
    exit 1
  ])
  AC_CHECK_LIB(mad, mad_bit_init, ,
  [ echo "Cannot find libmad library..."
    exit 1
  ])
  CFLAGS=$save_CFLAGS
  LDFLAGS=$save_LDFLAGS
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl special case for BeOS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$SYS = xbeos
then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    PLUGINS="${PLUGINS} beos"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi
gbazin's avatar
 
gbazin committed
dnl
gbazin's avatar
 
gbazin committed
dnl  a52 AC3 decoder plugin
gbazin's avatar
 
gbazin committed
dnl
gbazin's avatar
 
gbazin committed
AC_ARG_ENABLE(a52,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-a52            AC3 support with liba52 (default enabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test "x$enableval" != "xno" -a x$SYS != xmingw32
gbazin's avatar
 
gbazin committed
  then
    AC_CHECK_HEADERS(a52dec/a52.h, [
gbazin's avatar
 
gbazin committed
      BUILTINS="${BUILTINS} a52"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      a52_LDFLAGS="${a52_LDFLAGS} -la52 -lm"
gbazin's avatar
 
gbazin committed
     ],[])
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  ogg vorbis plugin
dnl
AC_ARG_ENABLE(vorbis,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-vorbis         Ogg/Vorbis decoder support (default enabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test "x$enableval" != "xno"
then
  AC_CHECK_HEADERS(ogg/ogg.h, [
    PLUGINS="${PLUGINS} vorbis"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    vorbis_LDFLAGS="${vorbis_LDFLAGS} -lvorbis"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
   ],[])
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Video plugins
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl

Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_WITH(,[Video plugins:])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  X11 module
dnl  (enabled by default except on win32)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(x11,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-x11            X11 support (default enabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_x11 != xno &&
  (test x$SYS != xmingw32 || test x$enable_x11 = xyes); then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_HEADERS(X11/Xlib.h, [
    PLUGINS="${PLUGINS} x11"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    x11_LDFLAGS="${x11_LDFLAGS} -L$x_libraries -lX11 -lXext"
    x11_CFLAGS="${x11_CFLAGS} -I$x_includes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CPPFLAGS="$save_CPPFLAGS"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi

dnl
dnl  XVideo module
dnl  (enabled by default except on win32)
dnl
AC_ARG_ENABLE(xvideo,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-xvideo         XVideo support (default enabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_xvideo != xno &&
  (test x$SYS != xmingw32 || test x$enable_xvideo = xyes); then
  if test x$x_includes = xNONE; then
    x_includes=/usr/X11R6/include
  fi
  if test x$x_libraries = xNONE; then
    x_libraries=/usr/X11R6/lib
  fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  save_CPPFLAGS=$CPPFLAGS
  CPPFLAGS="$save_CPPFLAGS -I$x_includes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_CHECK_HEADERS(X11/extensions/Xv.h, [
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    save_CFLAGS=$CFLAGS
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    CFLAGS="$CFLAGS -L$x_libraries -lX11 -lXext"
    AC_CHECK_LIB(Xv_pic,XvSetPortAttribute,
      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
      PLUGINS="${PLUGINS} xvideo"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv_pic"
      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes",
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      # We don't have Xv_pic, let's make xvideo.a as builtin
      BUILTINS="${BUILTINS} xvideo"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      xvideo_LDFLAGS="${xvideo_LDFLAGS} -L$x_libraries -lX11 -lXext -lXv"
      xvideo_CFLAGS="${xvideo_CFLAGS} -I$x_includes")
    CFLAGS="$save_CFLAGS"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ]
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  CPPFLAGS="$save_CPPFLAGS")
Samuel Hocevar's avatar
 
Samuel Hocevar committed
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

dnl
dnl  SDL module
dnl
AC_ARG_ENABLE(sdl,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-sdl            SDL support (default enabled)])
  SDL_PATH=$PATH
  AC_ARG_WITH(sdl-config-path,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [    --with-sdl-config-path=PATH sdl-config path (default search in \$PATH)],
    [ if test "x$withval" != "xno"
      then
        SDL_PATH=$withval:$PATH
      fi ])
  AC_PATH_PROG(SDL12_CONFIG, sdl12-config, no, $SDL_PATH)
  SDL_CONFIG=${SDL12_CONFIG}
  SDL_HEADER="SDL12/SDL.h"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test x${SDL_CONFIG} = xno
  then
    AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, $SDL_PATH)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    SDL_CONFIG=${SDL11_CONFIG}
    SDL_HEADER="SDL11/SDL.h"
  fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test x${SDL_CONFIG} = xno
  then
    AC_PATH_PROG(SDL_CONFIG, sdl-config, no, $SDL_PATH)
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test x${SDL_CONFIG} != xno
  then
    PLUGINS="${PLUGINS} sdl"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    sdl_CFLAGS="${sdl_CFLAGS} `${SDL_CONFIG} --cflags`"
    sdl_LDFLAGS="${sdl_LDFLAGS} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`"
    CPPFLAGS="$save_CPPFLAGS $sdl_CFLAGS"
    AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE,
      <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h),
      [ AC_MSG_ERROR([The development package for SDL is not installed. 
Please install it and try again. Alternatively you can also configure with 
--disable-sdl.])
      ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    CPPFLAGS="$save_CPPFLAGS"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    then
      AC_MSG_ERROR([The development package for SDL is not installed.
Please install it and try again. Alternatively you can also configure with
--disable-sdl.])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    fi
  elif test "x$enable_sdl" =  "xyes"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  then
    AC_MSG_ERROR([I couldn't find the SDL package. You can download libSDL
from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day.
    ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Windows DirectX module
dnl
AC_ARG_ENABLE(directx,
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  [  --enable-directx        Win32 DirectX support (default enabled on Win32)])
if test "x$enableval" != "xno"
then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  if test x$SYS = xmingw32
Xavier Marchesini's avatar
 
Xavier Marchesini committed
    AC_ARG_WITH(directx, 
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    [    --with-directx=PATH   Win32 DirectX headers and libraries])
    if test "x$with_directx" = "x"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    then
gbazin's avatar
 
gbazin committed
      AC_CHECK_HEADERS(ddraw.h,
      [ PLUGINS="${PLUGINS} directx"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        directx_LDFLAGS="${directx_LDFLAGS} -lgdi32" ])
    else
      AC_MSG_CHECKING(for directX headers in ${withval})
gbazin's avatar
 
gbazin committed
      if test -f ${withval}/ddraw.h
gbazin's avatar
 
gbazin committed
      then
        PLUGINS="${PLUGINS} directx"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        directx_LDFLAGS="${directx_LDFLAGS} -L${withval}/lib -lgdi32"
        directx_CFLAGS="${directx_CFLAGS} -I${withval}"
        AC_MSG_RESULT(yes)
gbazin's avatar
 
gbazin committed
      else
        AC_MSG_RESULT(no)
gbazin's avatar
 
gbazin committed
        AC_MSG_ERROR([Cannot find ${withval}/ddraw.h!])
gbazin's avatar
 
gbazin committed
      fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

gbazin's avatar
 
gbazin committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Linux framebuffer module
gbazin's avatar
 
gbazin committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(fb,
  [  --enable-fb             Linux framebuffer support (default enabled on Linux)])
    if test x$enable_fb != xno
    then
      AC_CHECK_HEADERS(linux/fb.h, [
        PLUGINS="${PLUGINS} fb"
      ])
    fi
gbazin's avatar
 
gbazin committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl  Linux MGA module
Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(mga,
  [  --enable-mga            Linux kernel Matrox support (default disabled)],
  [ if test x$enable_mga = xyes
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      PLUGINS="${PLUGINS} mga xmga"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
    fi ])
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  GGI module
dnl
AC_ARG_ENABLE(ggi,
  [  --enable-ggi            GGI support (default disabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_ggi = xyes
Samuel Hocevar's avatar
 
Samuel Hocevar committed
then
  PLUGINS="${PLUGINS} ggi"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  ggi_LDFLAGS="${ggi_LDFLAGS} -lggi"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_ARG_WITH(ggi,
    [    --with-ggi=PATH       path to libggi],
    [ if test "x$with_val" != "xno" -a "x$with_val" != "x"
      then
        CFLAGS_GGI="${CFLAGS_GGI} -I$with_val/include"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        ggi_LDFLAGS="${ggi_LDFLAGS} -L$with_val/lib"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      fi ])
fi

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  Glide module
dnl
Samuel Hocevar's avatar
 
Samuel Hocevar committed
AC_ARG_ENABLE(glide,
  [  --enable-glide          Glide (3dfx) support (default disabled)])
Samuel Hocevar's avatar
 
Samuel Hocevar committed
if test x$enable_glide = xyes
Samuel Hocevar's avatar
 
Samuel Hocevar committed
then
  PLUGINS="${PLUGINS} glide"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  glide_LDFLAGS="${glide_LDFLAGS} -lglide2x -lm"
  glide_CFLAGS="${glide_CFLAGS} -I/usr/include/glide"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
  AC_ARG_WITH(glide,
    [    --with-glide=PATH     path to libglide],
    [ if test "x$with_val" != "xno" -a "x$with_val" != "x"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      then
Samuel Hocevar's avatar
 
Samuel Hocevar committed
        glide_CFLAGS="${glide_CFLAGS} -I$with_val/include"
        glide_LDFLAGS="${glide_LDFLAGS} -L$with_val/lib"
Samuel Hocevar's avatar
 
Samuel Hocevar committed
      fi ])
fi
Samuel Hocevar's avatar
 
Samuel Hocevar committed

Samuel Hocevar's avatar
 
Samuel Hocevar committed
dnl
dnl  AA plugin
dnl
AC_ARG_ENABLE(aa,
  [  --enable-aa             aalib output (default disabled)])
if test x$enable_aa = xyes
then
  AC_CHECK_HEADER(aalib.h,have_aa="true",have_aa="false")