X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=d536f03566f065566a6d36a186f43c757ed7205c;hb=990d95c859f5bbd5b848d0b94d09f9a27bf0678a;hp=486349732f3dc3d11879358c7efd9c75576ad18b;hpb=ffc8d95127be6b28578926cc682ac9f1bc018783;p=vlc diff --git a/configure.ac b/configure.ac index 486349732f..d536f03566 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ dnl Autoconf settings for vlc -dnl $Id: configure.ac,v 1.60 2003/08/16 16:56:40 gbazin Exp $ +dnl $Id: configure.ac,v 1.118 2003/11/23 03:58:33 rocky Exp $ AC_INIT(vlc,0.6.3-cvs) @@ -53,6 +53,7 @@ AC_CHECK_TOOL(STRIP, strip, :) AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOL(LD, ld, :) +dnl Sam, if you think I didn't see that... --Meuuh dnl AM_PROG_LIBTOOL AC_PROG_INSTALL @@ -60,6 +61,30 @@ dnl Check for compiler properties AC_C_CONST AC_C_INLINE +dnl +dnl Check for the contrib directory +dnl +topdir="`pwd`" +if test -d ${topdir}/extras/contrib/lib; then + export PATH=${topdir}/extras/contrib/bin:$PATH + export LD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$LD_LIBRARY_PATH + export DYLD_LIBRARY_PATH=${topdir}/extras/contrib/lib:$DYLD_LIBRARY_PATH + CPPFLAGS="${CPPFLAGS} -I${topdir}/extras/contrib/include" + CPPFLAGS_save="${CPPFLAGS_save} -I${topdir}/extras/contrib/include" + CFLAGS="${CFLAGS} -I${topdir}/extras/contrib/include" + CFLAGS_save="${CFLAGS_save} -I${topdir}/extras/contrib/include" + CXXFLAGS="${CXXFLAGS} -I${topdir}/extras/contrib/include" + CXXFLAGS_save="${CXXFLAGS_save} -I${topdir}/extras/contrib/include" + OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include" + OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include" + if test -d ${topdir}/extras/contrib/vlc-lib; then + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/vlc-lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/vlc-lib" + fi + LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib" + LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib" +fi + dnl dnl Set default values dnl @@ -79,7 +104,7 @@ case "${target_os}" in bsdi*) SYS=bsdi CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}" - AX_ADD_LDFLAGS([dvd dvdcss vcd cdda],[-ldvd]) + AX_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd]) ;; *bsd*) SYS="${target_os}" @@ -117,7 +142,7 @@ case "${target_os}" in # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" AX_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) - AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_ftp access_output_udp sap slp http httpd],[-lws2_32]) + AX_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_ftp access_output_udp sap slp http httpd stream_out_standard],[-lws2_32]) fi ;; *nto*) @@ -136,15 +161,12 @@ case "${target_os}" in CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" AX_ADD_LDFLAGS([vlc beos],[-lbe]) - AX_ADD_CXXFLAGS([beos],[]) AX_ADD_LDFLAGS([beos],[-lmedia -ltranslation -ltracker -lgame]) - dnl Check for BONE presence - AC_CHECK_LIB(socket, connect, - AX_ADD_LDFLAGS([vlc access_mms ipv4 httpd],[-lsocket -lbind])) - - dnl Check for Zeta - AC_CHECK_LIB(zeta, find_directory_r, AX_ADD_LDFLAGS([vlc beos],[-lzeta])) + dnl Ugly check for Zeta + if test -f /boot/beos/system/lib/libzeta.so; then + AX_ADD_LDFLAGS([beos],[-lzeta]) + fi ;; *) SYS="${target_os}" @@ -157,7 +179,7 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") dnl dnl Gettext stuff dnl -ALL_LINGUAS="de en_GB fr it ja nl no pl pt_BR ru sv" +ALL_LINGUAS="de en_GB es fr it ja nl no pl pt_BR ru sv" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then @@ -255,6 +277,22 @@ AC_CHECK_FUNCS(strdup strndup atof lseek) AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) +dnl Check for setlocal and langinfo +AC_CHECK_FUNCS(setlocale) +AC_CHECK_HEADERS(langinfo.h) +AC_CHECK_FUNCS(nl_langinfo) + +AC_CACHE_CHECK([for nl_langinfo and CODESET], ac_cv_langinfo_codeset, + [AC_TRY_LINK([#include ], + [char* cs = nl_langinfo(CODESET);], + ac_cv_langinfo_codeset=yes, + ac_cv_langinfo_codeset=no) + ]) +if test ${ac_cv_langinfo_codeset} = yes; then + AC_DEFINE(HAVE_LANGINFO_CODESET, 1, + [Define if you have and nl_langinfo(CODESET).]) +fi + AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ AX_ADD_LDFLAGS([vlc ipv4],-lsocket) @@ -263,7 +301,7 @@ AC_CHECK_FUNCS(connect,,[ AC_CHECK_FUNCS(send,,[ AC_CHECK_LIB(socket,send,[ - AX_ADD_LDFLAGS([access_http access_mms access_udp access_ftp sap http access_output_udp],[-lsocket]) + AX_ADD_LDFLAGS([access_http access_mms access_udp access_ftp sap httpd access_output_udp stream_out_standard],[-lsocket]) ]) ]) @@ -272,7 +310,7 @@ AC_CHECK_FUNCS(gethostbyname,,[ AX_ADD_LDFLAGS([ipv4 httpd vlc],[-lnsl]) ],[ AC_CHECK_LIB(bind,gethostbyname,[ - AX_ADD_LDFLAGS([ipv4 httpd],[-lbind]) + AX_ADD_LDFLAGS([ipv4 access_mms httpd],[-lbind]) ]) ]) ]) @@ -331,20 +369,85 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) if test "${SYS}" != "mingw32"; then AC_TYPE_SIGNAL -AC_CHECK_LIB(dl,dlopen,[ - AX_ADD_LDFLAGS([vlc],[-ldl]) -]) AC_CHECK_LIB(m,cos,[ - AX_ADD_LDFLAGS([imdct adjust distort a52tofloat32],[-lm]) + AX_ADD_LDFLAGS([adjust distort a52tofloat32],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - AX_ADD_LDFLAGS([ffmpeg stream_out_transcode imdct imdct3dn imdctsse i420_rgb faad],[-lm]) + AX_ADD_LDFLAGS([ffmpeg stream_out_transcode stream_out_transrate i420_rgb faad],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ AX_ADD_LDFLAGS([headphone_channel_mixer],[-lm]) ]) fi # end "${SYS}" != "mingw32" +dnl Check for dynamic plugins +ac_cv_have_plugins=no + +# OS X style +AC_CHECK_HEADERS(mach-o/dyld.h, + [AC_CHECK_FUNCS(NSLinkModule, + [AC_DEFINE(HAVE_DL_DYLD, 1, [Define if you have the Darwin dyld API]) + ac_cv_have_plugins=yes])]) + +# HP-UX style +if test "${ac_cv_have_plugins}" = "no"; then + AC_CHECK_HEADERS(dl.h) + ac_cv_my_have_shl_load=no + AC_CHECK_FUNC(shl_load, + [ac_cv_my_have_shl_load=yes, + AC_CHECK_LIB(dld, shl_load, + [ac_cv_my_have_shl_load=yes + AX_ADD_LDFLAGS([vlc],[-ldld])])]) + if test "${ac_cv_my_have_shl_load}" = "yes"; then + AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API]) + ac_cv_have_plugins=yes + fi +fi + +# Whatever style +if test "${ac_cv_have_plugins}" = "no"; then + AC_CHECK_LIB(dld, dld_link, + [AX_ADD_LDFLAGS([vlc],[-ldld]) + AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library]) + ac_cv_have_plugins=yes]) +fi + +# Win32 style +if test "${ac_cv_have_plugins}" = "no"; then + if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then + AC_CHECK_LIB(kernel32, main, + [AX_ADD_LDFLAGS([vlc],[-lkernel32]) + AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) + ac_cv_have_plugins=yes]) + fi +fi + +# BeOS style +if test "${ac_cv_have_plugins}" = "no"; then + AC_CHECK_HEADERS(image.h) + AC_CHECK_FUNCS(load_add_on, + [AC_DEFINE(HAVE_DL_BEOS, 1, [Define if you have the BeOS dl]) + ac_cv_have_plugins=yes]) +fi + +# Only test for dlopen() if the others didn't work +if test "${ac_cv_have_plugins}" = "no"; then + AC_CHECK_HEADERS(dlfcn.h sys/dl.h) + ac_cv_my_have_dlopen=no + AC_CHECK_FUNC(dlopen, + ac_cv_my_have_dlopen=yes, + AC_CHECK_LIB(dl, dlopen, + ac_cv_my_have_dlopen=yes + AX_ADD_LDFLAGS([vlc],[-ldl]), + AC_CHECK_LIB(svld, dlopen, + ac_cv_my_have_dlopen=yes + AX_ADD_LDFLAGS([vlc],[-lsvld])))) + if test "${ac_cv_my_have_dlopen}" = "yes"; then + AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API]) + ac_cv_have_plugins=yes + fi +fi + if test "${SYS}" != "mingw32"; then dnl Check for pthreads - borrowed from XMMS THREAD_LIB=error @@ -450,7 +553,6 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ 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 wchar.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 "${SYS}" != "mingw32"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) @@ -750,12 +852,6 @@ case "${target_cpu}" in ;; esac -case "${ARCH}" in - hppa64) - AX_ADD_CFLAGS([mpeg_video_old],[-ffunction-sections]) - ;; -esac - dnl dnl Enable profiling dnl @@ -769,10 +865,9 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -#AX_ADD_BUILTINS([mpeg_video_old idct idctclassic motion]) -AX_ADD_PLUGINS([dummy rc logger gestures memcpy]) -AX_ADD_PLUGINS([es mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv]) -AX_ADD_PLUGINS([spudec mpeg_audio lpcm a52 dts cinepak]) +AX_ADD_PLUGINS([dummy rc logger gestures memcpy hotkeys]) +AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ts avi asf aac mp4 rawdv]) +AX_ADD_PLUGINS([spudec mpeg_audio lpcm a52 dts cinepak dvbsub]) AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur]) AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32]) AX_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler]) @@ -982,13 +1077,14 @@ AC_ARG_ENABLE(sout, if test "${enable_sout}" != "no" then AX_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http]) - AX_ADD_PLUGINS([mux_ts mux_ps mux_avi mux_mp4 mux_dummy]) - AX_ADD_PLUGINS([packetizer_mpegaudio packetizer_mpegvideo packetizer_a52]) + AX_ADD_PLUGINS([mux_ts mux_ps mux_avi mux_mp4 mux_asf mux_dummy]) + AX_ADD_PLUGINS([packetizer_mpegvideo]) AX_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) AX_ADD_PLUGINS([packetizer_copy]) - AX_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es]) - AX_ADD_PLUGINS([stream_out_duplicate stream_out_display]) + AX_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp]) + AX_ADD_PLUGINS([stream_out_duplicate stream_out_display stream_out_gather]) +# AX_ADD_PLUGINS([stream_out_transrate]) dnl Ogg and vorbis are handled in their respective section fi @@ -1000,6 +1096,60 @@ dnl AC_ARG_WITH(,[Input plugins:]) +dnl +dnl live.com input +dnl +AC_ARG_ENABLE(livedotcom, +[ --enable-livedotcom live.com input plugin (default disabled)]) +if test "${enable_livedotcom}" = "yes" +then + AC_ARG_WITH(livedotcom-tree, + [ --with-livedotcom-tree=PATH live.com tree for static linking (required)]) + + dnl + dnl test for --with-livedotcom-tree + dnl + if test "${with_livedotcom_tree}" != "no" -a -n "${with_livedotcom_tree}";then + AC_MSG_CHECKING(for liveMedia/libliveMedia.a in ${with_livedotcom_tree}) + real_livedotcom_tree="`cd ${with_livedotcom_tree} 2>/dev/null && pwd`" + if test -z "${real_livedotcom_tree}"; then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_livedotcom_tree}]) + fi + if test -f "${real_livedotcom_tree}/liveMedia/libliveMedia.a"; then + AC_MSG_RESULT(${real_livedotcom_tree}/liveMedia/libliveMedia.a) + + AX_ADD_BUILTINS([livedotcom]) + + if test "${SYS}" = "mingw32"; then + # add ws2_32 for closesocket, select, recv + AX_ADD_LDFLAGS([livedotcom],[-lws2_32]) + fi + + AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/liveMedia -lliveMedia]) + AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/BasicUsageEnvironment -lBasicUsageEnvironment]) + AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/groupsock -lgroupsock]) + AX_ADD_LDFLAGS([livedotcom],[-L${real_livedotcom_tree}/UsageEnvironment -lUsageEnvironment]) + + AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/BasicUsageEnvironment/include]) + AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/groupsock/include]) + AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/liveMedia/include]) + AX_ADD_CXXFLAGS([livedotcom],[-I${real_livedotcom_tree}/UsageEnvironment/include ]) + else + dnl The given live.com wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_livedotcom_tree}/liveMedia/libliveMedia.a, make sure you compiled live.com in ${with_livedotcom_tree}]) + fi + else + dnl The --with-livedotcom-tree isn't specified wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([You have to specify a tree with --with-livedotcom-tree]) + fi +fi + + + dnl dnl DVD module: optionally check for installed libdvdcss dnl @@ -1196,6 +1346,22 @@ then fi fi +dnl +dnl Windows DirectShow access module +dnl +AC_ARG_ENABLE(dshow, + [ --enable-dshow Win32 DirectShow support (default enabled on Win32)]) +if test "${enable_dshow}" != "no" +then + if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + then + AC_CHECK_HEADERS(dshow.h, + [ AX_ADD_PLUGINS([dshow]) + AX_ADD_CXXFLAGS([dshow],[]) + AX_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ]) + fi +fi + dnl dnl libdvbpsi ts demux/mux dnl @@ -1354,6 +1520,29 @@ then fi fi +dnl +dnl VCDX and CDX modules +dnl +AC_ARG_ENABLE(vcdx, + [ --enable-vcdx VCD support with Navigation for Linux and Win32 (default enabled)]) + +if test "${enable_vcdx}" != "no" +then + PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.65, + [enable_cdda="no" + AX_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS]) + AX_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS]) + AX_ADD_PLUGINS([cddax])], + [AC_MSG_WARN(libcdio library not found)]) + + PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20-cdio, + [enable_vcd="no" + AX_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS]) + AX_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) + AX_ADD_PLUGINS([vcdx])], + [AC_MSG_WARN(vcdinfo library not found)]) +fi + dnl dnl Satellite input module dnl @@ -1378,8 +1567,7 @@ then then AX_ADD_CFLAGS([dvb],[-I${with_dvb}/include]) fi - - CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_dvb}" + CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include" AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [ AX_ADD_PLUGINS([dvb]) ],[]) @@ -1420,8 +1608,6 @@ if test "${enable_ogg}" != "no" then AC_CHECK_HEADERS(ogg/ogg.h, [ AC_CHECK_LIB( ogg, oggpack_read, [ - AC_CHECK_LIB( ogg, oggpackB_read, [ - AX_ADD_CPPFLAGS([ogg],[-DHAVE_OGGPACKB])]) AX_ADD_PLUGINS([ogg mux_ogg]) AX_ADD_LDFLAGS([ogg mux_ogg],[-logg])]) ],[]) @@ -1435,12 +1621,10 @@ AC_ARG_ENABLE(mkv, if test "${enable_mkv}" != "no" then AC_LANG_PUSH(C++) - dnl matroska headers include ebml headers directly... pouah that stinks - CPPFLAGS="${CPPFLAGS_save} -I/usr/local/include/ebml -I/usr/include/ebml" - AC_CHECK_HEADERS(EbmlVersion.h matroska/KaxVersion.h, [ + AC_CHECK_HEADERS(ebml/EbmlVersion.h matroska/KaxVersion.h, [ AC_CHECK_HEADERS(matroska/KaxAttachments.h) AX_ADD_PLUGINS([mkv]) - AX_ADD_CXXFLAGS([mkv],[-I/usr/local/include/ebml -I/usr/include/ebml]) + AX_ADD_CXXFLAGS([mkv],[]) AC_CHECK_LIB(ebml_pic,main,[ # We have ebml_pic, that's good, we can build an mkv.so plugin ! AX_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic]) @@ -1539,6 +1723,14 @@ then AX_ADD_LDFLAGS([stream_out_transcode],[]) AX_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ]) + AC_ARG_WITH(ffmpeg-faac, + [ --with-ffmpeg-faac if ffmpeg has been compiled with faac support], + [ + dnl XXX: we don't link with -lavcodec a 2nd time because the OS X + dnl linker would miserably barf on multiple definitions. + AX_ADD_LDFLAGS([stream_out_transcode],[]) + AX_ADD_LDFLAGS([ffmpeg],[-lfaac]) ]) + AC_ARG_WITH(ffmpeg-tree, [ --with-ffmpeg-tree=PATH ffmpeg tree for static linking]) @@ -1588,18 +1780,6 @@ then AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}]) fi fi - - dnl Duplicate the ffmpeg CPPFLAGS and LDFLAGS for the encoder - AX_ADD_CPPFLAGS([encoder_ffmpeg],[${CPPFLAGS_ffmpeg}]) - dnl XXX: we don't link with -lavcodec blah blah blah - dnl AX_ADD_LDFLAGS([encoder_ffmpeg],[${LDFLAGS_ffmpeg}]) - - ac_have_vorbis_headers=yes - AC_CHECK_HEADERS(vorbis/vorbisenc.h vorbis/codec.h,, - ac_have_vorbis_headers=no) - if test "$ac_have_vorbis_headers" = "yes"; then - AX_ADD_LDFLAGS([stream_out_transcode],[-lvorbisenc -lvorbis -logg]) - fi fi dnl @@ -1628,14 +1808,6 @@ then AX_ADD_BUILTINS([faad]) AX_ADD_LDFLAGS([faad],[-L${real_faad_tree}/libfaad/.libs -lfaad]) AX_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include]) - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}" - AC_TRY_COMPILE([#include ], - [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c; - unsigned long d; faacDecDecode(a,b,c,d);], - [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)]) - LDFLAGS="${LDFLAGS_save}" - CPPFLAGS="${CPPFLAGS_save}" else dnl The given libfaad wasn't built AC_MSG_RESULT(no) @@ -1648,11 +1820,7 @@ then [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ]) AC_CHECK_LIB(faad, faacDecOpen, [ AX_ADD_PLUGINS([faad]) - AX_ADD_LDFLAGS([faad],[-lfaad]) - AC_TRY_COMPILE([#include ], - [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c; - unsigned long d; faacDecDecode(a,b,c,d);], - [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)]) ], + AX_ADD_LDFLAGS([faad],[-lfaad]) ], [ AC_MSG_ERROR([Cannot find libfaad library...]) ]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" @@ -1711,10 +1879,6 @@ then LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi - - dnl Duplicate the xvid CPPFLAGS and LDFLAGS for the encoder - AX_ADD_LDFLAGS([encoder_xvid],[${LDFLAGS_xvid}]) - AX_ADD_CPPFLAGS([encoder_xvid],[${CPPFLAGS_xvid}]) fi dnl @@ -1739,7 +1903,7 @@ dnl dnl MP4 module dnl AC_CHECK_HEADERS(zlib.h, [ - AX_ADD_LDFLAGS([mp4 skins],[-lz]) + AX_ADD_LDFLAGS([mp4 skins sap],[-lz]) ] ) @@ -1910,11 +2074,10 @@ if test "${enable_vorbis}" != "no" then AC_CHECK_HEADERS(vorbis/codec.h, [ AX_ADD_PLUGINS([vorbis]) - AX_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) - if test "${enable_sout}" != "no"; then - AX_ADD_PLUGINS([packetizer_vorbis]) - AX_ADD_LDFLAGS([packetizer_vorbis],[-lvorbis -logg]) - fi ],[]) + AX_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[]) + + AC_CHECK_HEADERS(vorbis/vorbisenc.h, [ + AX_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[]) fi dnl @@ -1930,6 +2093,18 @@ then ],[]) fi +dnl +dnl Speex plugin +dnl +AC_ARG_ENABLE(speex, + [ --enable-speex Speex decoder support (default enabled)]) +if test "${enable_speex}" != "no" +then + AC_CHECK_HEADERS(speex.h, [ + AX_ADD_PLUGINS([speex]) + AX_ADD_LDFLAGS([speex],[-lspeex]) ],[]) +fi + dnl dnl tarkin decoder plugin dnl @@ -1967,12 +2142,12 @@ if test "${enable_theora}" = "yes" then AC_CHECK_HEADERS(theora/theora.h, [ AC_CHECK_LIB(theora, theora_granule_time, [ - AX_ADD_BUILTINS([theora]) - if test "${SYS}" = "darwin"; then - theora_libs="-ltheora" + if test "${SYS}" = "mingw32"; then + AX_ADD_PLUGINS([theora]) else - theora_libs="-ltheora -logg" + AX_ADD_BUILTINS([theora]) fi + theora_libs="-ltheora -logg" AX_ADD_LDFLAGS([theora],[${theora_libs}]) ],[ 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.])], @@ -2158,6 +2333,8 @@ dnl freetype module dnl AC_ARG_ENABLE(freetype, [ --enable-freetype freetype support (default enabled)]) +AC_ARG_ENABLE(fribidi, + [ --enable-fribidi fribidi support (default enabled)]) if test "${enable_freetype}" != "no" then FREETYPE_PATH="${PATH}" @@ -2172,8 +2349,8 @@ then if test "${FREETYPE_CONFIG}" != "no" then AX_ADD_PLUGINS([freetype]) - AX_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`]) - AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`]) + AX_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags` ${INCICONV}]) + AX_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs` ${LIBICONV}]) AC_CHECK_HEADERS(Carbon/Carbon.h, [AX_ADD_LDFLAGS([freetype],[-framework Carbon])]) CPPFLAGS="${CPPFLAGS_save} ${CFLAGS_freetype}" @@ -2183,6 +2360,25 @@ then from http://www.freetype.org/, or configure with --disable-freetype. Have a nice day. ]) fi + + dnl fribidi support + if test "${enable_fribidi}" != "no" + then + FRIBIDI_PATH="${PATH}" + AC_ARG_WITH(fribidi-config-path, + [ --with-fribidi-config-path=PATH fribidi-config path (default search in \$PATH)], + [ if test "${with_fribidi_config_path}" != "no" + then + FRIBIDI_PATH="${with_fribidi_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(FRIBIDI_CONFIG, fribidi-config, no, ${FRIBIDI_PATH}) + + if test "${FRIBIDI_CONFIG}" != "no" + then + AX_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) + AX_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`]) + fi + fi fi dnl @@ -2263,7 +2459,7 @@ AC_ARG_ENABLE(mga, [ --enable-mga Linux kernel Matrox support (default disabled)], [ if test "${enable_mga}" = "yes" then - AX_ADD_PLUGINS([mga xmga]) + AX_ADD_PLUGINS([mga]) fi ]) dnl @@ -2329,6 +2525,22 @@ then fi fi +dnl +dnl libcaca plugin +dnl +AC_ARG_ENABLE(caca, + [ --enable-caca libcaca output (default disabled)]) +if test "${enable_caca}" = "yes" +then + AC_PATH_PROG(CACA_CONFIG, caca-config, no) + if test "${CACA_CONFIG}" != "no" + then + AX_ADD_PLUGINS([caca]) + AX_ADD_CFLAGS([caca],[`${CACA_CONFIG} --cflags`]) + AX_ADD_LDFLAGS([caca],[`${CACA_CONFIG} --plugin-libs`]) + fi +fi + dnl dnl win32 GDI plugin dnl @@ -2543,7 +2755,7 @@ then fi dnl -dnl Gtk+2 module ! Disabled for know as it is unuseable and confuses users +dnl Gtk+2 module ! Disabled for now as it is unusable and confuses users dnl dnl AC_ARG_ENABLE(gtk2, dnl [ --enable-gtk2 Gtk2 support (default disabled)]) @@ -2562,7 +2774,7 @@ dnl dnl PDA Gtk+2 module dnl AC_ARG_ENABLE(pda, - [ --enable-pda PDA interface needs Gtk2 suport (default disabled)]) + [ --enable-pda PDA interface needs Gtk2 support (default disabled)]) if test "x${enable_pda}" = "xyes" then PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0]) @@ -2648,6 +2860,7 @@ 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 + AC_LANG_PUSH(C++) AX_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`]) AX_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`]) # now look for the wxprec.h header @@ -2663,6 +2876,7 @@ then ALIASES="${ALIASES} wxvlc" fi CPPFLAGS="${CPPFLAGS_save}" + AC_LANG_POP(C++) fi fi @@ -2820,6 +3034,54 @@ then fi fi +dnl +dnl Visualisation plugin +dnl +AC_ARG_ENABLE(visual, + [ --enable-visual visualisation plugin (default enabled)]) +if test "${enable_visual}" != "no" +then + AX_ADD_PLUGINS([visual]) +fi + +dnl +dnl goom visualization plugin +dnl +AC_ARG_ENABLE(goom, +[ --enable-goom goom visualisation plugin (default disabled)]) +if test "${enable_goom}" = "yes" +then + AC_ARG_WITH(goom-tree, + [ --with-goom-tree=PATH goom tree for static linking (required)]) + + dnl + dnl test for --with-goom-tree + dnl + if test "${with_goom_tree}" != "no" -a -n "${with_goom_tree}";then + AC_MSG_CHECKING(for libgoom.a in ${with_goom_tree}) + real_goom_tree="`cd ${with_goom_tree} 2>/dev/null && pwd`" + if test -z "${real_goom_tree}"; then + dnl The given directory can't be found + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot cd to ${with_goom_tree}]) + fi + if test -f "${real_goom_tree}/libgoom.a"; then + AC_MSG_RESULT(${real_goom_tree}/libgoom.a) + AX_ADD_BUILTINS([goom]) + AX_ADD_LDFLAGS([goom],[-L${real_goom_tree} -lgoom]) + AX_ADD_CPPFLAGS([goom],[-I${real_goom_tree}]) + else + dnl The given libgoom wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([cannot find ${real_goom_tree}/libgoom.a, make sure you compiled goom in ${with_goom_tree}]) + fi + else + dnl The --with-goom-tree isn't specified wasn't built + AC_MSG_RESULT(no) + AC_MSG_ERROR([You have to specify a tree with --with-goom-tree]) + fi +fi + dnl dnl SLP access plugin dnl @@ -2983,7 +3245,7 @@ dnl mozilla=false AC_ARG_ENABLE(mozilla, [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)]) -if test "${enable_mozilla}" = "yes" +if test "${enable_mozilla}" = "yes" -a "${SYS}" != "mingw32" then AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) if test "${MOZILLA_CONFIG}" = "no" @@ -3001,12 +3263,30 @@ then dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490 AX_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]]) AX_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin xpcom`]) - dnl Not necessarily in ${PATH} - if test -z "${XPIDL}" -o ! -x "${XPIDL}" - then - XPIDL="/usr/lib/mozilla/xpidl" - fi + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}" + AC_CHECK_HEADERS(mozilla-config.h) + CPPFLAGS="${CPPFLAGS_save}" fi + +dnl special case for mingw32 +elif test "${enable_mozilla}" = "yes" +then + AC_ARG_WITH(mozilla-sdk-path, + [ --with-mozilla-sdk-path=PATH path to win32 mozilla sdk], [ + real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" + CPPFLAGS="${CPPFLAGS_save} ${real_mozilla_sdk}" + AC_CHECK_HEADERS(mozilla-config.h, [ + mozilla=: + AX_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -I${real_mozilla_sdk} -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) + AX_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -lnspr4 -lplds4 -lplc4 -lembedstring -lxpcomglue -Wl,--kill-at]) + XPIDL_INCL="-I${real_mozilla_sdk}/xpcom/idl" ]) + CPPFLAGS="${CPPFLAGS_save}" + ]) +fi + +dnl Not necessarily in ${PATH} +if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then + XPIDL="/usr/lib/mozilla/xpidl" fi AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) @@ -3035,9 +3315,8 @@ dnl if test "${NEED_GTK_MAIN}" != "no" then AX_ADD_PLUGINS([gtk_main]) - AX_ADD_CFLAGS([gtk pda],[-DNEED_GTK_MAIN]) - AX_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk} ${CFLAGS_pda}]) - AX_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk} ${LDFLAGS_pda}]) + AX_ADD_CFLAGS([gtk_main],[${CFLAGS_gtk}]) + AX_ADD_LDFLAGS([gtk_main],[${LDFLAGS_gtk}]) fi if test "${NEED_GNOME_MAIN}" != "no" @@ -3051,8 +3330,9 @@ if test "${NEED_GTK2_MAIN}" != "no" then AX_ADD_PLUGINS([gtk2_main]) AX_ADD_CFLAGS([gtk2],[-DNEED_GTK2_MAIN]) - AX_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2}]) - AX_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2}]) + AX_ADD_CFLAGS([pda],[-DNEED_GTK2_MAIN]) + AX_ADD_CFLAGS([gtk2_main],[${CFLAGS_gtk2} ${CFLAGS_pda}]) + AX_ADD_LDFLAGS([gtk2_main],[${LDFLAGS_gtk2} ${LDFLAGS_pda}]) fi if test "${NEED_GNOME2_MAIN}" != "no" @@ -3091,7 +3371,7 @@ AC_ARG_ENABLE(plugins, dnl Automagically disable plugins if there is no system support for dnl dynamically loadable files (.so, .dll, .dylib). dnl don't forget vlc-win32 still can load .dll as plugins -if test "${ac_cv_header_dlfcn_h}" = "no" -a "${ac_cv_header_image_h}" = "no" -a "${SYS}" != "mingw32" +if test "${ac_cv_have_plugins}" = "no" then echo "*** Your system doesn't have plugin support. All plugins will be built" echo "statically." @@ -3131,7 +3411,7 @@ AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version st 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} | sed -e 'y/.-/__/'`" +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]) @@ -3169,6 +3449,7 @@ AC_SUBST(ASM) AC_SUBST(MOC) AC_SUBST(WINDRES) AC_SUBST(XPIDL) +AC_SUBST(XPIDL_INCL) AC_SUBST(LIBEXT) AC_SUBST(INCLUDES) AC_SUBST(ALL_LINGUAS) @@ -3197,6 +3478,7 @@ AC_OUTPUT([ src/Makefile modules/access/Makefile + modules/access/dshow/Makefile modules/access/dvb/Makefile modules/access/dvd/Makefile modules/access/dvdplay/Makefile @@ -3206,6 +3488,7 @@ AC_OUTPUT([ modules/access/satellite/Makefile modules/access/v4l/Makefile modules/access/vcd/Makefile + modules/access/vcdx/Makefile modules/access_output/Makefile modules/audio_filter/Makefile modules/audio_filter/channel_mixer/Makefile @@ -3214,19 +3497,9 @@ AC_OUTPUT([ modules/audio_mixer/Makefile modules/audio_output/Makefile modules/codec/Makefile - modules/codec/a52old/Makefile - modules/codec/a52old/downmix/Makefile - modules/codec/a52old/imdct/Makefile - modules/codec/cinepak/Makefile - modules/codec/faad/Makefile modules/codec/ffmpeg/Makefile modules/codec/ffmpeg/postprocessing/Makefile - modules/codec/mpeg_audio/Makefile - modules/codec/mpeg_video/Makefile - modules/codec/mpeg_video/idct/Makefile - modules/codec/mpeg_video/motion/Makefile modules/codec/spudec/Makefile - modules/codec/subsdec/Makefile modules/control/Makefile modules/control/corba/Makefile modules/control/lirc/Makefile @@ -3237,8 +3510,6 @@ AC_OUTPUT([ modules/demux/mp4/Makefile modules/demux/mpeg/Makefile modules/demux/util/Makefile - modules/encoder/Makefile - modules/encoder/ffmpeg/Makefile modules/gui/Makefile modules/gui/beos/Makefile modules/gui/pda/Makefile @@ -3261,6 +3532,7 @@ AC_OUTPUT([ modules/mux/mpeg/Makefile modules/packetizer/Makefile modules/stream_out/Makefile + modules/stream_out/transrate/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_filter/deinterlace/Makefile @@ -3272,6 +3544,7 @@ AC_OUTPUT([ modules/visualization/Makefile modules/visualization/scope/Makefile modules/visualization/xosd/Makefile + modules/visualization/visual/Makefile ],[ chmod 0755 vlc-config ])