X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=e5133b24a6ce0907a8499c70e1b396421cbc0fc1;hb=12c70d4b6eb8c2e682bf6c045ec8f217c033b511;hp=e40a25f3c912cf1d7a6b87427436f144e707053e;hpb=7c357878499383a275b010d27b073a1be70df897;p=vlc diff --git a/configure.ac b/configure.ac index e40a25f3c9..e5133b24a6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,13 +1,14 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.9.0-svn) +AC_INIT(vlc,0.9.0-git) VERSION_MAJOR="0" VERSION_MINOR="9" VERSION_REVISION="0" -VERSION_EXTRA="svn" +VERSION_EXTRA="git" CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Grishenko" +COPYRIGHT_YEARS="1996-2008" AC_PREREQ(2.59) dnl this really should be 2.59c AC_CONFIG_SRCDIR(src/libvlc.c) @@ -15,7 +16,7 @@ AC_CONFIG_AUX_DIR(autotools) AC_CANONICAL_BUILD AC_CANONICAL_HOST -AM_INIT_AUTOMAKE([1.9 check-news dist-bzip2 no-dist-gzip -Wall]) +AM_INIT_AUTOMAKE(tar-ustar) AM_CONFIG_HEADER(config.h) dnl Too many people are not aware of maintainer mode: @@ -75,10 +76,10 @@ AC_ARG_WITH(contrib, if test "`grep HOST ${topdir}/extras/contrib/config.mak 2>/dev/null|awk '{print $3}'`" != "`$CC -dumpmachine`"; then if test "${with_contrib}" = "yes"; then AC_MSG_RESULT([no]) - AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) + AC_MSG_ERROR([ not using the libs in extras/contrib as it is not the same host]) else AC_MSG_RESULT([no]) - AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host]) + AC_MSG_WARN([ not using the libs in extras/contrib as it is not the same host]) fi else if test -d ${topdir}/extras/contrib/lib; then @@ -93,17 +94,13 @@ AC_ARG_WITH(contrib, OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then - export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH + export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH else - export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig + export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig fi LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" -dnl kludge because only the debian package provides a ffmpeg-config - if test -z $with_ffmpeg_config_path; then - with_ffmpeg_config_path=${topdir}/extras/contrib/bin; - fi if test -z $with_live555_tree; then with_live555_tree=${topdir}/extras/contrib/src/live fi @@ -172,9 +169,9 @@ case "${host_os}" in CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}" OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" + LDFLAGS_save="${LDFLAGS_save} -Wl,-headerpad_max_install_names"; LDFLAGS="${LDFLAGS_save}" VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) - VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup]) VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress]) @@ -187,6 +184,13 @@ case "${host_os}" in then echo "" echo "Building with Mac OS X defaults:" + with_macosx_version_min="10.4" + echo " Assuming --with-macosx-version-min=10.4" + build_dir=`pwd` + echo " Assuming --prefix=${build_dir}/vlc_install_dir" + ac_default_prefix="${build_dir}/vlc_install_dir" + enable_macosx="yes" + echo " Assuming --enable-macosx" enable_faad="yes" echo " Assuming --enable-faad" enable_flac="yes" @@ -219,6 +223,52 @@ case "${host_os}" in enable_xvideo="no" echo " Assuming --disable-xvideo" + with_macosx_sdk="" + echo " Compiling with default SDK" + fi + if test ".`uname -p`" = ".i386"; then + dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code + dnl without hacking it a lot, we disable mmx and sse. + dnl (that bug is about ld being unable to handle + dnl text relocation) + save_cflags="$CFLAGS" + CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress" + AC_TRY_LINK( + [int a;], [asm("movq _a,%mm0\n");], + ac_ld_does_not_support_text_reloc=no, + ac_ld_does_not_support_text_reloc=yes) + CFLAGS="$save_cflags" + + if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then + enable_mmx="no" + echo " Assuming --disable-mmx (due to a bug in ld)" + enable_sse="no" + echo " Assuming --disable-sse (due to a bug in ld)" + fi + fi + dnl + dnl Check for Mac OS X SDK settings + dnl + AC_ARG_WITH(macosx-sdk, + [ --with-macosx-sdk=DIR compile using the SDK in DIR]) + if test "${with_macosx_sdk}" != "" ; then + CC="${CC} -isysroot ${with_macosx_sdk}" + CXX="${CXX} -isysroot ${with_macosx_sdk}" + OBJC="${OBJC} -isysroot ${with_macosx_sdk}" + LD="${LD} -syslibroot ${with_macosx_sdk}" + fi + AC_ARG_WITH(macosx-version-min, + [ --with-macosx-version-min=VERSION compile for MacOSX VERSION and above]) + if test "${with_macosx_version_min}" != "" ; then + CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" + CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}" + OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}" + LD="${LD} -macosx_version_min=${with_macosx_version_min}" + CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}"; OBJCFLAGS="${OBJCFLAGS_save}" + MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} + export MACOSX_DEPLOYMENT_TARGET fi ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) @@ -248,13 +298,13 @@ case "${host_os}" in VLC_ADD_LDFLAGS([vlc],[-mwindows]) VLC_ADD_LIBS([activex mozilla],[-lgdi32]) VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm]) - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-lws2_32]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl_udp flac ts audioscrobbler lua],[-lws2_32]) fi if test "${SYS}" = "mingwce"; then # add ws2 for closesocket, select, recv VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)]) VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup]) - VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2]) + VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync],[-lws2]) fi ;; *nto*) @@ -282,9 +332,9 @@ case "${host_os}" in LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" dnl Check for BONE if test -f /boot/beos/system/lib/libbind.so; then - VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket]) + VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lbind -lsocket]) else - VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet]) + VLC_ADD_LIBS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl_udp],[-lnet]) fi dnl Ugly check for Zeta @@ -308,9 +358,9 @@ dnl for program foo on win32 case "${build_os}" in cygwin|msys) ac_executable_extensions=".exe" - ;; + ;; *) - ;; + ;; esac dnl @@ -339,38 +389,17 @@ m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) lt_cv_deplibs_check_method=pass_all -dnl -dnl Check for Mac OS X SDK settings -dnl -AC_ARG_WITH(macosx-sdk, - [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no) -if test "${with_macosx_sdk}" != "no" ; then - CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" - CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" - OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" - LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk" - CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}" - MACOSX_DEPLOYMENT_TARGET="10.4" - export MACOSX_DEPLOYMENT_TARGET -fi - dnl dnl Gettext stuff dnl -AM_GNU_GETTEXT_VERSION(0.16.1) -AM_GNU_GETTEXT -AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ - AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl]) - AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl" -], [ - VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}]) -]) +AM_GNU_GETTEXT_VERSION(0.17) +AM_GNU_GETTEXT([external]) +VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}]) dnl dnl Iconv stuff dnl +AM_ICONV AS_IF([test "$am_cv_func_iconv" != "yes"], [AC_MSG_ERROR([libiconv is needed for VLC to work properly])]) VLC_ADD_CFLAGS([libvlc],[${INCICONV}]) @@ -439,13 +468,16 @@ 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 strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy) - dnl Check for usual libc functions -AC_CHECK_FUNCS(strdup strndup strnlen atof) +AC_CHECK_FUNCS([gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy strdup strndup strnlen atof lldiv posix_fadvise posix_madvise]) AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) +AC_FUNC_ALLOCA + +AH_BOTTOM([#include ]) + +AC_CHECK_FUNCS(mmap, [VLC_ADD_PLUGINS([access_mmap])]) AS_IF([test "${SYS}" = "linux"], [ AC_CHECK_FUNCS(tee) @@ -476,7 +508,7 @@ AC_CHECK_FUNCS(connect,,[ AC_CHECK_FUNCS(send,,[ AC_CHECK_LIB(socket,send,[ - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp sap access_output_udp stream_out_standard growl],[-lsocket]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp sap access_output_udp stream_out_standard growl_udp],[-lsocket]) ]) ]) @@ -490,17 +522,26 @@ AC_CHECK_FUNCS(gethostbyname,,[ ]) ]) +AC_CHECK_HEADERS(zlib.h, [ + VLC_ADD_LIBS([access_http],[-lz]) +]) + dnl Check for socklen_t -AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, - [AC_TRY_COMPILE( - [#include - #include ], - [socklen_t len = 42; return len;], - ac_cv_type_socklen_t=yes, - ac_cv_type_socklen_t=no)]) -if test "${ac_cv_type_socklen_t}" != "no"; then - AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if defines socklen_t.]) -fi +AH_TEMPLATE(socklen_t, [Define to `int' if does not define.]) +AC_CACHE_CHECK([for socklen_t in sys/socket.h], +ac_cv_type_socklen_t, +[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +[#include +#ifdef WIN32 +# include +# include +#else +# include +#endif]], [[socklen_t len; len = 0;]])], +ac_cv_type_socklen_t=yes, +ac_cv_type_socklen_t=no)]) +AS_IF([test "$ac_cv_type_socklen_t" = no], + [AC_DEFINE(socklen_t, int)]) dnl Check for struct sockaddr_storage AH_TEMPLATE(sockaddr_storage, [Define to `sockaddr' if does not define.]) @@ -676,7 +717,7 @@ if test "${ac_cv_have_plugins}" = "no"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LIBS([libvlc],[-ldl]), + VLC_ADD_LIBS([libvlc realaudio],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes VLC_ADD_LIBS([libvlc],[-lsvld])))) @@ -703,89 +744,30 @@ if test "${THREAD_LIB}" = "error"; then THREAD_LIB="" fi -dnl Check for cthreads under GNU/Hurd for instance -AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads") +VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}]) -dnl -dnl GNU portable threads -dnl -AC_ARG_ENABLE(pth, - [ --enable-pth GNU Pth support (default disabled)], - [ if test "${enable_pth}" = "yes"; then - AC_CHECK_LIB(pth,pth_init) - AC_MSG_CHECKING(for pth_init in pth.h) - AC_EGREP_HEADER(pth_init,pth.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(PTH_INIT_IN_PTH_H, 1, - Define if defines pth_init) - THREAD_LIB="-lpth" - ],[ - AC_MSG_RESULT(no) - ]) - fi +AC_CHECK_LIB(rt, clock_nanosleep, [ + VLC_ADD_LIBS([libvlc],[-lrt]) + AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) +], [ + dnl HP/UX port + AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])]) ]) -dnl -dnl State Threads -dnl -AC_ARG_ENABLE(st, - [ --enable-st State Threads (default disabled)], - [ if test "${enable_st}" = "yes"; then - AC_CHECK_LIB(st,st_init) - AC_MSG_CHECKING(for st_init in st.h) - AC_EGREP_HEADER(st_init,st.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(ST_INIT_IN_ST_H, 1, - Define if defines st_init) - THREAD_LIB="-lst" - ],[ - AC_MSG_RESULT(yes) - ]) - fi +have_nanosleep=false +AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ + AC_CHECK_LIB(rt,nanosleep, + [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:], + [AC_CHECK_LIB(posix4,nanosleep, + [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])] + ) ]) - -VLC_ADD_LIBS([libvlc plugin],[${THREAD_LIB}]) - -dnl Don't link with rt when using GNU-pth -if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then - AC_CHECK_LIB(rt, clock_nanosleep, [ - VLC_ADD_LIBS([libvlc],[-lrt]) - AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) - ], [ - dnl HP/UX port - AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlc],[-lrt])]) - ]) - - have_nanosleep=false - AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ - AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LIBS([libvlc],[-lrt]) have_nanosleep=:], - [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LIBS([libvlc],[-lposix4]) have_nanosleep=:])] - ) - ]) - if ${have_nanosleep}; then - AC_DEFINE(HAVE_NANOSLEEP, 1, - Define if nanosleep is available.) - fi +if ${have_nanosleep}; then + AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.]) fi +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for misc headers -AC_MSG_CHECKING(for pthread_cond_t in pthread.h) -AC_EGREP_HEADER(pthread_cond_t,pthread.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(PTHREAD_COND_T_IN_PTHREAD_H, 1, - Define if defines pthread_cond_t.)],[ - AC_MSG_RESULT(no)]) - -AC_MSG_CHECKING(for pthread_once in pthread.h) -AC_EGREP_HEADER(pthread_once,pthread.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1, - Define if defines pthread_once.)],[ - AC_MSG_RESULT(no)]) -fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" - AC_MSG_CHECKING(for strncasecmp in strings.h) AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(yes) @@ -796,7 +778,11 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ dnl Check for headers AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.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([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h]) +AC_CHECK_HEADERS([arpa/inet.h netinet/in.h netinet/udplite.h]) +AC_CHECK_HEADERS([net/if.h], [], [], + [ + #include + ]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS([linux/version.h linux/dccp.h]) @@ -805,8 +791,16 @@ fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_HEADER_TIME -AC_CHECK_TYPE(ssize_t, int) -AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])]) +dnl LP64 adn LLP64 architectures had better define ssize_t by themselves... +AH_TEMPLATE(ssize_t, [Define to `int' if does not define.]) +AC_CHECK_TYPE(ssize_t,, [ + AC_DEFINE(ssize_t, int) +]) + +dnl don't attemp to use poll on darwin, it can't poll a tty. select will do a better job. +if test "${SYS}" != "darwin"; then + AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])]) +fi dnl Check for dirent need_dirent=false @@ -837,7 +831,7 @@ AC_EGREP_HEADER(timespec,sys/time.h,[ dnl Check for threads library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then -AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h) +AC_CHECK_HEADERS(pthread.h kernel/scheduler.h kernel/OS.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Find where are the X headers and libraries @@ -854,14 +848,14 @@ AC_ARG_ENABLE(hal, if test "${enable_hal}" != "no" then PKG_CHECK_MODULES(HAL, hal >= 0.5.0, - [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API]) - AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] ) + [ AC_DEFINE( HAVE_HAL_1, 1 , [Define if you have the new HAL library API]) + AC_DEFINE( HAVE_HAL, 1, [Define if you have the HAL library] ) VLC_ADD_PLUGINS([hal probe_hal]) VLC_ADD_LIBS([libvlc hal probe_hal],[$HAL_LIBS]) VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])], dnl No hal 0.5 Test for 0.2 [ PKG_CHECK_MODULES( HAL, hal >= 0.2.97, - [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) + [AC_DEFINE(HAVE_HAL, 1, [Define if you have the HAL library]) VLC_ADD_PLUGINS([hal]) VLC_ADD_LIBS([libvlc hal],[$HAL_LIBS]) VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])], @@ -899,8 +893,12 @@ then VLC_ADD_PLUGINS([telepathy]) VLC_ADD_LIBS([telepathy],[$DBUS_LIBS]) VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS]) - fi], - + fi + dnl Power Management Inhibiter + VLC_ADD_PLUGINS([inhibit]) + VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([inhibit],[$DBUS_CFLAGS]) + ], if ${PKG_CONFIG} --exists dbus-1 then [AC_ARG_ENABLE(old-dbus, @@ -969,15 +967,17 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then fi CFLAGS="${CFLAGS_save}" -RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var]) +RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var]) RDC_PROG_CC_FLAGS_IFELSE([-pipe]) dnl This helps detect broken plugins with undefined symbols dnl Better fail loudly at build-time than silenty at run-time. dnl Unfortunately, this sucks on FreeBSD (won't even link with -lc) -dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ -dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) -dnl ]) +if test `uname -s` != FreeBSD; then + RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ + VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) + ]) +fi dnl Check for various optimization flags AC_CACHE_CHECK([if \$CC accepts -Os], @@ -1062,6 +1062,10 @@ if test "${ac_cv_c_omit_frame_pointer}" != "no"; then fi dnl Check for -fvisibility=hidden +dnl Don't test on mingw32, because it is going to work with just a warning +dnl even if it doesn't support it +if test "${SYS}" != "mingw32" +then AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden], [ac_cv_c_visibility_hidden], [CFLAGS="${CFLAGS_save} -fvisibility=hidden" @@ -1069,6 +1073,7 @@ AC_CACHE_CHECK([if \$CC accepts -fvisibility=hidden], if test "${ac_cv_c_visibility_hidden}" != "no"; then VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden]) fi +fi AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"]) @@ -1117,20 +1122,6 @@ dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) dnl ]) dnl ]) -dnl Check for variadic macros -AC_CACHE_CHECK([for variadic cpp macros], - [ac_cv_cpp_variadic_macros], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE( - [#include - #define a(b,c...) printf(b,##c)], - [a("foo");a("%s","bar");a("%s%s","baz","quux");], - ac_cv_cpp_variadic_macros=yes, - ac_cv_cpp_variadic_macros=no)]) -if test "${ac_cv_cpp_variadic_macros}" != "no"; then - AC_DEFINE(HAVE_VARIADIC_MACROS, 1, Support for variadic macros) -fi - dnl Checks for __attribute__(aligned()) directive AC_CACHE_CHECK([__attribute__ ((aligned ())) support], [ac_cv_c_attribute_aligned], @@ -1208,31 +1199,39 @@ dnl VLC_ADD_PLUGINS([dummy logger memcpy]) VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta]) VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac]) -VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving]) +VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd]) VLC_ADD_PLUGINS([converter_fixed mono]) VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) -VLC_ADD_PLUGINS([spatializer]) VLC_ADD_PLUGINS([playlist export nsc xtag]) VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres]) VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf]) VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp]) -VLC_ADD_PLUGINS([access_http access_mms access_ftp]) +VLC_ADD_PLUGINS([access_http access_mms access_ftp access_rtmp]) 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]) +ALIASES="${ALIASES} cvlc" + +dnl +dnl default modules that need g++ +dnl +AC_LANG_PUSH(C++) +VLC_ADD_PLUGINS([spatializer]) +AC_LANG_POP(C++) 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([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder]) 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([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq]) VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format]) + ALIASES="${ALIASES} rvlc" fi dnl @@ -1511,16 +1510,20 @@ AS_IF([test "${CFLAGS_TUNING}"], dnl dnl x86 accelerations dnl -if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64" -then +AC_ARG_ENABLE(mmx, +[ --disable-mmx disable MMX optimizations (default enabled on x86)], +[ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ], +[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} mmx" - VLC_ADD_PLUGINS([${ACCEL_MODULES}]) -fi -if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64" -then - ARCH="${ARCH} sse sse2" - VLC_ADD_PLUGINS([${ACCEL_MODULES}]) -fi + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ]) + +AC_ARG_ENABLE(sse, +[ --disable-sse disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)], +[ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ], +[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2"; + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ]) dnl dnl Memory usage @@ -1616,7 +1619,7 @@ AC_ARG_ENABLE(shout, [ --enable-shout libshout output plugin (default disabled)]) if test "${enable_shout}" = "yes"; then PKG_CHECK_MODULES(SHOUT, shout >= 2.1, - [AC_DEFINE(HAVE_SHOUT, [], [Define if you have the libshout library]) + [AC_DEFINE(HAVE_SHOUT, 1, [Define if you have the libshout library]) VLC_ADD_PLUGINS([access_output_shout]) VLC_ADD_LIBS([access_output_shout],[$SHOUT_LIBS]) VLC_ADD_CFLAGS([access_output_shout],[$SHOUT_CFLAGS])], @@ -1653,7 +1656,7 @@ then ]) ]) if test "x${have_lua}" = "xyes" ; then - AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library]) + AC_DEFINE(HAVE_LUA, 1, [Define if you have the lua library]) VLC_ADD_PLUGINS([lua]) VLC_ADD_LIBS([lua],[$LUA_LIBS]) VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS]) @@ -1687,7 +1690,11 @@ dnl AC_ARG_ENABLE(growl, [ --enable-growl growl notification plugin (default enabled)]) AS_IF([test "${enable_growl}" != "no"], [ - VLC_ADD_PLUGINS([growl]) + VLC_ADD_PLUGINS([growl_udp]) + AC_CHECK_HEADERS(Growl/GrowlDefines.h, [ + VLC_ADD_PLUGINS([growl]) + VLC_ADD_LDFLAGS([growl], [-Wl,-framework,Growl,-framework,AppKit]) + ]) ] ) @@ -1702,10 +1709,10 @@ AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [ [ VLC_ADD_PLUGINS([notify]) VLC_ADD_CFLAGS(notify, [$NOTIFY_CFLAGS]) - VLC_ADD_LIBS(notify, [$NOTIFY_LIBS]) + VLC_ADD_LIBS(notify, [$NOTIFY_LIBS]) ],[ - AS_IF([test "${enable_notify}" = "yes"],[ - AC_MSG_WARN( libnotify not found) ]) + AS_IF([test "${enable_notify}" = "yes"],[ + AC_MSG_WARN( libnotify not found) ]) ]) ]) @@ -1726,9 +1733,9 @@ AC_ARG_ENABLE(musicbrainz, [ --enable-musicbrainz MusicBrainz support (default disabled) ]) AS_IF([test "${enable_musicbrainz}" = "yes"],[ PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz, - [ VLC_ADD_PLUGINS([musicbrainz]) - VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) - VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ], + [ VLC_ADD_PLUGINS([musicbrainz]) + VLC_ADD_LIBS([musicbrainz],[$MUSICBRAINZ_LIBS]) + VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ], [AC_MSG_WARN(MusicBrainz library not found)]) ]) @@ -2025,7 +2032,7 @@ then then AC_CHECK_HEADERS(dvdread/dvd_reader.h, [ VLC_ADD_PLUGINS([dvdread]) - VLC_ADD_LIBS([dvdread],[-ldvdread ${LDFLAGS_dvdcss}]) + VLC_ADD_LIBS([dvdread],[-ldvdread ${LIBS_dvdcss}]) ],[ if test -n "${enable_dvdread}" then @@ -2046,7 +2053,7 @@ then dnl Use a custom libdvdread AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) VLC_ADD_BUILTINS([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}]) + VLC_ADD_LIBS([dvdread],[-L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LIBS_dvdcss}]) VLC_ADD_CPPFLAGS([dvdread],[-I${real_dvdread_tree}]) else dnl The given libdvdread wasn't built @@ -2061,7 +2068,7 @@ then dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h AC_MSG_RESULT(yes) VLC_ADD_PLUGINS([dvdread]) - VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}]) + VLC_ADD_LIBS([dvdread],[-L${with_dvdread}/lib -ldvdread ${LIBS_dvdcss}]) VLC_ADD_CPPFLAGS([dvdread],[-I${with_dvdread}/include]) else dnl No libdvdread could be found, sorry @@ -2185,7 +2192,7 @@ if test "${enable_smb}" != "no"; then AC_MSG_ERROR([cannot find libsmbclient headers]) fi ]) AC_CHECK_MEMBER([struct _SMBCCTX.close_fn], - AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], [1], [Define if samba has _SMBCCTX.close_fn]),, + AC_DEFINE([HAVE__SMBCCTX_CLOSE_FN], 1, [Define if samba has _SMBCCTX.close_fn]),, [#include ]) fi @@ -2279,7 +2286,7 @@ then esac AC_CHECK_LIB(dvbpsi, dvbpsi_GenSDTSections, [ AC_DEFINE(HAVE_DVBPSI_SDT, 1, [Define if you have dvbpsi_GenSDTSections.]) - ], [], [${LDFLAGS_ts}]) + ], [], [${LIBS_ts}]) fi @@ -2305,7 +2312,7 @@ then fi dnl -dnl Video4Linux plugin +dnl Video4Linux2 plugin dnl AC_ARG_ENABLE(v4l2, [ --enable-v4l2 Video4Linux2 input support (default disabled)]) @@ -2318,6 +2325,19 @@ then VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include]) fi + AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false") + if test "${have_v4l2_alsa}" = "true" + then + CFLAGS="${CFLAGS_save}" + AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API + #define ALSA_PCM_NEW_SW_PARAMS_API + #include ], + [snd_pcm_hw_params_get_period_time(0,0,0);], + AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4)) + VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl]) + AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.) + fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}" AC_CHECK_HEADERS(linux/videodev2.h, [ VLC_ADD_PLUGINS([v4l2]) @@ -2386,13 +2406,13 @@ if test "${enable_libcdio}" != "no" then PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.78.2, have_libcdio=yes - AC_DEFINE(HAVE_LIBCDIO, [], + AC_DEFINE(HAVE_LIBCDIO, 1, [Define if you have libcdio 0.78.2 or greater installed]), [AC_MSG_WARN(CD Reading and information library not found)]) PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22, [have_libvcdinfo=yes - AC_DEFINE(HAVE_VCDINFO, [], + AC_DEFINE(HAVE_VCDINFO, 1, [Define if you have libvcdinfo 0.7.22 or greater installed])], [AC_MSG_WARN(VCD information library not found)]) fi @@ -2410,7 +2430,7 @@ if test "${enable_cddax}" = "yes" then if test "$have_libcdio" = "yes" then - AC_DEFINE(HAVE_CDDAX, [], [Define for the audio CD plugin using libcdio]) + AC_DEFINE(HAVE_CDDAX, 1, [Define for the audio CD plugin using libcdio]) VLC_ADD_LIBS([cddax],[$LIBCDIO_LIBS]) VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS]) VLC_ADD_PLUGINS([cddax]) @@ -2425,7 +2445,7 @@ then if test "$enable_libcddb" != "no"; then PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [ HAVE_LIBCDDB=yes - AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed]) + AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed]) VLC_ADD_LIBS([cddax],[$LIBCDDB_LIBS]) VLC_ADD_CFLAGS([cddax],[$LIBCDDB_CFLAGS]) ], @@ -2457,7 +2477,7 @@ then if test "$have_libvcdinfo" = "yes" then - AC_DEFINE(HAVE_VCDX, [], + AC_DEFINE(HAVE_VCDX, 1, [Define for the VCD plugin using libcdio/libvcdinfo]) VLC_ADD_LIBS([vcdx],[$VCDINFO_LIBS]) VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) @@ -2520,7 +2540,7 @@ then if test "$enable_libcddb" != "no"; then PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [ HAVE_LIBCDDB=yes - AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed]) + AC_DEFINE(HAVE_LIBCDDB, 1, [Define this if you have libcddb installed]) VLC_ADD_LIBS([cdda],[$LIBCDDB_LIBS]) VLC_ADD_CFLAGS([cdda],[$LIBCDDB_CFLAGS]) ],: @@ -2830,7 +2850,7 @@ then AC_MSG_RESULT(yes) VLC_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}]) VLC_ADD_LIBS([mpgatofixed32],[-L${real_mad_tree}/.libs]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}" + LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}" AC_CHECK_LIB(mad, mad_bit_init, [ VLC_ADD_BUILTINS([mpgatofixed32]) VLC_ADD_LIBS([mpgatofixed32],[-lmad]) @@ -2843,7 +2863,7 @@ then fi else CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}" + LDFLAGS="${LDFLAGS_save} ${LIBS_mpgatofixed32}" AC_CHECK_HEADERS(mad.h, , [ 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, [ @@ -2872,8 +2892,8 @@ AS_IF([test "${enable_id3tag}" != "no"], [ dnl dnl ffmpeg decoder/demuxer plugin dnl -dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config -dnl 4- default place, +dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config +dnl 3- default place, AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default enabled)]) @@ -2900,7 +2920,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support], [ if test "$with_ffmpeg_dts" = "yes"; then - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}" AC_CHECK_LIB(dts_pic, dts_free, [ VLC_ADD_LIBS([ffmpeg],[-ldts_pic]) ], [ VLC_ADD_LIBS([ffmpeg],[-ldts]) ]) @@ -2950,7 +2970,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo fi]) AC_ARG_WITH(ffmpeg-x264, - [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support], + [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support], [ if test "$with_ffmpeg_x264" = "yes"; then VLC_ADD_LIBS([ffmpeg],[-lx264]) @@ -2989,9 +3009,9 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libpostproc ${real_ffmpeg_tree}/libpostproc/libpostproc.a]) VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}]) else - dnl The given libavcodec wasn't built with --enable-pp + dnl The given libavcodec wasn't built with --enable-postproc AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-pp]) + AC_MSG_ERROR([cannot find libpostproc.a in ${real_ffmpeg_tree}/[libavcodec/]libpostproc/. Make sure you configured ffmpeg with --enable-postproc]) fi fi dnl Use a custom libffmpeg @@ -3002,17 +3022,34 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR" export PKG_CONFIG_PATH="" export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}" + VLC_SAVE_FLAGS - PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [ + PKG_CHECK_MODULES( [FFMPEG],[libavformat libavcodec libpostproc], [ VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS}) VLC_ADD_LIBS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})] - ,[]) + AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.]) + ) + AS_IF([ test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"],[ + AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.]) + PKG_CHECK_MODULES( [SWSCALE],[libswscale], [ + VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[${SWSCALE_CFLAGS}])]) + ]) + CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}" + CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS} ${SWSCALE_CFLAGS}" + + AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) + AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h]) + + VLC_RESTORE_FLAGS AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[ export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}" ],[ unset PKG_CONFIG_PATH ]) - AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[ + AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[ export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}" ],[ unset PKG_CONFIG_LIBDIR @@ -3023,37 +3060,9 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo VLC_ADD_BUILTINS([stream_out_switcher]) fi - if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then - AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.]) - VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale]) - fi -else - -dnl Look for a ffmpeg-config (we are on debian ) - FFMPEG_PATH="${PATH}" - AC_ARG_WITH(ffmpeg-config-path, - [ --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)], - [ if test "${with_ffmpeg_config_path}" != "no" - then - FFMPEG_PATH="${with_ffmpeg_config_path}" - fi ]) - AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH}) - if test "${FFMPEG_CONFIG}" != "no" - then - 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/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) - VLC_ADD_PLUGINS([ffmpeg]) - if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then - VLC_ADD_PLUGINS([stream_out_switcher]) - fi - VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`]) - VLC_ADD_LIBS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) +else - else dnl Trying with pkg-config PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], @@ -3061,9 +3070,9 @@ dnl Trying with pkg-config VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}" CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}" - 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/avutil.h) + AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) dnl newer ffmpeg have a separate libpostproc PKG_CHECK_MODULES(POSTPROC, libpostproc,[ VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) @@ -3071,7 +3080,7 @@ dnl Trying with pkg-config ],[ true ]) CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" - AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) + AC_CHECK_HEADERS(postproc/postprocess.h) if test "${SYS}" = "darwin"; then VLC_ADD_BUILTINS([ffmpeg]) else @@ -3088,13 +3097,12 @@ dnl Trying with pkg-config VLC_ADD_LIBS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}]) dnl even newer ffmpeg has a libswscale - PKG_CHECK_MODULES(SWSCALE,[libavutil, libswscale],[ + PKG_CHECK_MODULES(SWSCALE,[libswscale],[ VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) VLC_ADD_LIBS([ffmpeg],[${SWSCALE_LIBS}]) - AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/swscale.h.])]) -dnl AC_CHECK_LIB(swscale, sws_getContext, -dnl [AC_CHECK_HEADERS([ffmpeg/avutil.h, ffmpeg/swscale.h])],[]) -dnl ],[ true ]) + AC_CHECK_LIB(swscale, sws_getContext, + [AC_CHECK_HEADERS([ffmpeg/swscale.h libswscale/swscale.h])],[],[-lavutil -lm]) + ],[ true ]) VLC_RESTORE_FLAGS ],[ @@ -3102,11 +3110,11 @@ dnl ],[ true ]) dnl last chance: at the default place dnl CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" - 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/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg} ${LIBS_ffmpeg}" + AC_CHECK_HEADERS(ffmpeg/avcodec.h libavcodec/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avformat.h libavformat/avformat.h) + AC_CHECK_HEADERS(ffmpeg/avutil.h libavutil/avutil.h) + AC_CHECK_HEADERS(postproc/postprocess.h) AC_CHECK_LIB(avutil, av_crc_init, [ VLC_ADD_LIBS([ffmpeg],[-lavutil]) @@ -3122,7 +3130,7 @@ dnl ],[ true ]) AC_CHECK_LIB(postproc, pp_postprocess, [ VLC_ADD_LIBS([ffmpeg],[-lpostproc])], - AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]), + AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-postproc.]), [$LDAVUTIL]) AC_CHECK_LIB(avformat, av_open_input_stream, [ @@ -3131,13 +3139,12 @@ dnl ],[ true ]) CPPFLAGS="${CPPFLAGS_save}" AC_CHECK_LIB(swscale, sws_getContext, [ - AC_CHECK_HEADERS(ffmpeg/swscale.h) + AC_CHECK_HEADERS(ffmpeg/swscale.h libswscale/swscale.h) VLC_ADD_LIBS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" ]) fi - fi fi dnl @@ -3161,9 +3168,9 @@ then AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a, make sure you compiled libavcodecaltivec in ${with_ffmpeg_tree}]) fi if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a"; then - dnl The given libavcodecaltivec wasn't built with --enable-pp + dnl The given libavcodecaltivec wasn't built with --enable-postproc AC_MSG_RESULT(no) - AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp]) + AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-postproc]) fi dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodecaltivec.a) @@ -3215,7 +3222,7 @@ then fi else CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}" + LDFLAGS="${LDFLAGS_save} ${LIBS_faad}" AC_CHECK_HEADERS(faad.h, , [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ]) AC_CHECK_LIB(faad, faacDecOpen, [ @@ -3224,7 +3231,7 @@ then AC_CHECK_LIB(faad, NeAACDecOpen, [ VLC_ADD_PLUGINS([faad]) VLC_ADD_LIBS([faad],[-lfaad]) ], - [ AC_MSG_ERROR([Cannot find libfaad library...]) ],[-lm])) + [ AC_MSG_ERROR([Cannot find libfaad library...]) ])) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi @@ -3263,7 +3270,7 @@ then fi else CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}" + LDFLAGS="${LDFLAGS_save} ${LIBS_twolame}" AC_CHECK_HEADERS(twolame.h, , [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ]) AC_CHECK_LIB(twolame, twolame_init, [ @@ -3362,7 +3369,7 @@ then AC_MSG_RESULT(yes) VLC_ADD_CPPFLAGS([a52tofloat32],[-I${real_a52_tree}]) VLC_ADD_LIBS([a52tofloat32],[-L${real_a52_tree}/liba52/.libs]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32} -lm" + LDFLAGS="${LDFLAGS_save} ${LIBS_a52tofloat32}" AC_CHECK_LIB(a52, a52_free, [ VLC_ADD_BUILTINS([a52tofloat32]) VLC_ADD_CPPFLAGS([a52tofloat32],[-DUSE_A52DEC_TREE]) @@ -3390,7 +3397,7 @@ then CPPFLAGS_test="-I${with_a52}/include" fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LIBS_a52tofloat32}" AC_CHECK_HEADERS(a52dec/a52.h, [ AC_CHECK_LIB(a52, a52_free, [ VLC_ADD_PLUGINS([a52tofloat32]) @@ -3640,7 +3647,7 @@ then fi else AC_CHECK_HEADERS(speex/speex.h, [ - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}" + LDFLAGS="${LDFLAGS_save} ${LIBS_speex}" AC_CHECK_LIB(speex, speex_decode_int, [ VLC_ADD_PLUGINS([speex]) VLC_ADD_LIBS([speex],[-lspeex]) ], @@ -3704,7 +3711,7 @@ dnl AC_ARG_ENABLE(dirac, [ --enable-dirac experimental dirac codec (default disabled)]) if test "${enable_dirac}" = "yes"; then - PKG_CHECK_MODULES(DIRAC,[dirac >= 0.6.0], [ + PKG_CHECK_MODULES(DIRAC,[dirac >= 0.9.0], [ VLC_ADD_PLUGINS([dirac]) VLC_ADD_CFLAGS([dirac],[$DIRAC_CFLAGS]) VLC_ADD_LIBS([dirac],[$DIRAC_LIBS -lstdc++]) ],[ @@ -3723,8 +3730,8 @@ AC_CHECK_HEADERS(png.h, [ AC_CHECK_LIB(png, png_set_rows, [ VLC_ADD_LIBS([png],[-lpng -lz]) VLC_ADD_PLUGINS([png]) - VLC_ADD_PLUGINS([osdmenu]) - AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])], + VLC_ADD_PLUGINS([osdmenu osd_parser]) + AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])], [],[-lz]) LDFLAGS="${LDFLAGS_save}" ]) @@ -3754,10 +3761,10 @@ if test "${enable_x264}" != "no"; then AC_MSG_RESULT(yes) VLC_ADD_CPPFLAGS([x264],[-I${real_x264_tree}]) VLC_ADD_LIBS([x264],[-L${real_x264_tree}]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}" - AC_CHECK_LIB(x264, x264_encoder_open, [ - VLC_ADD_BUILTINS([x264]) - VLC_ADD_LIBS([x264],[-lx264]) + PKG_CHECK_MODULES(X264,x264, [ + VLC_ADD_PLUGINS([x264]) + VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) + VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) ],[ AC_MSG_ERROR([the specified tree hasn't been compiled]) ]) @@ -3767,17 +3774,15 @@ if test "${enable_x264}" != "no"; then AC_MSG_ERROR([the specified tree doesn't have x264.h]) fi else - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_x264} ${THREAD_LIB}" - AC_CHECK_HEADERS(x264.h, [ - AC_CHECK_LIB(x264, x264_encoder_open, [ + PKG_CHECK_MODULES(X264,x264, [ VLC_ADD_PLUGINS([x264]) - VLC_ADD_LIBS([x264],[-lx264]) + VLC_ADD_LDFLAGS([x264],[${X264_LIBS}]) + VLC_ADD_CFLAGS([x264],[${X264_CFLAGS}]) ],[ if test "${enable_x264}" = "yes"; then AC_MSG_ERROR([Could not find libx264 on your system: you may get it from http://www.videolan.org/x264.html]) fi ]) - ]) LDFLAGS="${LDFLAGS_save}" fi fi @@ -3786,7 +3791,7 @@ dnl dnl libfluidsynth (MIDI synthetizer) plugin dnl AC_ARG_ENABLE(fluidsynth, - [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default auto)]) + [ --enable-fluidsynth MIDI synthesisr with libfluidsynth (default enabled)]) AS_IF([test "x${enable_fluidsynth}" != "xno"], [ PKG_CHECK_MODULES(FLUIDSYNTH, fluidsynth, [ VLC_ADD_PLUGINS(fluidsynth) @@ -3831,6 +3836,40 @@ AS_IF( [test "${enable_telx}" = "yes"],[ VLC_ADD_PLUGINS([telx]) ]) +dnl +dnl asa/csri subtitle rendering module +dnl +AC_ARG_ENABLE(csri, + [ --enable-csri Subtitle support using CSRI / asa (default disabled)]) +AS_IF( [test "${enable_csri}" = "yes"], [ + PKG_CHECK_MODULES(CSRI, + csri >= 0.1.0, + [ + VLC_ADD_LDFLAGS([csri],[$CSRI_LIBS]) + VLC_ADD_CFLAGS([csri],[$CSRI_CFLAGS]) + VLC_ADD_PLUGINS([csri]) + ],[ + AC_MSG_WARN([CSRI helper library not found]) + ]) + ]) + +dnl +dnl asa demuxer +dnl +AC_ARG_ENABLE(asademux, + [ --enable-asademux asa subtitle demuxing (default disabled)]) +AS_IF( [test "${enable_asademux}" = "yes"], [ + PKG_CHECK_MODULES(PCRE, + libpcre >= 6.5, + [ + VLC_ADD_LDFLAGS([asademux],[$PCRE_LIBS]) + VLC_ADD_CFLAGS([asademux],[$PCRE_CFLAGS]) + VLC_ADD_PLUGINS([asademux]) + ],[ + AC_MSG_WARN([PCRE library not found (required for asademux)]) + ]) + ]) + dnl dnl CMML plugin dnl @@ -3950,7 +3989,7 @@ fi dnl dnl XVMC module -dnl (enabled by default except on win32) +dnl (disabled by default except on win32) dnl AC_ARG_ENABLE(xvmc, [ --enable-xvmc XVMC support (default disabled)]) @@ -3960,7 +3999,7 @@ if test "${enable_xvmc}" = "yes" && CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}" AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [ VLC_ADD_PLUGINS([xvmc]) - VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext]) + VLC_ADD_LIBS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lXvMCW -lXv -lXinerama]) VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}]) ]) CPPFLAGS="${CPPFLAGS_save}" @@ -4157,55 +4196,36 @@ AC_ARG_ENABLE(fribidi, [ --enable-fribidi fribidi support (default enabled)]) if test "${enable_freetype}" != "no" then - FREETYPE_PATH="${PATH}" - AC_ARG_WITH(freetype-config-path, - [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)], - [ if test "${with_freetype_config_path}" != "no" - then - FREETYPE_PATH="${with_freetype_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH}) - - if test "${FREETYPE_CONFIG}" != "no" - then - VLC_ADD_PLUGINS([freetype]) - VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`]) - VLC_ADD_LIBS([freetype],[`${FREETYPE_CONFIG} --libs`]) - if test "${SYS}" = "mingw32"; then - VLC_ADD_LIBS([freetype],[-lxml2]) - fi + PKG_CHECK_MODULES(FREETYPE, freetype2,[ + VLC_ADD_PLUGINS([freetype]) + have_freetype=yes + VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}]) + VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LIBS([freetype skins2],[-lxml2]) + fi AC_CHECK_HEADERS(fontconfig/fontconfig.h, - [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG]) + [VLC_ADD_CPPFLAGS([freetype],[-DHAVE_FONTCONFIG]) VLC_ADD_LIBS([freetype],[-lfontconfig])]) AC_CHECK_HEADERS(Carbon/Carbon.h, [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) - elif test "${enable_freetype}" = "yes" - then + ],[ + have_freetype=no + AS_IF([ test "${enable_freetype}" = "yes"],[ 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 + ]) dnl fribidi support if test "${enable_fribidi}" != "no" then - FRIBIDI_PATH="${PATH}" - AC_ARG_WITH(fribidi-config-path, - [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)], - [ if test "${with_fribidi_config_path}" != "no" - then - FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH}) - - if test "${FRIBIDI_CONFIG}" != "no" - then - VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) - VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) - VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`]) - VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`]) + PKG_CHECK_MODULES(FRIBIDI, fribidi, [ + VLC_ADD_CPPFLAGS([freetype skins2], [${FRIBIDI_CFLAGS} -DHAVE_FRIBIDI]) + VLC_ADD_LIBS([freetype skins2], [${FRIBIDI_LIBS}]) + ]) fi - fi fi dnl @@ -4224,10 +4244,10 @@ then AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH}) if test "${XML2_CONFIG}" != "no"; then VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`]) + VLC_ADD_LIBS([xml],[`${XML2_CONFIG} --libs`]) dnl depends on the xmlTextReader extension CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}" + LDFLAGS="${LDFLAGS_save} ${LIBS_xml}" AC_CHECK_LIB(xml2,xmlTextReaderConstName,[ AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[ VLC_ADD_PLUGINS([xml]) ],[ @@ -4259,7 +4279,7 @@ then PKG_CHECK_MODULES(SVG, librsvg-2.0 >= 2.9.0, [ - VLC_ADD_LDFLAGS([svg],[$SVG_LIBS]) + VLC_ADD_LIBS([svg],[$SVG_LIBS]) VLC_ADD_CFLAGS([svg],[$SVG_CFLAGS]) VLC_ADD_PLUGINS([svg]) ], [AC_MSG_WARN(SVG library not found)]) @@ -4314,10 +4334,10 @@ dnl VLC_ADD_PLUGINS([qt_video]) dnl VLC_ADD_LIBS([qt_video],[-L${QTDIR}/lib]) dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt_video}" dnl AC_CHECK_LIB(qt-mt,main,[ -dnl VLC_ADD_LDFLAGS([qt_video],[-lqt-mt]) +dnl VLC_ADD_LIBS([qt_video],[-lqt-mt]) dnl ],[ dnl AC_CHECK_LIB(qt,main,[ -dnl VLC_ADD_LDFLAGS([qt_video],[-lqt]) +dnl VLC_ADD_LIBS([qt_video],[-lqt]) dnl ]) dnl ]) dnl NEED_QTE_MAIN=yes @@ -4345,7 +4365,7 @@ if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" && if test "$can_build_roku" = "yes" then VLC_ADD_PLUGINS([hd1000v]) - VLC_ADD_LDFLAGS([hd1000v],[-lCascade -ldvbpsi -lmad]) + VLC_ADD_LIBS([hd1000v],[-lCascade -ldvbpsi -lmad]) fi AC_LANG_POP([C++]) fi @@ -4371,15 +4391,15 @@ then then AC_CHECK_HEADERS(ddraw.h, [ VLC_ADD_PLUGINS([vout_directx aout_directx]) - VLC_ADD_LDFLAGS([vout_directx],[-lgdi32]) + VLC_ADD_LIBS([vout_directx],[-lgdi32]) ]) AC_CHECK_HEADERS(GL/gl.h, [ VLC_ADD_PLUGINS([glwin32]) - VLC_ADD_LDFLAGS([glwin32],[-lopengl32 -lgdi32]) + VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) ]) AC_CHECK_HEADERS(d3d9.h, [ VLC_ADD_PLUGINS([direct3d]) - VLC_ADD_LDFLAGS([direct3d],[-lgdi32]) + VLC_ADD_LIBS([direct3d],[-lgdi32]) ]) else AC_MSG_CHECKING(for directX headers in ${with_directx}) @@ -4387,7 +4407,7 @@ then then VLC_ADD_PLUGINS([vout_directx aout_directx]) VLC_ADD_CPPFLAGS([vout_directx aout_directx],[-I${with_directx}]) - VLC_ADD_LDFLAGS([vout_directx],[-lgdi32]) + VLC_ADD_LIBS([vout_directx],[-lgdi32]) AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) @@ -4427,7 +4447,7 @@ AC_ARG_ENABLE(svgalib, if test "${enable_svgalib}" = "yes" then VLC_ADD_PLUGINS([svgalib]) - VLC_ADD_LDFLAGS([svgalib],[-lvgagl -lvga]) + VLC_ADD_LIBS([svgalib],[-lvgagl -lvga]) fi dnl @@ -4443,18 +4463,18 @@ AC_ARG_WITH(directfb, if test "${enable_directfb}" = "yes"; then have_directfb="false" CPPFLAGS_mydirectfb= - LDFLAGS_mydirectfb= + LIBS_mydirectfb= if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then dnl Trying the given location - CPPFLAGS_save=${CPPFLAGS} - LDFLAGS_save=${LDFLAGS} + CPPFLAGS_save="${CPPFLAGS}" + LIBS_save="${LIBS}" CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE" - LDFLAGS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/" - LDFLAGS_new="${LDFLAGS_new} -L${with_directfb}/src/.libs/" + LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/" + LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/" CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}" - LDFLAGS="${LD_FLAGS} ${LDFLAGS_new}" + LIBS="${LIBS} ${LIBS_new}" dnl FIXME: too obscure AC_CHECK_HEADER([directfb.h], [ @@ -4467,10 +4487,10 @@ if test "${enable_directfb}" = "yes"; then dnl Restore flags CPPFLAGS="${CPPFLAGS_save}" - LDFLAGS="${LDFLAGS_save}" + LIBS="${LIBS_save}" if test "${have_directfb}" = "true"; then - LDFLAGS_mydirectfb="${LDFLAGS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread" + LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread" CPPFLAGS_mydirectfb="${CPPFLAGS_new}" fi else @@ -4478,13 +4498,13 @@ if test "${enable_directfb}" = "yes"; then AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH}) if test "${DIRECTFB_CONFIG}" != "no"; then CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`" - LDFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --libs`" + LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`" have_directfb="true" else dnl Trying with pkg-config PKG_CHECK_MODULES(DIRECTFB, directfb, [ CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}" - LDFLAGS_mydirectfb="${DIRECTFB_LIBS}" + LIBS_mydirectfb="${DIRECTFB_LIBS}" have_directfb="true" ], [have_directfb="false"]) fi @@ -4492,7 +4512,7 @@ if test "${enable_directfb}" = "yes"; then if test "${have_directfb}" = "true"; then VLC_ADD_PLUGINS([directfb]) VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}]) - VLC_ADD_LDFLAGS([directfb],[${LDFLAGS_mydirectfb}]) + VLC_ADD_LIBS([directfb],[${LIBS_mydirectfb}]) else AC_MSG_ERROR([cannot find directfb headers and/or libraries ]) fi @@ -4508,7 +4528,7 @@ AC_ARG_ENABLE(ggi, if test "${enable_ggi}" = "yes" then VLC_ADD_PLUGINS([ggi]) - VLC_ADD_LDFLAGS([ggi],[-lggi]) + VLC_ADD_LIBS([ggi],[-lggi]) AC_ARG_WITH(ggi, [ --with-ggi=PATH path to libggi], [ if test "${with_ggi}" != "no" -a -n "${with_ggi}" @@ -4537,7 +4557,7 @@ then CFLAGS="$CFLAGS -I/usr/include/glide" AC_CHECK_HEADER(glide.h,[ VLC_ADD_PLUGINS([glide]) - VLC_ADD_LDFLAGS([glide],[-lglide2x -lm]) + VLC_ADD_LIBS([glide],[-lglide2x -lm]) VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide]) ],[ AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide]) @@ -4556,7 +4576,7 @@ then if test "${have_aa}" = "true" then VLC_ADD_PLUGINS([aa]) - VLC_ADD_LDFLAGS([aa],[-laa]) + VLC_ADD_LIBS([aa],[-laa]) fi fi @@ -4579,7 +4599,14 @@ then then VLC_ADD_PLUGINS([caca]) VLC_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`]) + VLC_ADD_LIBS([caca],[`${CACA_CONFIG} --plugin-libs`]) + AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[#include + caca_event_t ev;]], + [[ev.type = 0;]] + )], + [], + [AC_DEFINE(CACA_EVENT_OPAQUE, [1], ["Define if struct caca_event is opaque and must not be accessed directly"])] + ) fi fi @@ -4591,7 +4618,7 @@ AC_ARG_ENABLE(wingdi, if test "${enable_wingdi}" != "no"; then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then VLC_ADD_PLUGINS([wingdi]) - VLC_ADD_LDFLAGS([wingdi],[-lgdi32]) + VLC_ADD_LIBS([wingdi],[-lgdi32]) fi if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGINS([wingdi wingapi]) @@ -4616,7 +4643,7 @@ if test "${enable_oss}" != "no" && then AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [ VLC_ADD_PLUGINS([oss]) - AC_CHECK_LIB(ossaudio,main,VLC_ADD_LDFLAGS([oss],[-lossaudio])) + AC_CHECK_LIB(ossaudio,main,VLC_ADD_LIBS([oss],[-lossaudio])) ]) fi @@ -4632,10 +4659,24 @@ AC_ARG_ENABLE(esd, then VLC_ADD_PLUGINS([esd]) VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([esd],[`${ESD_CONFIG} --libs`]) + VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`]) fi fi]) +dnl +dnl Pulseaudio module +dnl +AC_ARG_ENABLE(pulse, + [ --enable-pulse Pulseaudio support (default enabled)]) + if test "${enable_pulse}" != "no" + then + PKG_CHECK_MODULES(PULSE, libpulse >= 0.9.8, + [ VLC_ADD_PLUGINS([pulse]) + VLC_ADD_CFLAGS([pulse],[${PULSE_CFLAGS}]) + VLC_ADD_LDFLAGS([pulse],[${PULSE_LIBS}])], + [AC_MSG_WARN(pulsaudio library not found)]) + fi + dnl dnl Portaudio module dnl @@ -4646,9 +4687,9 @@ AC_ARG_ENABLE(portaudio, VLC_ADD_PLUGINS([portaudio]) VLC_ADD_CXXFLAGS([portaudio],[]) if test "${SYS}" = "mingw32"; then - VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32]) + VLC_ADD_LIBS([portaudio],[-lportaudio -lwinmm -lole32]) else - VLC_ADD_LDFLAGS([portaudio],[-lportaudio]) + VLC_ADD_LIBS([portaudio],[-lportaudio]) fi fi]) @@ -4664,7 +4705,7 @@ AC_ARG_ENABLE(arts, then VLC_ADD_PLUGINS([arts]) VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([arts],[`${ARTS_CONFIG} --libs `]) + VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `]) fi fi]) @@ -4685,7 +4726,7 @@ then [snd_pcm_hw_params_get_period_time(0,0,0);], AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4)) VLC_ADD_PLUGINS([alsa]) - VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl]) + VLC_ADD_LIBS([alsa],[-lasound -lm -ldl]) else if test "${enable_alsa}" = "yes"; then AC_MSG_ERROR([Could not find ALSA development headers]) @@ -4701,7 +4742,7 @@ AC_ARG_ENABLE(waveout, if test "${enable_waveout}" != "no"; then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then VLC_ADD_PLUGINS([waveout]) - VLC_ADD_LDFLAGS([waveout],[-lwinmm]) + VLC_ADD_LIBS([waveout],[-lwinmm]) fi if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGINS([waveout]) @@ -4828,7 +4869,7 @@ dnl dnl UPnP Plugin (Intel SDK) dnl AC_ARG_ENABLE(upnp, - [ --enable-upnp Intel UPnP SDK (default auto)]) + [ --enable-upnp Intel UPnP SDK (default enabled)]) VLC_ADD_CXXFLAGS([upnp_intel], [ ]) AS_IF([test "x${enable_upnp}" != "xno"], [ @@ -4873,10 +4914,7 @@ if test "${enable_skins2}" = "yes" || skins2_missing_lib="no" dnl freetype - if test "${FREETYPE_CONFIG}" != "no"; then - VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`]) - VLC_ADD_LIBS([skins2],[`${FREETYPE_CONFIG} --libs`]) - else + if test "${have_freetype}" != "yes"; then skins2_missing_lib="yes" if test "${enable_skins2}" = "yes"; then AC_MSG_ERROR([Could not find freetype (required for skins2)]) @@ -5136,6 +5174,7 @@ then if test "${ac_cv_wx_headers}" = "yes" then VLC_ADD_PLUGINS([wxwidgets]) + AC_DEFINE([HAVE_WX], 1, [Define to 1 if you have WxWidgets library.]) ALIASES="${ALIASES} wxvlc" fi CPPFLAGS="${CPPFLAGS_save}" @@ -5155,18 +5194,23 @@ 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]) + AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.]) ALIASES="${ALIASES} qvlc" enableqt4=true - VLC_ADD_LIBS([qt4],[$QT4_LIBS]) + if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -a "${SYS}" != "cygwin" -a "${SYS}" != "darwin"; then + VLC_ADD_LIBS([qt4],[$QT4_LIBS -lX11]) + else + VLC_ADD_LIBS([qt4],[$QT4_LIBS]) + fi VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS -DQT4LOCALEDIR=\\\\\\\"$($PKG_CONFIG --variable=prefix QtCore)/share/qt4/translations/\\\\\\\"]) 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_ERROR(QT4 library not found) ],[ - AC_MSG_WARN(QT4 library not found) + AC_MSG_WARN(QT4 library not found) ]) ) ]) @@ -5294,32 +5338,32 @@ AC_ARG_ENABLE(opie, fi]) dnl -dnl MacOS X module +dnl MacOS X video output/gui modules dnl -ORIGCFLAGS=$CFLAGS -CFLAGS="$CFLAGS -x objective-c" AC_ARG_ENABLE(macosx, - [ --enable-macosx MacOS X support (default enabled on MacOS X)], - [if test "${enable_macosx}" = "yes" - then - VLC_ADD_PLUGINS([access_eyetv]) - VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) - VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL]) - VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit]) - VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] ) - VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] ) - fi], - [AC_CHECK_HEADERS(Cocoa/Cocoa.h, - [VLC_ADD_PLUGINS([access_eyetv]) - VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) - VLC_ADD_BUILTINS([macosx]) - VLC_ADD_BUILTINS([minimal_macosx]) - VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL]) - VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit]) - VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions]) - VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions]) - ])]) -CFLAGS=$ORIGCFLAGS + [ --enable-macosx MacOS X support (default enabled on MacOS X)]) +if test "x${enable_macosx}" = "xyes" +then +# VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,Foundation]) + VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa]) + VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL]) + VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,Carbon]) + VLC_ADD_LDFLAGS([macosx minimal_macosx], [-Wl,-framework,AGL]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,IOKit]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QuickTime]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,QTKit]) + VLC_ADD_LDFLAGS([macosx], [-Wl,-framework,WebKit]) + VLC_ADD_LDFLAGS([opengllayer], [-Wl,-framework,QuartzCore]) + VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer growl], [-fobjc-exceptions] ) + +# VLC_ADD_PLUGINS([access_eyetv]) + VLC_ADD_BUILTINS([macosx minimal_macosx]) + + ORIGCFLAGS=$CFLAGS + CFLAGS="$CFLAGS -x objective-c" + AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])]) + CFLAGS=$ORIGCFLAGS +fi dnl dnl QNX RTOS module @@ -5340,19 +5384,24 @@ dnl AC_ARG_ENABLE(ncurses, [ --disable-ncurses ncurses interface support (default enabled)], [if test "${enable_ncurses}" != "no"; then - AC_CHECK_HEADERS(ncursesw/curses.h, - [AC_CHECK_LIB( ncursesw, mvprintw, - [VLC_ADD_PLUGINS([ncurses]) - VLC_ADD_LIBS([ncurses],[-lncursesw])]) - ], - [AC_CHECK_HEADER(curses.h, - [AC_CHECK_LIB(ncurses, mvprintw, - [VLC_ADD_PLUGINS([ncurses]) - VLC_ADD_LIBS([ncurses],[-lncurses])] - )] - )] - ) - fi]) + AC_CHECK_HEADER(ncurses.h, + [AC_CHECK_LIB(ncursesw, mvprintw, + [VLC_ADD_PLUGINS([ncurses]) + VLC_ADD_LIBS([ncurses],[-lncursesw]) + ALIASES="${ALIASES} nvlc" + AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.]) + ], + [AC_CHECK_LIB( ncurses, mvprintw, + [VLC_ADD_PLUGINS([ncurses]) + ALIASES="${ALIASES} nvlc" + VLC_ADD_LIBS([ncurses],[-lncurses])], + [AS_IF([test "x${enable_ncurses}" != "x"], [ + AC_MSG_ERROR([libncurses not found])])] + )] + )] + ) + fi] +) dnl dnl XOSD plugin @@ -5376,6 +5425,18 @@ then fi fi +dnl +dnl Framebuffer (overlay) plugin +dnl +AC_ARG_ENABLE(fbosd, + [ --enable-fbosd fbosd interface support (default disabled)]) +if test "${enable_fbosd}" = "yes" +then + AC_CHECK_HEADERS(linux/fb.h, [ + VLC_ADD_PLUGINS([fbosd]) + ]) +fi + dnl dnl Visualisation plugin dnl @@ -5446,7 +5507,7 @@ then fi else AC_CHECK_HEADERS(goom/goom.h, [ - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}" + LDFLAGS="${LDFLAGS_save} ${LIBS_goom}" AC_CHECK_LIB(goom2, goom_init, [ VLC_ADD_PLUGINS([goom]) VLC_ADD_LIBS([goom],[-lgoom2]) @@ -5458,6 +5519,19 @@ then fi fi +dnl +dnl AtmoLight (homebrew AmbiLight) +dnl +if test "${SYS}" = "mingw32" -o "${SYS}" = "linux"; then + AC_ARG_ENABLE(atmo, +[ --disable-atmo AtmoLight (homebrew philips ambilight) (default enabled)]) + if test "${enable_atmo}" != "no"; then + AC_LANG_PUSH(C++) + VLC_ADD_PLUGINS([atmo]) + AC_LANG_POP(C++) + fi +fi + dnl dnl Bonjour services discovery dnl @@ -5467,8 +5541,8 @@ if test "${enable_bonjour}" != "no" then PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.3, [PKG_CHECK_MODULES(BONJOUR, avahi-client >= 0.6, - [AC_DEFINE(HAVE_AVAHI_06, [], [Define if you have avahi-client 0.6 or greater])],) - AC_DEFINE(HAVE_AVAHI_CLIENT, [], [Define if you have the avahi-client library]) + [AC_DEFINE(HAVE_AVAHI_06, 1, [Define if you have avahi-client 0.6 or greater])],) + AC_DEFINE(HAVE_AVAHI_CLIENT, 1, [Define if you have the avahi-client library]) VLC_ADD_LIBS([bonjour access_output_http],[$BONJOUR_LIBS]) VLC_ADD_CFLAGS([bonjour access_output_http],[$BONJOUR_CFLAGS]) VLC_ADD_PLUGINS([bonjour]) ], @@ -5493,6 +5567,39 @@ fi AC_ARG_WITH(,[Misc options:]) +dnl +dnl libgcrypt +dnl +AC_ARG_ENABLE(libgcrypt, + [ --enable-libgcrypt libgcrypts support (default enabled)]) + +GCRYPT_PATH="${PATH}" +AC_ARG_WITH(libgcrypt-config-path, +[ --with-libgcrypt-config-path=PATH libgcrypt-config path (default search in \$PATH)], + [ if test "${with_libgcrypt_config_path}" != "no" + then + GCRYPT_PATH="${with_libgcrypt_config_path}:${PATH}" + fi ]) + +if test "${enable_libgcrypt}" != "no" +then + 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 +fi +AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) +AS_IF([test "${have_libgcrypt}" = "yes"],[ + # look for libgcrypt-config + AC_PATH_PROG(GCRYPT_CONFIG, "libgcrypt-config", no, ${GCRYPT_PATH}) + GCRYPT_CFLAGS=`${GCRYPT_CONFIG} --cflags` + GCRYPT_LIBS=`${GCRYPT_CONFIG} --libs` +]) + dnl dnl TLS/SSL dnl @@ -5500,9 +5607,7 @@ AC_ARG_ENABLE(gnutls, [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) AS_IF([test "${enable_gnutls}" != "no"], [ - PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [have_gnutls="yes"], [have_gnutls="no"]) - - AS_IF([test "${have_gnutls}" = "yes"], [ + PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.3.3], [ VLC_ADD_PLUGINS([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) AS_IF([test "${SYS}" = "mingw32"], [ @@ -5510,9 +5615,10 @@ AS_IF([test "${enable_gnutls}" != "no"], [ VLC_ADD_LIBS([gnutls], [-lz]) VLC_ADD_LIBS([gnutls], [${LTLIBINTL}]) ]) - AC_CHECK_LIB([gcrypt], [gcry_control], [ - VLC_ADD_LIBS([gnutls], [-lgcrypt -lgpg-error]) - ], [], [-lgpg-error]) + AS_IF([test "${have_libgcrypt}" = "yes"],[ + VLC_ADD_LIBS([gnutls], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([gnutls], ${GCRYPT_CFLAGS}) + ], [-lgpg-error]) VLC_ADD_LIBS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ @@ -5522,23 +5628,20 @@ AS_IF([test "${enable_gnutls}" != "no"], [ ]) dnl -dnl libgcrypt +dnl update checking system dnl -AC_ARG_ENABLE(libgcrypt, - [ --enable-libgcrypt libgcrypts support (default enabled)]) -if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i +AC_ARG_ENABLE(update-check, + [ --enable-update-check update checking system (default disabled)]) +if test "${enable_update_check}" = "yes" then - 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}" + if test "${have_libgcrypt}" != "yes" 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") + AC_MSG_ERROR([libgcrypt is required for update checking system]) fi + VLC_ADD_LIBS([libvlc], ${GCRYPT_LIBS}) + VLC_ADD_CFLAGS([libvlc], ${GCRYPT_CFLAGS}) + AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update mechanism]) fi -AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) - dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling @@ -5613,7 +5716,7 @@ AS_IF([test "${enable_loader}" = "yes"], VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/libs/loader]) VLC_ADD_LIBS([quicktime],[../../libs/loader/libloader.la -lpthread]) VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/libs/loader -DLOADER]) - VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la -ldl -lpthread]) + VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la]) ]) dnl @@ -5723,7 +5826,8 @@ then 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_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt]) + AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h])) + VLC_ADD_LIBS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt -lXpm]) fi VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}]) VLC_ADD_LDFLAGS([mozilla],[${MOZILLA_LDFLAGS}]) @@ -5760,11 +5864,12 @@ then AC_CHECK_LIB(Xt,XtStrings, [ VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) - VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE]) + VLC_ADD_LIBS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE -lXpm]) ], [], - [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE] + [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE -lXpm] ]) + AC_CHECK_HEADERS(X11/xpm.h,,AC_MSG_ERROR([Please install libXpm-devel library for required X11/xpm.h])) LDFLAGS="${LDFLAGS_save}" fi @@ -5845,7 +5950,7 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) - dnl Tests for Osso and Xsp +dnl Tests for Osso and Xsp if test "${enable_x11}" != "no" && (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || test "${enable_x11}" = "yes"); then @@ -5880,17 +5985,15 @@ AC_ARG_ENABLE(java-bindings, [ --enable-java-bindings Enable Java bindings (default disabled)]) if test "${enable_java_bindings}" = "yes" then - AS_IF([test "x${JAVA_HOME}" == "x"], - [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])]) - AC_PROG_JAVAC - AC_PROG_JAVA - PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java" - if test "${JAVAC}" == "javac${EXEEXT}" - then - JAVAC="javac${EXEEXT} -cp ./ " - fi + echo "" + echo "****** WARNING **** WARNING ***** WARNING *************" + echo "*** To compile the java bindings go to the + echo "*** bindings/java folder and run ant. + echo "*** This configuration will continue, so you will be + echo "*** able to compile VideoLAN as usual. + echo "*******************************************************" + echo "" fi -AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"]) dnl dnl test plugins @@ -6004,7 +6107,8 @@ dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number]) @@ -6014,23 +6118,21 @@ AC_SUBST(VERSION_MAJOR) AC_SUBST(VERSION_MINOR) AC_SUBST(VERSION_REVISION) AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure]) -AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) +if test "${build_os}" = "cygwin" +then + AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) +else + AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -s`", [host which ran configure]) +fi AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) -dnl New definitions with value matching 0.9.0 release -module_symbol="0_9_0b" -AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions]) -AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions]) -VLC_ENTRY="vlc_entry__${module_symbol}" -AC_SUBST(VLC_ENTRY) - dnl dnl Handle substvars that use $(top_srcdir) dnl VLC_CONFIG="top_builddir=\"\$(top_builddir)\" \$(top_builddir)/vlc-config" AC_SUBST(VLC_CONFIG) -CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include" +CPPFLAGS_save="${CPPFLAGS_save} -I\$(top_srcdir)/include -I\$(top_builddir)/include" dnl dnl Restore *FLAGS @@ -6065,21 +6167,18 @@ dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ - vlc.win32.nsi + extras/package/win32/vlc.win32.nsi Makefile - activex/Makefile - activex/axvlc.inf + projects/activex/Makefile + projects/activex/axvlc.inf bindings/Makefile - bindings/java/Makefile - bindings/java/src/Makefile bindings/python/Makefile doc/Makefile - intl/Makefile - ipkg/Makefile + extras/package/ipkg/Makefile libs/loader/Makefile libs/srtp/Makefile modules/Makefile - mozilla/Makefile + projects/mozilla/Makefile m4/Makefile po/Makefile.in share/Makefile @@ -6094,6 +6193,8 @@ AC_CONFIG_FILES([ modules/access/mms/Makefile modules/access/cdda/Makefile modules/access/rtsp/Makefile + modules/access/rtmp/Makefile + modules/access/v4l2/Makefile modules/access/vcd/Makefile modules/access/vcdx/Makefile modules/access/screen/Makefile @@ -6139,6 +6240,7 @@ AC_CONFIG_FILES([ modules/misc/notify/Makefile modules/misc/testsuite/Makefile modules/misc/playlist/Makefile + modules/misc/osd/Makefile modules/misc/xml/Makefile modules/misc/probe/Makefile modules/mux/Makefile @@ -6150,6 +6252,7 @@ AC_CONFIG_FILES([ modules/stream_out/transrate/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile + modules/video_filter/atmo/Makefile modules/video_output/Makefile modules/video_output/msw/Makefile modules/video_output/qte/Makefile @@ -6176,9 +6279,14 @@ dnl for a in `./vlc-config --target plugin` ; do echo $a; done | sed -e 's,modul dnl Shortcut to nice compile message rm -f compile echo '#! /bin/sh' >compile - -echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile -echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile +echo rm -f .error\$\$ >>compile +echo ERROR=0 >>compile +echo export PATH=$PATH LANG=C >>compile +echo "(make \$@ 2>&1 || touch .error\$\$)| \\" >>compile +echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/buildsystem/make.pl' >>compile +echo test -f .error\$\$ \&\& ERROR=1 >>compile +echo rm -f .error\$\$ >>compile +echo exit \$ERROR >>compile chmod a+x compile printf " @@ -6202,4 +6310,11 @@ with \`./vlc-config --list plugin'. You can tune the compiler flags in vlc-config. To build vlc and its plugins, type \`./compile' or \`make'. " - +if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then + echo "" + echo "Warning: Due to a bug in ld, mmx/sse support has been" + echo " turned off." + echo " FFmpeg will be REALLY slow." + echo " VLC WILL NOT PERFORM AS EXPECTED." + echo "" +fi