X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac.in;h=8fee7b28918e4d4ef57f2d869d627303ee936e5d;hb=41d11c19b2768de37a0aa9da94234f46112520c0;hp=e617b1078f962f101806f209ac6bb1d68fc5a4c3;hpb=a2d1d9f8fb20439ac9a0404cd98ea403c1eb3b28;p=vlc diff --git a/configure.ac.in b/configure.ac.in index e617b1078f..8fee7b2891 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -1,17 +1,18 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.5.2) +AC_INIT(vlc,0.6.0-test1) CONFIGURE_LINE="$0 $*" CODENAME="Natalya" AC_PREREQ(2.50) AC_CONFIG_SRCDIR(src/libvlc.c) +AC_CONFIG_AUX_DIR(autotools) AC_CANONICAL_SYSTEM dnl XXX: we don't put any flags here, because automake 1.5 doesn't support dnl them. And we need the comma otherwize automake will choke on it. -AM_INIT_AUTOMAKE(vlc,0.5.2) +AM_INIT_AUTOMAKE(vlc,0.6.0-test1) AM_CONFIG_HEADER(config.h) dnl @@ -84,6 +85,7 @@ case "x${target_os}" in LDFLAGS_dvd="${LDFLAGS_dvd} -ldvd" LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvd" LDFLAGS_vcd="${LDFLAGS_vcd} -ldvd" + LDFLAGS_cdda="${LDFLAGS_cdda} -ldvd" ;; x*bsd*) SYS="${target_os}" @@ -121,7 +123,7 @@ case "x${target_os}" in # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long" CPPFLAGS="${CPPFLAGS_save}" - LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows" + LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -lwinmm -mwindows" LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32" LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32" LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32" @@ -130,6 +132,8 @@ case "x${target_os}" in LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lws2_32" LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lws2_32" LDFLAGS_sap="${LDFLAGS_sap} -lws2_32" + LDFLAGS_slp="${LDFLAGS_slp} -lws2_32" + LDFLAGS_http="${LDFLAGS_http} -lws2_32" LDFLAGS_httpd="${LDFLAGS_httpd} -lws2_32" fi ;; @@ -151,12 +155,12 @@ case "x${target_os}" in CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}" LDFLAGS_vlc="${LDFLAGS_vlc} -lbe" LDFLAGS_plugins="${LDFLAGS_plugins} -nostart" - LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation" - dnl BONE or not BONE ? + LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation -lgame" + dnl BONE or not BONE ? only BONE has libbind.so AC_CHECK_LIB( bind, inet_ntoa, - [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind" - LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind" - LDFALGS_httpd="${LDFLAGS_httpd} -lbind"], + [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket -lbind" + LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket -lbind" + LDFLAGS_httpd="${LDFLAGS_httpd} -lsocket -lbind"], []) ;; x*) @@ -171,7 +175,7 @@ dnl dnl Gettext stuff dnl ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv" -AM_GNU_GETTEXT_VERSION(0.10.40) +AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl) @@ -179,8 +183,9 @@ if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then else AC_CHECK_FUNCS(textdomain,,[ AC_CHECK_LIB(intl,textdomain, - LDFLAGS_vlc="${LDFLAGS_vlc} -lintl" - LDFLAGS_plugins="${LDFLAGS_plugins} -lintl" + LDFLAGS_vlc="${LDFLAGS_vlc} ${LIBINTL}" + LDFLAGS_plugins="${LDFLAGS_plugins} ${LIBINTL}",, + ${LIBINTL} ) ]) fi @@ -289,6 +294,7 @@ AC_CHECK_FUNCS(send,,[ LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket" LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lsocket" LDFLAGS_sap="${LDFLAGS_sap} -lsocket" + LDFLAGS_http="${LDFLAGS_http} -lsocket" LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lsocket" )]) @@ -323,6 +329,7 @@ AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], [need_getopt=:])]) AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) +if test "x$SYS" != "xmingw32"; then AC_TYPE_SIGNAL AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl") AC_CHECK_LIB(m,cos, @@ -332,6 +339,7 @@ AC_CHECK_LIB(m,cos, LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm") AC_CHECK_LIB(m,pow, LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm" + LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode} -lm" LDFLAGS_imdct="${LDFLAGS_imdct} -lm" LDFLAGS_imdct3dn="${LDFLAGS_imdct3dn} -lm" LDFLAGS_imdctsse="${LDFLAGS_imdctsse} -lm" @@ -341,7 +349,9 @@ AC_CHECK_LIB(m,pow, AC_CHECK_LIB(m,sqrt, LDFLAGS_headphone_channel_mixer="${LDFLAGS_headphone_channel_mixer} -lm" ) +fi # end "x$SYS" != "xmingw32" +if test "x$SYS" != "xmingw32"; then dnl Check for pthreads - borrowed from XMMS THREAD_LIB=error if test "x${THREAD_LIB}" = "xerror"; then @@ -399,10 +409,8 @@ AC_ARG_ENABLE(st, fi ]) -if test "x${SYS}" != "xmingw32"; then - LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}" - LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}" -fi +LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}" +LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}" dnl Don't link with rt when using GNU-pth if test "x${THREAD_LIB}" != "x-lpth" && test "x${THREAD_LIB}" != "x-lst"; then @@ -437,6 +445,7 @@ AC_EGREP_HEADER(pthread_once,pthread.h,[ AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1, Define if defines pthread_once.)],[ AC_MSG_RESULT(no)]) +fi # end "x$SYS" != "xmingw32" AC_MSG_CHECKING(for strncasecmp in strings.h) AC_EGREP_HEADER(strncasecmp,strings.h,[ @@ -450,8 +459,10 @@ AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS(dlfcn.h image.h) AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h) +if test "x$SYS" != "xmingw32"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS(linux/version.h) +fi # end "x$SYS" != "xmingw32" AC_HEADER_TIME @@ -461,6 +472,7 @@ AC_CHECK_HEADERS(dirent.h,,[need_dirent=:]) AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent}) dnl Mac OS X and other OSes don't have declaration for nanosleep +if test "x$SYS" != "xmingw32"; then AC_MSG_CHECKING(for nanosleep in time.h) AC_EGREP_HEADER(nanosleep,time.h,[ AC_MSG_RESULT(yes) @@ -469,6 +481,7 @@ AC_EGREP_HEADER(nanosleep,time.h,[ ],[ AC_MSG_RESULT(no) ]) +fi # end "x$SYS" != "xmingw32" dnl Make sure we have timespecs AC_MSG_CHECKING(for timespec in sys/time.h) @@ -481,7 +494,9 @@ AC_EGREP_HEADER(timespec,sys/time.h,[ ]) dnl Check for threads library +if test "x$SYS" != "xmingw32"; then AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h) +fi # end "x$SYS" != "xmingw32" dnl Default X headers and libraries if test "x${x_includes}" = "xNONE"; then @@ -494,6 +509,8 @@ fi dnl Build the gtk_main plugins? NEED_GTK_MAIN=no NEED_GNOME_MAIN=no +NEED_GTK2_MAIN=no +NEED_GNOME2_MAIN=no dnl build the qte plugin ? NEED_QTE_MAIN=no @@ -677,12 +694,16 @@ if test "x${ac_cv_c_fast_math}" != "xno"; then fi dnl Check for -funroll-loops -AC_CACHE_CHECK([if \$CC accepts -funroll-loops], - [ac_cv_c_unroll_loops], - [CFLAGS="${CFLAGS_save} -funroll-loops" - AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) -if test "x${ac_cv_c_unroll_loops}" != "xno"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops" +dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it +if test "x${SYS}" != "xbeos" +then + AC_CACHE_CHECK([if \$CC accepts -funroll-loops], + [ac_cv_c_unroll_loops], + [CFLAGS="${CFLAGS_save} -funroll-loops" + AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) + if test "x${ac_cv_c_unroll_loops}" != "xno"; then + CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops" + fi fi dnl Check for -fomit-frame-pointer @@ -798,12 +819,12 @@ AM_CONDITIONAL(CPROF, test "${enable_gprof}" = "yes") dnl dnl default modules dnl -BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion" -PLUGINS="${PLUGINS} dummy rc logger gestures access_file memcpy" +#BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion" +PLUGINS="${PLUGINS} dummy rc logger gestures memcpy" PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts avi asf aac mp4 rawdv" PLUGINS="${PLUGINS} spudec mpeg_audio lpcm a52 dts cinepak" PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur" -PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32" +PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32" PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler bandlimited_resampler" PLUGINS="${PLUGINS} trivial_channel_mixer headphone_channel_mixer" PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer" @@ -811,9 +832,10 @@ PLUGINS="${PLUGINS} aout_file" #PLUGINS="${PLUGINS} scope" PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga" PLUGINS="${PLUGINS} id3 m3u" -PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys" -PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp" -PLUGINS="${PLUGINS} sap httpd" +PLUGINS="${PLUGINS} rawvideo" +PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys au" +PLUGINS="${PLUGINS} access_file access_udp access_http ipv4 access_mms" +PLUGINS="${PLUGINS} access_ftp access_directory sap httpd http" dnl dnl Some plugins aren't useful on some platforms @@ -825,11 +847,14 @@ fi dnl dnl Accelerated modules dnl -MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx" -MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext" +MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx" +#MMX_MODULES="${MMX_MODULES} idctmmx motionmmx" +MMXEXT_MODULES="memcpymmxext" +#MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext" THREEDNOW_MODULES="memcpy3dn" SSE_MODULES="" -ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec" +ALTIVEC_MODULES="memcpyaltivec" +#ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" if test "${enable_gprof}" != "yes" then @@ -874,8 +899,6 @@ if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; 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], @@ -931,7 +954,7 @@ if test "x${ac_cv_ld_altivec}" != "xno"; then LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib" LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib" fi -fi # end if mingw32 +fi # end "x$SYS" != "xmingw32" AC_ARG_WITH(,[]) AC_ARG_WITH(,[Optimization options:]) @@ -1008,7 +1031,8 @@ then PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio" PLUGINS="${PLUGINS} packetizer_copy" - PLUGINS="${PLUGINS} vout_encoder" + PLUGINS="${PLUGINS} stream_out_dummy stream_out_standard stream_out_es" + PLUGINS="${PLUGINS} stream_out_duplicate stream_out_display" dnl Ogg/ogm AC_CHECK_HEADERS(ogg/ogg.h, [ @@ -1241,7 +1265,11 @@ then PLUGINS="${PLUGINS} mux_ts_dvbpsi" LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -ldvbpsi" ], [ AC_MSG_WARN([cannot find libdvbpsi headers]) ], - [#include + [#if defined( HAVE_STDINT_H ) +# include +#elif defined( HAVE_INTTYPES_H ) +# include +#endif #include #include #include @@ -1314,7 +1342,7 @@ AC_ARG_ENABLE(v4l, [ --enable-v4l Video4Linux input support (default disabled)]) if test "x${enable_v4l}" = "xyes" then - AC_CHECK_HEADERS(libv4l/v4l.h, [ + AC_CHECK_HEADERS(linux/videodev.h, [ PLUGINS="${PLUGINS} v4l" ],[]) fi @@ -1330,7 +1358,7 @@ then AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h) AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[ AC_MSG_RESULT(yes) - PLUGINS="${PLUGINS} vcd" + PLUGINS="${PLUGINS} vcd cdda" ],[ AC_MSG_RESULT(no) ]) @@ -1338,7 +1366,7 @@ then AC_MSG_CHECKING(for scsireq in sys/scsiio.h) AC_EGREP_HEADER(scsireq,sys/scsiio.h,[ AC_MSG_RESULT(yes) - PLUGINS="${PLUGINS} vcd" + PLUGINS="${PLUGINS} vcd cdda" AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support) ],[ AC_MSG_RESULT(no) @@ -1347,7 +1375,7 @@ then AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h) AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[ AC_MSG_RESULT(yes) - PLUGINS="${PLUGINS} vcd" + PLUGINS="${PLUGINS} vcd cdda" AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support) ],[ AC_MSG_RESULT(no) @@ -1355,13 +1383,14 @@ then if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32" then - PLUGINS="${PLUGINS} vcd" + PLUGINS="${PLUGINS} vcd cdda" fi if test "x${SYS}" = "xdarwin" then - PLUGINS="${PLUGINS} vcd" + PLUGINS="${PLUGINS} vcd cdda" LDFLAGS_vcd="${LDFLAGS_vcd} -framework IOKit -framework CoreFoundation" + LDFLAGS_cdda="${LDFLAGS_cdda} -framework IOKit -framework CoreFoundation" fi fi @@ -1426,7 +1455,7 @@ dnl dnl mad plugin dnl AC_ARG_ENABLE(mad, - [ --enable-mad libmad module (default disabled)]) + [ --enable-mad libmad module (default enabled)]) if test "x${enable_mad}" != "xno" then AC_ARG_WITH(mad, @@ -1470,7 +1499,7 @@ then CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}" LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}" AC_CHECK_HEADERS(mad.h, , - [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ]) + [ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ]) AC_CHECK_LIB(mad, mad_bit_init, [ PLUGINS="${PLUGINS} mpgatofixed32" LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ], @@ -1492,60 +1521,72 @@ dnl dnl ffmpeg decoder plugin dnl AC_ARG_ENABLE(ffmpeg, -[ --enable-ffmpeg ffmpeg codec (default disabled)]) -if test "x${enable_ffmpeg}" = "xyes" +[ --enable-ffmpeg ffmpeg codec (default enabled)]) +if test "x${enable_ffmpeg}" != "xno" then - AC_ARG_WITH(ffmpeg, - [ --with-ffmpeg=PATH path to ffmpeg installation],[],[]) - if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x" - then - CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib" - fi - - dnl Add postprocessing modules - PLUGINS="${PLUGINS} postprocessing_c" - if test "x${ac_cv_mmx_inline}" != "xno"; then - PLUGINS="${PLUGINS} postprocessing_mmx" - fi + AC_ARG_WITH(ffmpeg-tree, + [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) - if test "x${ac_cv_mmxext_inline}" != "xno"; then - PLUGINS="${PLUGINS} postprocessing_mmxext" + dnl + dnl test for !(--with-ffmpeg-tree) + dnl + if test "x${with_ffmpeg_tree}" == "xno" -o "x${with_ffmpeg_tree}" == "x";then + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" + AC_CHECK_HEADERS(ffmpeg/avcodec.h postproc/postprocess.h) + AC_CHECK_LIB(avcodec, avcodec_init, [ + BUILTINS="${BUILTINS} ffmpeg stream_out_transcode" + LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode}" ], + [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS="${CPPFLAGS_save}" fi - AC_ARG_WITH(ffmpeg-tree, - [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) - if test "x${with_ffmpeg_tree}" != "x" - then + dnl + dnl test for --with-ffmpeg-tree + dnl + if test "x${with_ffmpeg_tree}" != "xno" -a "x${with_ffmpeg_tree}" != "x";then AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree}) real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`" - if test "x${real_ffmpeg_tree}" = x - then + if test "x${real_ffmpeg_tree}" = x; then dnl The given directory can't be found AC_MSG_RESULT(no) AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}]) fi - if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a" - then + if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) - BUILTINS="${BUILTINS} ffmpeg" + BUILTINS="${BUILTINS} ffmpeg stream_out_transcode" LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec" CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec" + + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode} -L${real_ffmpeg_tree}/libavcodec" + CPPFLAGS_stream_out_transcode="${CPPFLAGS_stream_out_transcode} -I${real_ffmpeg_tree}/libavcodec" else dnl The given libavcodec wasn't built AC_MSG_RESULT(no) AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}]) fi - else - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" - AC_CHECK_LIB(avcodec, avcodec_init, [ - BUILTINS="${BUILTINS} ffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" ], - [ AC_MSG_ERROR([Cannot find libavcodec library...]) ]) - LDFLAGS="${LDFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" + fi + + dnl Duplicate the ffmpeg CPPFLAGS and LDFLAGS for the encoder + CPPFLAGS_encoder_ffmpeg="${CPPFLAGS_ffmpeg}" + dnl XXX: we don't link with -lavcodec blah blah blah + #LDFLAGS_encoder_ffmpeg="${LDFLAGS_ffmpeg}" + + dnl Add postprocessing modules + PLUGINS="${PLUGINS} postprocessing_c" + if test "x${ac_cv_mmx_inline}" != "xno"; then + PLUGINS="${PLUGINS} postprocessing_mmx" + fi + + if test "x${ac_cv_mmxext_inline}" != "xno"; then + PLUGINS="${PLUGINS} postprocessing_mmxext" fi fi @@ -1656,17 +1697,46 @@ then LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi -fi + dnl Duplicate the xvid CPPFLAGS and LDFLAGS for the encoder + LDFLAGS_encoder_xvid=${LDFLAGS_xvid} + CPPFLAGS_encoder_xvid=${CPPFLAGS_xvid} +fi +dnl +dnl QuickTime plugin +dnl +AC_ARG_ENABLE(quicktime, + [ --enable-quicktime QuickTime module (default enabled on MacOS X)]) +if test "x${enable_quicktime}" != "xno" && + (test "x${SYS}" = "xdarwin" || test "x${enable_quicktime}" = "xyes") +then + AC_CHECK_HEADERS(QuickTime/QuickTime.h, + [ BUILTINS="${BUILTINS} quicktime" + LDFLAGS_quicktime="${LDFLAGS_quicktime} -framework QuickTime -framework Carbon" + ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) +fi dnl dnl MP4 module dnl AC_CHECK_HEADERS(zlib.h, [ LDFLAGS_mp4="${LDFLAGS_mp4} -lz" + LDFLAGS_skins="${LDFLAGS_skins} -lz" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lz" +] ) + + +dnl +dnl skins module +dnl +AC_CHECK_HEADERS(libtar.h, [ + LDFLAGS_skins="${LDFLAGS_skins} -ltar" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -ltar" ] ) + + dnl dnl a52 AC3 decoder plugin dnl @@ -1729,7 +1799,7 @@ then LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}" CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}" ],[ - AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) + AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) ]) ]) CPPFLAGS="${CPPFLAGS_save}" @@ -1741,7 +1811,7 @@ dnl dnl DV plugin dnl AC_ARG_ENABLE(dv, - [ --enable-dv DV decoder support (default disabled)]) + [ --enable-dv DV decoder support (deprecated in favor of ffmpeg) (default disabled)]) if test "x${enable_dv}" = "xyes" then AC_CHECK_HEADERS(libdv/dv.h, [ @@ -1767,13 +1837,53 @@ dnl dnl Libmpeg2 plugin dnl AC_ARG_ENABLE(libmpeg2, - [ --enable-libmpeg2 libmpeg2 decoder support (default disabled)]) -if test "x${enable_libmpeg2}" = "xyes" + [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)]) +if test "x${enable_libmpeg2}" != "xno" then - AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [ - PLUGINS="${PLUGINS} libmpeg2" - LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2" - ],[]) + AC_ARG_WITH(libmpeg2-tree, + [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking]) + if test "x${with_libmpeg2_tree}" != "x" + then + AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree}) + real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`" + if test "x${real_libmpeg2_tree}" = x + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}]) + fi + if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a" + then + dnl Use a custom libmpeg2 + AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a) + PLUGINS="${PLUGINS} libmpeg2" + LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2" + CFLAGS_libmpeg2="${CFLAGS_libmpeg2} -I${real_libmpeg2_tree}/include" + eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`" + else + dnl The given libmpeg2 wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}]) + fi + else + AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [ + AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2) + AC_EGREP_CPP(yes, + [#include + #ifdef MPEG2_RELEASE + #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2) + yes + #endif + #endif], + [AC_MSG_RESULT([yes]) + PLUGINS="${PLUGINS} libmpeg2" + LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2"], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])], + + [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])] + ) + fi fi dnl @@ -1788,7 +1898,7 @@ then LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg" ],[]) fi - + dnl dnl Tremor plugin dnl @@ -1969,6 +2079,36 @@ from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day. fi fi +dnl +dnl freetype module +dnl +AC_ARG_ENABLE(freetype, + [ --enable-freetype freetype support (default enabled)]) +if test "x${enable_freetype}" != "xno" +then + FREETYPE_PATH="${PATH}" + AC_ARG_WITH(freetype-config-path, + [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)], + [ if test "x${with_freetype_config_path}" != "xno" + then + FREETYPE_PATH="${with_freetype_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH}) + + if test "x${FREETYPE_CONFIG}" != "xno" + then + PLUGINS="${PLUGINS} osdtext" + CFLAGS_osdtext="${CFLAGS_osdtext} `${FREETYPE_CONFIG} --cflags`" + LDFLAGS_osdtext="${LDFLAGS_osdtext} `${FREETYPE_CONFIG} --libs`" + CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}" + elif test "x${enable_freetype}" = "xyes" + then + AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 +from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day. + ]) + fi +fi + dnl dnl Qt Embedded module dnl (disabled by default) @@ -2213,6 +2353,26 @@ if test "x${enable_waveout}" != "xno"; then fi fi +dnl +dnl CoreAudio plugin +dnl +AC_ARG_ENABLE(coreaudio, + [ --enable-coreaudio CoreAudio module (default enabled on MacOS X)]) +if test "x${enable_coreaudio}" != "xno" && + (test "x${SYS}" = "xdarwin" || test "x${enable_coreaudio}" = "xyes") +then + AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, + [ BUILTINS="${BUILTINS} coreaudio" + LDFLAGS_coreaudio="${LDFLAGS_coreaudio} -framework CoreAudio" + AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h) + AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[ + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} coreaudio_resampler" + LDFLAGS_coreaudio_resampler="${LDFLAGS_coreaudio_resampler} -framework AudioToolbox" + ],[ AC_MSG_RESULT(no) ]) + ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) +fi + dnl dnl Interface plugins dnl @@ -2225,6 +2385,64 @@ then PLUGINS="${PLUGINS} beos" fi +dnl +dnl Skins module +dnl +AC_ARG_ENABLE(skins, + [ --enable-skins Skins interface module (default enabled on Win32)]) +if test "x${enable_skins}" != "xno"; then + WXWINDOWS_PATH="${PATH}" + AC_ARG_WITH(skins-wx-config-path, + [ --with-skins-wx-config-path=PATH wx-config path for the skins plugin (default search in \$PATH)], + [ if test "x${with_skins_wx_config_path}" != "xno" + then + WXWINDOWS_PATH="${with_skins_wx_config_path}:${PATH}" + fi ]) + # look for wx-config + AC_PATH_PROG(WX_CONFIG_SKINS, wx-config, no, ${WXWINDOWS_PATH}) + if test "x${WX_CONFIG_SKINS}" != "xno" + then + if expr 2.3.0 \> `${WX_CONFIG_SKINS} --version` >/dev/null + then + AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-skins.]) + fi + CPPFLAGS_skins="${CPPFLAGS_skins} `${WX_CONFIG_SKINS} --cxxflags` -DWX_SKINS" + LDFLAGS_skins="${LDFLAGS_skins} `${WX_CONFIG_SKINS} --libs`" + fi + + if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then + PLUGINS="${PLUGINS} skins" + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -U_OFF_T_ -U_off_t -fno-rtti -Imodules/gui/skins" + LDFLAGS_skins="${LDFLAGS_skins} -loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32" + else + if test "x${enable_skins}" = "xyes"; then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + PLUGINS="${PLUGINS} skins" + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins ${GTK2_CFLAGS} -DGTK2_SKINS" + LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ ${GTK2_LIBS}" + fi + fi +fi + +dnl +dnl Basic skins module (i.e. without wxWindows dialogs) +dnl +AC_ARG_ENABLE(basic-skins, + [ --enable-basic-skins Skins interface module without wxWindows dialogs (default disabled)]) +if test "x${enable_basic_skins}" = "xyes"; then + if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then + PLUGINS="${PLUGINS} basic_skins" + CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -U_OFF_T_ -U_off_t -fno-rtti -Imodules/gui/skins" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32" + else + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + PLUGINS="${PLUGINS} basic_skins" + CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -fno-rtti -Imodules/gui/skins ${GTK2_CFLAGS} -DGTK2_SKINS" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lstdc++ ${GTK2_LIBS}" + fi + CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -DBASIC_SKINS" +fi + dnl dnl Gtk+ module dnl @@ -2278,6 +2496,22 @@ then fi fi +dnl +dnl Gtk+2 module +dnl +AC_ARG_ENABLE(gtk2, + [ --enable-gtk2 Gtk2 support (default disabled)]) +if test "x${enable_gtk2}" = "xyes" +then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + CFLAGS_gtk2="${CFLAGS_gtk2} ${GTK2_CFLAGS}" + LDFLAGS_gtk2="${LDFLAGS_gtk2} ${GTK2_LIBS}" + PLUGINS="${PLUGINS} gtk2" + if test "x${SYS}" != "xmingw32"; then + NEED_GTK2_MAIN=yes + fi +fi + dnl dnl Familiar module uses Gtk+ library dnl @@ -2394,6 +2628,22 @@ developement tools or remove the --enable-gnome option]) CPPFLAGS="${CPPFLAGS_save}" fi]) +dnl +dnl Gnome2 module +dnl +AC_ARG_ENABLE(gnome2, + [ --enable-gnome2 Gnome2 support (default disabled)]) +if test "x${enable_gnome2}" = "xyes" +then + PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0]) + CFLAGS_gnome2="${CFLAGS_gnome2} ${GNOME2_CFLAGS}" + LDFLAGS_gnome2="${LDFLAGS_gnome2} ${GNOME2_LIBS}" + PLUGINS="${PLUGINS} gnome2" + if test "x${SYS}" != "xmingw32"; then + NEED_GNOME2_MAIN=yes + fi +fi + dnl dnl wxWindows module dnl @@ -2442,8 +2692,17 @@ AC_ARG_ENABLE(qt, [if test "x${enable_qt}" = "xyes"; then PLUGINS="${PLUGINS} qt" ALIASES="${ALIASES} qvlc" - LDFLAGS_qt="${LDFLAGS_qt} -lqt -L${QTDIR}/lib" - CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt -I${QTDIR}/include" + LDFLAGS_qt="${LDFLAGS_qt} -L${QTDIR}/lib" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}" + AC_CHECK_LIB(qt-mt,main,[ + LDFLAGS_qt="${LDFLAGS_qt} -lqt-mt" + ],[ + AC_CHECK_LIB(qt,main,[ + LDFLAGS_qt="${LDFLAGS_qt} -lqt" + ]) + ]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then MOC=${QTDIR}/bin/moc @@ -2475,7 +2734,7 @@ AC_ARG_ENABLE(kde, LDFLAGS_kde="${LDFLAGS_kde} -lkio" ]) LDFLAGS="${LDFLAGS_save}" - CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt" + CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt" CPPFLAGS_kde="${CPPFLAGS_kde} -I${KDEDIR}/include -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then @@ -2527,11 +2786,11 @@ AC_ARG_ENABLE(macosx, [if test "x${enable_macosx}" = "xyes" then BUILTINS="${BUILTINS} macosx" - LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, BUILTINS="${BUILTINS} macosx" - LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" )]) dnl @@ -2547,18 +2806,6 @@ AC_ARG_ENABLE(qnx, ]) fi -dnl -dnl Windows native interface module, built with Borland C++ Builder -dnl -AC_ARG_ENABLE(intfwin, -[ --enable-intfwin Win32 interface support (default disabled)], -[ if test "x${enable_intfwin}" != "xno" - then - AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found)) - AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found)) - PLUGINS="${PLUGINS} win32" - fi ]) - dnl dnl ncurses module dnl @@ -2606,10 +2853,7 @@ then if test "x${have_slp}" = "xtrue" then PLUGINS="${PLUGINS} slp" - LDFLAGS_slp="${LDFLAGS_slp} -lslp" - if test "x${SYS}" != "xmingw32"; then - LDFLAGS_slp="${LDFLAGS_slp} -lws2_32" - fi + LDFLAGS_slp="-lslp ${LDFLAGS_slp}" fi else AC_MSG_CHECKING(for slp headers in ${with_slp}) @@ -2618,10 +2862,7 @@ then dnl Use ${with_slp}/libslp/slp.h AC_MSG_RESULT(yes) PLUGINS="${PLUGINS} slp" - LDFLAGS_slp="${LDFLAGS_slp} -L${with_slp} -lslp" - if test "x${SYS}" != "xmingw32"; then - LDFLAGS_slp="${LDFLAGS_slp} -lws2_32" - fi + LDFLAGS_slp="-L${with_slp} -lslp ${LDFLAGS_slp}" CPPFLAGS_slp="${CPPFLAGS_slp} -I${with_slp}" else dnl No libslp could be found, sorry @@ -2765,7 +3006,7 @@ if test "x${NEED_GTK_MAIN}" != "xno" then PLUGINS="${PLUGINS} gtk_main" CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN" - CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN" + CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN" CFLAGS_gtk_main="${CFLAGS_gtk_main} ${CFLAGS_gtk} ${CFLAGS_familiar}" LDFLAGS_gtk_main="${LDFLAGS_gtk_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar}" fi @@ -2777,6 +3018,21 @@ then LDFLAGS_gnome_main="${LDFLAGS_gnome_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_gnome}" fi +if test "x${NEED_GTK2_MAIN}" != "xno" +then + PLUGINS="${PLUGINS} gtk2_main" + CFLAGS_gtk2="${CFLAGS_gtk2} -DNEED_GTK2_MAIN" + CFLAGS_gtk2_main="${CFLAGS_gtk2_main} ${CFLAGS_gtk2}" + LDFLAGS_gtk2_main="${LDFLAGS_gtk2_main} ${LDFLAGS_gtk2}" +fi + +if test "x${NEED_GNOME2_MAIN}" != "xno" +then + PLUGINS="${PLUGINS} gnome2_main" + CFLAGS_gnome2_main="${CFLAGS_gnome2_main} ${CFLAGS_gtk2} ${CFLAGS_gnome2}" + LDFLAGS_gnome2_main="${LDFLAGS_gnome2_main} ${LDFLAGS_gtk2} ${LDFLAGS_gnome2}" +fi + dnl dnl qte_main plugin dnl @@ -2784,7 +3040,8 @@ if test "x${NEED_QTE_MAIN}" != "xno" then PLUGINS="${PLUGINS} qte_main" CPPFLAGS_qte="${CPPFLAGS_qte} -DNEED_QTE_MAIN" - CPPFLAGS_opie="${CPPFLAGS_opie} -DNEED_QTE_MAIN" + CPPFLAGS_opie="${CPPFLAGS_opie} -DNEED_QTE_MAIN" + CFLAGS_vout_sdl="${CFLAGS_vout_sdl} -DNEED_QTE_MAIN" CPPFLAGS_qte_main="${CFLAGS_qte_main} ${CPPFLAGS_qte}" LDFLAGS_qte_main="${LDFLAGS_qte_main} ${LDFLAGS_qte}" fi @@ -2916,6 +3173,7 @@ AC_SUBST(LDFLAGS_mozilla) AC_OUTPUT([ Makefile + autotools/Makefile debian/Makefile doc/Makefile intl/Makefile