X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=0fd13222a141fa92142f83178e2c2e41d072a978;hb=ed3c1eb16a1496b6b6ece35dff6c191726ff5a6f;hp=20d5c570daffa4c014a09a578698874c93f0def1;hpb=ce9623d0dadc97382dcf91795a64ed121379bf2c;p=vlc diff --git a/configure.ac b/configure.ac index 20d5c570da..0fd13222a1 100644 --- a/configure.ac +++ b/configure.ac @@ -9,13 +9,13 @@ VERSION_EXTRA="svn" CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Grishenko" -AC_PREREQ(2.59) +AC_PREREQ(2.59) dnl this really should be 2.59c AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) AC_CANONICAL_BUILD AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([1.7 check-news dist-bzip2]) +AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall]) AM_CONFIG_HEADER(config.h) dnl Too many people are not aware of maintainer mode: @@ -26,8 +26,6 @@ dnl can't expect you to enable it manually. AS_IF([test "x${enable_maintainer_mode}" != "xno"], [enable_maintainer_mode="yes"]) - -dnl HA! HA! AM_MAINTAINER_MODE dnl @@ -40,6 +38,7 @@ dnl Check for tools dnl AC_PROG_CC_C99 AC_USE_SYSTEM_EXTENSIONS +AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to `2' to get glibc warnings.]) AM_PROG_CC_C_O AC_PROG_CXX AC_PROG_CPP @@ -165,17 +164,6 @@ case "${host_os}" in ;; esac ;; - darwin1.[0123]) - dnl Mac OS X < 10.3 - SYS=darwin - CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" - 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 -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" - VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load]) - VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) - VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) - VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress]) - ;; darwin*) SYS=darwin CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" @@ -184,6 +172,7 @@ case "${host_os}" in VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) + VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup]) ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) @@ -210,9 +199,10 @@ case "${host_os}" in if test "${SYS}" = "mingw32"; then # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" - VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) + VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm]) + VLC_ADD_LDFLAGS([vlc activex mozilla],[-mwindows]) VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm]) - VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl],[-lws2_32]) + VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync growl flac ts audioscrobbler],[-lws2_32]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv @@ -267,6 +257,18 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") dnl +dnl Sadly autoconf doesn't think about testing foo.exe when ask to test +dnl for program foo on win32 + +case "${build_os}" in + cygwin|msys) + ac_executable_extensions=".exe" + ;; + *) + ;; +esac + +dnl dnl Libtool dnl It's very bad, but our former custom system was worst dnl -- Courmisch @@ -287,20 +289,20 @@ dnl dnl Check for Mac OS X SDK settings dnl AC_ARG_WITH(macosx-sdk, - [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no) + [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no) if test "${with_macosx_sdk}" != "no" ; then - CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk"; OBJCFLAGS="${OBJCFLAGS_save}" - LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}" - export MACOSX_DEPLOYMENT_TARGET=10.3 - MACOSX_DEPLOYMENT_TARGET="10.3" + CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}" + LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"; LDFLAGS="${LDFLAGS_save}" + export MACOSX_DEPLOYMENT_TARGET=10.4 + MACOSX_DEPLOYMENT_TARGET="10.4" fi dnl dnl Gettext stuff dnl -ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW" +ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fa fr fur gl he hi hu it ja ka ko lt lv ms my ne nl no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ @@ -575,6 +577,9 @@ AC_CHECK_LIB(m,sqrt,[ AC_CHECK_LIB(m,ceil,[ VLC_ADD_LDFLAGS([mosaic],[-lm]) ]) +AC_CHECK_LIB(m,exp,[ + VLC_ADD_LDFLAGS([gaussianblur],[-lm]) +]) AC_CHECK_LIB(mx,sqrtf,[ VLC_ADD_LDFLAGS([x264],[-lmx]) ]) @@ -843,8 +848,9 @@ fi dnl Check for dbus AC_ARG_ENABLE(dbus, [ --enable-dbus Linux D-BUS message bus system (default enabled)]) - -if test "${enable_dbus}" != "no" -a "$SYS" = "Linux" +case "${SYS}" in + linux*|*bsd*) +if test "${enable_dbus}" != "no" then dnl api stable dbus PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, @@ -907,6 +913,8 @@ then fi ) fi +;; +esac dnl Build the gtk_main plugins? NEED_GTK_MAIN=no @@ -1156,7 +1164,7 @@ dnl dnl default modules dnl VLC_ADD_PLUGINS([dummy logger memcpy]) -VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta]) +VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta]) VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac]) VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen]) VLC_ADD_PLUGINS([converter_fixed mono]) @@ -1167,14 +1175,16 @@ VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorth VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv]) VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp]) VLC_ADD_PLUGINS([access_http access_mms access_ftp]) +VLC_ADD_PLUGINS([access_filter_bandwidth]) VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264]) VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) +VLC_ADD_PLUGINS([packetizer_vc1]) if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump]) VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder]) - VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop]) + VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur]) VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) @@ -1203,6 +1213,10 @@ elif test "${SYS}" != "mingwce"; then else VLC_ADD_PLUGINS([win32text]) fi +if test "${SYS}" = "darwin"; then + VLC_ADD_PLUGINS([quartztext]) + VLC_ADD_LDFLAGS([quartztext],[-framework Carbon -framework ApplicationServices]) +fi dnl dnl Accelerated modules @@ -1216,7 +1230,7 @@ SSE_MODULES="" ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec" #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" -if test "${enable_gprof}" != "yes" +if test "${enable_gprof}" != "yes" -a "${enable_debug}" != "yes" then MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx" fi @@ -1359,18 +1373,24 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], if test "${ac_cv_c_altivec}" != "no"; then CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}" fi -AC_CHECK_HEADERS(altivec.h) -CPPFLAGS="${CPPFLAGS_save}" -if test "${ac_cv_c_altivec}" != "no"; then - AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) - VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}]) - VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) - VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) - if test "${ac_cv_altivec_inline}" = "no"; then - ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" +AS_IF( test "${enable_altivec}" != "no", +[ + AC_CHECK_HEADERS(altivec.h) + CPPFLAGS="${CPPFLAGS_save}" + + if test "${ac_cv_c_altivec}" != "no"; then + AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) + VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}]) + VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) + VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) + if test "${ac_cv_altivec_inline}" = "no"; then + ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" + fi fi -fi +],[ + CPPFLAGS="${CPPFLAGS_save}" +]) AC_CACHE_CHECK([if linker needs -framework vecLib], [ac_cv_ld_altivec], @@ -1469,6 +1489,22 @@ AH_TEMPLATE(NDEBUG, [Define to 1 if debug code should NOT be compiled]) AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)]) +dnl +dnl Test coverage +dnl +AC_ARG_ENABLE(coverage, + [ --enable-coverage build for test coverage (default disabled)],, + [enable_coverage="no"]) +AS_IF([test "${enable_coverage}" != "no"], [ + CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" + CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" + LDFLAGS="-lgcov ${LDFLAGS}" + dnl ugly... + CFLAGS_save="${CFLAGS}" + CXXFLAGS_save="${CXXFLAGS}" + LDFLAGS_save="${LDFLAGS}" +]) + dnl dnl Enable release-specific flags dnl @@ -1488,7 +1524,8 @@ then VLC_ADD_PLUGINS([packetizer_copy]) VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp]) - VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel]) + VLC_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel]) + VLC_ADD_PLUGINS([stream_out_gather]) # VLC_ADD_PLUGINS([stream_out_transrate]) # VLC_ADD_PLUGINS([rtcp]) VLC_ADD_PLUGINS([profile_parser]) @@ -1511,6 +1548,29 @@ if test "${enable_shout}" = "yes"; then [AC_MSG_WARN(libshout library not found)]) fi +dnl Lua playlist demux +AC_ARG_ENABLE(luaplaylist, + [ --enable-lua lua playlist demux plugin (default enabled)]) +if test "${enable_lua}" != "no" +then + PKG_CHECK_MODULES(LUA, lua5.1, + [ have_lua=yes ], + [ + AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead]) + PKG_CHECK_MODULES(LUA, lua >= 5.1, + [ have_lua=yes ], + [ + AC_MSG_WARN([lua >= 5.1 not found!]) + ]) + ]) + if test "x${have_lua}" = "xyes" -o "x${enable_lua}" = "xyes"; then + AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library]) + VLC_ADD_PLUGINS([luaplaylist]) + VLC_ADD_LDFLAGS([luaplaylist],[$LUA_LIBS]) + VLC_ADD_CFLAGS([luaplaylist],[$LUA_CFLAGS]) + fi +fi + dnl dnl HTTP daemon dnl @@ -1629,7 +1689,7 @@ if test "${enable_live555}" != "no"; then AC_MSG_WARN(--with-livedotcom-tree is deprecated. Use --with-live555-tree instead.) with_live555_tree="${with_livedotcom_tree}" fi - + if test -z "${with_live555_tree}" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) CPPFLAGS_save="${CPPFLAGS}" @@ -1967,6 +2027,22 @@ then fi fi +dnl +dnl Windows DirectShow BDA access module +dnl +AC_ARG_ENABLE(bda, + [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)]) +if test "${enable_bda}" != "no" +then + if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + then + AC_CHECK_HEADERS(dshow.h, + [ VLC_ADD_PLUGINS([bda]) + VLC_ADD_CXXFLAGS([bda],[]) + VLC_ADD_LDFLAGS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ]) + fi +fi + dnl dnl OpenCV wrapper and example filters @@ -2168,6 +2244,26 @@ AC_ARG_ENABLE(pvr, if test "${enable_pvr}" = "yes" then VLC_ADD_PLUGINS([pvr]) + AC_ARG_WITH(videodev2, + [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[]) + if test "${with_videodev2}" != "no" -a -n "${with_videodev2}" + then + AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h]) + else + AC_DEFINE(VIDEODEV2_H_FILE, , [Location of videodev2.h]) + fi + + + AC_CACHE_CHECK([for new linux/videodev2.h], + [new_linux_videodev2_h], + [AC_TRY_COMPILE([#include + #include VIDEODEV2_H_FILE], + [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ], + new_linux_videodev2_h=yes, + new_linux_videodev2_h=no)]) + if test "${new_linux_videodev2_h}" != "no"; then + AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present]) + fi fi dnl @@ -2905,7 +3001,6 @@ dnl Trying with pkg-config LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) AC_CHECK_HEADERS(ffmpeg/avformat.h) - AC_CHECK_HEADERS(ffmpeg/swscale.h) AC_CHECK_HEADERS(ffmpeg/avutil.h) AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) @@ -2933,6 +3028,7 @@ dnl Trying with pkg-config CPPFLAGS="${CPPFLAGS_save}" AC_CHECK_LIB(swscale, sws_getContext, [ + AC_CHECK_HEADERS(ffmpeg/swscale.h) VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" @@ -3050,17 +3146,17 @@ then AC_MSG_RESULT(no) AC_MSG_ERROR([cannot cd to ${with_twolame_tree}]) fi - if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a" + if test -f "${real_twolame_tree}/libtwolame/.libs/libtwolame.a" then dnl Use a custom twolame - AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a) + AC_MSG_RESULT(${real_twolame_tree}/libtwolame/.libs/libtwolame.a) VLC_ADD_BUILTINS([twolame]) - VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a]) - VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame -DLIBTWOLAME_STATIC]) + VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/libtwolame/.libs/libtwolame.a]) + VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/libtwolame -DLIBTWOLAME_STATIC]) else dnl The given libtwolame wasn't built AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}]) + AC_MSG_ERROR([cannot find ${real_twolame_tree}/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}]) fi else CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC" @@ -3217,69 +3313,52 @@ AC_ARG_WITH(a52-fixed, dnl dnl DTS Coherent Acoustics decoder plugin dnl -AC_ARG_ENABLE(dts, - [ --enable-dts DTS Coherent Acoustics support with libdca (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 +AS_IF([test "x${enable_dts}" != "x"], [ + AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.]) +]) +AS_IF([test "x${with_dts_tree}" != "x"], [ + AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.]) +]) + +AC_ARG_ENABLE(dca, + [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)]) +AS_IF([test "${enable_dca}" != "no"], [ + AC_ARG_WITH(dca-tree, + [ --with-dca-tree=PATH libdca tree for static linking],, + [with_dca_tree="no"]) + AS_IF([test "${with_dca_tree}" != "no"], [ + real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`" + AS_IF([test -z "${real_dca_tree}"], [ 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_ERROR([${with_dca_tree} directory doesn't exist]) + ]) + dnl Use a custom libdca + AC_MSG_CHECKING(for libdca in ${real_dca_tree}) + AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [ AC_MSG_RESULT(yes) - VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include]) - VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" - AC_CHECK_LIB(dts_pic, dts_free, [ - VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) - ],[ - AC_CHECK_LIB(dts, dts_free, [ - VLC_ADD_BUILTINS([dtstofloat32]) - VLC_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 - ]) - ], [-lm]) - LDFLAGS="${LDFLAGS_save}" - else + VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a]) + AS_IF([test -f "${real_dca_tree}/include/dca.h"], [ + VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include]) + ], [ + VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include]) + ]) + ], [ AC_MSG_RESULT(no) - AC_MSG_ERROR([the specified tree doesn't have dts.h]) - fi - else - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" - AC_CHECK_HEADERS(dts.h, [ - AC_CHECK_LIB(dts_pic, dts_free, [ - VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) - ],[ - AC_CHECK_LIB(dts, dts_free, [ - VLC_ADD_BUILTINS([dtstofloat32]) - VLC_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.html]) - fi - ]) - ], [-lm]) + AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a]) ]) - LDFLAGS="${LDFLAGS_save}" - fi -fi + ], [ + PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [ + VLC_ADD_PLUGINS([dtstofloat32]) + VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}]) + VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}]) + ], [ + AS_IF([test "x${enable_dca}" != "x"], [ + AC_MSG_ERROR([${DCA_PKG_ERRORS}]) + ]) + ]) + ]) +]) dnl dnl Flac plugin @@ -3523,7 +3602,7 @@ dnl AC_ARG_ENABLE(dirac, [ --enable-dirac experimental dirac codec (default disabled)]) if test "${enable_dirac}" = "yes"; then - PKG_CHECK_MODULES(DIRAC,dirac, [ + PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [ VLC_ADD_PLUGINS([dirac]) VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) VLC_ADD_LDFLAGS([dirac],[$DIRAC_LIBS -lstdc++]) ],[ @@ -3941,6 +4020,9 @@ then VLC_ADD_PLUGINS([freetype]) VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`]) VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`]) + AC_CHECK_HEADERS(fontconfig/fontconfig.h, + [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG]) + VLC_ADD_LDFLAGS([freetype],[-lfontconfig])]) AC_CHECK_HEADERS(Carbon/Carbon.h, [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])]) elif test "${enable_freetype}" = "yes" @@ -4468,16 +4550,18 @@ then fi dnl -dnl JACK module +dnl JACK modules dnl AC_ARG_ENABLE(jack, - [ --enable-jack JACK audio module (default disabled)], - [if test "${enable_jack}" = "yes" - then - AC_CHECK_HEADERS(jack/jack.h, [ - VLC_ADD_PLUGINS([jack]) - VLC_ADD_LDFLAGS([jack],[-ljack]) ]) - fi]) + [ --enable-jack JACK audio I/O modules (default disabled)],, + [enable_jack="no"]) + +AS_IF([test "${enable_jack}" != "no"], [ + AC_CHECK_HEADERS(jack/jack.h, [ + VLC_ADD_PLUGINS([access_jack jack]) + VLC_ADD_LDFLAGS([access_jack jack],[-ljack]) + ],[AC_MSG_ERROR([cannot find JACK headers])]) +]) dnl dnl CyberLink for C++ UPnP stack @@ -4617,13 +4701,20 @@ if test "${enable_skins2}" = "yes" || VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) VLC_ADD_LDFLAGS([skins2],[-loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32]) + else if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "darwin"); then + VLC_ADD_PLUGINS([skins2]) + ALIASES="${ALIASES} svlc" + VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS]) + VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) + VLC_ADD_LDFLAGS([skins2],[-framework Carbon]) + else if test "${skins2_missing_lib}" = "no"; then VLC_ADD_PLUGINS([skins2]) ALIASES="${ALIASES} svlc" VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} -DX11_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) VLC_ADD_LDFLAGS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11]) - fi fi + fi fi fi fi @@ -4768,18 +4859,11 @@ dnl dnl wxWidgets module dnl AC_ARG_ENABLE(wxwidgets, - [ --enable-wxwidgets wxWidgets support (default enabled)]) -if test "${enable_wxwindows}" -then - AC_MSG_WARN(--{en|dis}able-wxwindows is deprecated. Use --{en|dis}able-wxwidgets instead.) -fi + [ --enable-wxwidgets wxWidgets support (default disabled)]) -if test "${enable_wxwindows}" = "no" -then - enable_wxwidgets="no" -fi -if test "${enable_wxwidgets}" != "no" +if test "${enable_wxwidgets}" = "yes" then + AC_MSG_WARN([wxWidgets support is deprecated and will be removed. Consider using Qt4 instead.]) WXWIDGETS_PATH="${PATH}" AC_ARG_WITH(wx-config-path, [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)], @@ -4800,7 +4884,7 @@ then then if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null || expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null then - AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) + AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade/downgrade and try again. Better yet, you can configure with --disable-wxwidgets.]) fi AC_LANG_PUSH(C++) # Turn this error: @@ -4834,7 +4918,7 @@ then # the following is required to compile for win32 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE]) else - AC_MSG_ERROR([You need a unicode build of wxWidgets. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) + AC_MSG_ERROR([You need a unicode build of wxWidgets. Please fix that and try again. Better yet, you can configure with --disable-wxwidgets.]) fi if test "$have_libcdio" = "yes" then @@ -4876,19 +4960,26 @@ dnl QT 4 dnl enableqt4=false AC_ARG_ENABLE(qt4, - [ --enable-qt4 QT 4 support (default disabled) ], - [if test "${enable_qt4}" = "yes"; then - PKG_CHECK_MODULES(QT4, QtCore QtGui, - [ VLC_ADD_PLUGINS([qt4]) - ALIASES="${ALIASES} qvlc" - enableqt4=true - VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS]) - VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS]) - MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc - RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc - UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic], - [AC_MSG_WARN(QT4 library not found)]) - fi]) + [ --enable-qt4 QT 4 support (default enabled) ]) +AS_IF([test "${enable_qt4}" != "no" && + (test "${SYS}" != "darwin" || test "${enable_qt4}" = "yes")], [ + PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0], + [ VLC_ADD_PLUGINS([qt4]) + ALIASES="${ALIASES} qvlc" + enableqt4=true + VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS]) + VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS]) + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + ], + AS_IF([test "${enable_qt4}" = "yes"],[ + AC_MSG_ERROR(QT4 library not found) + ],[ + AC_MSG_WARN(QT4 library not found) + ]) + ) +]) AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true") dnl @@ -5021,13 +5112,16 @@ AC_ARG_ENABLE(macosx, [ --enable-macosx MacOS X support (default enabled on MacOS X)], [if test "${enable_macosx}" = "yes" then - VLC_ADD_BUILTINS([macosx]) - VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL]) + VLC_ADD_PLUGINS([access_eyetv]) + VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation]) + VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit]) VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] ) fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, + VLC_ADD_PLUGINS([access_eyetv]) + VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation]) VLC_ADD_BUILTINS([macosx]) - VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL]) + VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit]) VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] ) )]) CFLAGS=$ORIGCFLAGS @@ -5217,6 +5311,16 @@ AS_IF([test "${enable_gnutls}" != "no"], [ ]) ]) +dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect +dnl it and looks for libgcrypt headers in the wrong place. +if test "${host_cpu}" = "${build_cpu}" +then + AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) +else + AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no") +fi +AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) + dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling @@ -5286,12 +5390,12 @@ AC_ARG_ENABLE(loader, AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGINS([dmo]) - VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la -lpthread]) - VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER]) - VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la -ldl -lpthread]) + VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/libs/loader]) + VLC_ADD_LDFLAGS([dmo],[../../../libs/loader/libloader.la -lpthread]) + VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader]) + VLC_ADD_LDFLAGS([quicktime],[../../libs/loader/libloader.la -lpthread]) + VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER]) + VLC_ADD_LDFLAGS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread]) ]) dnl @@ -5363,18 +5467,22 @@ then dnl New firefox-1.5 SDK api PKG_CHECK_MODULES([FIREFOX], [firefox-plugin], [ - PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr], + PKG_CHECK_MODULES([FIREFOX_XPCOM], [firefox-xpcom], [], [ - PKG_CHECK_MODULES([NSPR], [nspr], + PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr], [], [ - AC_MSG_ERROR([Please install the nspr development tools.]) + PKG_CHECK_MODULES([NSPR], [nspr], + [], + [ + AC_MSG_ERROR([Please install the nspr development tools.]) + ] + ) ] ) - ] - ) - CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}" + ]) + CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${FIREFOX_XPCOM_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}" MOZILLA_REQUIRED_HEADERS=1 AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0) AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) @@ -5383,18 +5491,24 @@ then # include #endif ]) - if test "${MOZILLA_CONFIG_HEADERS}" = "0"; then + if test "${MOZILLA_REQUIRED_HEADERS}" = "0"; then AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.]) fi MOZILLA_REQUIRED_HEADERS= mozilla=: firefox_include=`pkg-config --variable=includedir firefox-plugin` - MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h" + if test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config32.h"; then + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config32.h" + elif test -f "${firefox_include}/mozilla-config.h" -a -f "${firefox_include}/mozilla-config64.h"; then + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config64.h" + else + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h" + fi if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt]) fi VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}]) - VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}]) + VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIBS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}]) VLC_ADD_PLUGINS([mozilla]) MOZILLA_CONFIG= CPPFLAGS="${CPPFLAGS_save}" @@ -5512,6 +5626,18 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) +dnl Tests for Osso and Xsp +AC_CHECK_LIB(osso, osso_display_blanking_pause,[ + PKG_CHECK_MODULES(GLIB2, glib-2.0, [ + VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}]) + VLC_ADD_LDFLAGS([x11],[-losso]) + ]) +]) +AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[ + VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP]) + VLC_ADD_LDFLAGS([x11],[-lXsp]) +]) + dnl dnl Mediacontrol Python bindings dnl @@ -5536,6 +5662,10 @@ then AC_PROG_JAVAC AC_PROG_JAVA PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java" + if test "${JAVAC}" == "javac${EXEEXT}" + then + JAVAC="javac${EXEEXT} -cp ./ " + fi fi AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"]) @@ -5747,7 +5877,8 @@ AC_CONFIG_FILES([ doc/Makefile intl/Makefile ipkg/Makefile - loader/Makefile + libs/loader/Makefile + libs/srtp/Makefile modules/Makefile mozilla/Makefile m4/Makefile @@ -5758,6 +5889,7 @@ AC_CONFIG_FILES([ AC_CONFIG_FILES([ modules/access/Makefile + modules/access/bda/Makefile modules/access/dshow/Makefile modules/access/dvb/Makefile modules/access/mms/Makefile @@ -5816,7 +5948,7 @@ AC_CONFIG_FILES([ modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_output/Makefile - modules/video_output/directx/Makefile + modules/video_output/msw/Makefile modules/video_output/qte/Makefile modules/video_output/x11/Makefile modules/visualization/Makefile