X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac.in;h=2486bda1e309262ef9dd213f997754cb3773e725;hb=e55a8802bd424d637c2f2e467cf740bc27804199;hp=f3fa0ba917f8aac96bad90c069a500eb981b7935;hpb=3c60cbd66f00b9058e8f2e223dac4475eb5a2ca6;p=vlc diff --git a/configure.ac.in b/configure.ac.in index f3fa0ba917..2486bda1e3 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -1,6 +1,6 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.5.0-cvs-am) +AC_INIT(vlc,0.5.0-test4) CONFIGURE_LINE="$0 $*" CODENAME="Natalya" @@ -11,7 +11,7 @@ AC_CANONICAL_SYSTEM dnl XXX: we don't put any flags here, because automake 1.5 doesn't support dnl them. And we need the comma otherwize automake will choke on it. -AM_INIT_AUTOMAKE(vlc,0.5.0-cvs-am) +AM_INIT_AUTOMAKE(vlc,0.5.0-test4) AM_CONFIG_HEADER(config.h) dnl @@ -33,6 +33,10 @@ AC_PROG_CXX AC_PROG_MAKE_SET AC_PROG_INSTALL +dnl AC_PROG_EGREP only exists in autoconf 2.54+, so we use AC_EGREP_CPP right +dnl now otherwise it might be set in an obscure if statement. +AC_EGREP_CPP(foo,foo) + dnl AC_PROG_OBJC doesn't seem to exist, this is the KDE workaround AC_MSG_CHECKING(for an Objective-C compiler) OBJC="${CXX}" @@ -48,18 +52,8 @@ AC_MSG_RESULT(not implemented yet) dnl Find the right ranlib, even when cross-compiling AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) - -dnl -dnl Gettext stuff -dnl -ALL_LINGUAS="de en_GB fr ja no ru nl pl se" -AM_GNU_GETTEXT_VERSION(0.10.40) -AM_GNU_GETTEXT -if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then - AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl) - INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl" -fi -AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes") +AC_CHECK_TOOL(AR, ar, :) +AC_CHECK_TOOL(LD, ld, :) dnl AM_PROG_LIBTOOL AC_PROG_INSTALL @@ -88,6 +82,7 @@ case "x${target_os}" in SYS=bsdi CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}" LDFLAGS_dvd="${LDFLAGS_dvd} -ldvd" + LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -ldvd" LDFLAGS_vcd="${LDFLAGS_vcd} -ldvd" ;; x*bsd*) @@ -96,9 +91,9 @@ case "x${target_os}" in ;; xdarwin*) SYS=darwin - CFLAGS_save="${CFLAGS_save} -no-cpp-precomp"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp"; OBJCFLAGS="${OBJCFLAGS_save}" + 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"; OBJCFLAGS="${OBJCFLAGS_save}" LDFLAGS_vlc="${LDFLAGS_vlc} -all_load" LIBEXT=".dylib" ;; @@ -122,13 +117,19 @@ case "x${target_os}" in esac if test "x$SYS" = "xmingw32"; then + # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long" CPPFLAGS="${CPPFLAGS_save}" LDFLAGS_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -mwindows" LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32" LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32" - LDFLAGS_access_http="${LDFLAGS_http} -lws2_32" + LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32" + LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32" + LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32" + LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lws2_32" + LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lws2_32" LDFLAGS_rc="${LDFLAGS_rc} -lws2_32" + LDFLAGS_sap="${LDFLAGS_sap} -lws2_32" fi ;; x*nto*) @@ -150,7 +151,11 @@ case "x${target_os}" in LDFLAGS_vlc="${LDFLAGS_vlc} -lbe" LDFLAGS_plugins="${LDFLAGS_plugins} -nostart" LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation" - LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind" + dnl BONE or not BONE ? + AC_CHECK_LIB( bind, inet_ntoa, + [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind" + LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"], + []) ;; x*) SYS="${target_os}" @@ -160,6 +165,26 @@ AM_CONDITIONAL(HAVE_BEOS, test "x${SYS}" = "xbeos") AM_CONDITIONAL(HAVE_DARWIN, test "x${SYS}" = "xdarwin") AM_CONDITIONAL(HAVE_WIN32, test "x${SYS}" = "xmingw32") +dnl +dnl Gettext stuff +dnl +ALL_LINGUAS="de en_GB fr it ja no ru nl pl sv" +AM_GNU_GETTEXT_VERSION(0.10.40) +AM_GNU_GETTEXT +if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then + AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl) + INCLUDES="${INCLUDES} -I\\\$(top_srcdir)/intl" +else + AC_CHECK_FUNCS(textdomain,,[ + AC_CHECK_LIB(intl,textdomain, + LDFLAGS_vlc="${LDFLAGS_vlc} -lintl" + LDFLAGS_plugins="${LDFLAGS_plugins} -lintl" + ) + ]) +fi +AM_CONDITIONAL(BUILD_INTL, test "${nls_cv_force_use_gnu_gettext}" = "yes") +XGETTEXT="${XGETTEXT} --keyword=_NS" + AC_MSG_CHECKING(for suffix of libraries) AC_MSG_RESULT(${LIBEXT}) @@ -181,22 +206,48 @@ then [CFLAGS="${CFLAGS_save} -mms-bitfields" AC_TRY_COMPILE([],,ac_cv_c_mms_bitfields=yes, ac_cv_c_mms_bitfields=no)]) if test x"$ac_cv_c_mms_bitfields" != x"no"; then - CFLAGS_mingw32_special="-mms-bitfields" + CFLAGS_save="${CFLAGS_save} -mms-bitfields"; + CXXFLAGS_save="${CXXFLAGS_save} -mms-bitfields"; else - CFLAGS_mingw32_special="-fnative-struct" + AC_CACHE_CHECK([if \$CC accepts -fnative-struct], + [ac_cv_c_fnative_struct], + [CFLAGS="${CFLAGS_save} -fnative-struct" + AC_TRY_COMPILE([],,ac_cv_c_fnative_struct=yes, ac_cv_c_fnative_struct=no)]) + if test x"$ac_cv_c_fnative_struct" != x"no"; then + CFLAGS_save="${CFLAGS_save} -fnative-struct"; + CXXFLAGS_save="${CXXFLAGS_save} -fnative-struct"; + fi + fi + + CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" +fi + +dnl Check for fvtable-thunks support for mingw32 +if test x$SYS = xmingw32 +then +AC_LANG_PUSH(C++) + AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks], + [ac_cv_cxx_fvtable_thunks], + [CXXFLAGS="${CXXFLAGS_save} -Wall -Werror -fvtable-thunks" + AC_TRY_COMPILE([],,ac_cv_cxx_fvtable_thunks=yes, + ac_cv_cxx_fvtable_thunks=no)]) + if test x"$ac_cv_cxx_fvtable_thunks" = x"yes"; then + CXXFLAGS_mingw32_special="-fvtable-thunks" fi - CFLAGS_save="${CFLAGS_save} ${CFLAGS_mingw32_special}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} ${CXXFLAGS_mingw32_special}" + CXXFLAGS="${CXXFLAGS_save}" +AC_LANG_POP(C++) fi dnl Flags for plugin compilation case "x${SYS}" in xmingw32|xcygwin) CFLAGS_pics="${CFLAGS_pics} ${CFLAGS_mingw32_special}" - CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special}" + CXXFLAGS_pics="${CXXFLAGS_pics} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}" OBJCFLAGS_pics="${OBJCFLAGS_pics} ${CFLAGS_mingw32_special}" CFLAGS_plugins="${CFLAGS_plugins} ${CFLAGS_mingw32_special}" - CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special}" + CXXFLAGS_plugins="${CXXFLAGS_plugins} ${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}" OBJCFLAGS_plugins="${OBJCFLAGS_plugins} ${CFLAGS_mingw32_special}" ;; x*) @@ -214,26 +265,38 @@ dnl The -DSYS_FOO flag CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}" dnl Check for system libs needed -AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll strndup) +need_libc=false + +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 atoll getenv putenv setenv) + +dnl Check for usual libc functions +AC_CHECK_FUNCS(strdup strndup atof lseek) +AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) +AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) -AC_CHECK_FUNC(connect,,[ +AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect, LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket" LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket" )]) -AC_CHECK_FUNC(send,,[ +AC_CHECK_FUNCS(send,,[ AC_CHECK_LIB(socket,send, - LDFLAGS_http="${LDFLAGS_http} -lsocket" + LDFLAGS_access_http="${LDFLAGS_access_http} -lsocket" + LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket" + LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket" + LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lsocket" + LDFLAGS_sap="${LDFLAGS_sap} -lsocket" + LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lsocket" )]) -AC_CHECK_FUNC(gethostbyname,,[ +AC_CHECK_FUNCS(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl",[ AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind")]) ]) have_nanosleep=false -AC_CHECK_FUNC(nanosleep,have_nanosleep=:,[ +AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ AC_CHECK_LIB(rt,nanosleep, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:], [AC_CHECK_LIB(posix4,nanosleep, @@ -244,22 +307,30 @@ if ${have_nanosleep}; then AC_DEFINE(HAVE_NANOSLEEP, 1, Define if nanosleep is available.) fi -# HP/UX port + +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 x$ac_cv_type_socklen_t != xno; then + AC_DEFINE(HAVE_SOCKLEN_T, 1, + Define if defines socklen_t.) +fi + +dnl HP/UX port AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"]) -AC_CHECK_FUNC(inet_aton,,[ +AC_CHECK_FUNCS(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv") ]) -AC_CHECK_FUNC(textdomain,,[ - AC_CHECK_LIB(intl,textdomain, - LDFLAGS_vlc="${LDFLAGS_vlc} -lintl" - LDFLAGS_plugins="${LDFLAGS_plugins} -lintl" - ) -]) dnl Check for getopt need_getopt=false -AC_CHECK_FUNC(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], +AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], [ # FreeBSD has a gnugetopt library for this: AC_CHECK_LIB([gnugetopt],[getopt_long], [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) LDFLAGS_vlc="${LDFLAGS_vlc} -lgnugetopt"], @@ -270,7 +341,9 @@ AC_TYPE_SIGNAL AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl") AC_CHECK_LIB(m,cos, LDFLAGS_imdct="${LDFLAGS_imdct} -lm" - LDFLAGS_filter_distort="${LDFLAGS_filter_distort} -lm") + LDFLAGS_adjust="${LDFLAGS_adjust} -lm" + LDFLAGS_distort="${LDFLAGS_distort} -lm" + LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -lm") AC_CHECK_LIB(m,pow, LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lm" LDFLAGS_imdct="${LDFLAGS_imdct} -lm" @@ -292,7 +365,7 @@ if test "x${THREAD_LIB}" = "xerror"; then AC_CHECK_LIB(c_r,main,THREAD_LIB="-lc_r") fi if test "x${THREAD_LIB}" = "xerror"; then - AC_CHECK_FUNC(pthread_mutex_lock) + AC_CHECK_FUNCS(pthread_mutex_lock) THREAD_LIB="" fi @@ -300,19 +373,30 @@ dnl Check for cthreads under GNU/Hurd for instance AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads") 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.)]) + 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.)]) + Define if defines pthread_once.)],[ + AC_MSG_RESULT(no)]) + +AC_MSG_CHECKING(for strncasecmp in strings.h) AC_EGREP_HEADER(strncasecmp,strings.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1, - Define if defines strncasecmp.)]) + Define if defines strncasecmp.)],[ + AC_MSG_RESULT(no)]) dnl Check for headers -AC_CHECK_HEADERS(stdint.h getopt.h strings.h inttypes.h sys/int_types.h) -AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h) +AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h getopt.h strings.h inttypes.h sys/int_types.h) +AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS(dlfcn.h image.h) AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h) AC_CHECK_HEADERS(machine/param.h sys/shm.h) @@ -320,16 +404,29 @@ AC_CHECK_HEADERS(linux/version.h) AC_HEADER_TIME +dnl Check for dirent +need_dirent=false +AC_CHECK_HEADERS(dirent.h,,[need_dirent=:]) +AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent}) + dnl Mac OS X and other OSes don't have declaration for nanosleep +AC_MSG_CHECKING(for nanosleep in time.h) AC_EGREP_HEADER(nanosleep,time.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, Define if defines nanosleep.) +],[ + AC_MSG_RESULT(no) ]) dnl Make sure we have timespecs +AC_MSG_CHECKING(for timespec in sys/time.h) AC_EGREP_HEADER(timespec,sys/time.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1, Define if defines struct timespec.) +],[ + AC_MSG_RESULT(no) ]) dnl Check for threads library @@ -347,15 +444,24 @@ dnl Build the gtk_main plugins? NEED_GTK_MAIN=no NEED_GNOME_MAIN=no +dnl build the qte plugin ? +NEED_QTE_MAIN=no + dnl Check for DPMS if test "x${SYS}" != "xmingw32" then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/extensions/dpms.h, [ + AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(DPMSINFO_IN_DPMS_H, 1, Define if defines DPMSInfo.) + ],[ + AC_MSG_RESULT(no) ]) + ],,[ + #include ]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -382,25 +488,90 @@ if test "x${ac_cv_c_inline_limit}" != "xno"; then OBJCFLAGS_save="${OBJCFLAGS_save} -finline-limit-30000"; OBJCFLAGS="${OBJCFLAGS_save}" fi -dnl Check for -W or -w flags -AC_CACHE_CHECK([if \$CC accepts -Wall -Winline], - [ac_cv_c_Wall_Winline], - [CFLAGS="-Wall -Winline ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wall_Winline=yes, ac_cv_c_Wall_Winline=no)]) -if test "x${ac_cv_c_Wall_Winline}" != "xno"; then - CFLAGS_save="-Wall -Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-Wall -Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="-Wall -Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" -else - AC_CACHE_CHECK([if \$CC accepts -wall -winline], - [ac_cv_c_wall_winline], - [CFLAGS="-wall -winline ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_wall_winline=yes, ac_cv_c_wall_winline=no)]) - if test "x${ac_cv_c_wall_winline}" != "xno"; then - CFLAGS_save="-wall -winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-wall -winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="-wall -winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +# XXX: do this with an M4 macro? +#dnl Check for various -W flags +#for flag in "" all unreachable-code conversion sign-compare disabled-optimization +#do +# AC_CACHE_CHECK([if \$CC accepts -W${flag}], +# [ac_cv_c_W${flag}], +# [CFLAGS="-W${flag} ${CFLAGS_save}" +# AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)]) +# if test "x${ac_cv_c_W${flag}}" != "xno"; then +# CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" +# CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" +# OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +# fi +#done + +AC_CACHE_CHECK([if \$CC accepts -Wall], + [ac_cv_c_Wall], + [CFLAGS="-Wall ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)]) + +AC_CACHE_CHECK([if \$CC accepts -Wconversion], + [ac_cv_c_Wconversion], + [CFLAGS="-Wconversion ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)]) + +AC_CACHE_CHECK([if \$CC accepts -Wunreachable-code], + [ac_cv_c_Wunreachable_code], + [CFLAGS="-Wunreachable-code ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)]) + +AC_CACHE_CHECK([if \$CC accepts -Wsign-compare], + [ac_cv_c_Wsign_compare], + [CFLAGS="-Wsign-compare ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)]) + +AC_CACHE_CHECK([if \$CC accepts -Wdisabled-optimization], + [ac_cv_c_Wdisabled_optimization], + [CFLAGS="-Wdisabled-optimization ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Wdisabled_optimization=yes, ac_cv_c_Wdisabled_optimization=no)]) + +AC_CACHE_CHECK([if \$CC accepts -Winline], + [ac_cv_c_Winline], + [CFLAGS="-Winline ${CFLAGS_save}" + AC_TRY_COMPILE([],,ac_cv_c_Winline=yes, ac_cv_c_Winline=no)]) + +if test "x${ac_cv_c_Wall}" != "xno"; then + CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="-Wall ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +fi + +if test "x${ac_cv_c_Wunreachable_code}" != "xno"; then +# CFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" +# CXXFLAGS_save="-Wunreachable-code ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" +# OBJCFLAGS_save="-Wunreachable-code ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" + + dnl -Wunreachable-code means gcc-3.x, we can use -Wconversion and we can + dnl activate -Winline for C++, it won't choke on system headers. +# if test "x${ac_cv_c_Wconversion}" != "xno"; then +# CFLAGS_save="-Wconversion ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" +# CXXFLAGS_save="-Wconversion ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" +# OBJCFLAGS_save="-Wconversion ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +# fi + if test "x${ac_cv_c_Winline}" != "xno"; then + CXXFLAGS_save="-Winline ${CXXFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" fi + +fi + +if test "x${ac_cv_c_Wsign_compare}" != "xno"; then + CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +fi + +if test "x${ac_cv_c_Wdisabled_optimization}" != "xno"; then + CFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="-Wdisabled-optimization ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="-Wdisabled-optimization ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" +fi + +if test "x${ac_cv_c_Winline}" != "xno"; then + CFLAGS_save="-Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" + OBJCFLAGS_save="-Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" fi dnl Check for -pipe @@ -421,21 +592,27 @@ AC_CACHE_CHECK([if \$CC accepts -O3], AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) if test "x${ac_cv_c_o3}" != "xno"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3" -else - AC_CACHE_CHECK([if \$CC accepts -O2], - [ac_cv_c_o2], - [CFLAGS="${CFLAGS_save} -O2" - AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) - if test "x${ac_cv_c_o2}" != "xno"; then +fi + +AC_CACHE_CHECK([if \$CC accepts -O2], + [ac_cv_c_o2], + [CFLAGS="${CFLAGS_save} -O2" + AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) +if test "x${ac_cv_c_o2}" != "xno"; then + if test "x${ac_cv_c_o3}" = "xno"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2" - else - AC_CACHE_CHECK([if \$CC accepts -O], - [ac_cv_c_o], - [CFLAGS="${CFLAGS_save} -O" - AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "x${ac_cv_c_o}" != "xno"; then + fi + CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2" +else + AC_CACHE_CHECK([if \$CC accepts -O], + [ac_cv_c_o], + [CFLAGS="${CFLAGS_save} -O" + AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) + if test "x${ac_cv_c_o}" != "xno"; then + if test "x${ac_cv_c_o3}" = "xno"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O" - fi + fi + CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O" fi fi @@ -474,7 +651,8 @@ AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic], [CFLAGS="${CFLAGS_save} -mdynamic-no-pic" AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)]) if test "x${ac_cv_c_dynamic_no_pic}" != "xno"; then - CFLAGS_builtins="${CFLAGS_OPTIM} -mdynamic-no-pic" + CFLAGS_builtins="${CFLAGS_builtins} -mdynamic-no-pic" + CFLAGS_libvlc="${CFLAGS_libvlc} -mdynamic-no-pic" fi dnl Check for Darwin plugin linking flags @@ -525,6 +703,19 @@ if test "x${ac_cv_c_attribute_aligned}" != "x0"; then [${ac_cv_c_attribute_aligned}],[Maximum supported data alignment]) fi +dnl Checks for __attribute__(format()) directive +AC_CACHE_CHECK([__attribute__ ((format ())) support with function pointers], + [ac_cv_c_attribute_format], + [ac_cv_c_attribute_format=no + CFLAGS="${CFLAGS_save} -Werror" + AC_TRY_COMPILE([], + [static void (*pf_printf)(const char *, ...) __attribute__ ((format(printf,1,2)));(void)pf_printf;], + [ac_cv_c_attribute_format=yes]) + CFLAGS="${CFLAGS_save}"]) +if test "x${ac_cv_c_attribute_format}" != "xno"; then + AC_DEFINE(HAVE_ATTRIBUTE_FORMAT, 1, Support for __attribute__((format())) with function pointers) +fi + dnl dnl Check the CPU dnl @@ -547,40 +738,32 @@ dnl dnl default modules dnl PLUGINS="${PLUGINS} dummy rc logger access_file memcpy" -PLUGINS="${PLUGINS} es audio mpeg_system ps ts" +PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts" PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio" -#PLUGINS="${PLUGINS} a52old imdct downmix" +#PLUGINS="${PLUGINS} a52old imdct downmix imdct3dn downmix3dn imdctsse downmixsse" PLUGINS="${PLUGINS} lpcm a52" -PLUGINS="${PLUGINS} deinterlace invert yuv wall transform distort clone crop motionblur" -PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32" +PLUGINS="${PLUGINS} deinterlace invert adjust wall transform distort clone crop motionblur" +PLUGINS="${PLUGINS} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif fixed32tofloat32 fixed32tos16 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32" PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler" -PLUGINS="${PLUGINS} trivial_channel_mixer" -PLUGINS="${PLUGINS} trivial_mixer spdif_mixer" +PLUGINS="${PLUGINS} trivial_channel_mixer headphone_channel_mixer" +PLUGINS="${PLUGINS} trivial_mixer spdif_mixer float32_mixer" PLUGINS="${PLUGINS} aout_file" #PLUGINS="${PLUGINS} scope" PLUGINS="${PLUGINS} i420_rgb i420_yuy2 i422_yuy2 i420_ymga" -PLUGINS="${PLUGINS} id3" -PLUGINS="${PLUGINS} wav araw" - -dnl -dnl Network modules -dnl -NETWORK_MODULES="access_udp access_http access_rtp ipv4" +PLUGINS="${PLUGINS} id3 m3u" +PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys" +PLUGINS="${PLUGINS} access_udp access_http ipv4 access_mms access_ftp" +PLUGINS="${PLUGINS} sap" dnl dnl Accelerated modules dnl MMX_MODULES="memcpymmx idctmmx motionmmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx" MMXEXT_MODULES="memcpymmxext idctmmxext motionmmxext" -THREEDNOW_MODULES="memcpy3dn imdct3dn downmix3dn" -SSE_MODULES="imdctsse downmixsse" +THREEDNOW_MODULES="memcpy3dn" +SSE_MODULES="" ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec" -if test x${SYS} != xbeos -then - PLUGINS="${PLUGINS} ${NETWORK_MODULES}" -fi - AC_CACHE_CHECK([if \$CC groks MMX inline assembly], [ac_cv_mmx_inline], [CFLAGS="${CFLAGS_save}" @@ -740,6 +923,23 @@ AC_ARG_ENABLE(release, [ --enable-release activate extra optimizations (default disabled)]) AM_CONDITIONAL(RELEASE, test "x${enable_release}" = "xyes") +dnl +dnl Stream output +dnl +AC_ARG_ENABLE(sout, + [ --enable-sout Stream output modules (default enabled)]) +if test "x${enable_sout}" != "xno" +then + PLUGINS="${PLUGINS} access_output_dummy access_output_udp access_output_file" + PLUGINS="${PLUGINS} mux_ts mux_ps mux_avi mux_dummy" + PLUGINS="${PLUGINS} packetizer_mpegaudio packetizer_mpegvideo packetizer_a52" + PLUGINS="${PLUGINS} packetizer_mpeg4video packetizer_mpeg4audio" + PLUGINS="${PLUGINS} packetizer_copy" + + PLUGINS="${PLUGINS} vout_encoder" +fi + + dnl dnl Input plugins dnl @@ -781,8 +981,8 @@ then dnl Use a custom libdvdcss AC_MSG_RESULT(${real_dvdcss_tree}/src/.libs/libdvdcss.a) BUILTINS="${BUILTINS} dvd" - LDFLAGS_dvd="${LDFLAGS_dvd} ${real_dvdcss_tree}/src/.libs/libdvdcss.a" - LDFLAGS_dvdcss="${LDFLAGS_dvdcss} ${real_dvdcss_tree}/src/.libs/libdvdcss.a" + LDFLAGS_dvd="${LDFLAGS_dvd} -L${real_dvdcss_tree}/src/.libs -ldvdcss" + LDFLAGS_dvdcss="${LDFLAGS_dvdcss} -L${real_dvdcss_tree}/src/.libs -ldvdcss" CPPFLAGS_dvd="${CPPFLAGS_dvd} -I${real_dvdcss_tree}/src" else dnl The given libdvdcss wasn't built @@ -817,47 +1017,65 @@ then fi dnl -dnl dvdread module: check for libdvdread plugin +dnl dvdread module: check for libdvdread dnl AC_ARG_ENABLE(dvdread, [ --enable-dvdread dvdread input module (default disabled)]) if test "x${enable_dvdread}" != "xno" then AC_ARG_WITH(dvdread, - [ --with-dvdread=PATH libdvdread headers and libraries]) - if test "x${with_dvdread}" = "x" + [ --with-dvdread=PATH libdvdread headers and libraries]) + AC_ARG_WITH(dvdread-tree, + [ --with-dvdread-tree=PATH libdvdread tree for static linking]) + if test "x${with_dvdread}" = x then - LDFLAGS_test="" - CPPFLAGS_test="" - else - LDFLAGS_test="-L${with_dvdread}/lib" - CPPFLAGS_test="-I${with_dvdread}/include" - fi - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" - AC_CHECK_HEADERS(dvdread/dvd_reader.h, [ - AC_TRY_COMPILE([#include ], - [int foo() { return DVD_VIDEO_LB_LEN; }],[ - PLUGINS="${PLUGINS} dvdread" - LDFLAGS_dvdread="${LDFLAGS_dvdread} ${LDFLAGS_test} -ldvdread ${LDFLAGS_dvdcss}" - CPPFLAGS_dvdread="${CPPFLAGS_dvdread} ${CPPFLAGS_test}" - ],[ - if test "x${enable_dvdread}" != "x" - then - AC_MSG_ERROR([Cannot find DVD_VIDEO_LB_LEN in dvdread/dvd_reader.h, please install libdvdread version 0.9.2 or later]) - fi - ]) - ],[ - if test "x${enable_dvdread}" != "x" + if test "x${with_dvdread_tree}" = x then - if test "x${with_dvdread}" != "x" + AC_CHECK_HEADERS(dvdread/dvd_reader.h, + [ PLUGINS="${PLUGINS} dvdread" + LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread ${LDFLAGS_dvdcss}" ], + [ if test "x${enable_dvdread}" != "x" + then + AC_MSG_WARN([Please get libdvdread from http://www.dtek.chalmers.se/groups/dvd/downloads.shtml]) + AC_MSG_ERROR([cannot find libdvdread headers]) + fi ]) + else + AC_MSG_CHECKING(for libdvdread.a in ${with_dvdread_tree}) + real_dvdread_tree="`cd ${with_dvdread_tree} 2>/dev/null && pwd`" + if test "x${real_dvdread_tree}" = "x" then - AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h in ${with_dvdread}/include]) + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_dvdread_tree}]) + fi + if test -f "${real_dvdread_tree}/dvdread/.libs/libdvdread.a" + then + dnl Use a custom libdvdread + AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) + BUILTINS="${BUILTINS} dvdread" + LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}" + CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${real_dvdread_tree}" else - AC_MSG_ERROR([Cannot find dvdread/dvd_reader.h]) + dnl The given libdvdread wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_dvdread_tree}/dvdread/.libs/libdvdread.a, make sure you compiled libdvdread in ${with_dvdread_tree}]) fi fi - ]) - CPPFLAGS="${CPPFLAGS_save}" + else + AC_MSG_CHECKING(for dvdread headers in ${with_dvdread}) + if test -f ${with_dvdread}/include/dvdread/dvd_reader.h + then + dnl Use ${with_dvdread}/include/dvdread/dvd_reader.h + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} dvdread" + LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${with_dvdread}/lib -ldvdread ${LDFLAGS_dvdcss}" + CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${with_dvdread}/include" + else + dnl No libdvdread could be found, sorry + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h]) + fi + fi fi dnl @@ -868,40 +1086,66 @@ AC_ARG_ENABLE(dvdplay, if test "x${enable_dvdplay}" != "xno" then AC_ARG_WITH(dvdplay, - [ --with-dvdplay=PATH libdvdplay headers and libraries]) + [ --with-dvdplay=PATH libdvdplay headers and libraries]) + AC_ARG_WITH(dvdplay-tree, + [ --with-dvdplay-tree=PATH libdvdplay tree for static linking]) if test "x${with_dvdplay}" = x then - LDFLAGS_test="" - CPPFLAGS_test="" - else - LDFLAGS_test="-L${with_dvdplay}/lib" - CPPFLAGS_test="-I${with_dvdplay}/include" - fi - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" - AC_CHECK_HEADERS(dvdplay/dvdplay.h, [ - PLUGINS="${PLUGINS} dvdplay" - LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_test} -ldvdplay -ldvdread ${LDFLAGS_dvdcss}" - CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_test}" - ],[ - if test "x${enable_dvdplay}" != x + if test "x${with_dvdplay_tree}" = x then - if test "x${with_dvdplay}" != x + AC_CHECK_HEADERS(dvdplay/dvdplay.h, + [ PLUGINS="${PLUGINS} dvdplay" + LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}" + CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread}" ], + [ if test "x${enable_dvdplay}" != "x" + then + AC_MSG_WARN([Please get libdvdplay from http://www.videolan.org/.]) + AC_MSG_ERROR([cannot find libdvdplay headers]) + fi ]) + else + AC_MSG_CHECKING(for libdvdplay.a in ${with_dvdplay_tree}) + real_dvdplay_tree="`cd ${with_dvdplay_tree} 2>/dev/null && pwd`" + if test "x${real_dvdplay_tree}" = "x" + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_dvdplay_tree}]) + fi + if test -f "${real_dvdplay_tree}/src/.libs/libdvdplay.a" then - AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h in ${with_dvdplay}/include]) + dnl Use a custom libdvdplay + AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a) + BUILTINS="${BUILTINS} dvdplay" + LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${real_dvdplay_tree}/src/.libs -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}" + CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${real_dvdplay_tree}/src" else - AC_MSG_ERROR([Cannot find dvdplay/dvdplay.h]) + dnl The given libdvdplay wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_dvdplay_tree}/src/.libs/libdvdplay.a, make sure you compiled libdvdplay in ${with_dvdplay_tree}]) fi fi - ]) - CPPFLAGS="${CPPFLAGS_save}" + else + AC_MSG_CHECKING(for dvdplay headers in ${with_dvdplay}) + if test -f ${with_dvdplay}/include/dvdplay/dvdplay.h + then + dnl Use ${with_dvdplay}/include/dvdplay/dvdplay.h + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} dvdplay" + LDFLAGS_dvdplay="${LDFLAGS_dvdplay} -L${with_dvdplay}/lib -ldvdplay ${LDFLAGS_dvdread} ${LDFLAGS_dvdcss}" + CPPFLAGS_dvdplay="${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread} -I${with_dvdplay}/include" + else + dnl No libdvdplay could be found, sorry + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${with_dvdplay}/include/dvdplay/dvdplay.h]) + fi + fi fi - dnl -dnl libdvbpsi ts demux +dnl libdvbpsi ts demux/mux dnl AC_ARG_ENABLE(dvbpsi, -[ --enable-dvbpsi dvbpsi ts demux module (default disabled)]) +[ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)]) if test "x${enable_dvbpsi}" != "xno" then AC_ARG_WITH(dvbpsi, @@ -914,8 +1158,15 @@ then then AC_CHECK_HEADERS(dvbpsi/dr.h, [ PLUGINS="${PLUGINS} ts_dvbpsi" - LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ], [], - [ AC_MSG_ERROR([cannot find libdvbpsi headers]) ]) + LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" + PLUGINS="${PLUGINS} mux_ts_dvbpsi" + LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -ldvbpsi" ], + [ AC_MSG_WARN([cannot find libdvbpsi headers]) ], + [#include +#include +#include +#include +#include ]) else AC_MSG_CHECKING(for libdvbpsi.a in ${with_dvbpsi_tree}) real_dvbpsi_tree="`cd ${with_dvbpsi_tree} 2>/dev/null && pwd`" @@ -930,8 +1181,13 @@ then dnl Use a custom libdvbpsi AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a) BUILTINS="${BUILTINS} ts_dvbpsi" - LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${real_dvbpsi_tree}/src/.libs/libdvbpsi.a" + LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi" CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} -I${real_dvbpsi_tree}/src" + + BUILTINS="${BUILTINS} mux_ts_dvbpsi" + LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} -L${real_dvbpsi_tree}/src/.libs -ldvbpsi" + CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} -I${real_dvbpsi_tree}/src" + else dnl The given libdvbpsi wasn't built AC_MSG_RESULT(no) @@ -957,6 +1213,10 @@ then PLUGINS="${PLUGINS} ts_dvbpsi" LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi" CPPFLAGS_ts_dvbpsi="${CPPFLAGS_ts_dvbpsi} ${CPPFLAGS_test}" + PLUGINS="${PLUGINS} mux_ts_dvbpsi" + LDFLAGS_mux_ts_dvbpsi="${LDFLAGS_mux_ts_dvbpsi} ${LDFLAGS_test} -ldvbpsi" + CPPFLAGS_mux_ts_dvbpsi="${CPPFLAGS_mux_ts_dvbpsi} ${CPPFLAGS_test}" + ],[ if test "x${enable_dvbpsi}" != "x" then @@ -988,13 +1248,30 @@ AC_ARG_ENABLE(vcd, if test "x${enable_vcd}" != "xno" then + AC_MSG_CHECKING(for cdrom_msf0 in linux/cdrom.h) AC_EGREP_HEADER(cdrom_msf0,linux/cdrom.h,[ + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} vcd" + ],[ + AC_MSG_RESULT(no) + ]) + + AC_MSG_CHECKING(for scsireq in sys/scsiio.h) + AC_EGREP_HEADER(scsireq,sys/scsiio.h,[ + AC_MSG_RESULT(yes) PLUGINS="${PLUGINS} vcd" + AC_DEFINE(HAVE_SCSIREQ_IN_SYS_SCSIIO_H, 1, For NetBSD VCD support) + ],[ + AC_MSG_RESULT(no) ]) + AC_MSG_CHECKING(for ioc_toc_header in sys/cdio.h) AC_EGREP_HEADER(ioc_toc_header ,sys/cdio.h,[ + AC_MSG_RESULT(yes) PLUGINS="${PLUGINS} vcd" AC_DEFINE(HAVE_IOC_TOC_HEADER_IN_SYS_CDIO_H, 1, For FreeBSD VCD support) + ],[ + AC_MSG_RESULT(no) ]) if test "x${SYS}" = "xbsdi" -o "x${SYS}" = "xmingw32" @@ -1025,7 +1302,7 @@ dnl if test "x${SYS}" != "xnto" && test "x${SYS}" != "xmingw32" then have_ipv6=false - AC_CHECK_FUNC(inet_pton,[have_ipv6=:],[ + AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[ AC_CHECK_LIB(resolv,inet_pton, [have_ipv6=: LDFLAGS_ipv6="${LDFLAGS_ipv6} -lresolv"]) @@ -1082,11 +1359,24 @@ AC_ARG_ENABLE(ogg, if test "x${enable_ogg}" != "xno" then AC_CHECK_HEADERS(ogg/ogg.h, [ - PLUGINS="${PLUGINS} ogg" - LDFLAGS_ogg="${LDFLAGS_ogg} -logg" + AC_CHECK_LIB( ogg, oggpack_read, [ + PLUGINS="${PLUGINS} ogg" + LDFLAGS_ogg="${LDFLAGS_ogg} -logg" + AC_CHECK_LIB( ogg, oggpackB_read, [ + CPPFLAGS_ogg="${CPPFLAGS_ogg} -DHAVE_OGGPACKB"])]) ],[]) fi +dnl +dnl raw dv demux plugin +dnl +AC_ARG_ENABLE(rawdv, + [ --enable-rawdv raw dv demux module (default enabled)]) +if test "x${enable_rawdv}" != "xno" +then + PLUGINS="${PLUGINS} rawdv" +fi + dnl dnl Codec plugins dnl @@ -1104,8 +1394,8 @@ then [ --with-mad=PATH path to libmad],[],[]) if test "x${with_mad}" != "xno" -a "x${with_mad}" != "x" then - CPPFLAGS_mad="${CPPFLAGS_mad} -I${with_mad}/include" - LDFLAGS_mad="${LDFLAGS_mad} -L${with_mad}/lib" + CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${with_mad}/include" + LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${with_mad}/lib" fi AC_ARG_WITH(mad-tree, @@ -1124,12 +1414,12 @@ then if test -f ${real_mad_tree}/libmad/mad.h then AC_MSG_RESULT(yes) - CPPFLAGS_mad="${CPPFLAGS_mad} -I${real_mad_tree}/libmad" - LDFLAGS_mad="${LDFLAGS_mad} -L${real_mad_tree}/libmad/.libs" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mad}" + CPPFLAGS_mpgatofixed32="${CPPFLAGS_mpgatofixed32} -I${real_mad_tree}/libmad" + LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -L${real_mad_tree}/libmad/.libs" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}" AC_CHECK_LIB(mad, mad_bit_init, [ - BUILTINS="${BUILTINS} mad" - LDFLAGS_mad="${LDFLAGS_mad} -lmad" + BUILTINS="${BUILTINS} mpgatofixed32" + LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ],[ AC_MSG_ERROR([the specified tree hasn't been compiled ]) ],[]) LDFLAGS="${LDFLAGS_save}" @@ -1138,13 +1428,13 @@ then AC_MSG_ERROR([the specified tree doesn't have mad.h]) fi else - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mad}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mad}" + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}" AC_CHECK_HEADERS(mad.h, , [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ]) AC_CHECK_LIB(mad, mad_bit_init, [ - PLUGINS="${PLUGINS} mad" - LDFLAGS_mad="${LDFLAGS_mad} -lmad" ], + PLUGINS="${PLUGINS} mpgatofixed32" + LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ], [ AC_MSG_ERROR([Cannot find libmad library...]) ]) CPPFLAGS="${CPPFLAGS_save}" LDFLAGS="${LDFLAGS_save}" @@ -1169,7 +1459,7 @@ then [ --with-ffmpeg=PATH path to ffmpeg installation],[],[]) if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x" then - CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/libffmpeg" + CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/ffmpeg" LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib" fi @@ -1200,7 +1490,7 @@ then dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) BUILTINS="${BUILTINS} ffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} ${real_ffmpeg_tree}/libavcodec/libavcodec.a" + LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec" CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec" else dnl The given libavcodec wasn't built @@ -1252,7 +1542,7 @@ then dnl Use a custom faad AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a) BUILTINS="${BUILTINS} faad" - LDFLAGS_faad="${LDFLAGS_faad} ${real_faad_tree}/libfaad/.libs/libfaad.a" + LDFLAGS_faad="${LDFLAGS_faad} -L${real_faad_tree}/libfaad/.libs -lfaad" CPPFLAGS_faad="${CPPFLAGS_faad} -I${real_faad_tree}/include" else dnl The given libfaad wasn't built @@ -1307,7 +1597,7 @@ then dnl Use a custom xvid AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a) BUILTINS="${BUILTINS} xvid" - LDFLAGS_xvid="${LDFLAGS_xvid} ${real_xvid_tree}/build/generic/libxvidcore.a" + LDFLAGS_xvid="${LDFLAGS_xvid} -L${real_xvid_tree}/build/generic -lxvidcore" CPPFLAGS_xvid="${CPPFLAGS_xvid} -I${real_xvid_tree}/src" else dnl The given libxvidcore wasn't built @@ -1373,7 +1663,7 @@ then LDFLAGS="${LDFLAGS_save} ${LDFLAGS_a52tofloat32}" AC_CHECK_LIB(a52, a52_free, [ BUILTINS="${BUILTINS} a52tofloat32" - LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} -la52 -lm" + LDFLAGS_a52tofloat32="-la52 ${LDFLAGS_a52tofloat32}" CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} -DUSE_A52DEC_TREE" ],[ if test -f ${real_a52_tree}/liba52/.libs/liba52.a @@ -1382,7 +1672,7 @@ then else AC_MSG_ERROR([the specified tree hasn't been compiled]) fi - ],[-lm]) + ]) LDFLAGS="${LDFLAGS_save}" else AC_MSG_RESULT(no) @@ -1397,19 +1687,19 @@ then LDFLAGS_test="-L${with_a52}/lib" CPPFLAGS_test="-I${with_a52}/include" fi - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test}" + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test} ${CPPFLAGS_a52tofloat32}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_test} ${LDFLAGS_a52tofloat32}" AC_CHECK_HEADERS(a52dec/a52.h, [ AC_CHECK_LIB(a52, a52_free, [ PLUGINS="${PLUGINS} a52tofloat32" - LDFLAGS_a52tofloat32="${LDFLAGS_a52tofloat32} ${LDFLAGS_test} -la52 -lm" + LDFLAGS_a52tofloat32="${LDFLAGS_test} -la52 ${LDFLAGS_a52tofloat32}" CPPFLAGS_a52tofloat32="${CPPFLAGS_a52tofloat32} ${CPPFLAGS_test}" ],[ if test "x${enable_dvbpsi}" != "x" then AC_MSG_ERROR([Could not find a52 on your system: you may get it from http://liba52.sf.net]) fi - ],[-lm]) + ]) ]) CPPFLAGS="${CPPFLAGS_save}" LDFLAGS="${LDFLAGS_save}" @@ -1443,7 +1733,7 @@ dnl dnl Vorbis plugin dnl AC_ARG_ENABLE(vorbis, - [ --enable-vorbis Vorbis decoder support (default enabled)]) + [ --enable-vorbis Vorbis decoder support (default enabled)]) if test "x${enable_vorbis}" != "xno" then AC_CHECK_HEADERS(vorbis/codec.h, [ @@ -1452,6 +1742,64 @@ then ],[]) fi +dnl +dnl Tremor plugin +dnl +AC_ARG_ENABLE(tremor, + [ --enable-tremor Tremor decoder support (default disabled)]) +if test "x${enable_tremor}" = "xyes" +then + AC_CHECK_HEADERS(tremor/ivorbiscodec.h, [ + PLUGINS="${PLUGINS} tremor" + LDFLAGS_tremor="${LDFLAGS_tremor} -lvorbisidec -logg" + ],[]) +fi + +dnl +dnl tarkin decoder plugin +dnl +AC_ARG_ENABLE(tarkin, +[ --enable-tarkin experimental tarkin codec (default disabled)]) +if test "x${enable_tarkin}" = "xyes" +then + AC_ARG_WITH(tarkin-tree, + [ --with-tarkin-tree=PATH tarkin tree for static linking]) + if test "x${with_tarkin_tree}" != "x" + then + AC_MSG_CHECKING(for tarkin.o in ${with_tarkin_tree}) + real_tarkin_tree="`cd ${with_tarkin_tree} 2>/dev/null && pwd`" + if test -f "${real_tarkin_tree}/tarkin.o" + then + BUILTINS="${BUILTINS} tarkin" + CPPFLAGS_tarkin="${CPPFLAGS_tarkin} -I${real_tarkin_tree}" + LDFLAGS_tarkin="${LDFLAGS_tarkin} ${real_tarkin_tree}/mem.o ${real_tarkin_tree}/pnm.o ${real_tarkin_tree}/wavelet.o ${real_tarkin_tree}/wavelet_xform.o ${real_tarkin_tree}/wavelet_coeff.o ${real_tarkin_tree}/yuv.o ${real_tarkin_tree}/tarkin.o ${real_tarkin_tree}/info.o -logg" + AC_MSG_RESULT(yes) + else + dnl The given tarkin tree wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_tarkin_tree}/tarkin.o, + make sure you compiled tarkin in ${with_tarkin_tree}]) + fi + fi +fi + +dnl +dnl theora decoder plugin +dnl +AC_ARG_ENABLE(theora, +[ --enable-theora experimental theora codec (default disabled)]) +if test "x${enable_theora}" = "xyes" +then + AC_CHECK_HEADERS(theora/theora.h, [ + AC_CHECK_LIB(theora, theora_granule_time, [ + BUILTINS="${BUILTINS} theora" + LDFLAGS_theora="${LDFLAGS_theora} -ltheora -logg" ],[ + AC_MSG_ERROR([libtheora doesn't appear to be installed on you system. +You also need to check that you have a libogg posterior to the 1.0 release.])], + [-logg]) + ]) +fi + dnl dnl Video plugins dnl @@ -1533,20 +1881,32 @@ then AC_PATH_PROG(SDL_CONFIG, sdl-config, no, ${SDL_PATH}) SDL_HEADER="SDL/SDL.h" fi + # check for cross-compiling + SDL_PREFIX= + AC_ARG_WITH(sdl-prefix, + [ --with-sdl-prefix=PATH path to libsdl (needed for cross-compiling), + e.g use as: + --with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[]) + if test "x${with_sdl_prefix}" != "xno" -a "x${with_sdl_prefix}" != "x" + then + SDL_PREFIX="--prefix=${with_sdl_prefix}" + fi if test "x${SDL_CONFIG}" != "xno" then PLUGINS="${PLUGINS} vout_sdl aout_sdl" - CFLAGS_vout_sdl="${CFLAGS_vout_sdl} `${SDL_CONFIG} --cflags`" - LDFLAGS_vout_sdl="${LDFLAGS_vout_sdl} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`" - CFLAGS_aout_sdl="${CFLAGS_aout_sdl} `${SDL_CONFIG} --cflags`" - LDFLAGS_aout_sdl="${LDFLAGS_aout_sdl} `${SDL_CONFIG} --libs | sed 's,-rdynamic,,'`" + CFLAGS_vout_sdl="${CFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`" + LDFLAGS_vout_sdl="${LDFLAGS_vout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`" + CFLAGS_aout_sdl="${CFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --cflags | sed 's,SDL,,'`" + LDFLAGS_aout_sdl="${LDFLAGS_aout_sdl} `${SDL_CONFIG} ${SDL_PREFIX} --libs | sed 's,-rdynamic,,'`" CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_vout_sdl}" AC_CHECK_HEADERS(${SDL_HEADER}, AC_DEFINE_UNQUOTED(SDL_INCLUDE_FILE, <${SDL_HEADER}>, Indicate whether we should use SDL/SDL.h or SDL11/SDL.h), + [ AC_CHECK_HEADERS(SDL.h, AC_DEFINE(SDL_INCLUDE_FILE, , + As a last resort we also test for SDL.h presence), [ AC_MSG_ERROR([The development package for SDL is not installed. Please install it and try again. Alternatively you can also configure with --disable-sdl.]) - ]) + ])]) CPPFLAGS="${CPPFLAGS_save}" if expr 1.1.5 \> `${SDL_CONFIG} --version` >/dev/null then @@ -1568,31 +1928,24 @@ dnl (disabled by default) dnl AC_ARG_ENABLE(qte, [ --enable-qte QT Embedded support (default disabled)]) -if test "x${enable_qte}" != "xno" +if test "x${enable_qte}" = "xyes" then AC_ARG_WITH(qte, - [ --with-qte=PATH Qt Embedded headers and libraries]) - if test "x${with_qte}" = "x" + [ --with-qte=PATH Qt Embedded headers and libraries]) + if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x" then - LDFLAGS_test="-L${QTDIR}/lib" - CPPFLAGS_test="-I${QTDIR}/include" + LDFLAGS_qte="${LDFLAGS_qte} -L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte" + CPPFLAGS_qte="${CPPFLAGS_qte} -I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti" else - LDFLAGS_test="-L${with_qte}/lib" - CPPFLAGS_test="-I${with_qte}/include" + LDFLAGS_qte="${LDFLAGS_qte} -L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte" + CPPFLAGS_qte="${CPPFLAGS_qte} -I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti" fi - - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" - AC_CHECK_HEADERS(qt.h, [ - CPPFLAGS_qte="${CPPFLAGS_qte} ${CPPFLAGS_test} -DQT_QWS_IPAQ -DQWS" - CXXFLAGS_qte="${CXXFLAGS_qte} -fno-exceptions -fno-rtti" - LDFLAGS_qte="${LDFLAGS_qte} ${LDFLAGS_test} -lqte" - if test "x${with_qte}" = "x" - then - PLUGINS="${PLUGINS} qte" - else - BUILTINS="${BUILTINS} qte" - fi - ]) + PLUGINS="${PLUGINS} qte" + NEED_QTE_MAIN=yes + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}" + AC_CHECK_HEADERS(qt.h jpeglib.h, ,[ + AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."]) + ] ) CPPFLAGS="${CPPFLAGS_save}" fi @@ -1714,6 +2067,18 @@ then fi fi +dnl +dnl win32 GDI plugin +dnl +AC_ARG_ENABLE(wingdi, + [ --enable-wingdi Win32 GDI module (default enabled on Win32)]) +if test "x${enable_wingdi}" != "xno"; then + if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then + PLUGINS="${PLUGINS} wingdi" + LDFLAGS_wingdi="${LDFLAGS_wingdi} -lgdi32" + fi +fi + dnl dnl Audio plugins dnl @@ -1779,6 +2144,8 @@ AC_ARG_ENABLE(alsa, then PLUGINS="${PLUGINS} alsa" LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl" + else + AC_MSG_ERROR([Could not find ALSA development headers]) fi fi]) @@ -1880,14 +2247,24 @@ then then AC_PATH_PROG(GTK_CONFIG, gtk-config, no, ${GTK_PATH}) fi + # check for cross-compiling + GTK_PREFIX= + AC_ARG_WITH(gtk-prefix, + [ --with-gtk-prefix=PATH path to libgtk (needed for cross-compiling), + e.g use as: + --with-gtk-prefix=/usr/local/arm/2.95.3/arm-linux/usr)],[],[]) + if test "x${with_gtk_prefix}" != "xno" -a "x${with_gtk_prefix}" != "x" + then + GTK_PREFIX="--prefix=$with_gtk_prefix" + fi if test "x${GTK_CONFIG}" != "xno" then if expr 1.2.0 \> `${GTK_CONFIG} --version` >/dev/null then AC_MSG_ERROR([Your development package for Gtk+ is too old, you need at least version 1.2.0. Please upgrade and try again. Alternatively you can also configure with --disable-familiar.]) fi - CFLAGS_familiar="${CFLAGS_familiar} `${GTK_CONFIG} --cflags gtk gthread`" - LDFLAGS_familiar="${LDFLAGS_familiar} `${GTK_CONFIG} --libs gtk gthread | sed 's,-rdynamic,,'`" + CFLAGS_familiar="${CFLAGS_familiar} `${GTK_CONFIG} ${GTK_PREFIX} --cflags gtk gthread`" + LDFLAGS_familiar="${LDFLAGS_familiar} `${GTK_CONFIG} ${GTK_PREFIX} --libs gtk gthread | sed 's,-rdynamic,,'`" # now look for the gtk.h header CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar}" ac_cv_gtk_headers=yes @@ -1898,10 +2275,37 @@ then if test "x${ac_cv_gtk_headers}" = "xyes" then PLUGINS="${PLUGINS} familiar" - NEED_GTK_MAIN=yes fi CPPFLAGS="${CPPFLAGS_save}" - fi + + # now look for gpe support + AC_ARG_WITH(gpe-prefix, + [ --with-gpe-prefix=PATH gpe installation path prefix (default search in \$PATH)],[],[]) + if test "x$with_gpe_prefix" != "xno" -a "x$with_gpe_prefix" != "x" + then + CFLAGS_gpe="-I$with_gpe_prefix/include" + LDFLAGS_gpe="-lXi -lgdk_pixbuf -L$with_gpe_prefix/lib -lgpewidget" + # now look for gpe/init.h header file + CFLAGS_save=$CFLAGS + LDFLAGS_save=$LDFLAGS + CFLAGS="${CFLAGS_familiar} ${CFLAGS_gpe}" + LDFLAGS="${LDFLAGS_familiar} ${LDFLAGS_gpe}" + CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_familiar} ${CFLAGS_gpe}" + ac_cv_gpe_headers=yes + AC_CHECK_HEADERS(gpe/init.h, , + [ ac_cv_gpe_headers=no + AC_MSG_ERROR([Cannot find development headers for libgpewidget...]) ]) + CFLAGS=$CFLAGS_save + LDFLAGS=$LDFLAG_save + if test "x${ac_cv_gpe_headers}" = "xyes" + then + CFLAGS_familiar="${CFLAGS_familiar} ${CFLAGS_gpe}" + LDFLAGS_familiar="${LDFLAGS_familiar} ${LDFLAGS_gpe}" + fi + else + NEED_GTK_MAIN=yes + fi # end gpe support + fi # end gtk+ support fi dnl @@ -1924,6 +2328,13 @@ AC_ARG_ENABLE(gnome, NEED_GTK_MAIN=yes NEED_GNOME_MAIN=yes ALIASES="${ALIASES} gnome-vlc" + dnl We need this because of some moronic gnomesupport.h flavours + AC_MSG_CHECKING(for strndup in gnome.h) + AC_EGREP_HEADER(strndup,gnome.h,[ + AC_MSG_RESULT(yes) + AC_DEFINE(STRNDUP_IN_GNOME_H, 1, + Define if defines strndup.)],[ + AC_MSG_RESULT(no)]) ],[ AC_MSG_ERROR([Can't find gnome headers. Please install the gnome developement tools or remove the --enable-gnome option]) @@ -1931,6 +2342,46 @@ developement tools or remove the --enable-gnome option]) CPPFLAGS="${CPPFLAGS_save}" fi]) +dnl +dnl wxWindows module +dnl +AC_ARG_ENABLE(wxwindows, + [ --enable-wxwindows wxWindows support (default enabled)]) +if test "x${enable_wxwindows}" != "xno" +then + WXWINDOWS_PATH="${PATH}" + AC_ARG_WITH(wx-config-path, + [ --with-wx-config-path=PATH wx-config path (default search in \$PATH)], + [ if test "x${with_wx_config_path}" != "xno" + then + WXWINDOWS_PATH="${with_wx_config_path}:${PATH}" + fi ]) + # look for wx-config + AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH}) + if test "x${WX_CONFIG}" != "xno" + then + if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null + then + AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.]) + fi + CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cxxflags`" + LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`" + # now look for the wxprec.h header + CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}" + ac_cv_wx_headers=yes + AC_CHECK_HEADERS(wx/wxprec.h, , [ + ac_cv_wx_headers=no + echo "Cannot find wxWindows development headers." + ]) + if test "x${ac_cv_wx_headers}" = "xyes" + then + PLUGINS="${PLUGINS} wxwindows" + ALIASES="${ALIASES} wxvlc" + fi + CPPFLAGS="${CPPFLAGS_save}" + fi +fi + dnl dnl Qt module dnl @@ -1975,24 +2426,30 @@ AC_ARG_ENABLE(opie, [ --enable-opie Qt embedded interface support (default disabled)], [if test "x${enable_opie}" = "xyes"; then AC_ARG_WITH(qte, - [ --with-qte=PATH Qt Embedded headers and libraries]) - if test "x${with_qte}" = "x" + [ --with-qte=PATH Qt Embedded headers and libraries]) + if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x" then - LDFLAGS_test="-L${QTDIR}/lib" - CPPFLAGS_test="-I${QTDIR}/include" + LDFLAGS_qte="-L${with_qte}/lib `echo -L${with_qte}/lib | sed 's,opt/QtPalmtop,usr,'` -ljpeg -lqte" + CPPFLAGS_qte="-I${with_qte}/include `echo -I${with_qte}/include | sed 's,opt/QtPalmtop,usr,'` -DQT_QWS_IPAQ -DQWS -fno-exceptions -fno-rtti" else - LDFLAGS_test="-L${with_qte}/lib" - CPPFLAGS_test="-I${with_qte}/include" + LDFLAGS_qte="-L${QTDIR}/lib `echo -L${QTDIR}/lib | sed 's,opt/QtPalmtop,usr,'`" + CPPFLAGS_qte="-I${QTDIR}/include `echo -I${QTDIR}/include | sed 's,opt/QtPalmtop,usr,'`" fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_qte}" + AC_CHECK_HEADERS(qt.h jpeglib.h, ,[ + AC_MSG_ERROR([echo "Cannot find QT Embedded development headers."]) + ] ) + CPPFLAGS="${CPPFLAGS_save}" PLUGINS="${PLUGINS} opie" - LDFLAGS_opie="${LDFLAGS_opie} ${LDFLAGS_test} -lqte" - CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_test}" - if test -x ${QTEDIR}/bin/moc + NEED_QTE_MAIN=yes + LDFLAGS_opie="${LDFLAGS_opie} -lqpe ${LDFLAGS_qte}" + CPPFLAGS_opie="${CPPFLAGS_opie} ${CPPFLAGS_qte}" + if test "x${with_qte}" != "xno" -a "x${with_qte}" != "x" then - MOC=${QTEDIR}/bin/moc + MOC=${with_qte}/bin/moc else - MOC=moc + MOC=${QTDIR}/bin/moc fi fi]) @@ -2004,11 +2461,11 @@ AC_ARG_ENABLE(macosx, [if test "x${enable_macosx}" = "xyes" then BUILTINS="${BUILTINS} macosx" - LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, BUILTINS="${BUILTINS} macosx" - LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework AGL -framework QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -framework CoreAudio -framework AudioToolbox -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" )]) dnl @@ -2031,12 +2488,8 @@ AC_ARG_ENABLE(intfwin, [ --enable-intfwin Win32 interface support (default disabled)], [ if test "x${enable_intfwin}" != "xno" then - AC_ARG_WITH(bcbuilder, - [ --with-bcbuilder=PATH Borland C++ Builder installation path]) - if test "x${with_bcbuilder}" != "x" - then - BCBUILDER="${with_bcbuilder}" - fi + AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found)) + AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found)) PLUGINS="${PLUGINS} win32" fi ]) @@ -2058,9 +2511,13 @@ AC_ARG_ENABLE(xosd, if test "x${enable_xosd}" = "xyes" then AC_CHECK_HEADER(xosd.h, have_xosd="true", have_xosd="false") - AC_TRY_COMPILE([#include ], - [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],, - AC_DEFINE(HAVE_OLD_XOSD_H, 1, Define if is pre-1.0.0)) + AC_CHECK_LIB(xosd,xosd_set_offset, + AC_DEFINE(HAVE_XOSD_VERSION_1, 1, Define if is 1.0.x), + AC_CHECK_LIB(xosd,xosd_set_horizontal_offset, + AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if is 2.0.x), + AC_TRY_COMPILE([#include ], + [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],, + AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if is pre-1.0.0)))) if test "x${have_xosd}" = "xtrue" then PLUGINS="${PLUGINS} xosd" @@ -2068,6 +2525,40 @@ then fi fi +dnl +dnl SLP access plugin +dnl +AC_ARG_ENABLE(slp, + [ --enable-slp SLP service discovery support (default enabled)]) +if test "x${enable_slp}" != "xno" +then + AC_ARG_WITH(slp, + [ --with-slp=PATH libslp headers and libraries]) + if test "x${with_slp}" = x + then + AC_CHECK_HEADER(slp.h, have_slp="true", have_slp="false") + if test "x${have_slp}" = "xtrue" + then + PLUGINS="${PLUGINS} slp" + LDFLAGS_slp="${LDFLAGS_slp} -lslp" + fi + else + AC_MSG_CHECKING(for slp headers in ${with_slp}) + if test -f ${with_slp}/slp.h + then + dnl Use ${with_slp}/libslp/slp.h + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} slp" + LDFLAGS_slp="${LDFLAGS_slp} -L${with_slp} -lslp" + CPPFLAGS_slp="${CPPFLAGS_slp} -I${with_slp}" + else + dnl No libslp could be found, sorry + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${with_slp}/slp.h]) + fi + fi +fi + dnl dnl Lirc plugin dnl @@ -2161,11 +2652,16 @@ AC_ARG_ENABLE(pth, [ --enable-pth GNU Pth support (default disabled)], [ if test "x${enable_pth}" = "xyes"; 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" - fi]) + THREAD_LIB="-lpth" + ],[ + AC_MSG_RESULT(no) + ]) + fi ]) dnl @@ -2175,11 +2671,16 @@ AC_ARG_ENABLE(st, [ --enable-st State Threads (default disabled)], [ if test "x${enable_st}" = "xyes"; 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" - fi]) + THREAD_LIB="-lst" + ],[ + AC_MSG_RESULT(yes) + ]) + fi ]) if test "x${SYS}" != "xmingw32"; then @@ -2245,6 +2746,7 @@ if test "x${NEED_GTK_MAIN}" != "xno" then PLUGINS="${PLUGINS} gtk_main" CFLAGS_gtk="${CFLAGS_gtk} -DNEED_GTK_MAIN" + CFLAGS_familiar="${CFLAGS_familiar} -DNEED_GTK_MAIN" CFLAGS_gtk_main="${CFLAGS_gtk_main} ${CFLAGS_gtk} ${CFLAGS_familiar}" LDFLAGS_gtk_main="${LDFLAGS_gtk_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar}" fi @@ -2256,6 +2758,19 @@ then LDFLAGS_gnome_main="${LDFLAGS_gnome_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_gnome}" fi +dnl +dnl qte_main plugin +dnl +if test "x${NEED_QTE_MAIN}" != "xno" +then + PLUGINS="${PLUGINS} qte_main" + CPPFLAGS_qte="${CPPFLAGS_qte} -DNEED_QTE_MAIN" + CPPFLAGS_opie="${CPPFLAGS_opie} -DNEED_QTE_MAIN" + CPPFLAGS_qte_main="${CFLAGS_qte_main} ${CPPFLAGS_qte}" + LDFLAGS_qte_main="${LDFLAGS_qte_main} ${LDFLAGS_qte}" +fi + + dnl dnl Plugin and builtin checks dnl @@ -2310,10 +2825,10 @@ dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2002 VideoLAN", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VideoLAN Client - version ${VERSION} ${CODENAME} - (c) 1996-2003 VideoLAN", [Copyright string]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) -VLC_SYMBOL="`echo ${VERSION} | tr .- __`" +VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-/__/'`" AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions]) AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions]) AC_DEFINE_UNQUOTED(LIBEXT, "${LIBEXT}", [Dynamic object extension]) @@ -2355,7 +2870,6 @@ AC_SUBST(ALIASES) AC_SUBST(ASM) AC_SUBST(MOC) AC_SUBST(WINDRES) -AC_SUBST(BCBUILDER) AC_SUBST(XPIDL) AC_SUBST(LIBEXT) AC_SUBST(INCLUDES) @@ -2363,11 +2877,14 @@ AC_SUBST(INCLUDES) AC_SUBST(CFLAGS_TUNING) AC_SUBST(CFLAGS_OPTIM) AC_SUBST(CFLAGS_OPTIM_NODEBUG) +AC_SUBST(CFLAGS_NOOPTIM) AC_SUBST(LDFLAGS) AC_SUBST(CFLAGS_vlc) AC_SUBST(CFLAGS_pics) +AC_SUBST(CXXFLAGS_pics) AC_SUBST(CFLAGS_plugins) +AC_SUBST(CXXFLAGS_plugins) AC_SUBST(CFLAGS_builtins) AC_SUBST(CPPFLAGS_mozilla)