X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=62963d45194808fef57a2a58512d733658f5268f;hb=48ba13ced1bd1000c4a50e807ba62112652b6b0b;hp=face41792e6b89ec698d20c4831bba59b12b98a6;hpb=5ba68590d952b7f7cf07a29f6b05d7f0e209e917;p=vlc diff --git a/configure.ac b/configure.ac index face41792e..62963d4519 100644 --- a/configure.ac +++ b/configure.ac @@ -1,10 +1,10 @@ dnl Autoconf settings for vlc -dnl $Id: configure.ac,v 1.135 2003/12/15 21:07:55 jpsaman Exp $ +dnl $Id$ -AC_INIT(vlc,0.7.0-test2) +AC_INIT(vlc,0.7.2-cvs) CONFIGURE_LINE="$0 $*" -CODENAME="Trevelyan" +CODENAME="Bond" AC_PREREQ(2.50) AC_CONFIG_SRCDIR(src/libvlc.c) @@ -13,7 +13,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.7.0-test2) +AM_INIT_AUTOMAKE(vlc,0.7.2-cvs) AM_CONFIG_HEADER(config.h) dnl @@ -28,6 +28,7 @@ AC_PROG_CC AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_CXX +AC_PROG_CXXCPP AC_PROG_MAKE_SET AC_PROG_INSTALL @@ -118,6 +119,7 @@ case "${target_os}" in CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}" OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}" AX_ADD_LDFLAGS([vlc ffmpeg],[-all_load]) + AX_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) AX_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress]) LIBEXT=".dylib" ;; @@ -144,7 +146,7 @@ case "${target_os}" in # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" AX_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) - AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http httpd stream_out_standard],[-lws2_32]) + AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard],[-lws2_32]) fi ;; *nto*) @@ -153,6 +155,9 @@ case "${target_os}" in ;; solaris*) SYS=solaris + # _POSIX_PTHREAD_SEMANTICS is needed to get the POSIX ctime_r + # Perhaps it is useful other places as well? + CFLAGS_save="${CFLAGS_save} -D_POSIX_PTHREAD_SEMANTICS"; CFLAGS="${CFLAGS_save}" ;; hpux*) SYS=hpux @@ -199,6 +204,14 @@ fi AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes") XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" +AC_ARG_ENABLE(utf8, + [ --enable-utf8 unicode utf8 support (default enabled on darwin/beos/win32)]) +if test "${enable_utf8}" = "yes" || (test "${enable_utf8}" != "no" && (test "${SYS}" = "mingw32" || test "${SYS}" = "beos" || test "${SYS}" = "darwin" ) ) +then + AC_DEFINE(ENABLE_UTF8, 1, + Define if you want utf8 support) +fi + AC_MSG_CHECKING(for suffix of libraries) AC_MSG_RESULT(${LIBEXT}) @@ -273,7 +286,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd dnl Check for system libs needed need_libc=false -AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r) +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r) dnl Check for usual libc functions AC_CHECK_FUNCS(strdup strndup atof lseek) @@ -304,16 +317,16 @@ AC_CHECK_FUNCS(connect,,[ AC_CHECK_FUNCS(send,,[ AC_CHECK_LIB(socket,send,[ - AX_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap httpd access_output_udp stream_out_standard],[-lsocket]) + AX_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard],[-lsocket]) ]) ]) AC_CHECK_FUNCS(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname,[ - AX_ADD_LDFLAGS([cddax ipv4 httpd vlc],[-lnsl]) + AX_ADD_LDFLAGS([cddax ipv4 vlc],[-lnsl]) ],[ AC_CHECK_LIB(bind,gethostbyname,[ - AX_ADD_LDFLAGS([ipv4 access_mms httpd],[-lbind]) + AX_ADD_LDFLAGS([ipv4 access_mms],[-lbind]) ]) ]) ]) @@ -352,7 +365,7 @@ fi AC_CHECK_FUNCS(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton,[ - AX_ADD_LDFLAGS([ipv4 httpd],[-lresolv]) + AX_ADD_LDFLAGS([ipv4 vlc],[-lresolv]) ]) ]) @@ -373,10 +386,10 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) if test "${SYS}" != "mingw32"; then AC_TYPE_SIGNAL AC_CHECK_LIB(m,cos,[ - AX_ADD_LDFLAGS([adjust distort a52tofloat32],[-lm]) + AX_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad],[-lm]) + AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad vlc],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ AX_ADD_LDFLAGS([headphone_channel_mixer],[-lm]) @@ -868,22 +881,21 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys]) -AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv]) -AX_ADD_PLUGINS([spudec dvbsub mpeg_audio lpcm a52 dts cinepak]) +AX_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys]) +AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff]) +AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak]) AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur]) AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32]) AX_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler]) AX_ADD_PLUGINS([trivial_channel_mixer headphone_channel_mixer]) AX_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer]) AX_ADD_PLUGINS([aout_file]) -#AX_ADD_PLUGINS([scope]) AX_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga]) -AX_ADD_PLUGINS([id3 m3u]) +AX_ADD_PLUGINS([id3 m3u playlist export]) AX_ADD_PLUGINS([rawvideo]) AX_ADD_PLUGINS([wav araw demuxdump demuxsub adpcm a52sys dtssys au]) AX_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms]) -AX_ADD_PLUGINS([access_ftp access_directory sap httpd http]) +AX_ADD_PLUGINS([access_ftp access_directory sap http]) dnl dnl Switch to enable a version of VLC where most modules will be builtin @@ -913,7 +925,7 @@ MMXEXT_MODULES="memcpymmxext" #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext" THREEDNOW_MODULES="memcpy3dn" SSE_MODULES="" -ALTIVEC_MODULES="memcpyaltivec" +ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec" #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" if test "${enable_gprof}" != "yes" @@ -927,6 +939,7 @@ AC_CACHE_CHECK([if \$CC groks MMX inline assembly], AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));], ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)]) if test "${ac_cv_mmx_inline}" != "no"; then + AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.) ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" fi @@ -936,6 +949,7 @@ AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly], AC_TRY_COMPILE(,[void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));], ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)]) if test "${ac_cv_mmxext_inline}" != "no"; then + AC_DEFINE(CAN_COMPILE_MMXEXT, 1, Define if \$CC groks MMX EXT inline assembly.) ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}" fi @@ -995,7 +1009,7 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], CFLAGS="${CFLAGS_save}"]) if test "${ac_cv_c_altivec}" != "no"; then AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) - AX_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[${ac_cv_c_altivec}]) + AX_ADD_CFLAGS([vlc idctaltivec motionaltivec memcpyaltivec deinterlace i420_yuy2_altivec],[${ac_cv_c_altivec}]) ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi @@ -1026,7 +1040,8 @@ if test -n "${with_tuning}"; then CFLAGS_TUNING="-mcpu=${with_tuning}" fi else - if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then CFLAGS_TUNING="-mcpu=pentiumpro" + if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then + CFLAGS_TUNING="-mcpu=pentiumpro" else if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi fi @@ -1103,16 +1118,40 @@ dnl dnl live.com input dnl AC_ARG_ENABLE(livedotcom, -[ --enable-livedotcom live.com input plugin (default disabled)]) -if test "${enable_livedotcom}" = "yes" -then +[ --enable-livedotcom live.com input plugin (default disabled)]) +if test "${enable_livedotcom}" = "yes"; then AC_ARG_WITH(livedotcom-tree, - [ --with-livedotcom-tree=PATH live.com tree for static linking (required)]) + [ --with-livedotcom-tree=PATH live.com tree for static linking]) dnl dnl test for --with-livedotcom-tree dnl - if test "${with_livedotcom_tree}" != "no" -a -n "${with_livedotcom_tree}";then + if test -z "${with_livedotcom_tree}"; then + AC_LANG_PUSH(C++) + CPPFLAGS_save="${CPPFLAGS}" + CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_livedotcom}" + AC_CHECK_HEADERS(liveMedia.hh, [ + AX_ADD_CXXFLAGS([livedotcom], [${CPPFLAGS_livedotcom}]) + AC_CHECK_LIB(liveMedia_pic, main, [ + # We have -lliveMedia_pic, build plugins + AX_ADD_PLUGINS([livedotcom]) + AX_ADD_LDFLAGS([livedotcom], [-lliveMedia_pic -lgroupsock_pic -lBasicUsageEnvironment_pic -lUsageEnvironment_pic]) + ], [ + AC_CHECK_LIB(liveMedia, main, [ + # We only have -lliveMedia, do builtins + AX_ADD_BUILTINS([livedotcom]) + AX_ADD_LDFLAGS([livedotcom], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment]) + ]) + ]) + if test "${SYS}" = "mingw32"; then + # add ws2_32 for closesocket, select, recv + AX_ADD_LDFLAGS([livedotcom],[-lws2_32]) + fi + ]) + CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP(C++) + else AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree}) real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`" if test -z "${real_livedotcom_tree}"; then @@ -1144,10 +1183,6 @@ then AC_MSG_RESULT(no) AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}]) fi - else - dnl The --with-livedotcom-tree isn't specified wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([You have to specify a tree with --with-livedotcom-tree]) fi fi @@ -1349,11 +1384,34 @@ then fi fi +dnl +dnl libdvdnav plugin +dnl +AC_ARG_ENABLE(dvdnav, + [ --enable-dvdnav dvdnav input module (default enabled)]) +if test "${enable_caca}" != "no" +then + DVDNAV_PATH="${PATH}" + AC_ARG_WITH(dvdnav-config-path, + [ --with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)], + [ if test "${with_dvdnav_config_path}" != "no" + then + DVDNAV_PATH="${with_dvdnav_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(DVDNAV_CONFIG, dvdnav-config, no, ${DVDNAV_PATH}) + if test "${DVDNAV_CONFIG}" != "no" + then + AX_ADD_PLUGINS([dvdnav]) + AX_ADD_CFLAGS([dvdnav],[`${DVDNAV_CONFIG} --cflags`]) + AX_ADD_LDFLAGS([dvdnav],[`${DVDNAV_CONFIG} --libs`]) + fi +fi + dnl dnl Windows DirectShow access module dnl AC_ARG_ENABLE(dshow, - [ --enable-dshow Win32 DirectShow support (default enabled on Win32)]) + [ --enable-dshow Win32 DirectShow support (default enabled on Win32)]) if test "${enable_dshow}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" @@ -1381,8 +1439,8 @@ then if test -z "${with_dvbpsi_tree}" then AC_CHECK_HEADERS(dvbpsi/dr.h, - [ AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi]) - AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-ldvbpsi]) ], + [ AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2]) + AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-ldvbpsi]) ], [ AC_MSG_WARN([cannot find libdvbpsi headers]) ], [#if defined( HAVE_STDINT_H ) # include @@ -1406,9 +1464,9 @@ then then dnl Use a custom libdvbpsi AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a) - AX_ADD_BUILTINS([ts_dvbpsi mux_ts_dvbpsi]) - AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-I${real_dvbpsi_tree}/src]) - AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi]) + AX_ADD_BUILTINS([ts_dvbpsi mux_ts_dvbpsi ts2]) + AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-I${real_dvbpsi_tree}/src]) + AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi]) else dnl The given libdvbpsi wasn't built AC_MSG_RESULT(no) @@ -1431,9 +1489,9 @@ then fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" AC_CHECK_HEADERS([dvbpsi/dr.h],[ - AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi]) - AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi],[${CPPFLAGS_test}]) - AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi],[${LDFLAGS_test} -ldvbpsi]) + AX_ADD_PLUGINS([ts_dvbpsi mux_ts_dvbpsi ts2]) + AX_ADD_CPPFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${CPPFLAGS_test}]) + AX_ADD_LDFLAGS([ts_dvbpsi mux_ts_dvbpsi ts2],[${LDFLAGS_test} -ldvbpsi]) ],[ if test -n "${enable_dvbpsi}" @@ -1481,13 +1539,16 @@ dnl dnl VCDX and CDDAX modules dnl AC_ARG_ENABLE(libcdio, - [ --enable-libcdio CDDA support via libcdio (default enabled)]) + [ --enable-libcdio CDDA support via libcdio (default enabled)]) AC_ARG_ENABLE(libcddb, - [ --enable-libcddb CDDB support for CDDAX (default enabled)]) + [ --enable-libcddb CDDB support for CDDAX (default enabled)]) AC_ARG_ENABLE(vcdx, - [ --enable-vcdx VCD support with Navigation (default enabled)]) + [ --enable-vcdx VCD support with Navigation (default enabled)]) + +AC_ARG_ENABLE(cdda, + [ --enable-cdda CDDA plugin support (default enabled)]) if test "${enable_cddax}" != "no" then @@ -1500,7 +1561,7 @@ then [AC_MSG_WARN(libcdio library not found) HAVE_CDDAX=no]) - if test x$enable_cddb != no; then + if test x$enable_libcddb != no; then PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [ HAVE_LIBCDDB=yes AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed]) @@ -1511,16 +1572,9 @@ then HAVE_LIBCDDB=no]) fi - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65, - [enable_cddax="no" - AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS]) - AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS]) - AX_ADD_PLUGINS([cddax])], - [AC_MSG_WARN(libcdio library not found)]) - if test "${enable_vcdx}" != "no" then - PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20-cdio, + PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20, [enable_vcd="no" AC_DEFINE(HAVE_VCDX, [], [Define for the VCD plugin using libcdio/libvcdinfo]) @@ -1655,22 +1709,39 @@ dnl matroska demux plugin dnl AC_ARG_ENABLE(mkv, [ --enable-mkv Matroska demux support (default enabled)]) -if test "${enable_mkv}" != "no" -then -AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(ebml/EbmlVersion.h matroska/KaxVersion.h, [ - AC_CHECK_HEADERS(matroska/KaxAttachments.h) - AX_ADD_PLUGINS([mkv]) - AX_ADD_CXXFLAGS([mkv],[]) - AC_CHECK_LIB(ebml_pic,main,[ - # We have ebml_pic, that's good, we can build an mkv.so plugin ! - AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic]) - ],[ - AX_ADD_LDFLAGS([mkv],[-lmatroska -lebml]) +if test "${enable_mkv}" != "no"; then + AC_LANG_PUSH(C++) + AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ + AC_CHECK_HEADERS(matroska/KaxVersion.h, [ + AC_CHECK_HEADERS(matroska/KaxAttachments.h) + AX_ADD_CXXFLAGS([mkv],[]) + AC_CHECK_LIB(ebml_pic, main, [ + # We have ebml_pic, that's good, we can build an mkv.so plugin ! + AX_ADD_PLUGINS([mkv]) + AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic]) + ], [ + AC_CHECK_LIB(ebml, main, [ + # We only have libebml, make mkv.a a builtin + AX_ADD_BUILTINS([mkv]) + AX_ADD_LDFLAGS([mkv],[-lmatroska -lebml]) + ]) + ]) ]) ]) - CPPFLAGS="${CPPFLAGS_save}" -AC_LANG_POP(C++) + AC_LANG_POP(C++) +fi + +dnl +dnl modplug demux plugin +dnl +AC_ARG_ENABLE(mod, + [ --enable-mod Mod demux support (default enabled)]) +if test "${enable_mod}" != "no" +then + AC_CHECK_HEADERS(libmodplug/modplug.h, [ + AX_ADD_PLUGINS([mod]) + AX_ADD_CXXFLAGS([mod],[]) + AX_ADD_LDFLAGS([mod],[-lmodplug])]) fi dnl @@ -1746,7 +1817,7 @@ AC_CHECK_HEADERS(id3tag.h, [ AX_ADD_PLUGINS([id3tag])]) ]) dnl -dnl ffmpeg decoder plugin +dnl ffmpeg decoder/demuxer plugin dnl AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default enabled)]) @@ -1774,10 +1845,11 @@ then dnl dnl test for !(--with-ffmpeg-tree) dnl - if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}";then + if test "${with_ffmpeg_tree}" = "no" -o -z "${with_ffmpeg_tree}"; then CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" - AC_CHECK_HEADERS(ffmpeg/avcodec.h postproc/postprocess.h) + AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) + AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) AC_CHECK_LIB(avcodec, avcodec_init, [ AX_ADD_BUILTINS([ffmpeg stream_out_transcode]) AX_ADD_LDFLAGS([ffmpeg],[-lavcodec]) @@ -1785,6 +1857,10 @@ then dnl linker would miserably barf on multiple definitions. AX_ADD_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.]) ]) + AC_CHECK_LIB(avformat, av_open_input_stream, [ + AC_DEFINE(HAVE_LIBAVFORMAT, 1, + [Define if you have ffmpeg's libavformat.]) + AX_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi @@ -1792,7 +1868,7 @@ then dnl dnl test for --with-ffmpeg-tree dnl - if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}";then + if test "${with_ffmpeg_tree}" != "no" -a -n "${with_ffmpeg_tree}"; then AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree}) real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`" if test -z "${real_ffmpeg_tree}"; then @@ -1800,22 +1876,32 @@ then AC_MSG_RESULT(no) AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}]) fi - if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then - dnl Use a custom libffmpeg - AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) - AX_ADD_BUILTINS([ffmpeg stream_out_transcode]) - AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec]) - AX_ADD_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. - AX_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec]) - AX_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec]) - else + if ! test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then 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 + if ! grep -q "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then + dnl The given libavcodec wasn't built with --enable-pp + AC_MSG_RESULT(no) + AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp]) + fi + dnl Use a custom libffmpeg + AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) + AX_ADD_BUILTINS([ffmpeg stream_out_transcode]) + AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec]) + AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat]) + + if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then + AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) + AX_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz]) + AX_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat]) + fi + + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + AX_ADD_LDFLAGS([stream_out_transcode],[-L${real_ffmpeg_tree}/libavcodec]) + AX_ADD_CPPFLAGS([stream_out_transcode],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat]) fi fi @@ -1940,21 +2026,24 @@ dnl dnl MP4 module dnl AC_CHECK_HEADERS(zlib.h, [ - AX_ADD_LDFLAGS([mp4 skins sap],[-lz]) + AX_ADD_LDFLAGS([mp4 skins skins2 sap],[-lz]) ] ) +AC_CHECK_HEADERS(sysfs/libsysfs.h, [ + AX_ADD_LDFLAGS([mp4],[-lsysfs]) +] ) dnl dnl skins module dnl AC_CHECK_HEADERS(libtar.h, [ - AX_ADD_LDFLAGS([skins],[-ltar]) + AX_ADD_LDFLAGS([skins skins2],[-ltar]) ] ) dnl -dnl a52 AC3 decoder plugin +dnl A52/AC3 decoder plugin dnl AC_ARG_ENABLE(a52, [ --enable-a52 A/52 support with liba52 (default enabled)]) @@ -2023,6 +2112,61 @@ then fi fi +dnl +dnl DTS Coherent Acoustics decoder plugin +dnl +AC_ARG_ENABLE(dts, + [ --enable-dts DTS Coherent Acoustics support with libdts (default enabled)]) +if test "${enable_dts}" != "no"; then + AC_ARG_WITH(dts-tree, + [ --with-dts-tree=PATH libdts tree for static linking ],[],[]) + if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}" + then + real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`" + if test -z "${real_dts_tree}" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([${with_dts_tree} directory doesn't exist]) + fi + dnl Use a custom libdts + AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include) + if test -f ${real_dts_tree}/include/dts.h + then + AC_MSG_RESULT(yes) + AX_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include]) + AX_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts]) + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" + AC_CHECK_LIB(dts, dts_free, [ + AX_ADD_BUILTINS([dtstofloat32]) + AX_ADD_LDFLAGS([dtstofloat32],[-ldts]) + ],[ + if test -f ${real_dts_tree}/libdts/libdts.a + then + AC_MSG_ERROR([make sure you have at least libdts-0.0.2]) + else + AC_MSG_ERROR([the specified tree hasn't been compiled]) + fi + ]) + LDFLAGS="${LDFLAGS_save}" + else + AC_MSG_RESULT(no) + AC_MSG_ERROR([the specified tree doesn't have dts.h]) + fi + else + AC_CHECK_HEADERS(dts.h, [ + AC_CHECK_LIB(dts, dts_free, [ + AX_ADD_PLUGINS([dtstofloat32]) + AX_ADD_LDFLAGS([dtstofloat32],[-ldts]) + ],[ + if test "${enable_dts}" = "yes"; then + AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.]) + fi + ]) + ]) + fi +fi + dnl dnl dnl dnl DV plugin dnl dnl @@ -2134,7 +2278,7 @@ dnl dnl Speex plugin dnl AC_ARG_ENABLE(speex, - [ --enable-speex Speex decoder support (default enabled)]) + [ --enable-speex Speex decoder support (default enabled)]) if test "${enable_speex}" != "no" then AC_CHECK_HEADERS(speex.h, [ @@ -2209,7 +2353,10 @@ dnl png dnl AC_CHECK_HEADERS(png.h, [ AX_ADD_LDFLAGS([logo],[-lpng -lz]) - AX_ADD_PLUGINS([logo])]) + AX_ADD_PLUGINS([logo]) + AX_ADD_LDFLAGS([svcdsub],[-lpng -lz]) + AX_ADD_LDFLAGS([cvdsub],[-lpng -lz]) + AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])]) dnl dnl Video plugins @@ -2390,7 +2537,6 @@ then AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs` ${LIBICONV}]) AC_CHECK_HEADERS(Carbon/Carbon.h, [AX_ADD_LDFLAGS([freetype],[-framework Carbon])]) - CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}" elif test "${enable_freetype}" = "yes" then AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 @@ -2569,7 +2715,14 @@ AC_ARG_ENABLE(caca, [ --enable-caca libcaca output (default disabled)]) if test "${enable_caca}" = "yes" then - AC_PATH_PROG(CACA_CONFIG, caca-config, no) + CACA_PATH="${PATH}" + AC_ARG_WITH(caca-config-path, + [ --with-caca-config-path=PATH caca-config path (default search in \$PATH)], + [ if test "${with_caca_config_path}" != "no" + then + CACA_PATH="${with_caca_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(CACA_CONFIG, caca-config, no, ${CACA_PATH}) if test "${CACA_CONFIG}" != "no" then AX_ADD_PLUGINS([caca]) @@ -2724,20 +2877,90 @@ if test "${enable_skins}" != "no"; then AX_ADD_LDFLAGS([skins],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32]) else if test "${enable_skins}" = "yes"; then - IMLIB2_PATH="${PATH}" - AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH}) - if test "${IMLIB2_CONFIG_SKINS}" = "no"; then - AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-skins.]) - fi - AX_ADD_PLUGINS([skins]) ALIASES="${ALIASES} svlc" - AX_ADD_CPPFLAGS([skins],[-Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS]) + AX_ADD_CPPFLAGS([skins],[-Imodules/gui/skins -I${x_includes} -I/usr/include/freetype2 -DX11_SKINS]) AX_ADD_CXXFLAGS([skins],[-O2 -fno-rtti]) - AX_ADD_LDFLAGS([skins],[-L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`]) + AX_ADD_LDFLAGS([skins],[-L${x_libraries} -lImlib2 -lXext -lX11 -lfreetype -lpng -lz ]) fi fi fi +dnl +dnl Skins2 module +dnl +AC_ARG_ENABLE(skins2, + [ --enable-skins2 Skins2 interface module (experimental)]) +if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${enable_skins2}" != "no"); then + + dnl test for the required libraries + skins2_missing_lib="no" + + dnl freetype + if test "${FREETYPE_CONFIG}" != "no"; then + AX_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`]) + AX_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`]) + else + skins2_missing_lib="yes" + if test "${enable_skins2}" = "yes"; then + AC_MSG_ERROR([Could not find freetype (required for skins2)]) + fi + fi + + dnl iconv + if test "$am_cv_func_iconv" = "yes"; then + AX_ADD_CPPFLAGS([skins2],[${INCICONV}]) + AX_ADD_LDFLAGS([skins2],[${LIBICONV} -lpng]) + else + skins2_missing_lib="yes" + if test "${enable_skins2}" = "yes"; then + AC_MSG_ERROR([Could not find iconv (required for skins2)]) + fi + fi + + dnl libxml2 + XML2_PATH="${PATH}" + AC_ARG_WITH(xml2-config-path, + [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)], + [ if test "${with_xml2_config_path}" != "no"; then + XML2_PATH="${with_xml2_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH}) + if test "${XML2_CONFIG}" != "no"; then + AX_ADD_CPPFLAGS([skins2],[`${XML2_CONFIG} --cflags`]) + AX_ADD_LDFLAGS([skins2],[`${XML2_CONFIG} --libs`]) + dnl skins2 depends on the xmlTextReader extension + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_skins2}" + AC_CHECK_LIB(xml2,xmlTextReaderConstName,[],[ + skins2_missing_lib="yes" + AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version]) + if test "${enable_skins2}" = "yes"; then + AC_MSG_ERROR([libxml2 missing the xmlTextReader extension (required for skins2)]) + fi]) + LDFLAGS="${LDFLAGS_save}" + else + skins2_missing_lib="yes" + if test "${enable_skins2}" = "yes"; then + AC_MSG_ERROR([Could not find libxml2 (required for skins2)]) + fi + fi + + if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then + AX_ADD_PLUGINS([skins2]) + ALIASES="${ALIASES} svlc" + AX_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS]) + AX_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) + AX_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32]) + + else if test "${skins2_missing_lib}" = "no"; then + AX_ADD_PLUGINS([skins2]) + ALIASES="${ALIASES} svlc" + AX_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -I${x_includes} -DX11_SKINS]) + AX_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) + AX_ADD_LDFLAGS([skins2],[-L${x_libraries} -lXext -lX11]) + fi fi +fi + + dnl dnl Gtk+ module dnl @@ -3019,11 +3242,11 @@ AC_ARG_ENABLE(macosx, [if test "${enable_macosx}" = "yes" then AX_ADD_BUILTINS([macosx]) - AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC]) + AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL]) fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, AX_ADD_BUILTINS([macosx]) - AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC]) + AX_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL]) )]) dnl @@ -3075,7 +3298,7 @@ dnl dnl Visualisation plugin dnl AC_ARG_ENABLE(visual, - [ --enable-visual visualisation plugin (default enabled)]) + [ --enable-visual visualisation plugin (default enabled)]) if test "${enable_visual}" != "no" then AX_ADD_PLUGINS([visual]) @@ -3085,7 +3308,7 @@ dnl dnl goom visualization plugin dnl AC_ARG_ENABLE(goom, -[ --enable-goom goom visualisation plugin (default disabled)]) +[ --enable-goom goom visualisation plugin (default disabled)]) if test "${enable_goom}" = "yes" then AC_ARG_WITH(goom-tree, @@ -3094,7 +3317,7 @@ then dnl dnl test for --with-goom-tree dnl - if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}";then + if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}"; then AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree}) real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`" if test -z "${real_goom_tree}"; then @@ -3537,16 +3760,17 @@ AC_CONFIG_FILES([ modules/codec/Makefile modules/codec/ffmpeg/Makefile modules/codec/ffmpeg/postprocessing/Makefile + modules/codec/ogt/Makefile modules/codec/spudec/Makefile modules/control/Makefile modules/control/corba/Makefile - modules/control/lirc/Makefile - modules/control/rc/Makefile + modules/control/telnet/Makefile modules/demux/Makefile modules/demux/asf/Makefile modules/demux/avi/Makefile modules/demux/mp4/Makefile modules/demux/mpeg/Makefile + modules/demux/playlist/Makefile modules/demux/util/Makefile modules/gui/Makefile modules/gui/beos/Makefile @@ -3559,13 +3783,14 @@ AC_CONFIG_FILES([ modules/gui/qnx/Makefile modules/gui/qt/Makefile modules/gui/skins/Makefile + modules/gui/skins2/Makefile modules/gui/wxwindows/Makefile modules/misc/Makefile modules/misc/dummy/Makefile - modules/misc/logger/Makefile modules/misc/memcpy/Makefile modules/misc/network/Makefile modules/misc/testsuite/Makefile + modules/misc/playlist/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile modules/packetizer/Makefile @@ -3573,15 +3798,11 @@ AC_CONFIG_FILES([ modules/stream_out/transrate/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile - modules/video_filter/deinterlace/Makefile modules/video_output/Makefile modules/video_output/directx/Makefile - modules/video_output/mga/Makefile modules/video_output/qte/Makefile modules/video_output/x11/Makefile modules/visualization/Makefile - modules/visualization/scope/Makefile - modules/visualization/xosd/Makefile modules/visualization/visual/Makefile ])