X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac.in;h=0bdb5e7455b9b483dbcdb8d21093e1cf3e1f0ac6;hb=eccd9348b6e908a72bc22b985de4cba68ec00ea1;hp=db7bb32421bd04c3281f34c62c43b3f7756d8552;hpb=5158f316b548484b70999e73b5d04d86117ede38;p=vlc diff --git a/configure.ac.in b/configure.ac.in index db7bb32421..0bdb5e7455 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -1,9 +1,9 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.5.3-test2) +AC_INIT(vlc,0.6.0-test2) CONFIGURE_LINE="$0 $*" -CODENAME="Natalya" +CODENAME="Trevelyan" AC_PREREQ(2.50) AC_CONFIG_SRCDIR(src/libvlc.c) @@ -12,7 +12,7 @@ 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.3-test2) +AM_INIT_AUTOMAKE(vlc,0.6.0-test2) AM_CONFIG_HEADER(config.h) dnl @@ -85,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}" @@ -132,6 +133,7 @@ case "x${target_os}" in 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 ;; @@ -149,17 +151,16 @@ case "x${target_os}" in ;; xbeos) SYS=beos - CFLAGS_save="${CFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}" + CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; 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 ? only BONE has libbind.so - AC_CHECK_LIB( bind, inet_ntoa, - [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind" - LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind" - LDFLAGS_httpd="${LDFLAGS_httpd} -lbind"], - []) + LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -ltranslation -ltracker -lgame -lstdc++.r4" + dnl Check if we have BONE (old net_server doesn't have libsocket.so) + AC_CHECK_LIB( socket, connect, + LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket -lbind" + LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket -lbind" + LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket -lbind" + LDFLAGS_httpd="${LDFLAGS_httpd} -lsocket -lbind" ) ;; x*) SYS="${target_os}" @@ -181,8 +182,8 @@ 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}",, + ${LIBINTL} ) ]) fi @@ -291,6 +292,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" )]) @@ -325,6 +327,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, @@ -334,6 +337,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" @@ -343,7 +347,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 @@ -401,10 +407,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 @@ -439,6 +443,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,[ @@ -452,8 +457,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 @@ -463,6 +470,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) @@ -471,6 +479,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) @@ -483,7 +492,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 @@ -502,25 +513,6 @@ NEED_GNOME2_MAIN=no dnl build the qte plugin ? NEED_QTE_MAIN=no -dnl Check for DPMS -if test "x${SYS}" != "xmingw32" -then - CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" - AC_CHECK_HEADERS(X11/extensions/dpms.h, [ - AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) - AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(DPMSINFO_IN_DPMS_H, 1, - Define if defines DPMSInfo.) - ],[ - AC_MSG_RESULT(no) - ]) - ],,[ - #include - ]) - CPPFLAGS="${CPPFLAGS_save}" -fi - dnl Check for ntohl, etc. AC_CACHE_CHECK([for ntohl in sys/param.h], [ac_cv_c_ntohl_sys_param_h], @@ -724,12 +716,17 @@ if test "x${ac_cv_ld_darwin}" != "xno"; then fi dnl Check for standard plugin linking flags -AC_CACHE_CHECK([if \$CC accepts -shared], - [ac_cv_ld_plugins], - [CFLAGS="${CFLAGS_save} -shared" - AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) -if test "x${ac_cv_ld_plugins}" != "xno"; then - LDFLAGS_plugins="${LDFLAGS_plugins} -shared" +dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning) +if test "x${SYS}" = "xbeos"; then + LDFLAGS_plugins="${LDFLAGS_plugins} -nostart" +else + AC_CACHE_CHECK([if \$CC accepts -shared], + [ac_cv_ld_plugins], + [CFLAGS="${CFLAGS_save} -shared" + AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) + if test "x${ac_cv_ld_plugins}" != "xno"; then + LDFLAGS_plugins="${LDFLAGS_plugins} -shared" + fi fi dnl Check for variadic macros @@ -806,7 +803,7 @@ AM_CONDITIONAL(CPROF, test "${enable_gprof}" = "yes") dnl dnl default modules dnl -BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion" +#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" @@ -822,7 +819,7 @@ PLUGINS="${PLUGINS} id3 m3u" 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" +PLUGINS="${PLUGINS} access_ftp access_directory sap httpd http" dnl dnl Some plugins aren't useful on some platforms @@ -834,11 +831,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 @@ -883,8 +883,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], @@ -940,7 +938,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:]) @@ -1017,7 +1015,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, [ @@ -1250,7 +1249,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 @@ -1323,11 +1326,21 @@ 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 +dnl +dnl special access module for Hauppauge PVR cards +dnl +AC_ARG_ENABLE(pvr, + [ --enable-pvr PVR cards access module (default disabled)]) +if test "x${enable_pvr}" = "xyes" +then + PLUGINS="${PLUGINS} pvr" +fi + dnl dnl VCD module dnl @@ -1339,7 +1352,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) ]) @@ -1347,7 +1360,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) @@ -1356,7 +1369,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) @@ -1364,13 +1377,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 @@ -1435,7 +1449,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, @@ -1479,7 +1493,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" ], @@ -1501,60 +1515,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 @@ -1665,9 +1691,25 @@ 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 @@ -1675,6 +1717,7 @@ dnl AC_CHECK_HEADERS(zlib.h, [ LDFLAGS_mp4="${LDFLAGS_mp4} -lz" LDFLAGS_skins="${LDFLAGS_skins} -lz" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lz" ] ) @@ -1683,6 +1726,7 @@ dnl skins module dnl AC_CHECK_HEADERS(libtar.h, [ LDFLAGS_skins="${LDFLAGS_skins} -ltar" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -ltar" ] ) @@ -1749,7 +1793,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}" @@ -1761,7 +1805,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, [ @@ -1787,13 +1831,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 @@ -1808,7 +1892,7 @@ then LDFLAGS_vorbis="${LDFLAGS_vorbis} -lvorbis -logg" ],[]) fi - + dnl dnl Tremor plugin dnl @@ -1873,6 +1957,25 @@ dnl AC_ARG_WITH(,[Video plugins:]) +dnl Check for DPMS +if test "x${SYS}" != "xmingw32" +then + CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" + AC_CHECK_HEADERS(X11/extensions/dpms.h, [ + AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) + AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ + AC_MSG_RESULT(yes) + AC_DEFINE(DPMSINFO_IN_DPMS_H, 1, + Define if defines DPMSInfo.) + ],[ + AC_MSG_RESULT(no) + ]) + ],,[ + #include + ]) + CPPFLAGS="${CPPFLAGS_save}" +fi + dnl dnl X11 module dnl (enabled by default except on win32) @@ -1886,6 +1989,13 @@ if test "x${enable_x11}" != "xno" && PLUGINS="${PLUGINS} x11" LDFLAGS_x11="${LDFLAGS_x11} -L${x_libraries} -lX11 -lXext" CPPFLAGS_x11="${CPPFLAGS_x11} -I${x_includes}" + AC_CHECK_HEADERS(X11/extensions/Xinerama.h, [ + CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext" + AC_CHECK_LIB(Xinerama, XineramaQueryExtension, + AC_DEFINE(HAVE_XINERAMA,1,[Define this if you have libXinerama installed]) + LDFLAGS_x11="${LDFLAGS_x11} -lXinerama") + CFLAGS="${CFLAGS_save}" + ]) ]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -1915,6 +2025,11 @@ if test "x${enable_xvideo}" != "xno" && : ) ) + AC_CHECK_HEADERS(X11/extensions/Xinerama.h, [ + AC_CHECK_LIB(Xinerama, XineramaQueryExtension, + AC_DEFINE(HAVE_XINERAMA,1,[Define this if you have libXinerama installed]) + LDFLAGS_xvideo="${LDFLAGS_xvideo} -lXinerama") + ]) CFLAGS="${CFLAGS_save}" ] CPPFLAGS="${CPPFLAGS_save}") @@ -2005,7 +2120,7 @@ then fi ]) AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH}) - if test "x${FREETYPE_CONFIG}" != "xno" -a "x${have_xosd}" = "xtrue" + if test "x${FREETYPE_CONFIG}" != "xno" then PLUGINS="${PLUGINS} osdtext" CFLAGS_osdtext="${CFLAGS_osdtext} `${FREETYPE_CONFIG} --cflags`" @@ -2273,10 +2388,14 @@ if test "x${enable_coreaudio}" != "xno" && then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, [ BUILTINS="${BUILTINS} coreaudio" - PLUGINS="${PLUGINS} coreaudio_resampler" LDFLAGS_coreaudio="${LDFLAGS_coreaudio} -framework CoreAudio" - LDFLAGS_coreaudio_resampler="${LDFLAGS_coreaudio_resampler} -framework AudioToolbox" ], - [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) + 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 @@ -2295,15 +2414,97 @@ dnl dnl Skins module dnl AC_ARG_ENABLE(skins, - [ --enable-skins Win32 skins module (default enabled on Win32)]) + [ --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 -fno-rtti -Imodules/gui/skins -Imodules/gui/skins/src -Imodules/gui/skins/win32 -Imodules/gui/skins/controls" - LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32" + 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 + + AC_ARG_WITH(gtk2-skins, + [ --with-gtk2-skins skins using GTK2 (default disabled)]) + + if test "x${with_gtk2_skins}" = "xyes"; then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins ${GTK2_CFLAGS} -DGTK2_SKINS" + LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ ${GTK2_LIBS}" + else + + IMLIB2_PATH="${PATH}" + AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH}) + if test "x${IMLIB2_CONFIG_SKINS}" = "xno"; then + AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-skins.]) + fi + + PLUGINS="${PLUGINS} skins" + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS" + LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ -L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`" + fi + + PLUGINS="${PLUGINS} skins" + + 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 + + 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 + AC_ARG_WITH(gtk2-basic-skins, + [ --with-gtk2-basic-skins skins using GTK2 (default disabled)]) + + if test "x${with_gtk2_basic_skins}" = "xyes"; then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + 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}" + else + + IMLIB2_PATH="${PATH}" + AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH}) + if test "x${IMLIB2_CONFIG_SKINS}" = "xno"; then + AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-basic-skins.]) + fi + + CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -fno-rtti -Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS" + LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lstdc++ -L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`" + fi + + fi + + PLUGINS="${PLUGINS} basic_skins" + CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -DBASIC_SKINS" +fi + dnl dnl Gtk+ module dnl @@ -2667,18 +2868,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