dnl Autoconf settings for vlc and libdvdcss AC_INIT(include/main.h) AC_CONFIG_HEADER(include/defs.h) AC_CANONICAL_SYSTEM HAVE_VLC=0 if test -r src/interface/main.c; then HAVE_VLC=1 VLC_VERSION="0.2.92-dev" VLC_CODENAME=Ourumov fi HAVE_LIBDVDCSS=0 if test -r extras/libdvdcss/libdvdcss.c; then HAVE_LIBDVDCSS=1 LIBDVDCSS_VERSION="1.0.1-dev" AC_SUBST(LIBDVDCSS_VERSION) if test -r extras/libdvdcss/csskeys.h; then AC_DEFINE(HAVE_CSSKEYS,1,css decryption with player keys) fi fi dnl Save CFLAGS and LDFLAGS save_CFLAGS="${CFLAGS}" save_LDFLAGS="${LDFLAGS}" dnl Check for tools AC_PROG_MAKE_SET AC_PROG_CC AC_PROG_CPP dnl Find the right ranlib, even when cross-compiling AC_CHECK_TOOL(RANLIB, ranlib, :) dnl Gettext stuff ALL_LINGUAS="de fr no ru" AC_DEFINE_UNQUOTED(PACKAGE, "vlc") AC_DEFINE_UNQUOTED(VERSION, "$VLC_VERSION") AM_GNU_GETTEXT dnl AM_PROG_LIBTOOL AC_PROG_INSTALL dnl dnl Check the operating system dnl case x"${target_os}" in x) SYS=unknown ;; xlinux*) SYS=linux ;; xbsdi*) SYS=bsdi ;; xdarwin*) SYS=darwin ;; x*mingw32*) SYS=mingw32 AC_CHECK_TOOL(WINDRES, windres, :) LIB_IPV4="${LIB_IPV4} -lws2_32" LIB_RC="${LIB_RC} -lws2_32" ;; x*nto*) SYS=nto LIB_X11="${LIB_X11} -lsocket" LIB_XVIDEO="${LIB_XVIDEO} -lsocket" ;; xbeos) SYS=beos LIB_IPV4="${LIB_IPV4} -lbind" LIB_BEOS="${LIB_BEOS} -lbe -lgame -lroot -ltracker" PLDFLAGS="${PLDFLAGS} -nostart" ;; x*) SYS=${target_os} ;; esac dnl Check for system libs needed AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty) AC_CHECK_FUNC(connect,,[ AC_CHECK_LIB(socket,connect, LIB_IPV4="${LIB_IPV4} -lsocket" LIB_VLC="${LIB_VLC} -lsocket" )]) AC_CHECK_FUNC(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname,LIB_IPV4="${LIB_IPV4} -lnsl") ]) AC_CHECK_FUNC(gethostbyname,,[ AC_CHECK_LIB(bind,gethostbyname,LIB_IPV4="${LIB_IPV4} -lbind") ]) AC_CHECK_FUNC(nanosleep,,[ AC_CHECK_LIB(rt,nanosleep,LIB_VLC="${LIB_VLC} -lrt",[ AC_CHECK_LIB(posix4,nanosleep,LIB_VLC="${LIB_VLC} -lposix4") ]) ]) AC_CHECK_FUNCS(usleep) AC_CHECK_FUNC(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton,LIB_VLC="${LIB_VLC} -lresolv") ]) AC_CHECK_FUNCS(vasprintf) AC_CHECK_FUNCS(swab) AC_CHECK_FUNCS([memalign valloc]) AC_CHECK_FUNCS(sigrelse) AC_CHECK_FUNCS(getpwuid_r getpwuid) dnl Check for getopt NEED_GETOPT=0 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], [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LIB_VLC="${LIB_VLC} -lgnugetopt"], [NEED_GETOPT=1])]) AC_TYPE_SIGNAL AC_CHECK_LIB(dl,dlopen,LIB_VLC="${LIB_VLC} -ldl") AC_CHECK_LIB(m,cos, LIB_IMDCT="${LIB_IMDCT} -lm" LIB_FILTER_DISTORT="${LIB_FILTER_DISTORT} -lm") AC_CHECK_LIB(m,pow, LIB_IMDCT="${LIB_IMDCT} -lm" LIB_IMDCT3DN="${LIB_IMDCT3DN} -lm" LIB_IMDCTSSE="${LIB_IMDCTSSE} -lm" ) dnl Check for pthreads - borrowed from XMMS 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 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,[ AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1, Define if defines pthread_cond_t.)]) AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1, Define if defines strncasecmp.)]) dnl Check for headers AC_CHECK_HEADERS(getopt.h strings.h) AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/time.h sys/times.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(machine/param.h sys/shm.h) AC_HEADER_TIME dnl Check for threads library AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h) 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 saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS -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 defines DPMSInfo.) ]) ]) CPPFLAGS=$saved_CPPFLAGS fi 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 ], [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 defines ntohl.) fi 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 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 dnl Check for Darwin plugin linking flags AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic], [ac_cv_ld_darwin], [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 PLDFLAGS="${PLDFLAGS} -bundle -undefined error -lcc_dynamic" fi 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 PLDFLAGS="${PLDFLAGS} -shared" fi dnl Check for soname setting if test x"${SOFLAGS}" = x; then AC_CACHE_CHECK([for soname setting], [ac_cv_ld_soname], [ # Standard try_SOFLAGS="-Wl,-soname -Wl," LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0" AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}", [ # SunOS try_SOFLAGS="-Wl,-h -Wl," LDFLAGS="${save_LDFLAGS} ${try_SOFLAGS}foo.so.0" AC_TRY_LINK([],,ac_cv_ld_soname="${try_SOFLAGS}", ac_cv_ld_soname=none) ])]) if test x"$ac_cv_ld_soname" != x"none"; then SOFLAGS=$ac_cv_ld_soname else echo " ------------ Your system doesn't seem to have support for dynamic linking. You may have problems using libdvdcss. ------------ " fi fi dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], [ac_cv_c_attribute_aligned], [ac_cv_c_attribute_aligned=0 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 dnl End of the bizarre compilation tests CFLAGS="${save_CFLAGS}" LDFLAGS="${save_LDFLAGS}" dnl Check for boolean_t AC_CACHE_CHECK([for boolean_t in sys/types.h], [ac_cv_c_boolean_t_sys_types_h], [AC_TRY_COMPILE([#include ], [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 defines boolean_t.) fi AC_CACHE_CHECK([for boolean_t in pthread.h], [ac_cv_c_boolean_t_pthread_h], [AC_TRY_COMPILE([#include ], [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 defines boolean_t.) fi AC_CACHE_CHECK([for boolean_t in cthreads.h], [ac_cv_c_boolean_t_cthreads_h], [AC_TRY_COMPILE([#include ], [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 defines boolean_t.) fi dnl dnl Check the CPU dnl case x"${target_cpu}" in x) ARCH=unknown ;; *) ARCH=${target_cpu} ;; esac dnl dnl default modules dnl 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" 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" dnl dnl Accelerated modules dnl MMX_MODULES="memcpymmx idctmmx motionmmx chroma_i420_rgb_mmx chroma_i420_yuy2_mmx chroma_i422_yuy2_mmx chroma_i420_ymga_mmx" MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext" THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn" SSE_MODULES="imdctsse downmixsse" ALTIVEC_MODULES="idctaltivec motionaltivec" AC_CACHE_CHECK([if \$CC groks MMX inline assembly], [ac_cv_mmx_inline], [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 ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" fi AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly], [ac_cv_mmxext_inline], [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 ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}" fi AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [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 AC_DEFINE(CAN_COMPILE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.) ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}" fi AC_CACHE_CHECK([if \$CC groks SSE inline assembly], [ac_cv_sse_inline], [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 AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.) ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}" fi # 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], [AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");], ac_cv_altivec_inline=yes, [save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -Wa,-m7400" AC_TRY_COMPILE(,[asm volatile("vperm 0,1,2,3");], [ac_cv_altivec_inline="-Wa,-m7400"], ac_cv_altivec_inline=no) CFLAGS=$save_CFLAGS ])]) if test x"$ac_cv_altivec_inline" != x"no"; then AC_DEFINE(CAN_COMPILE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.) if test x"$ac_cv_altivec_inline" != x"yes"; then CFLAGS_IDCTALTIVEC="$CFLAGS_IDCTALTIVEC $ac_cv_altivec_inline" CFLAGS_MOTIONALTIVEC="$CFLAGS_MOTIONALTIVEC $ac_cv_altivec_inline" CFLAGS_VLC="$CFLAGS_VLC $ac_cv_altivec_inline" fi ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi AC_CACHE_CHECK([if \$CC groks Altivec C extensions], [ac_cv_c_altivec], [save_CFLAGS=$CFLAGS CFLAGS="$CFLAGS -faltivec" # Darwin test AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));], ac_cv_c_altivec=-faltivec, [ # Linux/PPC test CFLAGS="$save_CFLAGS $CFLAGS_IDCTALTIVEC -fvec" 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 AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.) CFLAGS_IDCTALTIVEC="$CFLAGS_IDCTALTIVEC $ac_cv_c_altivec" CFLAGS_MOTIONALTIVEC="$CFLAGS_MOTIONALTIVEC $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], [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 LIB_IDCTALTIVEC="${LIB_IDCTALTIVEC} -framework vecLib" LIB_MOTIONALTIVEC="${LIB_MOTIONALTIVEC} -framework vecLib" LIB_VLC="${LIB_VLC} -framework vecLib" fi fi # end if mingw32 dnl dnl DVD and VCD devices dnl case x$SYS in xmingw32) DVD_DEVICE="E:" VCD_DEVICE="E:" ;; *) DVD_DEVICE="/dev/dvd" VCD_DEVICE="/dev/cdrom" ;; esac AC_DEFINE_UNQUOTED(DVD_DEVICE, "$DVD_DEVICE") AC_DEFINE_UNQUOTED(VCD_DEVICE, "$VCD_DEVICE") dnl dnl libdvdcss: check for DVD ioctls dnl dnl default is no CAN_BUILD_LIBDVDCSS=0 dnl for windoze AC_CHECK_HEADERS(winioctl.h,[ CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}" ]) dnl for Un*x and BeOS AC_CHECK_HEADERS(sys/ioctl.h,[ CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}" AC_CHECK_HEADERS(sys/cdio.h sys/dvdio.h linux/cdrom.h dvd.h) BSD_DVD_STRUCT=0 LINUX_DVD_STRUCT=0 OPENBSD_DVD_STRUCT=0 dnl dnl Old FreeBSD: sys/cdio.h dnl AC_EGREP_HEADER(dvd_struct,sys/cdio.h,[ AC_DEFINE(DVD_STRUCT_IN_SYS_CDIO_H, 1, Define if defines dvd_struct.) AC_EGREP_HEADER(struct dvd_struct,sys/cdio.h,[ BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1; OPENBSD_DVD_STRUCT=1]) ]) dnl dnl Newer FreeBSD: sys/dvdio.h dnl AC_EGREP_HEADER(dvd_struct,sys/dvdio.h,[ AC_DEFINE(DVD_STRUCT_IN_SYS_DVDIO_H, 1, Define if defines dvd_struct.) AC_EGREP_HEADER(struct dvd_struct,sys/dvdio.h,[ BSD_DVD_STRUCT=1],[LINUX_DVD_STRUCT=1]) ]) dnl dnl Linux: linux/cdrom.h dnl AC_EGREP_HEADER(dvd_struct,linux/cdrom.h,[ AC_DEFINE(DVD_STRUCT_IN_LINUX_CDROM_H, 1, Define if defines DVD_STRUCT.) LINUX_DVD_STRUCT=1 ]) dnl dnl BSDI: dvd.h dnl NEED_BSDI_LIBDVD=0 AC_EGREP_HEADER(dvd_struct,dvd.h,[ AC_DEFINE(DVD_STRUCT_IN_DVD_H, 1, Define if defines DVD_STRUCT.) LIB_LIBDVDCSS="${LIB_LIBDVDCSS} -ldvd" LINUX_DVD_STRUCT=1 ],[ dnl dnl BSDI: /sys/dev/scsi/scsi_ioctl.h, using our own libdvd dnl AC_CHECK_HEADERS(/sys/dev/scsi/scsi_ioctl.h,[ NEED_BSDI_LIBDVD=1 AC_DEFINE(DVD_STRUCT_IN_BSDI_DVDIOCTL_DVD_H, 1, Define if defines DVD_STRUCT.) SRC_DVDCSS_EXTRA="${SRC_DVDCSS_EXTRA} bsdi_dvdioctl.c" LINUX_DVD_STRUCT=1 ]) ]) dnl dnl Solaris: sys/scsi/scsi_types.h, sys/scsi/impl/uscsi.h dnl AC_CHECK_HEADER(sys/scsi/scsi_types.h,[ AC_CHECK_HEADER(sys/scsi/impl/uscsi.h,[ AC_DEFINE(SOLARIS_USCSI, 1, Have userspace SCSI headers.) ]) ]) dnl dnl HP-UX: sys/scsi.h dnl AC_CHECK_HEADER(sys/scsi.h,[ AC_EGREP_HEADER(sctl_io,sys/scsi.h,[ AC_DEFINE(HPUX_SCTL_IO, 1, Define if defines sctl_io.) ]) ]) dnl dnl Final tests to check what was detected dnl if test x$LINUX_DVD_STRUCT = x1; then AC_DEFINE(HAVE_LINUX_DVD_STRUCT, 1, Define if Linux-like dvd_struct is defined.) if test x$OPENBSD_DVD_STRUCT = x1; then AC_DEFINE(HAVE_OPENBSD_DVD_STRUCT, 1, Define if OpenBSD-like dvd_struct is defined.) fi else if test x$BSD_DVD_STRUCT = x1; then AC_DEFINE(HAVE_BSD_DVD_STRUCT, 1, Define if FreeBSD-like dvd_struct is defined.) fi fi ]) AC_ARG_WITH(,[]) AC_ARG_WITH(,[Optimization options:]) dnl dnl Special arch tuning dnl AC_ARG_WITH(tuning, [ --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" else if test x${target_cpu} = xpowerpc; then TUNING="750"; fi fi fi dnl dnl x86 accelerations dnl 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 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 ]) dnl dnl AltiVec acceleration dnl AC_ARG_ENABLE(altivec, [ --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 ]) dnl dnl Debugging mode dnl DEBUG=0 AC_ARG_ENABLE(debug, [ --enable-debug debug mode (default disabled)], [ if test x$enableval = xyes; then DEBUG=1; fi ]) dnl dnl Enable release-specific flags dnl AC_ARG_ENABLE(release, [ --enable-release activate extra optimizations (default disabled)], [ if test x$enableval = xyes; then RELEASE=1; fi ], [ VLC_VERSION="${VLC_VERSION}_`date +%Y-%m-%d`"; LIBDVDCSS_VERSION="${LIBDVDCSS_VERSION}_`date +%Y-%m-%d`"; ]) dnl dnl Input plugins dnl AC_ARG_WITH(,[Input plugins:]) dnl dnl DVD module: check for installed libdvdcss or local libdvdcss dnl NEED_LIBDVDCSS=0 STATIC_LIBDVDCSS=0 DUMMY_LIBDVDCSS=0 AC_ARG_WITH(dvdcss, [ --with-dvdcss[=name] use libdvdcss, either 'yes', 'no', 'local-static', 'local-shared', or a path to another libdvdcss such as '/usr/local' (default 'local-static')], [ case "x${withval}" in xlocal-static|xyes) # local libdvdcss, statically linked BUILTINS="${BUILTINS} dvd" if test x${CAN_BUILD_LIBDVDCSS} = x1 then NEED_LIBDVDCSS=1 STATIC_LIBDVDCSS=1 CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}" fi ;; xlocal-shared) # local libdvdcss, dynamically linked PLUGINS="${PLUGINS} dvd" if test x${CAN_BUILD_LIBDVDCSS} = x1 then NEED_LIBDVDCSS=1 CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" LIB_DVD="${LIB_DVD} -L../../lib -ldvdcss" fi ;; xno) # don't use libdvdcss at all, build a DVD module that can dlopen() it PLUGINS="${PLUGINS} dvd" DUMMY_LIBDVDCSS=1 SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c" CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA" CFLAGS_DVD="${CFLAGS_DVD} -DLIBDVDCSS_VERSION=\"${LIBDVDCSS_VERSION}\"" LIB_DVD="${LIB_DVD} -ldl" ;; *) # existing libdvdcss PLUGINS="${PLUGINS} dvd" if test "x$withval" != "xyes" then LIB_DVD="${LIB_DVD} -L"$withval"/lib" CFLAGS_DVD="${CFLAGS_DVD} -I"$withval"/include" fi LIB_DVD="${LIB_DVD} -ldvdcss" esac ], # user didn't decide, we choose to use local libdvdcss and link statically # if libdvdcss is in the archive, or to use the dummy replacement otherwise. [ if test x${CAN_BUILD_LIBDVDCSS} = x1 then BUILTINS="${BUILTINS} dvd" NEED_LIBDVDCSS=1 STATIC_LIBDVDCSS=1 CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}" else # XXX: no check for libdl is done, don't try this at home ! PLUGINS="${PLUGINS} dvd" DUMMY_LIBDVDCSS=1 SRC_DVD_EXTRA="${SRC_DVD_EXTRA} dummy_dvdcss.c" CFLAGS_DVD="${CFLAGS_DVD} -DGOD_DAMN_DMCA" LIB_DVD="${LIB_DVD} -ldl" fi ]) dnl dnl DVDREAD module: check for libdvdread plugin dnl if test x${DUMMY_LIBDVDCSS} = x1; then STATIC_LIBDVDREAD=1; fi if test x${STATIC_LIBDVDCSS} = x1; then STATIC_LIBDVDREAD=1; fi AC_ARG_WITH(dvdread, [ --with-dvdread[=name] use libdvdread, same options as dvdcss (default 'no')], [ case "x${withval}" in xlocal-static|xyes) if test x${STATIC_LIBDVDREAD} = x1 then BUILTINS="${BUILTINS} dvdread" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD} -I../../extras/libdvdread" LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a ${LIB_DVD}" else AC_MSG_ERROR([Can't link static dvdread with shared dvdcss]) fi ;; xno) ;; x) if test x${STATIC_LIBDVDREAD} = x1 then #BUILTINS="${BUILTINS} dvdread" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD} -I../../extras/libdvdread" LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a ${LIB_DVD}" else #PLUGINS="${PLUGINS} dvdread" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread ${CFLAGS_DVD}" LIB_DVDREAD="${LIB_DVDREAD} -Llib -ldvdread ${LIB_DVD}" fi ;; *) if test "x$withval" != "xlocal-shared" then LIB_DVDREAD="${LIB_DVDREAD} -L"$withval"/lib" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I"$withval"/include" else LIB_DVDREAD="${LIB_DVDREAD} -L../../lib" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread" fi if test x${STATIC_LIBDVDCSS} = x1 then AC_MSG_ERROR([Can't link shared dvdread with static dvdcss]) else #PLUGINS="${PLUGINS} dvdread" CFLAGS_DVDREAD="${CFLAGS_DVDREAD} ${CFLAGS_DVD}" LIB_DVDREAD="${LIB_DVDREAD} -ldvdread ${LIB_DVD}" fi esac if test x${DUMMY_LIBDVDCSS} = x1 then LIB_LIBDVDREAD="${LIB_LIBDVDREAD} -ldl" else LIB_LIBDVDREAD="${LIB_LIBDVDREAD} -L../../lib -ldvdcss" fi ]) dnl dnl VCD module dnl AC_ARG_ENABLE(vcd, [ --enable-vcd VCD support for Linux (default enabled)]) if test x$enable_vcd != xno then AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[ PLUGINS="${PLUGINS} vcd" ]) if test "x${SYS}" = "xbsdi" then PLUGINS="${PLUGINS} vcd" fi if test "x${SYS}" = "xdarwin" then PLUGINS="${PLUGINS} vcd" LIB_VCD="${LIB_VCD} -framework IOKit -framework CoreFoundation" fi fi dnl dnl ipv6 plugin dnl AC_CHECK_FUNC(inet_pton,[PLUGINS="${PLUGINS} ipv6"]) dnl dnl Codec plugins dnl AC_ARG_WITH(,[Codec plugins:]) dnl dnl mad plugin dnl AC_ARG_ENABLE(mad, [ --enable-mad libmad module (default disabled)]) if test x$enable_mad = xyes then PLUGINS="${PLUGINS} mad" LIB_MAD="${LIB_MAD} -lmad" AC_ARG_WITH(mad, [ --with-mad=PATH path to libmad], [ if test "x$with_val" != "xno" -a "x$with_val" != "x" then CFLAGS_MAD="${CFLAGS_MAD} -I$with_val/include" LIB_MAD="${LIB_MAD} -L$with_val/lib" fi ]) save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS CFLAGS="$CFLAGS $CFLAGS_MAD" LDFLAGS="$LDFLAGS $LIB_MAD" 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 dnl special case for BeOS if test x$SYS = xbeos then PLUGINS="${PLUGINS} beos" dnl default case else dnl dnl a52 AC3 decoder plugin dnl AC_ARG_ENABLE(a52, [ --disable-a52 AC3 support with liba52 (default enabled)]) if test "x$enableval" != "xno" -a x$SYS != xmingw32 then AC_CHECK_HEADERS(a52dec/a52.h, [ BUILTINS="${BUILTINS} a52" LIB_A52="${LIB_A52} -la52" ],[]) fi dnl dnl Video plugins dnl AC_ARG_WITH(,[Video plugins:]) dnl dnl X11 module dnl (enabled by default except on win32) dnl AC_ARG_ENABLE(x11, [ --disable-x11 X11 support (default enabled)]) 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 saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS -I$x_includes" AC_CHECK_HEADERS(X11/Xlib.h, [ PLUGINS="${PLUGINS} x11" LIB_X11="${LIB_X11} -L$x_libraries -lX11 -lXext" CFLAGS_X11="${CFLAGS_X11} -I$x_includes" ]) CPPFLAGS=$saved_CPPFLAGS fi dnl dnl XVideo module dnl (enabled by default except on win32) dnl AC_ARG_ENABLE(xvideo, [ --disable-xvideo XVideo support (default enabled)]) 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 saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS -I$x_includes" AC_CHECK_HEADERS(X11/extensions/Xv.h, [ saved_CFLAGS=$CFLAGS 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" LIB_XVIDEO="${LIB_XVIDEO} -L$x_libraries -lX11 -lXext -lXv_pic" CFLAGS_XVIDEO="${CFLAGS_XVIDEO} -I$x_includes", # We don't have Xv_pic, let's make xvideo.a as builtin BUILTINS="${BUILTINS} xvideo" LIB_XVIDEO="${LIB_XVIDEO} -L$x_libraries -lX11 -lXext -lXv" CFLAGS_XVIDEO="${CFLAGS_XVIDEO} -I$x_includes") CFLAGS=$saved_CFLAGS ] CPPFLAGS=$saved_CPPFLAGS) fi dnl dnl SDL module dnl AC_ARG_ENABLE(sdl, [ --disable-sdl SDL support (default enabled)]) if test "x$enable_sdl" != "xno" then SDL_PATH=$PATH AC_ARG_WITH(sdl-config-path, [ --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" if test x${SDL_CONFIG} = xno then AC_PATH_PROG(SDL11_CONFIG, sdl11-config, no, $SDL_PATH) SDL_CONFIG=${SDL11_CONFIG} SDL_HEADER="SDL11/SDL.h" fi if test x${SDL_CONFIG} = xno then AC_PATH_PROG(SDL_CONFIG, sdl-config, no, $SDL_PATH) SDL_HEADER="SDL/SDL.h" fi if test x${SDL_CONFIG} != xno then PLUGINS="${PLUGINS} sdl" CFLAGS_SDL="${CFLAGS_SDL} `${SDL_CONFIG} --cflags`" LIB_SDL="${LIB_SDL} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`" save_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $CFLAGS_SDL" 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.]) ]) CPPFLAGS=$save_CPPFLAGS if expr 1.1.5 \> `$SDL_CONFIG --version` >/dev/null 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.]) fi elif test "x$enable_sdl" = "xyes" 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. ]) fi fi dnl dnl Windows DirectX module dnl AC_ARG_ENABLE(directx, [ --enable-directx Win32 DirectX support (default enabled on Win32)]) if test "x$enableval" != "xno" then if test x$SYS = xmingw32 then AC_ARG_WITH(directx, [ --with-directx=PATH Win32 DirectX headers and libraries]) if test "x$with_directx" = "x" then AC_CHECK_HEADERS(ddraw.h, [ PLUGINS="${PLUGINS} directx" LIB_DIRECTX="${LIB_DIRECTX} -lgdi32" ]) else AC_MSG_CHECKING(for directX headers in ${withval}) if test -f ${withval}/ddraw.h then PLUGINS="${PLUGINS} directx" LIB_DIRECTX="${LIB_DIRECTX} -L${withval}/lib -lgdi32" INCLUDE="${INCLUDE} -I${withval}" AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_ERROR([Cannot find ${withval}/ddraw.h!]) fi fi fi fi dnl dnl Linux framebuffer module dnl 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 dnl dnl Linux MGA module dnl AC_ARG_ENABLE(mga, [ --enable-mga Linux kernel Matrox support (default disabled)], [ if test x$enable_mga = xyes then PLUGINS="${PLUGINS} mga xmga" fi ]) dnl dnl GGI module dnl AC_ARG_ENABLE(ggi, [ --enable-ggi GGI support (default disabled)]) if test x$enable_ggi = xyes then PLUGINS="${PLUGINS} ggi" LIB_GGI="${LIB_GGI} -lggi" 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" LIB_GGI="${LIB_GGI} -L$with_val/lib" fi ]) fi dnl dnl Glide module dnl AC_ARG_ENABLE(glide, [ --enable-glide Glide (3dfx) support (default disabled)]) if test x$enable_glide = xyes then PLUGINS="${PLUGINS} glide" LIB_GLIDE="${LIB_GLIDE} -lglide2x -lm" CFLAGS_GLIDE="${CFLAGS_GLIDE} -I/usr/include/glide" AC_ARG_WITH(glide, [ --with-glide=PATH path to libglide], [ if test "x$with_val" != "xno" -a "x$with_val" != "x" then CFLAGS_GLIDE="${CFLAGS_GLIDE} -I$with_val/include" LIB_GLIDE="${LIB_GLIDE} -L$with_val/lib" fi ]) fi 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") if test x$have_aa = xtrue then PLUGINS="${PLUGINS} aa" LIB_AA="${LIB_AA} -laa" fi fi dnl dnl Audio plugins dnl AC_ARG_WITH(,[Audio plugins:]) dnl dnl OSS /dev/dsp module (enabled by default except on win32) dnl AC_ARG_ENABLE(dsp, [ --enable-dsp Linux /dev/dsp support (enabled on Linux)]) if test x$enable_dsp != xno && (test x$SYS != xmingw32 || test x$enable_dsp = xyes) then AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [ PLUGINS="${PLUGINS} dsp" AC_CHECK_LIB(ossaudio,main,LIB_DSP="${LIB_DSP} -lossaudio") ]) fi dnl dnl Esound module dnl AC_ARG_ENABLE(esd, [ --enable-esd Esound library support (default disabled)], [if test x$enable_esd = xyes then AC_PATH_PROG(ESD_CONFIG, esd-config, no) if test x${ESD_CONFIG} != xno then PLUGINS="${PLUGINS} esd" CFLAGS_ESD="${CFLAGS_ESD} `${ESD_CONFIG} --cflags`" LIB_ESD="${LIB_ESD} `${ESD_CONFIG} --libs`" fi fi]) dnl dnl aRts module dnl AC_ARG_ENABLE(arts, [ --enable-arts aRts sound server (default disabled)], [if test x$enable_arts = xyes then AC_PATH_PROG(ARTS_CONFIG, artsc-config, no) if test x${ARTS_CONFIG} != xno then PLUGINS="${PLUGINS} arts" CFLAGS_ARTS="${CFLAGS_ARTS} `${ARTS_CONFIG} --cflags`" LIB_ARTS="${LIB_ARTS} `${ARTS_CONFIG} --libs `" fi fi]) dnl dnl ALSA module dnl AC_ARG_ENABLE(alsa, [ --enable-alsa ALSA sound support for Linux (default disabled)], [if test x$enable_alsa = xyes then AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test x$have_alsa = xtrue then PLUGINS="${PLUGINS} alsa" LIB_ALSA="${LIB_ALSA} -lasound -lm -ldl" fi fi]) dnl dnl win32 waveOut plugin dnl AC_ARG_ENABLE(waveout, [ --enable-waveout Win32 waveOut module (default enabled on Win32)]) if test "x$enableval" != "xno" -a x$SYS = xmingw32 then PLUGINS="${PLUGINS} waveout" LIB_WAVEOUT="-lwinmm" fi dnl dnl Interface plugins dnl AC_ARG_WITH(,[Interface plugins:]) dnl dnl Gtk+ module dnl AC_ARG_ENABLE(gtk, [ --disable-gtk Gtk+ support (default enabled)]) if test x$enable_gtk != xno then GTK_PATH=$PATH AC_ARG_WITH(gtk-config-path, [ --with-gtk-config-path=PATH gtk-config path (default search in \$PATH)], [ if test "x$withval" != "xno" then GTK_PATH=$withval:$PATH fi ]) # look for gtk-config AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, $GTK_PATH) GTK_CONFIG=${GTK12_CONFIG} if test x${GTK_CONFIG} = xno then AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH) fi if test x${GTK_CONFIG} != xno then if expr 1.2.0 \> `$GTK_CONFIG --version` >/dev/null then AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-gtk.]) fi CFLAGS_GTK="${CFLAGS_GTK} `${GTK_CONFIG} --cflags gtk`" LIB_GTK="${LIB_GTK} `${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`" # now look for the gtk.h header saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $CFLAGS_GTK" ac_cv_gtk_headers=yes AC_CHECK_HEADERS(gtk/gtk.h glib.h gdk/gdk.h, , [ ac_cv_gtk_headers=no echo "Cannot find gtk development headers." ]) if test "x$ac_cv_gtk_headers" = xyes then PLUGINS="${PLUGINS} gtk" ALIASES="${ALIASES} gvlc" fi CPPFLAGS=$saved_CPPFLAGS fi fi dnl dnl Gnome module dnl AC_ARG_ENABLE(gnome, [ --enable-gnome Gnome interface support (default disabled)], [if test x$enable_gnome = xyes; then # look for gnome-config AC_PATH_PROG(GNOME_CONFIG, gnome-config, no) if test -x ${GNOME_CONFIG} then CFLAGS_GNOME="${CFLAGS_GNOME} `${GNOME_CONFIG} --cflags gtk gnomeui`" LIB_GNOME="${LIB_GNOME} `${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`" fi # now look for the gnome.h header saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS $CFLAGS_GNOME" AC_CHECK_HEADERS(gnome.h, [ PLUGINS="${PLUGINS} gnome" ALIASES="${ALIASES} gnome-vlc" ],[ AC_MSG_ERROR([Can't find gnome headers. Please install the gnome developement librairie or remove the --enable-gnome option]) ]) CPPFLAGS=$saved_CPPFLAGS fi]) dnl dnl Qt module dnl AC_ARG_ENABLE(qt, [ --enable-qt Qt interface support (default disabled)], [if test x$enable_qt = xyes; then PLUGINS="${PLUGINS} qt" ALIASES="${ALIASES} qvlc" LIB_QT="${LIB_QT} -lqt -L${QTDIR}/lib" CFLAGS_QT="${CFLAGS_QT} -I/usr/include/qt -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then MOC=${QTDIR}/bin/moc else MOC=moc fi fi]) dnl dnl KDE module dnl AC_ARG_ENABLE(kde, [ --enable-kde KDE interface support (default disabled)], [if test x$enable_kde = xyes; then PLUGINS="${PLUGINS} kde" ALIASES="${ALIASES} kvlc" LIB_KDE="${LIB_KDE} -L${KDEDIR}/lib -lkfile" CFLAGS_KDE="${CFLAGS_KDE} -I/usr/include/kde -I/usr/include/qt" CFLAGS_KDE="${CFLAGS_KDE} -I${KDEDIR}/include -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then MOC=${QTDIR}/bin/moc else MOC=moc fi fi]) dnl dnl MacOS X module dnl AC_ARG_ENABLE(macosx, [ --enable-macosx MacOS X support (default enabled on MacOS X)], [if test x$enable_macosx = xyes then BUILTINS="${BUILTINS} macosx" LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework AudioToolbox -framework Cocoa -framework AGL -framework QuickTime -lobjc" CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC" LIB_COMMON="${LIB_COMMON} -ObjC" fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, BUILTINS="${BUILTINS} macosx" LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework AudioToolbox -framework Cocoa -framework AGL -framework QuickTime -lobjc" CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC" LIB_COMMON="${LIB_COMMON} -ObjC" )]) dnl dnl QNX RTOS module dnl AC_ARG_ENABLE(qnx, [ --enable-qnx QNX RTOS support (default enabled on QNX RTOS)]) if test x$enable_qnx != xno then AC_CHECK_HEADERS(Ph.h, [ PLUGINS="${PLUGINS} qnx" LIB_QNX="${LIB_QNX} -lasound -lph" ]) fi dnl dnl Windows MFC interface module dnl AC_ARG_ENABLE(win32, [ --enable-win32 Win32 interface support (default disabled)], [ if test "x$enableval" != "xno" then PLUGINS="${PLUGINS} win32" fi ]) dnl dnl ncurses module dnl AC_ARG_ENABLE(ncurses, [ --enable-ncurses ncurses interface support (default disabled)], [if test x$enable_ncurses = xyes; then PLUGINS="${PLUGINS} ncurses" LIB_NCURSES="${LIB_NCURSES} -lncurses" fi]) dnl dnl Lirc plugin dnl AC_ARG_ENABLE(lirc, [ --enable-lirc lirc support (default disabled)]) if test x$enable_lirc = xyes then AC_CHECK_HEADER(lirc/lirc_client.h, AC_CHECK_LIB(lirc_client, lirc_init, have_lirc="true", have_lirc="false"),have_lirc="false") if test x$have_lirc = xtrue then PLUGINS="${PLUGINS} lirc" LIB_LIRC="${LIB_LIRC} -llirc_client" fi fi dnl end of non-BeOS stuff fi AC_ARG_WITH(,[Misc options:]) dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling dnl dnl We give the user the opportunity to specify dnl --with-words=big or --with-words=little ; otherwise, try to guess dnl AC_ARG_WITH(words, [ --with-words=endianness set endianness (big or little)]) case "x$withval" in xbig) ac_cv_c_bigendian=yes ;; xlittle) ac_cv_c_bigendian=no ;; *) dnl Try to guess endianness by matching patterns on a compiled dnl binary, by looking for an ASCII or EBCDIC string AC_CACHE_CHECK([whether the byte order is big-endian], [ac_cv_c_bigendian], [ac_cv_c_bigendian=unknown [cat >conftest.c <config.log 2>&1 \ && test -f conftest.o then if test "`strings conftest.o | grep BIGenDianSyS`" then ac_cv_c_bigendian=yes fi if test "`strings conftest.o | grep LiTTleEnDian`" then ac_cv_c_bigendian=no fi fi fi ]) if test x$ac_cv_c_bigendian = xunknown then AC_MSG_ERROR([Could not guess endianness, please use --with-words]) fi ;; esac dnl Now we know what to use for endianness, just put it in the header if test $ac_cv_c_bigendian = yes then AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system) fi dnl dnl DLLs - used for Win32 package build dnl DLL_PATH=. AC_ARG_WITH(dll-path, [ --with-dll-path=PATH path to Win32 DLLs (default search in \$PWD)], [ if test "x$withval" != "xno" then DLL_PATH=$withval fi ]) dnl dnl Profiling dnl GPROF=0 AC_ARG_ENABLE(gprof, [ --enable-gprof gprof profiling (default disabled)], [ if test x$enableval = xyes; then GPROF=1; fi ]) CPROF=0 AC_ARG_ENABLE(cprof, [ --enable-cprof cprof profiling (default disabled)], [ if test x$enableval = xyes; then LIB_COMMON="${LIB_COMMON} -lcprof" CPROF=1 fi ]) dnl dnl GNU portable threads dnl AC_ARG_ENABLE(pth, [ --enable-pth GNU Pth support (default disabled)], [ if test x$enableval = xyes; then AC_CHECK_LIB(pth,pth_init) AC_EGREP_HEADER(pth_init,pth.h,[ AC_DEFINE(PTH_INIT_IN_PTH_H, 1, Define if defines pth_init) THREAD_LIB="-lpth" fi]) ]) dnl dnl State Threads dnl AC_ARG_ENABLE(st, [ --enable-st State Threads (default disabled)], [ if test x$enableval = xyes; then AC_CHECK_LIB(st,st_init) AC_EGREP_HEADER(st_init,st.h,[ AC_DEFINE(ST_INIT_IN_ST_H, 1, Define if defines st_init) THREAD_LIB="-lst" fi]) ]) LIB_COMMON="${LIB_COMMON} ${THREAD_LIB}" dnl dnl Plug-ins - this must be AT THE END dnl AC_ARG_ENABLE(plugins, [ --disable-plugins make all plug-ins built-in (default plug-ins enabled)], [if test x$enable_plugins = xno then BUILTINS="${BUILTINS} ${PLUGINS}" PLUGINS= fi]) dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "vlc $VLC_VERSION $VLC_CODENAME Copyright 1996-2001 VideoLAN\n") AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version $VLC_VERSION $VLC_CODENAME - (c) 1996-2002 VideoLAN") VLC_SYMBOL="`echo ${VLC_VERSION} | tr .- __`" AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__MODULE_$VLC_SYMBOL") AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $VLC_SYMBOL) DATA_PATH="${ac_tool_prefix}/share/videolan" AC_SUBST(DATA_PATH) PLUGIN_PATH="${ac_tool_prefix}/share/videolan" AC_SUBST(PLUGIN_PATH) dnl dnl Configuration is finished dnl AC_SUBST(SYS) AC_SUBST(ARCH) AC_SUBST(PLUGINS) AC_SUBST(BUILTINS) AC_SUBST(ALIASES) AC_SUBST(INCLUDE) AC_SUBST(DEBUG) AC_SUBST(ASM) AC_SUBST(CPROF) AC_SUBST(GPROF) AC_SUBST(OPTIMS) AC_SUBST(TUNING) AC_SUBST(RELEASE) AC_SUBST(MOC) AC_SUBST(WINDRES) AC_SUBST(DLL_PATH) AC_SUBST(PACKAGE) AC_SUBST(VERSION) AC_SUBST(VCD_DEVICE) AC_SUBST(DVD_DEVICE) AC_SUBST(LDFLAGS) AC_SUBST(PLDFLAGS) AC_SUBST(SOFLAGS) AC_SUBST(LIB_COMMON) AC_SUBST(LIB_VLC) AC_SUBST(LIB_A52) AC_SUBST(LIB_AA) AC_SUBST(LIB_ALSA) AC_SUBST(LIB_ARTS) AC_SUBST(LIB_BEOS) AC_SUBST(LIB_DARWIN) AC_SUBST(LIB_DIRECTX) AC_SUBST(LIB_DSP) AC_SUBST(LIB_DVD) AC_SUBST(LIB_DVDREAD) AC_SUBST(LIB_ESD) AC_SUBST(LIB_FILTER_DISTORT) AC_SUBST(LIB_GGI) AC_SUBST(LIB_GLIDE) AC_SUBST(LIB_GNOME) AC_SUBST(LIB_GTK) AC_SUBST(LIB_IDCTALTIVEC) AC_SUBST(LIB_IMDCT) AC_SUBST(LIB_IMDCT3DN) AC_SUBST(LIB_IMDCTSSE) AC_SUBST(LIB_IPV4) AC_SUBST(LIB_IPV6) AC_SUBST(LIB_KDE) AC_SUBST(LIB_LIBDVDCSS) AC_SUBST(LIB_LIBDVDREAD) AC_SUBST(LIB_LIRC) AC_SUBST(LIB_MACOSX) AC_SUBST(LIB_MAD) AC_SUBST(LIB_MOTIONALTIVEC) AC_SUBST(LIB_MPEG_TS) AC_SUBST(LIB_NCURSES) AC_SUBST(LIB_QNX) AC_SUBST(LIB_QT) AC_SUBST(LIB_RC) AC_SUBST(LIB_SDL) AC_SUBST(LIB_VCD) AC_SUBST(LIB_WAVEOUT) AC_SUBST(LIB_WIN32) AC_SUBST(LIB_X11) AC_SUBST(LIB_XVIDEO) AC_SUBST(CFLAGS_COMMON) AC_SUBST(CFLAGS_VLC) AC_SUBST(CFLAGS_ARTS) AC_SUBST(CFLAGS_DVD) AC_SUBST(CFLAGS_DVDREAD) AC_SUBST(CFLAGS_ESD) AC_SUBST(CFLAGS_GLIDE) AC_SUBST(CFLAGS_GNOME) AC_SUBST(CFLAGS_GTK) AC_SUBST(CFLAGS_KDE) AC_SUBST(CFLAGS_IDCTALTIVEC) AC_SUBST(CFLAGS_LIBDVDCSS) AC_SUBST(CFLAGS_MACOSX) AC_SUBST(CFLAGS_MAD) AC_SUBST(CFLAGS_MOTIONALTIVEC) AC_SUBST(CFLAGS_OPTIM) AC_SUBST(CFLAGS_OPTIM_NODEBUG) AC_SUBST(CFLAGS_QT) AC_SUBST(CFLAGS_SDL) AC_SUBST(CFLAGS_WIN32) AC_SUBST(CFLAGS_X11) AC_SUBST(CFLAGS_XVIDEO) AC_SUBST(SRC_DVD_EXTRA) AC_SUBST(SRC_DVDCSS_EXTRA) AC_SUBST(NEED_GETOPT) AC_SUBST(NEED_LIBDVDCSS) AC_OUTPUT([Makefile.opts po/Makefile.in]) echo " global configuration -------------------- system : ${SYS} architecture : ${ARCH} optimizations : ${OPTIMS} tuning: : ${TUNING} release: : ${RELEASE}" if test x${HAVE_VLC} = x1 then echo " vlc configuration ----------------- vlc version : ${VLC_VERSION} debug mode : ${DEBUG} cprof/gprof support : ${CPROF}/${GPROF} need builtin getopt : ${NEED_GETOPT} built-in modules :${BUILTINS} plug-in modules :${PLUGINS} vlc aliases :${ALIASES}" fi echo " libdvdcss configuration ----------------------- can be built : ${CAN_BUILD_LIBDVDCSS} will be built : ${NEED_LIBDVDCSS}" if test x${NEED_LIBDVDCSS} = x1 then echo "need BSDI libdvd : ${NEED_BSDI_LIBDVD}" echo "link statically : ${STATIC_LIBDVDCSS}" else echo "use dummy replacement : ${DUMMY_LIBDVDCSS}" fi echo " You may now tune Makefile.opts at your convenience, for instance to choose which modules get compiled as plugins. " if test x${HAVE_VLC} = x1 then echo "To build vlc and its plugins, type \`make'." fi if test x${NEED_LIBDVDCSS} = x1 then echo "To build libdvdcss only, type \`make libdvdcss'." fi echo ""