X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac.in;h=d0a17d41b58700de5f1b32db08a458102b6169ad;hb=8229bf31c8d590c8e5c176ddc905d11a323c53e7;hp=ce208b7cc26693909436ed00bc1950035ab95bd5;hpb=5927421c930e3a244642c851240a4aa05800354e;p=vlc diff --git a/configure.ac.in b/configure.ac.in index ce208b7cc2..d0a17d41b5 100644 --- a/configure.ac.in +++ b/configure.ac.in @@ -1,17 +1,18 @@ dnl Autoconf settings for vlc -AC_INIT(vlc,0.5.0-cvs) +AC_INIT(vlc,0.5.4-cvs) CONFIGURE_LINE="$0 $*" CODENAME="Natalya" AC_PREREQ(2.50) AC_CONFIG_SRCDIR(src/libvlc.c) +AC_CONFIG_AUX_DIR(autotools) 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_INIT_AUTOMAKE(vlc,0.5.4-cvs) AM_CONFIG_HEADER(config.h) dnl @@ -33,6 +34,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 +53,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 +83,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,10 +92,11 @@ 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" + LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -all_load" LIBEXT=".dylib" ;; x*mingw32* | x*cygwin*) @@ -125,14 +122,18 @@ case "x${target_os}" in # 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_vlc="${LDFLAGS_vlc} -lws2_32 -lnetapi32 -lwinmm -mwindows" LDFLAGS_ipv4="${LDFLAGS_ipv4} -lws2_32" LDFLAGS_ipv6="${LDFLAGS_ipv6} -lws2_32" LDFLAGS_access_http="${LDFLAGS_access_http} -lws2_32" LDFLAGS_access_mms="${LDFLAGS_access_mms} -lws2_32" - LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lws2_32" LDFLAGS_access_udp="${LDFLAGS_access_udp} -lws2_32" - LDFLAGS_rc="${LDFLAGS_rc} -lws2_32" + LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lws2_32" + LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lws2_32" + LDFLAGS_sap="${LDFLAGS_sap} -lws2_32" + LDFLAGS_slp="${LDFLAGS_slp} -lws2_32" + LDFLAGS_http="${LDFLAGS_http} -lws2_32" + LDFLAGS_httpd="${LDFLAGS_httpd} -lws2_32" fi ;; x*nto*) @@ -153,11 +154,12 @@ case "x${target_os}" in CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}" LDFLAGS_vlc="${LDFLAGS_vlc} -lbe" LDFLAGS_plugins="${LDFLAGS_plugins} -nostart" - LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation" - dnl BONE or not BONE ? + LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation -lgame" + dnl BONE or not BONE ? only BONE has libbind.so AC_CHECK_LIB( bind, inet_ntoa, - [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lbind" - LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind"], + [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket -lbind" + LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket -lbind" + LDFLAGS_httpd="${LDFLAGS_httpd} -lsocket -lbind"], []) ;; x*) @@ -168,6 +170,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.11.5) +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 --keyword=_ANS" + AC_MSG_CHECKING(for suffix of libraries) AC_MSG_RESULT(${LIBEXT}) @@ -189,13 +211,19 @@ 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_save="${CFLAGS_save} ${CFLAGS_mingw32_special}"; - CXXFLAGS_save="${CXXFLAGS_save} ${CFLAGS_mingw32_special}"; CFLAGS="${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" fi @@ -247,47 +275,32 @@ 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,,[need_libc=:]) -AC_CHECK_FUNCS(strndup,,[need_libc=:]) -AC_CHECK_FUNCS(atof,,[need_libc=:]) -AC_CHECK_FUNCS(lseek,,[need_libc=:]) -AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp,,[need_libc=:])]) -AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp,,[need_libc=:])]) - -AM_CONDITIONAL(BUILD_LIBC, ${need_libc}) +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_access_http="${LDFLAGS_access_http} -lsocket" LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket" - LDFLAGS_access_rtp="${LDFLAGS_access_rtp} -lsocket" LDFLAGS_access_udp="${LDFLAGS_access_udp} -lsocket" + LDFLAGS_access_ftp="${LDFLAGS_access_ftp} -lsocket" + LDFLAGS_sap="${LDFLAGS_sap} -lsocket" + LDFLAGS_http="${LDFLAGS_http} -lsocket" + LDFLAGS_access_output_udp="${LDFLAGS_access_output_udp} -lsocket" )]) -AC_CHECK_FUNC(gethostbyname,,[ - AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl",[ - AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind")]) +AC_CHECK_FUNCS(gethostbyname,,[ + AC_CHECK_LIB(nsl,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lnsl" LDFLAGS_httpd="${LDFLAGS_httpd} -lnsl",[ + AC_CHECK_LIB(bind,gethostbyname,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lbind" LDFLAGS_httpd="${LDFLAGS_httpd} -lbind")]) ]) -have_nanosleep=false -AC_CHECK_FUNC(nanosleep,have_nanosleep=:,[ - AC_CHECK_LIB(rt,nanosleep, - [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:], - [AC_CHECK_LIB(posix4,nanosleep, - [LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])] - ) -]) -if ${have_nanosleep}; then - AC_DEFINE(HAVE_NANOSLEEP, 1, - Define if nanosleep is available.) -fi - dnl Check for socklen_t AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t, [AC_TRY_COMPILE( @@ -301,43 +314,42 @@ if test x$ac_cv_type_socklen_t != xno; then 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_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" - ) +AC_CHECK_FUNCS(inet_aton,,[ + AC_CHECK_LIB(resolv,inet_aton,LDFLAGS_ipv4="${LDFLAGS_ipv4} -lresolv" LDFLAGS_httpd="${LDFLAGS_httpd} -lresolv") ]) 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"], [need_getopt=:])]) AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) +if test "x$SYS" != "xmingw32"; then AC_TYPE_SIGNAL AC_CHECK_LIB(dl,dlopen,LDFLAGS_vlc="${LDFLAGS_vlc} -ldl") AC_CHECK_LIB(m,cos, 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_stream_out_transcode="${LDFLAGS_stream_out_transcode} -lm" LDFLAGS_imdct="${LDFLAGS_imdct} -lm" LDFLAGS_imdct3dn="${LDFLAGS_imdct3dn} -lm" LDFLAGS_imdctsse="${LDFLAGS_imdctsse} -lm" LDFLAGS_i420_rgb="${LDFLAGS_i420_rgb} -lm" LDFLAGS_faad="${LDFLAGS_faad} -lm" ) +AC_CHECK_LIB(m,sqrt, + LDFLAGS_headphone_channel_mixer="${LDFLAGS_headphone_channel_mixer} -lm" +) +fi # end "x$SYS" != "xmingw32" +if test "x$SYS" != "xmingw32"; then dnl Check for pthreads - borrowed from XMMS THREAD_LIB=error if test "x${THREAD_LIB}" = "xerror"; then @@ -350,31 +362,105 @@ 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 dnl Check for cthreads under GNU/Hurd for instance AC_CHECK_LIB(threads,cthread_fork,THREAD_LIB="-lthreads") +dnl +dnl GNU portable threads +dnl +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" + ],[ + AC_MSG_RESULT(no) + ]) + fi +]) + +dnl +dnl State Threads +dnl +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" + ],[ + AC_MSG_RESULT(yes) + ]) + fi +]) + +LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}" +LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}" + +dnl Don't link with rt when using GNU-pth +if test "x${THREAD_LIB}" != "x-lpth" && test "x${THREAD_LIB}" != "x-lst"; then + dnl HP/UX port + AC_CHECK_LIB(rt,sem_init, [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"]) + + have_nanosleep=false + AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ + AC_CHECK_LIB(rt,nanosleep, + [LDFLAGS_vlc="${LDFLAGS_vlc} -lrt"; have_nanosleep=:], + [AC_CHECK_LIB(posix4,nanosleep, + [LDFLAGS_vlc="${LDFLAGS_vlc} -lposix4"; have_nanosleep=:])] + ) + ]) + if ${have_nanosleep}; then + AC_DEFINE(HAVE_NANOSLEEP, 1, + Define if nanosleep is available.) + fi +fi + 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)]) +fi # end "x$SYS" != "xmingw32" + +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(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) +if test "x$SYS" != "xmingw32"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS(linux/version.h) +fi # end "x$SYS" != "xmingw32" AC_HEADER_TIME @@ -384,19 +470,31 @@ AC_CHECK_HEADERS(dirent.h,,[need_dirent=:]) AM_CONDITIONAL(BUILD_DIRENT, ${need_dirent}) dnl Mac OS X and other OSes don't have declaration for nanosleep +if test "x$SYS" != "xmingw32"; then +AC_MSG_CHECKING(for nanosleep in time.h) AC_EGREP_HEADER(nanosleep,time.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(HAVE_DECL_NANOSLEEP, 1, Define if defines nanosleep.) +],[ + AC_MSG_RESULT(no) ]) +fi # end "x$SYS" != "xmingw32" 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 +if test "x$SYS" != "xmingw32"; then AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h) +fi # end "x$SYS" != "xmingw32" dnl Default X headers and libraries if test "x${x_includes}" = "xNONE"; then @@ -409,16 +507,27 @@ fi dnl Build the gtk_main plugins? NEED_GTK_MAIN=no NEED_GNOME_MAIN=no +NEED_GTK2_MAIN=no +NEED_GNOME2_MAIN=no + +dnl build the qte plugin ? +NEED_QTE_MAIN=no dnl Check for DPMS if test "x${SYS}" != "xmingw32" then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/extensions/dpms.h, [ + AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[ + AC_MSG_RESULT(yes) AC_DEFINE(DPMSINFO_IN_DPMS_H, 1, Define if defines DPMSInfo.) + ],[ + AC_MSG_RESULT(no) ]) + ],,[ + #include ]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -460,71 +569,72 @@ fi # fi #done -AC_CACHE_CHECK([if \$CC accepts -W], - [ac_cv_c_W], - [CFLAGS="-W ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_W=yes, ac_cv_c_W=no)]) -if test "x${ac_cv_c_W}" != "xno"; then - CFLAGS_save="-W ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-W ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="-W ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" -fi - 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)]) -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 - -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)]) -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}" -fi 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)]) -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 + +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 -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)]) 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 -dnl Check for the -Winline flag -AC_CACHE_CHECK([if \$CC accepts -W -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_Winline}" != "xno"; then CFLAGS_save="-Winline ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" OBJCFLAGS_save="-Winline ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" @@ -548,21 +658,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 @@ -576,12 +692,16 @@ if test "x${ac_cv_c_fast_math}" != "xno"; then fi dnl Check for -funroll-loops -AC_CACHE_CHECK([if \$CC accepts -funroll-loops], - [ac_cv_c_unroll_loops], - [CFLAGS="${CFLAGS_save} -funroll-loops" - AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) -if test "x${ac_cv_c_unroll_loops}" != "xno"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops" +dnl Disabled on BeOS because BeOS' gcc is buggy and may crash with it +if test "x${SYS}" != "xbeos" +then + AC_CACHE_CHECK([if \$CC accepts -funroll-loops], + [ac_cv_c_unroll_loops], + [CFLAGS="${CFLAGS_save} -funroll-loops" + AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) + if test "x${ac_cv_c_unroll_loops}" != "xno"; then + CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops" + fi fi dnl Check for -fomit-frame-pointer @@ -653,6 +773,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 @@ -671,34 +804,60 @@ case "${ARCH}" in ;; esac +dnl +dnl Enable profiling +dnl +AC_ARG_ENABLE(gprof, +[ --enable-gprof gprof profiling (default disabled)]) +AC_ARG_ENABLE(cprof, +[ --enable-cprof cprof profiling (default disabled)]) +AM_CONDITIONAL(GPROF, test "${enable_gprof}" = "yes") +AM_CONDITIONAL(CPROF, test "${enable_gprof}" = "yes") + dnl dnl default modules dnl -PLUGINS="${PLUGINS} dummy rc logger access_file memcpy" -PLUGINS="${PLUGINS} es audio mpeg_system ps ts" -PLUGINS="${PLUGINS} idct idctclassic motion mpeg_video spudec mpeg_audio" -#PLUGINS="${PLUGINS} a52old imdct downmix" -PLUGINS="${PLUGINS} lpcm a52" +#BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion" +PLUGINS="${PLUGINS} dummy rc logger gestures memcpy" +PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts avi asf aac mp4 rawdv" +PLUGINS="${PLUGINS} spudec mpeg_audio lpcm a52 dts cinepak" 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} float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32" +PLUGINS="${PLUGINS} trivial_resampler ugly_resampler linear_resampler bandlimited_resampler" +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 m3u" -PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm" -PLUGINS="${PLUGINS} access_udp access_http access_rtp ipv4 access_mms sap" +PLUGINS="${PLUGINS} rawvideo" +PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys au" +PLUGINS="${PLUGINS} access_file access_udp access_http ipv4 access_mms" +PLUGINS="${PLUGINS} access_ftp access_directory sap httpd http" + +dnl +dnl Some plugins aren't useful on some platforms +dnl +if test "x${SYS}" != "xmingw32"; then + PLUGINS="${PLUGINS} screensaver" +fi 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" -ALTIVEC_MODULES="idctaltivec motionaltivec memcpyaltivec" +MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx" +#MMX_MODULES="${MMX_MODULES} idctmmx motionmmx" +MMXEXT_MODULES="memcpymmxext" +#MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext" +THREEDNOW_MODULES="memcpy3dn" +SSE_MODULES="" +ALTIVEC_MODULES="memcpyaltivec" +#ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" + +if test "${enable_gprof}" != "yes" +then + MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx" +fi AC_CACHE_CHECK([if \$CC groks MMX inline assembly], [ac_cv_mmx_inline], @@ -738,8 +897,6 @@ if test "x${ac_cv_sse_inline}" != "xno" -a "x${SYS}" != "xmingw32"; then ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}" fi -# don't try to grok AltiVec with native mingw32 it doesn't work right now -# we should be able to remove this test with future versions of mingw32 if test "x${SYS}" != "xmingw32"; then AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly], [ac_cv_altivec_inline], @@ -795,7 +952,7 @@ if test "x${ac_cv_ld_altivec}" != "xno"; then LDFLAGS_memcpyaltivec="${LDFLAGS_memcpyaltivec} -framework vecLib" LDFLAGS_vlc="${LDFLAGS_vlc} -framework vecLib" fi -fi # end if mingw32 +fi # end "x$SYS" != "xmingw32" AC_ARG_WITH(,[]) AC_ARG_WITH(,[Optimization options:]) @@ -825,7 +982,7 @@ dnl if test "x${target_cpu}" = "xi686" -o "x${target_cpu}" = "xi586" -o "x${target_cpu}" = "xx86" -o "x${target_cpu}" = "xi386" then ARCH="${ARCH} mmx" - PLUGINS="${PLUGINS} ${ACCEL_MODULES}" + BUILTINS="${BUILTINS} ${ACCEL_MODULES}" fi dnl @@ -859,6 +1016,31 @@ 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 access_output_http" + 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} stream_out_dummy stream_out_standard stream_out_es" + PLUGINS="${PLUGINS} stream_out_duplicate stream_out_display" + + dnl Ogg/ogm + AC_CHECK_HEADERS(ogg/ogg.h, [ + AC_CHECK_LIB( ogg, ogg_stream_packetin, [ + PLUGINS="${PLUGINS} mux_ogg" + LDFLAGS_mux_ogg="${LDFLAGS_mux_ogg} -logg" ]) + ],[]) +fi + + dnl dnl Input plugins dnl @@ -900,8 +1082,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 @@ -950,9 +1132,9 @@ then then if test "x${with_dvdread_tree}" = x then - AC_CHECK_HEADERS(dvdread/dvdread.h, + AC_CHECK_HEADERS(dvdread/dvd_reader.h, [ PLUGINS="${PLUGINS} dvdread" - LDFLAGS_dvdread="${LDFLAGS_dvdread} -ldvdread" ], + 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]) @@ -972,7 +1154,7 @@ then dnl Use a custom libdvdread AC_MSG_RESULT(${real_dvdread_tree}/dvdread/.libs/libdvdread.a) BUILTINS="${BUILTINS} dvdread" - LDFLAGS_dvdread="${LDFLAGS_dvdread} ${real_dvdread_tree}/dvdread/.libs/libdvdread.a" + LDFLAGS_dvdread="${LDFLAGS_dvdread} -L${real_dvdread_tree}/dvdread/.libs -ldvdread ${LDFLAGS_dvdcss}" CPPFLAGS_dvdread="${CPPFLAGS_dvdread} -I${real_dvdread_tree}" else dnl The given libdvdread wasn't built @@ -982,17 +1164,17 @@ then fi else AC_MSG_CHECKING(for dvdread headers in ${with_dvdread}) - if test -f ${with_dvdread}/include/dvdread/dvdread.h + if test -f ${with_dvdread}/include/dvdread/dvd_reader.h then - dnl Use ${with_dvdread}/include/dvdread/dvdread.h + 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_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/dvdread.h]) + AC_MSG_ERROR([cannot find ${with_dvdread}/include/dvdread/dvd_reader.h]) fi fi fi @@ -1014,8 +1196,8 @@ then then AC_CHECK_HEADERS(dvdplay/dvdplay.h, [ PLUGINS="${PLUGINS} dvdplay" - LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} -ldvdplay" - CPPFLAGS_dvdplay = "${CPPFLAGS_dvdplay} ${CPPFLAGS_dvdread}" ], + 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/.]) @@ -1035,7 +1217,7 @@ then dnl Use a custom libdvdplay AC_MSG_RESULT(${real_dvdplay_tree}/src/.libs/libdvdplay.a) BUILTINS="${BUILTINS} dvdplay" - LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} ${real_dvdplay_tree}/src/.libs/libdvdplay.a" + 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 dnl The given libdvdplay wasn't built @@ -1050,7 +1232,7 @@ then dnl Use ${with_dvdplay}/include/dvdplay/dvdplay.h AC_MSG_RESULT(yes) PLUGINS="${PLUGINS} dvdplay" - LDFLAGS_dvdplay="${LDFLAGS_dvdplay} ${LDFLAGS_dvd} ${LDFLAGS_dvdread} -L${with_dvdplay}/lib -ldvdplay" + 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 @@ -1061,10 +1243,10 @@ then fi dnl -dnl libdvbpsi ts demux +dnl libdvbpsi ts demux/mux dnl AC_ARG_ENABLE(dvbpsi, -[ --enable-dvbpsi dvbpsi ts demux module (default enabled)]) +[ --enable-dvbpsi dvbpsi ts mux and demux module (default enabled)]) if test "x${enable_dvbpsi}" != "xno" then AC_ARG_WITH(dvbpsi, @@ -1077,7 +1259,9 @@ then then AC_CHECK_HEADERS(dvbpsi/dr.h, [ PLUGINS="${PLUGINS} ts_dvbpsi" - LDFLAGS_ts_dvbpsi="${LDFLAGS_ts_dvbpsi} -ldvbpsi" ], + 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 @@ -1098,8 +1282,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) @@ -1125,6 +1314,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 @@ -1143,7 +1336,7 @@ AC_ARG_ENABLE(v4l, [ --enable-v4l Video4Linux input support (default disabled)]) if test "x${enable_v4l}" = "xyes" then - AC_CHECK_HEADERS(libv4l/v4l.h, [ + AC_CHECK_HEADERS(linux/videodev.h, [ PLUGINS="${PLUGINS} v4l" ],[]) fi @@ -1156,18 +1349,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" @@ -1198,7 +1403,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"]) @@ -1217,36 +1422,6 @@ then PLUGINS="${PLUGINS} ipv6"],[AC_MSG_RESULT(no)]) fi -dnl -dnl AVI demux plugin -dnl -AC_ARG_ENABLE(avi, - [ --enable-avi AVI demux module (default enabled)]) -if test "x${enable_avi}" != "xno" -then - PLUGINS="${PLUGINS} avi" -fi - -dnl -dnl ASF demux plugin -dnl -AC_ARG_ENABLE(asf, - [ --enable-asf ASF demux module (default enabled)]) -if test "x${enable_asf}" != "xno" -then - PLUGINS="${PLUGINS} asf" -fi - -dnl -dnl AAC demux plugin -dnl -AC_ARG_ENABLE(aac, - [ --enable-aac AAC demux module (default enabled)]) -if test "x${enable_aac}" != "xno" -then - PLUGINS="${PLUGINS} aac" -fi - dnl dnl ogg plugin dnl @@ -1274,14 +1449,14 @@ dnl mad plugin dnl AC_ARG_ENABLE(mad, [ --enable-mad libmad module (default disabled)]) -if test "x${enable_mad}" = "xyes" +if test "x${enable_mad}" != "xno" then AC_ARG_WITH(mad, [ --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, @@ -1300,12 +1475,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}" @@ -1314,13 +1489,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}" @@ -1331,8 +1506,9 @@ dnl dnl libid3tag support dnl AC_CHECK_HEADERS(id3tag.h, [ - LDFLAGS_id3tag="${LDFLAGS_id3tag} -lz -lid3tag" - PLUGINS="${PLUGINS} id3tag"]) + AC_CHECK_HEADERS(zlib.h, [ + LDFLAGS_id3tag="${LDFLAGS_id3tag} -lid3tag -lz" + PLUGINS="${PLUGINS} id3tag"]) ]) dnl dnl ffmpeg decoder plugin @@ -1341,57 +1517,68 @@ AC_ARG_ENABLE(ffmpeg, [ --enable-ffmpeg ffmpeg codec (default disabled)]) if test "x${enable_ffmpeg}" = "xyes" then - AC_ARG_WITH(ffmpeg, - [ --with-ffmpeg=PATH path to ffmpeg installation],[],[]) - if test "x${with_ffmpeg}" != "xno" -a "x${with_ffmpeg}" != "x" - then - CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${with_ffmpeg}/include/libffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${with_ffmpeg}/lib" - fi - - dnl Add postprocessing modules - PLUGINS="${PLUGINS} postprocessing_c" - if test "x${ac_cv_mmx_inline}" != "xno"; then - PLUGINS="${PLUGINS} postprocessing_mmx" - fi + AC_ARG_WITH(ffmpeg-tree, + [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) - if test "x${ac_cv_mmxext_inline}" != "xno"; then - PLUGINS="${PLUGINS} postprocessing_mmxext" + dnl + dnl test for !(--with-ffmpeg-tree) + dnl + if test "x${with_ffmpeg_tree}" == "xno" -o "x${with_ffmpeg_tree}" == "x";then + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" + AC_CHECK_HEADERS(ffmpeg/avcodec.h postproc/postprocess.h) + AC_CHECK_LIB(avcodec, avcodec_init, [ + BUILTINS="${BUILTINS} ffmpeg stream_out_transcode encoder_ffmpeg" + LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode}" ], + [ AC_MSG_ERROR([Cannot find libavcodec library...]) ]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS="${CPPFLAGS_save}" fi - AC_ARG_WITH(ffmpeg-tree, - [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) - if test "x${with_ffmpeg_tree}" != "x" - then + dnl + dnl test for --with-ffmpeg-tree + dnl + if test "x${with_ffmpeg_tree}" != "xno" -a "x${with_ffmpeg_tree}" != "x";then AC_MSG_CHECKING(for libavcodec.a in ${with_ffmpeg_tree}) real_ffmpeg_tree="`cd ${with_ffmpeg_tree} 2>/dev/null && pwd`" - if test "x${real_ffmpeg_tree}" = x - then + if test "x${real_ffmpeg_tree}" = x; then dnl The given directory can't be found AC_MSG_RESULT(no) AC_MSG_ERROR([cannot cd to ${with_ffmpeg_tree}]) fi - if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a" - then + if test -f "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) - BUILTINS="${BUILTINS} ffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} ${real_ffmpeg_tree}/libavcodec/libavcodec.a" + BUILTINS="${BUILTINS} ffmpeg stream_out_transcode encoder_ffmpeg" + LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -L${real_ffmpeg_tree}/libavcodec -lavcodec" CPPFLAGS_ffmpeg="${CPPFLAGS_ffmpeg} -I${real_ffmpeg_tree}/libavcodec" + + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode} -L${real_ffmpeg_tree}/libavcodec" + CPPFLAGS_stream_out_transcode="${CPPFLAGS_stream_out_transcode} -I${real_ffmpeg_tree}/libavcodec" else dnl The given libavcodec wasn't built AC_MSG_RESULT(no) AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}]) fi - else - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_ffmpeg}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" - AC_CHECK_LIB(avcodec, avcodec_init, [ - BUILTINS="${BUILTINS} ffmpeg" - LDFLAGS_ffmpeg="${LDFLAGS_ffmpeg} -lavcodec" ], - [ AC_MSG_ERROR([Cannot find libavcodec library...]) ]) - LDFLAGS="${LDFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" + fi + + dnl Duplicate the ffmpeg CPPFLAGS and LDFLAGS for the encoder + LDFLAGS_encoder_ffmpeg=${LDFLAGS_ffmpeg} + CPPFLAGS_encoder_ffmpeg=${CPPFLAGS_ffmpeg} + + dnl Add postprocessing modules + PLUGINS="${PLUGINS} postprocessing_c" + if test "x${ac_cv_mmx_inline}" != "xno"; then + PLUGINS="${PLUGINS} postprocessing_mmx" + fi + + if test "x${ac_cv_mmxext_inline}" != "xno"; then + PLUGINS="${PLUGINS} postprocessing_mmxext" fi fi @@ -1428,7 +1615,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 @@ -1482,8 +1669,8 @@ then 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" + BUILTINS="${BUILTINS} xvid encoder_xvid" + 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 @@ -1495,13 +1682,17 @@ then LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}" AC_CHECK_HEADERS(xvid.h, , [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ]) - AC_CHECK_LIB(xvid, xvid_init, [ - PLUGINS="${PLUGINS} xvid" - LDFLAGS_xvid="${LDFLAGS_xvid} -lxvid" ], + AC_CHECK_LIB(xvidcore, xvid_init, [ + PLUGINS="${PLUGINS} xvid encoder_xvid" + LDFLAGS_xvid="${LDFLAGS_xvid} -lxvidcore" ], [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi + + dnl Duplicate the xvid CPPFLAGS and LDFLAGS for the encoder + LDFLAGS_encoder_xvid=${LDFLAGS_xvid} + CPPFLAGS_encoder_xvid=${CPPFLAGS_xvid} fi @@ -1509,15 +1700,20 @@ fi dnl dnl MP4 module dnl -AC_ARG_ENABLE(mp4, - [ --enable-mp4 MP4 demux module (default enabled)]) -if test "x${enable_mp4}" != "xno" -then +AC_CHECK_HEADERS(zlib.h, [ + LDFLAGS_mp4="${LDFLAGS_mp4} -lz" + LDFLAGS_skins="${LDFLAGS_skins} -lz" +] ) + + +dnl +dnl skins module +dnl +AC_CHECK_HEADERS(libtar.h, [ + LDFLAGS_skins="${LDFLAGS_skins} -ltar" +] ) + - PLUGINS="${PLUGINS} mp4" - AC_CHECK_HEADERS(zlib.h, - [ LDFLAGS_mp4="${LDFLAGS_mp4} -lz" ] ) -fi dnl dnl a52 AC3 decoder plugin @@ -1573,18 +1769,15 @@ 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_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 + AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) ]) ]) CPPFLAGS="${CPPFLAGS_save}" @@ -1592,16 +1785,6 @@ then fi fi -dnl -dnl cinepak plugin -dnl -AC_ARG_ENABLE(cinepak, - [ --enable-cinepak Cinepak decoder (default enabled)]) -if test "x${enable_cinepak}" != "xno" -then - PLUGINS="${PLUGINS} cinepak" -fi - dnl dnl DV plugin dnl @@ -1615,6 +1798,72 @@ then ],[]) fi +dnl +dnl Flac plugin +dnl +AC_ARG_ENABLE(flac, + [ --enable-flac flac decoder support (default disabled)]) +if test "x${enable_flac}" = "xyes" +then + AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ + PLUGINS="${PLUGINS} flac flacdec" + LDFLAGS_flacdec="${LDFLAGS_flacdec} -lFLAC" + ],[]) +fi + +dnl +dnl Libmpeg2 plugin +dnl +AC_ARG_ENABLE(libmpeg2, + [ --enable-libmpeg2 libmpeg2 decoder support (default enabled)]) +if test "x${enable_libmpeg2}" != "xno" +then + AC_ARG_WITH(libmpeg2-tree, + [ --with-libmpeg2-tree=PATH libmpeg2 tree for static linking]) + if test "x${with_libmpeg2_tree}" != "x" + then + AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree}) + real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`" + if test "x${real_libmpeg2_tree}" = x + then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}]) + fi + if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a" + then + dnl Use a custom libmpeg2 + AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a) + PLUGINS="${PLUGINS} libmpeg2" + LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2" + CFLAGS_libmpeg2="${CFLAGS_libmpeg2} -I${real_libmpeg2_tree}/include" + eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`" + else + dnl The given libmpeg2 wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}]) + fi + else + AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [ + AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2) + AC_EGREP_CPP(yes, + [#include + #ifdef MPEG2_RELEASE + #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2) + yes + #endif + #endif], + [AC_MSG_RESULT([yes]) + PLUGINS="${PLUGINS} libmpeg2" + LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2"], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])], + + [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])] + ) + fi +fi + dnl dnl Vorbis plugin dnl @@ -1767,20 +2016,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 @@ -1796,37 +2057,60 @@ from http://www.libsdl.org/, or configure with --disable-sdl. Have a nice day. fi fi +dnl +dnl freetype module +dnl +AC_ARG_ENABLE(freetype, + [ --enable-freetype freetype support (default enabled)]) +if test "x${enable_freetype}" != "xno" +then + FREETYPE_PATH="${PATH}" + AC_ARG_WITH(freetype-config-path, + [ --with-freetype-config-path=PATH freetype-config path (default search in \$PATH)], + [ if test "x${with_freetype_config_path}" != "xno" + then + FREETYPE_PATH="${with_freetype_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no, ${FREETYPE_PATH}) + + if test "x${FREETYPE_CONFIG}" != "xno" + then + PLUGINS="${PLUGINS} osdtext" + CFLAGS_osdtext="${CFLAGS_osdtext} `${FREETYPE_CONFIG} --cflags`" + LDFLAGS_osdtext="${LDFLAGS_osdtext} `${FREETYPE_CONFIG} --libs`" + CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}" + elif test "x${enable_freetype}" = "xyes" + then + 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 +fi + dnl dnl Qt Embedded module 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 @@ -2023,8 +2307,15 @@ AC_ARG_ENABLE(alsa, AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test "x${have_alsa}" = "xtrue" then - #PLUGINS="${PLUGINS} alsa" + AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API + #define ALSA_PCM_NEW_SW_PARAMS_API + #include ], + [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }], + AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4)) + PLUGINS="${PLUGINS} alsa" LDFLAGS_alsa="${LDFLAGS_alsa} -lasound -lm -ldl" + else + AC_MSG_ERROR([Could not find ALSA development headers]) fi fi]) @@ -2040,6 +2331,26 @@ if test "x${enable_waveout}" != "xno"; then fi fi +dnl +dnl CoreAudio plugin +dnl +AC_ARG_ENABLE(coreaudio, + [ --enable-coreaudio CoreAudio module (default enabled on MacOS X)]) +if test "x${enable_coreaudio}" != "xno" && + (test "x${SYS}" = "xdarwin" || test "x${enable_coreaudio}" = "xyes") +then + AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, + [ BUILTINS="${BUILTINS} coreaudio" + LDFLAGS_coreaudio="${LDFLAGS_coreaudio} -framework CoreAudio" + AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h) + AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[ + AC_MSG_RESULT(yes) + PLUGINS="${PLUGINS} coreaudio_resampler" + LDFLAGS_coreaudio_resampler="${LDFLAGS_coreaudio_resampler} -framework AudioToolbox" + ],[ AC_MSG_RESULT(no) ]) + ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) +fi + dnl dnl Interface plugins dnl @@ -2052,6 +2363,45 @@ then PLUGINS="${PLUGINS} beos" fi +dnl +dnl Skins module +dnl +AC_ARG_ENABLE(skins, + [ --enable-skins Win32 skins module (default enabled on Win32)]) +if test "x${enable_skins}" != "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-skins.]) + fi + CPPFLAGS_skins="${CPPFLAGS_skins} `${WX_CONFIG} --cxxflags`" + LDFLAGS_skins="${LDFLAGS_skins} `${WX_CONFIG} --libs`" + fi + + if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then + PLUGINS="${PLUGINS} skins" + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -U_OFF_T_ -U_off_t -fno-rtti -Imodules/gui/skins" + LDFLAGS_skins="${LDFLAGS_skins} -loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32 -lmsimg32" + else + if test "x${enable_skins}" = "xyes"; then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + PLUGINS="${PLUGINS} skins" + CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins -Imodules/gui/skins/src -Imodules/gui/skins/gtk2 -Imodules/gui/skins/controls -Imodules/gui/skins/parser ${GTK2_CFLAGS} -DGTK2_SKINS" + LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ ${GTK2_LIBS}" + fi + fi +fi + dnl dnl Gtk+ module dnl @@ -2105,6 +2455,22 @@ then fi fi +dnl +dnl Gtk+2 module +dnl +AC_ARG_ENABLE(gtk2, + [ --enable-gtk2 Gtk2 support (default disabled)]) +if test "x${enable_gtk2}" = "xyes" +then + PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) + CFLAGS_gtk2="${CFLAGS_gtk2} ${GTK2_CFLAGS}" + LDFLAGS_gtk2="${LDFLAGS_gtk2} ${GTK2_LIBS}" + PLUGINS="${PLUGINS} gtk2" + if test "x${SYS}" != "xmingw32"; then + NEED_GTK2_MAIN=yes + fi +fi + dnl dnl Familiar module uses Gtk+ library dnl @@ -2126,14 +2492,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 @@ -2144,10 +2520,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 @@ -2170,6 +2573,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]) @@ -2177,6 +2587,22 @@ developement tools or remove the --enable-gnome option]) CPPFLAGS="${CPPFLAGS_save}" fi]) +dnl +dnl Gnome2 module +dnl +AC_ARG_ENABLE(gnome2, + [ --enable-gnome2 Gnome2 support (default disabled)]) +if test "x${enable_gnome2}" = "xyes" +then + PKG_CHECK_MODULES(GNOME2, [libgnomeui-2.0]) + CFLAGS_gnome2="${CFLAGS_gnome2} ${GNOME2_CFLAGS}" + LDFLAGS_gnome2="${LDFLAGS_gnome2} ${GNOME2_LIBS}" + PLUGINS="${PLUGINS} gnome2" + if test "x${SYS}" != "xmingw32"; then + NEED_GNOME2_MAIN=yes + fi +fi + dnl dnl wxWindows module dnl @@ -2199,10 +2625,10 @@ then 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} --cflags`" + CXXFLAGS_wxwindows="${CXXFLAGS_wxwindows} `${WX_CONFIG} --cxxflags`" LDFLAGS_wxwindows="${LDFLAGS_wxwindows} `${WX_CONFIG} --libs`" # now look for the wxprec.h header - CPPFLAGS="${save_CPPFLAGS} ${CXXFLAGS_wxwindows}" + CPPFLAGS="${CPPFLAGS_save} ${CXXFLAGS_wxwindows}" ac_cv_wx_headers=yes AC_CHECK_HEADERS(wx/wxprec.h, , [ ac_cv_wx_headers=no @@ -2213,7 +2639,7 @@ then PLUGINS="${PLUGINS} wxwindows" ALIASES="${ALIASES} wxvlc" fi - CPPFLAGS="${save_CPPFLAGS}" + CPPFLAGS="${CPPFLAGS_save}" fi fi @@ -2225,8 +2651,17 @@ AC_ARG_ENABLE(qt, [if test "x${enable_qt}" = "xyes"; then PLUGINS="${PLUGINS} qt" ALIASES="${ALIASES} qvlc" - LDFLAGS_qt="${LDFLAGS_qt} -lqt -L${QTDIR}/lib" - CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt -I${QTDIR}/include" + LDFLAGS_qt="${LDFLAGS_qt} -L${QTDIR}/lib" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_qt}" + AC_CHECK_LIB(qt-mt,main,[ + LDFLAGS_qt="${LDFLAGS_qt} -lqt-mt" + ],[ + AC_CHECK_LIB(qt,main,[ + LDFLAGS_qt="${LDFLAGS_qt} -lqt" + ]) + ]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS_qt="${CPPFLAGS_qt} -I/usr/include/qt3 -I/usr/include/qt -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then MOC=${QTDIR}/bin/moc @@ -2243,8 +2678,22 @@ AC_ARG_ENABLE(kde, [if test "x${enable_kde}" = "xyes"; then PLUGINS="${PLUGINS} kde" ALIASES="${ALIASES} kvlc" - LDFLAGS_kde="${LDFLAGS_kde} -L${KDEDIR}/lib -lkfile" - CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt" + LDFLAGS_kde="${LDFLAGS_kde} -L${KDEDIR}/lib" + dnl Check for -lkfile (only in KDE 2) or -lkdeui -lkio (KDE 3) + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" + AC_CHECK_LIB(kfile,main,[ + LDFLAGS_kde="${LDFLAGS_kde} -lkfile" + ]) + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" + AC_CHECK_LIB(kdeui,main,[ + LDFLAGS_kde="${LDFLAGS_kde} -lkdeui" + ]) + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_kde}" + AC_CHECK_LIB(kio,main,[ + LDFLAGS_kde="${LDFLAGS_kde} -lkio" + ]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS_kde="${CPPFLAGS_kde} -I/usr/include/kde -I/usr/include/qt3 -I/usr/include/qt" CPPFLAGS_kde="${CPPFLAGS_kde} -I${KDEDIR}/include -I${QTDIR}/include" if test -x ${QTDIR}/bin/moc then @@ -2261,24 +2710,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]) @@ -2290,11 +2745,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 QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -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 QuickTime -lobjc -ObjC" + LDFLAGS_macosx="${LDFLAGS_macosx} -framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC" )]) dnl @@ -2317,12 +2772,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 ]) @@ -2344,9 +2795,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" @@ -2354,6 +2809,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="-lslp ${LDFLAGS_slp}" + 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="-L${with_slp} -lslp ${LDFLAGS_slp}" + 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 @@ -2430,49 +2919,6 @@ then AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system) fi -dnl -dnl Profiling -dnl -AC_ARG_ENABLE(gprof, -[ --enable-gprof gprof profiling (default disabled)]) -AC_ARG_ENABLE(cprof, -[ --enable-cprof cprof profiling (default disabled)]) -AM_CONDITIONAL(GPROF, test "x${enable_gprof}" = "xyes") -AM_CONDITIONAL(CPROF, test "x${enable_gprof}" = "xyes") - -dnl -dnl GNU portable threads -dnl -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_EGREP_HEADER(pth_init,pth.h,[ - AC_DEFINE(PTH_INIT_IN_PTH_H, 1, - Define if defines pth_init) - THREAD_LIB="-lpth" - fi]) -]) - -dnl -dnl State Threads -dnl -AC_ARG_ENABLE(st, - [ --enable-st State Threads (default disabled)], - [ if test "x${enable_st}" = "xyes"; then - AC_CHECK_LIB(st,st_init) - AC_EGREP_HEADER(st_init,st.h,[ - AC_DEFINE(ST_INIT_IN_ST_H, 1, - Define if defines st_init) - THREAD_LIB="-lst" - fi]) -]) - -if test "x${SYS}" != "xmingw32"; then - LDFLAGS_vlc="${LDFLAGS_vlc} ${THREAD_LIB}" - LDFLAGS_plugins="${LDFLAGS_plugins} ${THREAD_LIB}" -fi - dnl dnl Mozilla plugin dnl @@ -2531,6 +2977,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 @@ -2542,6 +2989,35 @@ then LDFLAGS_gnome_main="${LDFLAGS_gnome_main} ${LDFLAGS_gtk} ${LDFLAGS_familiar} ${LDFLAGS_gnome}" fi +if test "x${NEED_GTK2_MAIN}" != "xno" +then + PLUGINS="${PLUGINS} gtk2_main" + CFLAGS_gtk2="${CFLAGS_gtk2} -DNEED_GTK2_MAIN" + CFLAGS_gtk2_main="${CFLAGS_gtk2_main} ${CFLAGS_gtk2}" + LDFLAGS_gtk2_main="${LDFLAGS_gtk2_main} ${LDFLAGS_gtk2}" +fi + +if test "x${NEED_GNOME2_MAIN}" != "xno" +then + PLUGINS="${PLUGINS} gnome2_main" + CFLAGS_gnome2_main="${CFLAGS_gnome2_main} ${CFLAGS_gtk2} ${CFLAGS_gnome2}" + LDFLAGS_gnome2_main="${LDFLAGS_gnome2_main} ${LDFLAGS_gtk2} ${LDFLAGS_gnome2}" +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" + CFLAGS_vout_sdl="${CFLAGS_vout_sdl} -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 @@ -2596,17 +3072,17 @@ 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, "VLC media player - 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]) -DATA_PATH="${ac_tool_prefix}/share/videolan" +DATA_PATH="${ac_tool_prefix}/share/vlc" AC_SUBST(DATA_PATH) -PLUGIN_PATH="${ac_tool_prefix}/share/videolan" +PLUGIN_PATH="${ac_tool_prefix}/lib/vlc" AC_SUBST(PLUGIN_PATH) dnl @@ -2641,14 +3117,15 @@ AC_SUBST(ALIASES) AC_SUBST(ASM) AC_SUBST(MOC) AC_SUBST(WINDRES) -AC_SUBST(BCBUILDER) AC_SUBST(XPIDL) AC_SUBST(LIBEXT) AC_SUBST(INCLUDES) +AC_SUBST(ALL_LINGUAS) AC_SUBST(CFLAGS_TUNING) AC_SUBST(CFLAGS_OPTIM) AC_SUBST(CFLAGS_OPTIM_NODEBUG) +AC_SUBST(CFLAGS_NOOPTIM) AC_SUBST(LDFLAGS) AC_SUBST(CFLAGS_vlc) @@ -2667,6 +3144,7 @@ AC_SUBST(LDFLAGS_mozilla) AC_OUTPUT([ Makefile + autotools/Makefile debian/Makefile doc/Makefile intl/Makefile