X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.in;h=a2e3afd02978795d4be07611541c7ed70d2b8e72;hb=9b393dab29dcbe72d5a55084f434bdcd602c28b0;hp=f0b40bae047cf59ad109fb2ee3f39156b42c0940;hpb=bf7ee74f8f7420cf471784a53f391abbee97a91d;p=vlc diff --git a/configure.in b/configure.in index f0b40bae04..a2e3afd029 100644 --- a/configure.in +++ b/configure.in @@ -30,6 +30,9 @@ 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 ru" @@ -40,6 +43,44 @@ 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_MPEG_TS="${LIB_MPEG_TS} -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="${LIB} -lbe -lbind" + LIB_BEOS="${LIB_BEOS} -lbe -lgame -lroot -ltracker" + PLDFLAGS="${PLDFLAGS} -nostart" + ;; + x*) + SYS=${target_os} + ;; +esac + dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling dnl @@ -58,9 +99,10 @@ AC_ARG_WITH(words, *) dnl Try to guess endianness by matching patterns on a compiled dnl binary, by looking for an ASCII or EBCDIC string - ac_cv_c_bigendian=unknown - AC_MSG_CHECKING(what the byte order looks to be)[ - cat >conftest.c <conftest.c <config.log 2>&1 \ - && test -f conftest.o - then - if test `grep -l BIGenDianSyS conftest.o` - then - AC_MSG_RESULT("big endian") - ac_cv_c_bigendian=yes - fi - if test `grep -l LiTTleEnDian conftest.o` + ] + if test -f conftest.c + then + if ${CC-cc} conftest.c -o conftest.o >config.log 2>&1 \ + && test -f conftest.o then - AC_MSG_RESULT("little endian") - ac_cv_c_bigendian=no + if test `grep -l BIGenDianSyS conftest.o` + then + ac_cv_c_bigendian=yes + fi + if test `grep -l LiTTleEnDian conftest.o` + then + ac_cv_c_bigendian=no + fi fi fi - fi + ]) if test $ac_cv_c_bigendian = xunknown then AC_MSG_ERROR([Could not guess endianness, please use --with-words]) fi - dnl Now we know what to use for endianness, just put it in the header - if test $ac_cv_c_bigendian = yes - then - cat >> confdefs.h <<\EOF -#define WORDS_BIGENDIAN 1 -EOF - 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 Check for system libs needed AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty) @@ -173,16 +212,35 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ 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(sys/soundcard.h machine/soundcard.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) +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], @@ -203,6 +261,84 @@ 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], [ac_cv_ld_darwin], @@ -252,7 +388,7 @@ 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" + 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;], @@ -292,18 +428,28 @@ 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 -ARCH=${target_cpu} +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} mpeg_es mpeg_ps mpeg_ts memcpy idct idctclassic motion imdct downmix mpeg_adec lpcm_adec ac3_adec mpeg_vdec" -PLUGINS="${PLUGINS} ac3_spdif spudec chroma_yv12_rgb16 filter_deinterlace filter_invert filter_wall filter_transform filter_distort" +BUILTINS="${BUILTINS} mpeg_es mpeg_ps mpeg_ts file udp http ipv4 memcpy 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} 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" +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" @@ -343,6 +489,9 @@ if test x"$ac_cv_sse_inline" != x"no"; then 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");], @@ -396,48 +545,15 @@ AC_CACHE_CHECK([if linker needs -framework vecLib], if test x"$ac_cv_ld_altivec" != x"no"; then LIB_IDCTALTIVEC="${LIB_IDCTALTIVEC} -framework vecLib" LIB_MOTIONALTIVEC="${LIB_MOTIONALTIVEC} -framework vecLib" + LIB="${LIB} -framework vecLib" fi - -dnl -dnl Check the operating system -dnl -case ${target_os} in - linux*) - SYS=linux - ;; - bsdi*) - SYS=bsdi - ;; - darwin*) - SYS=darwin - ;; - *mingw32*) - SYS=mingw32 - AC_CHECK_TOOL(WINDRES, windres, :) - LIB_MPEG_TS="-lws2_32" - LIB_RC="-lws2_32" - ;; - *nto*) - SYS=nto - LIB_X11="${LIB_X11} -lsocket" - LIB_XVIDEO="${LIB_XVIDEO} -lsocket" - ;; - beos) - SYS=beos - LIB="${LIB} -lbe" - LIB_BEOS="${LIB_BEOS} -lbe -lgame -lroot -ltracker" - PLDFLAGS="${PLDFLAGS} -nostart" - ;; - *) - SYS=${target_os} - ;; -esac +fi # end if mingw32 dnl dnl DVD and VCD devices dnl -case $SYS in - mingw32) +case x$SYS in + xmingw32) DVD_DEVICE="E:" VCD_DEVICE="E:" ;; @@ -576,14 +692,13 @@ AC_ARG_ENABLE(release, LIBDVDCSS_VERSION="${LIBDVDCSS_VERSION}_`date +%Y-%m-%d`"; ]) dnl -dnl MMX acceleration +dnl x86 accelerations dnl -AC_ARG_ENABLE(mmx, -[ --disable-mmx Disable MMX optimizations (default enabled for x86)], -[ if test x$enableval = xyes; then ARCH="${ARCH} mmx"; - BUILTINS="${BUILTINS} ${ACCEL_MODULES}"; fi ], -[ 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 ]) +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 AltiVec acceleration @@ -603,14 +718,6 @@ AC_ARG_ENABLE(debug, [ --enable-debug Enable debug mode (default disabled)], [ if test x$enableval = xyes; then DEBUG=1; fi ]) -dnl -dnl Trace mode -dnl -TRACE=0 -AC_ARG_ENABLE(trace, -[ --enable-trace Enable trace mode (default disabled)], -[ if test x$enableval = xyes; then TRACE=1; fi ]) - dnl dnl Profiling dnl @@ -651,6 +758,20 @@ AC_ARG_ENABLE(pth, fi]) ]) +dnl +dnl State Threads +dnl +AC_ARG_ENABLE(st, + [ --enable-st Enable 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="${LIB} ${THREAD_LIB}" dnl @@ -667,88 +788,119 @@ AC_ARG_WITH(dvdcss, [ 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 - BUILTINS="${BUILTINS} dvd" CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} ../../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 - BUILTINS="${BUILTINS} dvd" CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" - LIB_DVD="${LIB_DVD} -Llib -ldvdcss" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L../../lib -ldvdcss" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -L../../lib -ldvdcss" + LIB_DVD="${LIB_DVD} -L../../lib -ldvdcss" fi ;; xno) # don't use libdvdcss at all, build a DVD module that can dlopen() it - DUMMY_LIBDVDCSS=1 BUILTINS="${BUILTINS} 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" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -ldl" ;; *) # existing libdvdcss - BUILTINS="${BUILTINS} dvd" + PLUGINS="${PLUGINS} dvd" if test "x$withval" != "xyes" then - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -L"$withval"/lib" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -L"$withval"/lib" + LIB_DVD="${LIB_DVD} -L"$withval"/lib" CFLAGS_DVD="${CFLAGS_DVD} -I"$withval"/include" fi LIB_DVD="${LIB_DVD} -ldvdcss" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldvdcss" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -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 - BUILTINS="${BUILTINS} dvd" CFLAGS_DVD="${CFLAGS_DVD} -I../../extras/libdvdcss" LIB_DVD="${LIB_DVD} lib/libdvdcss.a ${LIB_LIBDVDCSS}" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} ../../lib/libdvdcss.a ${LIB_LIBDVDCSS}" else # XXX: no check for libdl is done, don't try this at home ! - DUMMY_LIBDVDCSS=1 BUILTINS="${BUILTINS} 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" - LIB_DVD_PLUGIN="${LIB_DVD_PLUGIN} -ldl" - LIB_DVDREAD_PLUGIN="${LIB_DVDREAD_PLUGIN} -ldl" fi ]) dnl dnl DVDREAD module: check for libdvdread plugin dnl -AC_ARG_ENABLE(dvdread, -[ --enable-dvdread Enable dvdread support (default disabled)], -[ if test x$enableval = xyes - then - NEED_LIBDVDCSS=1 - STATIC_LIBDVDCSS=1 - BUILTINS="${BUILTINS} dvdread" - CFLAGS_DVDREAD="${CFLAGS_DVDREAD} -I../../extras/libdvdread" - LIB_DVDREAD="${LIB_DVDREAD} lib/libdvdread.a lib/libdvdcss.a" - fi ]) +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] way to use libdvdread, + same options as --with-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 @@ -759,13 +911,20 @@ AC_ARG_ENABLE(vcd, if test x$enable_vcd != xno then AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[ - BUILTINS="${BUILTINS} vcd" + #BUILTINS="${BUILTINS} vcd" ]) fi if test x$enable_vcd != xno -a "${SYS}" = "bsdi" then - BUILTINS="${BUILTINS} vcd" + #BUILTINS="${BUILTINS} vcd" +true #delete me +fi + +if test x$enable_vcd != xno -a "${SYS}" = "darwin" +then + #BUILTINS="${BUILTINS} vcd" + LIB_VCD="${LIB_VCD} -framework IOKit" fi dnl @@ -776,7 +935,18 @@ AC_ARG_ENABLE(dummy, if test x$enable_dummy != xno then - BUILTINS="${BUILTINS} dummy" + PLUGINS="${PLUGINS} dummy" +fi + +dnl +dnl log plugin +dnl +AC_ARG_ENABLE(logger, + [ --disable-logger file logger module (default enabled)]) + +if test x$enable_logger != xno +then + PLUGINS="${PLUGINS} logger" fi dnl @@ -787,7 +957,7 @@ AC_ARG_ENABLE(null, if test x$enable_null != xno then - BUILTINS="${BUILTINS} null" + PLUGINS="${PLUGINS} null" fi dnl @@ -798,7 +968,7 @@ AC_ARG_ENABLE(rc, if test x$enable_rc != xno then - BUILTINS="${BUILTINS} rc" + PLUGINS="${PLUGINS} rc" fi dnl @@ -808,10 +978,10 @@ AC_ARG_WITH(mad, [ --with-mad[=PATH] libmad module (default disabled)], [ if test "x$with_val" != "xno"; then if test -n $with_val; then - CFLAGS_MAD="-I$with_val/include" - LIB_MAD="-L$with_val/lib -lmad" + CFLAGS_MAD="${CFLAGS_MAD} -I$with_val/include" + LIB_MAD="${LIB_MAD} -L$with_val/lib -lmad" else - LIB_MAD="-lmad" + LIB_MAD="${LIB_MAD} -lmad" fi save_CFLAGS=$CFLAGS save_LDFLAGS=$LDFLAGS @@ -833,7 +1003,7 @@ AC_ARG_WITH(mad, dnl special case for BeOS if test x$SYS = xbeos then - BUILTINS="${BUILTINS} beos" + PLUGINS="${PLUGINS} beos" dnl default case else @@ -846,12 +1016,12 @@ AC_ARG_ENABLE(dsp, [ --disable-dsp Linux /dev/dsp support (default enabled)]) if test x$enable_dsp != xno && - (test $SYS != mingw32 || test x$enable_dsp = xyes) + (test x$SYS != xmingw32 || test x$enable_dsp = xyes) then - if test -c /dev/dsp - then + AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [ PLUGINS="${PLUGINS} dsp" - fi + AC_CHECK_LIB(ossaudio,main,LIB_DSP="${LIB_DSP} -lossaudio") + ]) fi dnl @@ -865,8 +1035,8 @@ AC_ARG_ENABLE(esd, if test x${ESD_CONFIG} != xno then PLUGINS="${PLUGINS} esd" - CFLAGS_ESD="`${ESD_CONFIG} --cflags`" - LIB_ESD="`${ESD_CONFIG} --libs`" + CFLAGS_ESD="${CFLAGS_ESD} `${ESD_CONFIG} --cflags`" + LIB_ESD="${LIB_ESD} `${ESD_CONFIG} --libs`" fi fi]) @@ -881,8 +1051,8 @@ AC_ARG_ENABLE(arts, if test x${ARTS_CONFIG} != xno then PLUGINS="${PLUGINS} arts" - CFLAGS_ARTS="`${ARTS_CONFIG} --cflags`" - LIB_ARTS="`${ARTS_CONFIG} --libs `" + CFLAGS_ARTS="${CFLAGS_ARTS} `${ARTS_CONFIG} --cflags`" + LIB_ARTS="${LIB_ARTS} `${ARTS_CONFIG} --libs `" fi fi]) @@ -894,14 +1064,14 @@ AC_ARG_ENABLE(macosx, [if test x$enable_macosx = xyes then BUILTINS="${BUILTINS} macosx" - LIB_MACOSX="-framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc" - CFLAGS_MACOSX="-ObjC" + LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc" + CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC" LIB="${LIB} -ObjC" fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, BUILTINS="${BUILTINS} macosx" - LIB_MACOSX="-framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc" - CFLAGS_MACOSX="-ObjC" + LIB_MACOSX="${LIB_MACOSX} -framework CoreAudio -framework Cocoa -framework AGL -framework QuickTime -lobjc" + CFLAGS_MACOSX="${CFLAGS_MACOSX} -ObjC" LIB="${LIB} -ObjC" )]) @@ -914,10 +1084,23 @@ AC_ARG_ENABLE(qnx, then AC_CHECK_HEADERS(Ph.h, [ PLUGINS="${PLUGINS} qnx" - LIB_QNX="-lasound -lph" + LIB_QNX="${LIB_QNX} -lasound -lph" ]) fi +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 Linux framebuffer module dnl @@ -928,6 +1111,16 @@ AC_ARG_ENABLE(fb, 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 @@ -938,9 +1131,9 @@ AC_ARG_WITH(ggi, PLUGINS="${PLUGINS} ggi" if test "x$withval" != "xyes" then - LIB_GGI="-l"$withval + LIB_GGI="${LIB_GGI} -l$withval" else - LIB_GGI="-lggi" + LIB_GGI="${LIB_GGI} -lggi" fi fi ]) @@ -975,8 +1168,8 @@ then if test x${SDL_CONFIG} != xno then PLUGINS="${PLUGINS} sdl" - CFLAGS_SDL="`${SDL_CONFIG} --cflags`" - LIB_SDL="`${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`" + 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, @@ -1004,34 +1197,55 @@ dnl dnl Windows DirectX module dnl AC_ARG_ENABLE(directx, - [ --disable-directx Windows DirectX support (default enabled on WIN32)]) + [ --disable-directx Win32 DirectX support (default enabled on Win32)]) if test "x$enableval" != "xno" then - if test $SYS = mingw32 + if test x$SYS = xmingw32 then AC_ARG_WITH(directx-path, - [ --with-directx-path=path Windows DirectX headers and libraries]) + [ --with-directx-path=path Win32 DirectX headers and libraries]) if test "x$with_directx_path" = "x" then - AC_CHECK_HEADERS(directx.h, + AC_CHECK_HEADERS(ddraw.h, [ PLUGINS="${PLUGINS} directx" - LIB_DIRECTX="-lgdi32 -ldxguid" ]) + LIB_DIRECTX="${LIB_DIRECTX} -lgdi32" ]) else AC_MSG_CHECKING(for directX headers in ${withval}) - if test -f ${withval}/include/directx.h + if test -f ${withval}/ddraw.h then PLUGINS="${PLUGINS} directx" - LIB_DIRECTX="-L${withval}/lib -lgdi32 -ldxguid" - INCLUDE="${INCLUDE} -I${withval}/include" + 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}/include/directx.h!]) + AC_MSG_ERROR([Cannot find ${withval}/ddraw.h!]) fi fi fi fi +dnl +dnl win32 waveOut plugin +dnl +AC_ARG_ENABLE(waveout, + [ --disable-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 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 Glide module dnl @@ -1042,11 +1256,11 @@ AC_ARG_WITH(glide, PLUGINS="${PLUGINS} glide" if test "x$withval" != "xyes" then - LIB_GLIDE="-l"$withval" -lm" + LIB_GLIDE="${LIB_GLIDE} -l$withval -lm" else - LIB_GLIDE="-lglide2x -lm" + LIB_GLIDE="${LIB_GLIDE} -lglide2x -lm" fi - CFLAGS_GLIDE="-I/usr/include/glide" + CFLAGS_GLIDE="${CFLAGS_GLIDE} -I/usr/include/glide" fi ]) dnl @@ -1056,7 +1270,7 @@ AC_ARG_ENABLE(ncurses, [ --enable-ncurses ncurses interface support (default disabled)], [if test x$enable_ncurses = xyes; then PLUGINS="${PLUGINS} ncurses" - LIB_NCURSES="-lncurses" + LIB_NCURSES="${LIB_NCURSES} -lncurses" fi]) dnl @@ -1067,8 +1281,8 @@ AC_ARG_ENABLE(qt, [if test x$enable_qt = xyes; then PLUGINS="${PLUGINS} qt" ALIASES="${ALIASES} qvlc" - LIB_QT="-lqt -L${QTDIR}/lib" - CFLAGS_QT="-I/usr/include/qt -I${QTDIR}/include" + 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 @@ -1106,8 +1320,8 @@ AC_ARG_ENABLE(gnome, AC_PATH_PROG(GNOME_CONFIG, gnome-config, no) if test -x ${GNOME_CONFIG} then - CFLAGS_GNOME="`${GNOME_CONFIG} --cflags gtk gnomeui`" - LIB_GNOME="`${GNOME_CONFIG} --libs gnomeui | sed 's,-rdynamic,,'`" + 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 @@ -1138,26 +1352,35 @@ then GTK_PATH=$withval:$PATH fi ]) # look for gtk-config - AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH) - if test -x ${GTK_CONFIG} + AC_PATH_PROG(GTK12_CONFIG, gtk12-config, no, $GTK_PATH) + GTK_CONFIG=${GTK12_CONFIG} + if test x${GTK_CONFIG} = xno then - CFLAGS_GTK="`${GTK_CONFIG} --cflags gtk`" - LIB_GTK="`${GTK_CONFIG} --libs gtk | sed 's,-rdynamic,,'`" + AC_PATH_PROG(GTK_CONFIG, gtk-config, no, $GTK_PATH) fi - # 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 + if test x${GTK_CONFIG} != xno then - PLUGINS="${PLUGINS} gtk" - ALIASES="${ALIASES} gvlc" + 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 - CPPFLAGS=$saved_CPPFLAGS fi dnl @@ -1167,7 +1390,7 @@ dnl AC_ARG_ENABLE(x11, [ --disable-x11 X11 support (default enabled)]) if test x$enable_x11 != xno && - (test $SYS != mingw32 || test x$enable_x11 = xyes); then + (test x$SYS != xmingw32 || test x$enable_x11 = xyes); then if test x$x_includes = xNONE; then x_includes=/usr/X11R6/include fi @@ -1180,8 +1403,8 @@ if test x$enable_x11 != xno && PLUGINS="${PLUGINS} x11" LIB_X11="${LIB_X11} -L$x_libraries -lX11 -lXext" CFLAGS_X11="${CFLAGS_X11} -I$x_includes" - ] - CPPFLAGS=$saved_CPPFLAGS) + ]) + CPPFLAGS=$saved_CPPFLAGS fi dnl @@ -1191,7 +1414,7 @@ dnl AC_ARG_ENABLE(xvideo, [ --disable-xvideo XVideo support (default enabled)]) if test x$enable_xvideo != xno && - (test $SYS != mingw32 || test x$enable_xvideo = xyes); then + (test x$SYS != xmingw32 || test x$enable_xvideo = xyes); then if test x$x_includes = xNONE; then x_includes=/usr/X11R6/include fi @@ -1201,13 +1424,37 @@ if test x$enable_xvideo != xno && saved_CPPFLAGS=$CPPFLAGS CPPFLAGS="$CPPFLAGS -I$x_includes" AC_CHECK_HEADERS(X11/extensions/Xv.h, [ - BUILTINS="${BUILTINS} xvideo" - LIB_XVIDEO="${LIB_XVIDEO} -L$x_libraries -lX11 -lXext -lXv" - CFLAGS_XVIDEO="${CFLAGS_XVIDEO} -I$x_includes" + 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 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 dnl ALSA module dnl @@ -1220,7 +1467,7 @@ AC_ARG_ENABLE(alsa, if test x$have_alsa = xtrue then PLUGINS="${PLUGINS} alsa" - LIB_ALSA="-lasound -lm -ldl" + LIB_ALSA="${LIB_ALSA} -lasound -lm -ldl" fi fi]) @@ -1272,11 +1519,9 @@ AC_SUBST(ARCH) AC_SUBST(PLUGINS) AC_SUBST(BUILTINS) AC_SUBST(ALIASES) -AC_SUBST(DEFINE) AC_SUBST(INCLUDE) AC_SUBST(DEBUG) AC_SUBST(ASM) -AC_SUBST(TRACE) AC_SUBST(CPROF) AC_SUBST(GPROF) AC_SUBST(OPTIMS) @@ -1300,10 +1545,9 @@ 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_DVD_PLUGIN) AC_SUBST(LIB_DVDREAD) -AC_SUBST(LIB_DVDREAD_PLUGIN) AC_SUBST(LIB_ESD) AC_SUBST(LIB_FILTER_DISTORT) AC_SUBST(LIB_GGI) @@ -1315,7 +1559,10 @@ AC_SUBST(LIB_IMDCT) AC_SUBST(LIB_IMDCT3DN) AC_SUBST(LIB_IMDCTSSE) AC_SUBST(LIB_KDE) +AC_SUBST(LIB_A52) AC_SUBST(LIB_LIBDVDCSS) +AC_SUBST(LIB_LIBDVDREAD) +AC_SUBST(LIB_LIRC) AC_SUBST(LIB_MACOSX) AC_SUBST(LIB_MAD) AC_SUBST(LIB_MOTIONALTIVEC) @@ -1325,6 +1572,9 @@ 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) @@ -1342,8 +1592,11 @@ 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) @@ -1371,7 +1624,6 @@ vlc configuration ----------------- vlc version : ${VLC_VERSION} debug mode : ${DEBUG} -trace mode : ${TRACE} cprof/gprof support : ${CPROF}/${GPROF} need builtin getopt : ${NEED_GETOPT} built-in modules :${BUILTINS}