X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=72397dd173bfdc373faa8d6144da301770c23deb;hb=a5b222b7fe7e229270cde92646d5967969c09d13;hp=3ab0d3077563373d8ba02c93e9d2c61ad852aa6f;hpb=e7396f14b729804fb5409a96c8f212d3ee80f08f;p=vlc diff --git a/configure.ac b/configure.ac index 3ab0d30775..72397dd173 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Autoconf settings for vlc dnl $Id$ -AC_INIT(vlc,0.8.1-svn) +AC_INIT(vlc,0.8.2-svn) CONFIGURE_LINE="$0 $*" CODENAME="Janus" @@ -13,7 +13,7 @@ AC_CANONICAL_SYSTEM dnl XXX: we don't put any flags here, because automake 1.5 doesn't support dnl them. And we need the comma otherwize automake will choke on it. -AM_INIT_AUTOMAKE(vlc,0.8.1-svn) +AM_INIT_AUTOMAKE(vlc,0.8.2-svn) AM_CONFIG_HEADER(config.h) dnl @@ -28,7 +28,10 @@ AC_PROG_CC AM_PROG_CC_C_O AC_PROG_CPP AC_PROG_CXX -AC_PROG_CXXCPP +eval "${CXX} --version" >/dev/null 2>&1 || CXX="" +if test "${CXX}" != ""; then + AC_PROG_CXXCPP +fi AC_PROG_MAKE_SET AC_PROG_INSTALL @@ -128,7 +131,7 @@ case "${target_os}" in VLC_ADD_CFLAGS([vlc],[-x objective-c]) VLC_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress]) ;; - *mingw32* | *cygwin*) + *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) case "${target_os}" in @@ -144,6 +147,9 @@ case "${target_os}" in #endif], SYS=mingw32, SYS=cygwin) ;; + *wince* | *mingwce* | *pe*) + SYS=mingwce + ;; esac if test "${SYS}" = "mingw32"; then @@ -153,6 +159,13 @@ case "${target_os}" in VLC_ADD_LDFLAGS([vcdx cddax],[-lwinmm]) VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard telnet netsync],[-lws2_32]) fi + if test "${SYS}" = "mingwce"; then + # add ws2 for closesocket, select, recv + CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" + VLC_ADD_CPPFLAGS([vlc],[-Dmain(a,b)=maince(a,b)]) + VLC_ADD_LDFLAGS([vlc],[-lws2 -e WinMainCRTStartup]) + VLC_ADD_LDFLAGS([ipv4 ipv6 access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2]) + fi ;; *nto*) SYS=nto @@ -188,11 +201,12 @@ esac AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") +AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") dnl dnl Gettext stuff dnl -ALL_LINGUAS="da de en_GB es fr hu it ja nl no pl pt_BR ru sv" +ALL_LINGUAS="bn da de el en_GB es fr hi hu it ja my ne nl no pl ps pt_BR ru sv tet tl" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then @@ -257,7 +271,7 @@ then fi dnl Check for fvtable-thunks support for mingw32 -if test "${SYS}" = "mingw32" +if test "${SYS}" = "mingw32" -a "${CXX}" != "" then AC_LANG_PUSH(C++) AC_CACHE_CHECK([if \$CXX accepts -fvtable-thunks], @@ -279,9 +293,11 @@ VLC_LIBRARY_SUFFIX case "${SYS}" in mingw32|cygwin) - VLC_ADD_CFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special}]) - VLC_ADD_CXXFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}]) - VLC_ADD_OBJCFLAGS([pic plugin mozilla],[${CFLAGS_mingw32_special}]) + VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) + VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}]) + VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) + ;; + mingwce) ;; *) VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC]) @@ -297,10 +313,10 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd dnl Check for system libs needed need_libc=false -AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon) +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon) dnl Check for usual libc functions -AC_CHECK_FUNCS(strdup strndup atof lseek) +AC_CHECK_FUNCS(strdup strndup atof) AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) @@ -428,7 +444,7 @@ AC_CHECK_FUNCS(inet_aton,,[ ]) dnl Check for getopt (always use builtin one on win32) -if test "${SYS}" = "mingw32"; then +if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then need_getopt=: else need_getopt=false @@ -441,18 +457,18 @@ AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], fi AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_TYPE_SIGNAL AC_CHECK_LIB(m,cos,[ - VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264],[-lm]) + VLC_ADD_LDFLAGS([adjust distort a52tofloat32 dtstofloat32 x264 goom],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc freetype],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LDFLAGS([headphone_channel_mixer normvol],[-lm]) + VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm]) ]) -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Check for dynamic plugins ac_cv_have_plugins=no @@ -496,6 +512,14 @@ if test "${ac_cv_have_plugins}" = "no"; then fi fi +# WinCE style +if test "${ac_cv_have_plugins}" = "no"; then + if test "${SYS}" = "mingwce"; then + 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) @@ -522,7 +546,7 @@ if test "${ac_cv_have_plugins}" = "no"; then fi fi -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then dnl Check for pthreads - borrowed from XMMS THREAD_LIB=error if test "${THREAD_LIB}" = "error"; then @@ -615,7 +639,7 @@ AC_EGREP_HEADER(pthread_once,pthread.h,[ AC_DEFINE(PTHREAD_ONCE_IN_PTHREAD_H, 1, Define if defines pthread_once.)],[ AC_MSG_RESULT(no)]) -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_MSG_CHECKING(for strncasecmp in strings.h) AC_EGREP_HEADER(strncasecmp,strings.h,[ @@ -628,10 +652,10 @@ dnl Check for headers AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h) AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h) -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h) AC_CHECK_HEADERS(linux/version.h) -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_HEADER_TIME @@ -641,7 +665,7 @@ 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 "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_MSG_CHECKING(for nanosleep in time.h) AC_EGREP_HEADER(nanosleep,time.h,[ AC_MSG_RESULT(yes) @@ -650,7 +674,7 @@ AC_EGREP_HEADER(nanosleep,time.h,[ ],[ AC_MSG_RESULT(no) ]) -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Make sure we have timespecs AC_MSG_CHECKING(for timespec in sys/time.h) @@ -663,9 +687,9 @@ AC_EGREP_HEADER(timespec,sys/time.h,[ ]) dnl Check for threads library -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(cthreads.h pthread.h kernel/scheduler.h kernel/OS.h) -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl Default X headers and libraries if test "${x_includes}" = "NONE"; then @@ -944,21 +968,26 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync showintf]) +VLC_ADD_PLUGINS([dummy logger memcpy]) VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump]) VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak]) -VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur]) +VLC_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur motiondetect]) VLC_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32 audio_format]) VLC_ADD_PLUGINS([trivial_resampler ugly_resampler linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer headphone_channel_mixer normvol]) VLC_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer]) VLC_ADD_PLUGINS([aout_file equalizer]) VLC_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga]) -VLC_ADD_PLUGINS([id3 playlist export sgimb]) -VLC_ADD_PLUGINS([rawvideo blend scale time marq]) +VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag]) +VLC_ADD_PLUGINS([rawvideo blend scale image logo]) VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au]) -VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms]) -VLC_ADD_PLUGINS([access_ftp access_directory sap http]) +VLC_ADD_PLUGINS([access_file access_udp access_tcp access_http access_mms]) +VLC_ADD_PLUGINS([access_ftp ipv4]) + +if test "${SYS}" != "mingwce"; then + VLC_ADD_PLUGINS([access_directory sap http]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq]) +fi dnl dnl Switch to enable a version of VLC where most modules will be builtin @@ -973,11 +1002,10 @@ fi dnl dnl Some plugins aren't useful on some platforms dnl -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then VLC_ADD_PLUGINS([screensaver]) -else - VLC_ADD_PLUGINS([ntservice]) - VLC_ADD_PLUGINS([dmo]) +elif test "${SYS}" != "mingwce"; then + VLC_ADD_PLUGINS([ntservice smb dmo]) VLC_ADD_LDFLAGS([dmo],[-lole32]) fi @@ -1038,7 +1066,7 @@ if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "s ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}" fi -if test "${SYS}" != "mingw32"; then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly], [ac_cv_altivec_inline], [CFLAGS="${CFLAGS_save}" @@ -1104,7 +1132,7 @@ AC_CACHE_CHECK([if linker needs -framework vecLib], if test "${ac_cv_ld_altivec}" != "no"; then VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib]) fi -fi # end "${SYS}" != "mingw32" +fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_ARG_WITH(,[]) AC_ARG_WITH(,[Optimization options:]) @@ -1223,7 +1251,6 @@ dnl AC_ARG_WITH(,[Input plugins:]) -dnl dnl live.com input dnl AC_ARG_ENABLE(livedotcom, @@ -1235,7 +1262,7 @@ if test "${enable_livedotcom}" = "yes"; then dnl dnl test for --with-livedotcom-tree dnl - if test -z "${with_livedotcom_tree}"; then + if test -z "${with_livedotcom_tree}" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) CPPFLAGS_save="${CPPFLAGS}" CPPFLAGS_livedotcom="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" @@ -1304,7 +1331,7 @@ AC_ARG_ENABLE(dvdread, if test "${enable_dvdread}" != "no" then AC_ARG_WITH(dvdread, - [ --with-dvdread=PATH libdvdread headers and libraries]) + [ --with-dvdread=PATH libdvdread headers and libraries]) AC_ARG_WITH(dvdread-tree, [ --with-dvdread-tree=PATH libdvdread tree for static linking]) @@ -1409,6 +1436,20 @@ then fi fi +dnl +dnl libsmbclient plugin +dnl +AC_ARG_ENABLE(smb, + [ --enable-smb smb input module (default enabled)]) +if test "${enable_smb}" != "no"; then + AC_CHECK_HEADERS(libsmbclient.h, + [ VLC_ADD_PLUGINS([access_smb]) + VLC_ADD_LDFLAGS([access_smb],[-lsmbclient]) ], + [ if test -n "${enable_smb}"; then + AC_MSG_ERROR([cannot find libsmbclient headers]) + fi ]) +fi + dnl dnl libdvbpsi ts demux/mux dnl @@ -1425,8 +1466,11 @@ then if test -z "${with_dvbpsi_tree}" then AC_CHECK_HEADERS(dvbpsi/dr.h, - [ VLC_ADD_PLUGINS([mux_ts ts]) - VLC_ADD_LDFLAGS([mux_ts ts],[-ldvbpsi]) ], + [ VLC_ADD_PLUGINS([ts]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([mux_ts]) + fi + VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ], [ AC_MSG_WARN([cannot find libdvbpsi headers]) ], [#if defined( HAVE_STDINT_H ) # include @@ -1450,9 +1494,12 @@ then then dnl Use a custom libdvbpsi AC_MSG_RESULT(${real_dvbpsi_tree}/src/.libs/libdvbpsi.a) - VLC_ADD_BUILTINS([mux_ts ts]) - VLC_ADD_CPPFLAGS([mux_ts ts],[-I${real_dvbpsi_tree}/src]) - VLC_ADD_LDFLAGS([mux_ts ts],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi]) + VLC_ADD_BUILTINS([ts]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([mux_ts]) + fi + VLC_ADD_CPPFLAGS([mux_ts ts dvb],[-I${real_dvbpsi_tree}/src]) + VLC_ADD_LDFLAGS([mux_ts ts dvb],[-L${real_dvbpsi_tree}/src/.libs -ldvbpsi]) else dnl The given libdvbpsi wasn't built AC_MSG_RESULT(no) @@ -1475,9 +1522,12 @@ then fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" AC_CHECK_HEADERS([dvbpsi/dr.h],[ - VLC_ADD_PLUGINS([mux_ts ts]) - VLC_ADD_CPPFLAGS([mux_ts ts],[${CPPFLAGS_test}]) - VLC_ADD_LDFLAGS([mux_ts ts],[${LDFLAGS_test} -ldvbpsi]) + VLC_ADD_PLUGINS([ts]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([mux_ts]) + fi + VLC_ADD_CPPFLAGS([mux_ts ts dvb],[${CPPFLAGS_test}]) + VLC_ADD_LDFLAGS([mux_ts ts dvb],[${LDFLAGS_test} -ldvbpsi]) ],[ if test -n "${enable_dvbpsi}" @@ -1530,19 +1580,19 @@ AC_ARG_ENABLE(libcdio, AC_ARG_ENABLE(libcddb, [ --enable-libcddb CDDB support for CDDAX (default enabled)]) -dnl AC_ARG_ENABLE(vcdx, -dnl [ --enable-vcdx VCD support with Navigation (default enabled)]) +AC_ARG_ENABLE(vcdx, + [ --enable-vcdx VCD support with Navigation (default disabled)]) AC_ARG_ENABLE(cdda, [ --enable-cdda CDDA plugin support (default enabled)]) AC_ARG_ENABLE(cddax, - [ --enable-cddax CDDAX plugin support (default enabled)]) + [ --enable-cddax CDDA plugin with CD Text and possibly CDDB and paranoia support (default disabled)]) -if test "${enable_cddax}" != "no" +if test "${enable_cddax}" = "yes" then - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.70, - [enable_cddax="no" + PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71, + [ AC_DEFINE(HAVE_CDDAX, [], [Define for the CD-DA plugin using libcdio]) VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_LIBS]) VLC_ADD_CFLAGS([cddax],[$LIBCDIO_CFLAGS]) @@ -1550,8 +1600,12 @@ then [AC_MSG_WARN(libcdio library not found) HAVE_CDDAX=no]) + PKG_CHECK_MODULES(LIBCDIO_PARANOIA, libcdio_paranoia >= 0.72, [ + VLC_ADD_LDFLAGS([cddax],[$LIBCDIO_CDDA_LIBS $LIBCDIO_PARANOIA_LIBS])], + HAVE_CDDAX=no) + if test "$enable_libcddb" != "no"; then - PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.4, [ + PKG_CHECK_MODULES(LIBCDDB, libcddb >= 0.9.5, [ HAVE_LIBCDDB=yes AC_DEFINE(HAVE_LIBCDDB, [], [Define this if you have libcddb installed]) VLC_ADD_LDFLAGS([cddax],[$LIBCDDB_LIBS]) @@ -1561,18 +1615,24 @@ then HAVE_LIBCDDB=no]) fi -dnl if test "${enable_vcdx}" != "no" -dnl then -dnl PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20, -dnl [enable_vcd="no" -dnl AC_DEFINE(HAVE_VCDX, [], -dnl [Define for the VCD plugin using libcdio/libvcdinfo]) -dnl VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS]) -dnl VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) -dnl VLC_ADD_PLUGINS([vcdx])], -dnl [AC_MSG_WARN(vcdinfo library not found) -dnl HAVE_VCDX=no]) -dnl fi +fi + +if test "${enable_vcdx}" = "yes" +then + PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71, + [VLC_ADD_LDFLAGS([vcdx],[$LIBCDIO_LIBS]) + VLC_ADD_CFLAGS([vcdx],[$LIBCDIO_CFLAGS])], + [AC_MSG_WARN(libcdio library not found) + HAVE_VCDX=no]) + + PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21, + [AC_DEFINE(HAVE_VCDX, [], + [Define for the VCD plugin using libcdio/libvcdinfo]) + VLC_ADD_LDFLAGS([vcdx],[$VCDINFO_LIBS]) + VLC_ADD_CFLAGS([vcdx],[$VCDINFO_CFLAGS]) + VLC_ADD_PLUGINS([vcdx])], + [AC_MSG_WARN(vcdinfo library not found) + HAVE_VCDX=no]) fi dnl @@ -1668,6 +1728,8 @@ if test "${enable_screen}" != "no"; then elif test "${SYS}" = "mingw32"; then VLC_ADD_PLUGINS([screen]) VLC_ADD_LDFLAGS([screen],[-lgdi32]) + elif test "${SYS}" = "mingwce"; then + CPPFLAGS="${CPPFLAGS_save}" elif test "${SYS}" = "beos"; then VLC_ADD_PLUGINS([screen]) VLC_ADD_CXXFLAGS([screen],[]) @@ -1686,7 +1748,8 @@ fi dnl dnl ipv6 plugin - not for QNX yet dnl -if test "${SYS}" != "nto" && test "${SYS}" != "mingw32" +if test "${SYS}" != "nto" && + test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" then have_ipv6=false AC_CHECK_FUNCS(inet_pton,[have_ipv6=:],[ @@ -1717,7 +1780,10 @@ if test "${enable_ogg}" != "no" then AC_CHECK_HEADERS(ogg/ogg.h, [ AC_CHECK_LIB( ogg, oggpack_read, [ - VLC_ADD_PLUGINS([ogg mux_ogg]) + VLC_ADD_PLUGINS([ogg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_PLUGINS([mux_ogg]) + fi VLC_ADD_LDFLAGS([ogg mux_ogg],[-logg])]) ],[]) fi @@ -1727,23 +1793,49 @@ dnl matroska demux plugin dnl AC_ARG_ENABLE(mkv, [ --enable-mkv Matroska demux support (default enabled)]) -if test "${enable_mkv}" != "no"; then +if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ebml/EbmlVersion.h, [ - AC_CHECK_HEADERS(matroska/KaxVersion.h, [ - AC_CHECK_HEADERS(matroska/KaxAttachments.h) - VLC_ADD_CXXFLAGS([mkv],[]) - AC_CHECK_LIB(ebml_pic, main, [ - # We have ebml_pic, that's good, we can build an mkv.so plugin ! - VLC_ADD_PLUGINS([mkv]) - VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic]) - ], [ - AC_CHECK_LIB(ebml, main, [ - # We only have libebml, make mkv.a a builtin - VLC_ADD_BUILTINS([mkv]) - VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml]) + AC_MSG_CHECKING(for libebml version >= 0.7.3) + AC_EGREP_CPP(yes, + [#include + #ifdef LIBEBML_VERSION + #if LIBEBML_VERSION >= 0x000703 + yes + #endif + #endif], + [AC_MSG_RESULT([yes]) + AC_CHECK_HEADERS(matroska/KaxVersion.h, [ + AC_MSG_CHECKING(for libmatroska version >= 0.7.5) + AC_EGREP_CPP(yes, + [#include + #ifdef LIBMATROSKA_VERSION + #if LIBMATROSKA_VERSION >= 0x000705 + yes + #endif + #endif], + [AC_MSG_RESULT([yes]) + AC_CHECK_HEADERS(matroska/KaxAttachments.h) + VLC_ADD_CXXFLAGS([mkv],[]) + AC_CHECK_LIB(ebml_pic, main, [ + # We have ebml_pic, that's good, we can build an mkv.so plugin ! + VLC_ADD_PLUGINS([mkv]) + VLC_ADD_LDFLAGS([mkv],[-lmatroska_pic -lebml_pic]) + ], [ + AC_CHECK_LIB(ebml, main, [ + # We only have libebml, make mkv.a a builtin + VLC_ADD_BUILTINS([mkv]) + VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml]) + ]) + ]) + ], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your libmatroska is too old: you may get a more recent one from http://dl.matroska.org/downloads/libmatroska/. Alternatively you can use --disable-mkv to disable the matroska plugin.]) + ]) ]) - ]) + ], + [AC_MSG_RESULT([no]) + AC_MSG_ERROR([Your libebml is too old: you may get a more recent one from http://dl.matroska.org/downloads/libebml/. Alternatively you can use --disable-mkv to disable the matroska plugin.]) ]) ]) AC_LANG_POP(C++) @@ -1858,22 +1950,22 @@ then VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) else AC_ARG_WITH(ffmpeg-mp3lame, - [ --with-ffmpeg-mp3lame if ffmpeg has been compiled with mp3lame support], + [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support], [ VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) ]) AC_ARG_WITH(ffmpeg-faac, - [ --with-ffmpeg-faac if ffmpeg has been compiled with faac support], + [ --with-ffmpeg-faac specify if ffmpeg has been compiled with faac support], [ VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) ]) AC_ARG_WITH(ffmpeg-dts, - [ --with-ffmpeg-dts if ffmpeg has been compiled with dts support], + [ --with-ffmpeg-dts specify if ffmpeg has been compiled with dts support], [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) AC_ARG_WITH(ffmpeg-zlib, - [ --with-ffmpeg-zlib if ffmpeg has been compiled with zlib support], + [ --with-ffmpeg-zlib specify if ffmpeg has been compiled with zlib support], [ VLC_ADD_LDFLAGS([ffmpeg],[-lz]) ]) @@ -2100,59 +2192,6 @@ then fi fi -dnl dnl -dnl dnl xvid decoder plugin -dnl dnl -dnl AC_ARG_ENABLE(xvid, -dnl [ --enable-xvid xvid codec (default disabled)]) -dnl if test "${enable_xvid}" = "yes" -dnl then -dnl AC_ARG_WITH(xvid, -dnl [ --with-xvid=PATH path to xvid installation],[],[]) -dnl if test "${with_xvid}" != "no" -a -n "${with_xvid}" -dnl then -dnl VLC_ADD_CPPFLAGS([xvid],[-I${with_xvid}/include]) -dnl VLC_ADD_LDFLAGS([xvid],[-L${with_xvid}/lib]) -dnl fi -dnl -dnl AC_ARG_WITH(xvid-tree, -dnl [ --with-xvid-tree=PATH xvid tree for static linking]) -dnl if test -n "${with_xvid_tree}" -dnl then -dnl AC_MSG_CHECKING(for libxvidcore.a in ${with_xvid_tree}) -dnl real_xvid_tree="`cd ${with_xvid_tree} 2>/dev/null && pwd`" -dnl if test -z "${real_xvid_tree}" -dnl then -dnl dnl The given directory can't be found -dnl AC_MSG_RESULT(no) -dnl AC_MSG_ERROR([cannot cd to ${with_xvid_tree}]) -dnl fi -dnl if test -f "${real_xvid_tree}/build/generic/libxvidcore.a" -dnl then -dnl dnl Use a custom xvid -dnl AC_MSG_RESULT(${real_xvid_tree}/build/generic/libxvidcore.a) -dnl VLC_ADD_BUILTINS([xvid]) -dnl VLC_ADD_LDFLAGS([xvid],[-L${real_xvid_tree}/build/generic -lxvidcore]) -dnl VLC_ADD_CPPFLAGS([xvid],[-I${real_xvid_tree}/src]) -dnl else -dnl dnl The given libxvidcore wasn't built -dnl AC_MSG_RESULT(no) -dnl AC_MSG_ERROR([cannot find ${real_xvid_tree}/build/generic/libxvidcore.a, make sure you compiled libxvidcore in ${with_xvid_tree}]) -dnl fi -dnl else -dnl CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xvid}" -dnl LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xvid}" -dnl AC_CHECK_HEADERS(xvid.h, , -dnl [ AC_MSG_ERROR([Cannot find development headers for libxvidcore...]) ]) -dnl AC_CHECK_LIB(xvidcore, xvid_init, [ -dnl VLC_ADD_PLUGINS([xvid]) -dnl VLC_ADD_LDFLAGS([xvid],[-lxvidcore]) ], -dnl [ AC_MSG_ERROR([Cannot find libxvidcore library...]) ]) -dnl LDFLAGS="${LDFLAGS_save}" -dnl CPPFLAGS="${CPPFLAGS_save}" -dnl fi -dnl fi - dnl dnl QuickTime plugin dnl @@ -2328,19 +2367,6 @@ if test "${enable_dts}" != "no"; then fi fi -dnl dnl -dnl dnl DV plugin -dnl dnl -dnl AC_ARG_ENABLE(dv, -dnl [ --enable-dv DV decoder support (deprecated in favor of ffmpeg) (default disabled)]) -dnl if test "${enable_dv}" = "yes" -dnl then -dnl AC_CHECK_HEADERS(libdv/dv.h, [ -dnl VLC_ADD_PLUGINS([dv]) -dnl VLC_ADD_LDFLAGS([dv],[-ldv]) -dnl ],[]) -dnl fi - dnl dnl Flac plugin dnl @@ -2442,19 +2468,15 @@ AC_ARG_ENABLE(speex, [ --enable-speex Speex decoder support (default enabled)]) if test "${enable_speex}" != "no" then - AC_CHECK_HEADERS(speex.h, [ - AC_MSG_CHECKING(for libspeex version > 1.1.0) - AC_EGREP_CPP(yes, - [#include - #ifdef SPEEX_SET_SUBMODE_ENCODING - yes - #endif], - [ AC_MSG_RESULT([yes]) - VLC_ADD_PLUGINS([speex]) - VLC_ADD_LDFLAGS([speex],[-lspeex]) ], + AC_CHECK_HEADERS(speex/speex.h, [ + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}" + AC_CHECK_LIB(speex, speex_decode_int, [ + VLC_ADD_PLUGINS([speex]) + VLC_ADD_LDFLAGS([speex],[-lspeex]) ], [ AC_MSG_RESULT([no]) AC_MSG_WARN([Your libspeex is too old, please get the development - version.]) ] ) + version.]) ],[]) + LDFLAGS="${LDFLAGS_save}" ],[]) fi @@ -2502,12 +2524,44 @@ then fi theora_libs="-ltheora -logg" VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[ - AC_MSG_ERROR([libtheora doesn't appear to be installed on you system. + AC_MSG_ERROR([libtheora doesn't appear to be installed on your system. You also need to check that you have a libogg posterior to the 1.0 release.])], [-logg]) ]) fi +dnl +dnl dirac decoder plugin +dnl +AC_ARG_ENABLE(dirac, +[ --enable-dirac experimental dirac codec (default disabled)]) +if test "${enable_dirac}" = "yes"; then + AC_CHECK_HEADERS(libdirac_decoder/dirac_parser.h, [ + AC_CHECK_LIB(dirac_decoder, dirac_decoder_init, [ + VLC_ADD_PLUGINS([dirac]) + VLC_ADD_LDFLAGS([dirac],[-ldirac_decoder -ldirac_encoder -lstdc++]) ],[ + AC_MSG_ERROR([libdirac doesn't appear to be installed on you system.])], + [-lstdc++]) + ]) +fi + +dnl +dnl PNG decoder module +dnl +AC_ARG_ENABLE(png, + [ --enable-png PNG support (default enabled)]) +if test "${enable_png}" != "no"; then +AC_CHECK_HEADERS(png.h, [ + LDFLAGS="${LDFLAGS_save} -lz" + AC_CHECK_LIB(png, png_set_rows, [ + VLC_ADD_LDFLAGS([png],[-lpng -lz]) + VLC_ADD_PLUGINS([png]) + AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])], + [],[-lz]) + LDFLAGS="${LDFLAGS_save}" + ]) +fi + dnl dnl H264 encoder plugin (using libx264) dnl @@ -2515,7 +2569,7 @@ AC_ARG_ENABLE(x264, [ --enable-x264 H264 encoding support with libx264 (default enabled)]) if test "${enable_x264}" != "no"; then AC_ARG_WITH(x264-tree, - [ --with-x264-tree=PATH x264 tree for static linking ],[],[]) + [ --with-x264-tree=PATH x264 tree for static linking ],[],[]) if test "${with_x264_tree}" != "no" -a -n "${with_x264_tree}" then real_x264_tree="`cd ${with_x264_tree} 2>/dev/null && pwd`" @@ -2571,25 +2625,6 @@ then fi -dnl -dnl Video Filters -dnl - -dnl -dnl png -dnl -AC_CHECK_HEADERS(png.h, [ - LDFLAGS="${LDFLAGS_save} -lz" - AC_CHECK_LIB(png, png_set_rows, [ - VLC_ADD_LDFLAGS([logo],[-lpng -lz]) - VLC_ADD_PLUGINS([logo]) - VLC_ADD_LDFLAGS([svcdsub],[-lpng -lz]) - VLC_ADD_LDFLAGS([cvdsub],[-lpng -lz -lm]) - AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])], - [],[-lz]) - ]) - LDFLAGS="${LDFLAGS_save}" - dnl dnl Video plugins dnl @@ -2597,8 +2632,7 @@ dnl AC_ARG_WITH(,[Video plugins:]) dnl Check for DPMS -if test "${SYS}" != "mingw32" -then +if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/extensions/dpms.h, [ AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h) @@ -2622,7 +2656,8 @@ dnl AC_ARG_ENABLE(x11, [ --enable-x11 X11 support (default enabled)]) if test "${enable_x11}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_x11}" = "yes"); then + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_x11}" = "yes"); then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/Xlib.h, [ VLC_ADD_PLUGINS([x11]) @@ -2639,7 +2674,8 @@ dnl AC_ARG_ENABLE(xvideo, [ --enable-xvideo XVideo support (default enabled)]) if test "${enable_xvideo}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_xvideo}" = "yes"); then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/extensions/Xv.h, [ CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext" @@ -2674,7 +2710,8 @@ dnl AC_ARG_ENABLE(glx, [ --enable-glx X11 OpenGL (GLX) support (default enabled)]) if test "${enable_glx}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_glx}" = "yes"); then + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_glx}" = "yes"); then CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" AC_CHECK_HEADERS(X11/Xlib.h, [ AC_CHECK_HEADERS(GL/glx.h, [ @@ -2689,7 +2726,8 @@ dnl dnl Check for the Xinerama extension dnl if test "${enable_xvideo}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_xvideo}" = "yes"); then ac_cv_have_xinerama="no" CPPFLAGS="${CPPFLAGS_save} -I${x_includes}" CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext" @@ -2721,7 +2759,8 @@ dnl (enabled by default except on beos) dnl AC_ARG_ENABLE(opengl, [ --enable-opengl OpenGL support (default enabled)]) -if test "${enable_opengl}" != "no" && test "${SYS}" != "beos"; then +if test "${enable_opengl}" != "no" && + test "${SYS}" != "beos" -a "${SYS}" != "mingwce"; then if test "${SYS}" != "darwin"; then AC_CHECK_HEADERS(GL/gl.h, [ VLC_ADD_PLUGINS([opengl]) @@ -2857,6 +2896,47 @@ from http://www.freetype.org/, or configure with --disable-freetype. Have a nice fi fi +dnl +dnl libxml2 module +dnl +AC_ARG_ENABLE(libxml2, + [ --enable-libxml2 libxml2 support (default enabled)]) +if test "${enable_libxml2}" != "no" +then + XML2_PATH="${PATH}" + AC_ARG_WITH(xml2-config-path, + [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)], + [ if test "${with_xml2_config_path}" != "no"; then + XML2_PATH="${with_xml2_config_path}:${PATH}" + fi ]) + AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH}) + if test "${XML2_CONFIG}" != "no"; then + VLC_ADD_CPPFLAGS([xml],[`${XML2_CONFIG} --cflags`]) + VLC_ADD_LDFLAGS([xml],[`${XML2_CONFIG} --libs`]) + dnl depends on the xmlTextReader extension + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_xml}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_xml}" + AC_CHECK_LIB(xml2,xmlTextReaderConstName,[ + AC_EGREP_HEADER(xmlTextReaderConstName,libxml/xmlreader.h,[ + VLC_ADD_PLUGINS([xml]) ],[ + AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version]) + if test "${enable_xml2}" = "yes"; then + AC_MSG_ERROR([libxml2 missing the xmlTextReader extension]) + fi]) + ],[ + AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version]) + if test "${enable_xml2}" = "yes"; then + AC_MSG_ERROR([libxml2 missing the xmlTextReader extension]) + fi]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS="${CPPFLAGS_save}" + else + if test "${enable_xml2}" = "yes"; then + AC_MSG_ERROR([Could not find libxml2]) + fi + fi +fi + dnl dnl SVG module dnl @@ -2928,9 +3008,9 @@ dnl Roku HD1000 Video output module dnl AC_ARG_ENABLE(hd1000v, [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)]) -if test "${enable_hd1000v}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_hd1000v}" = "yes") -then +if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" && + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_hd1000v}" = "yes"); then AC_LANG_PUSH([C++]) AC_CHECK_HEADERS([cascade/graphics/CascadeScreen.h cascade/graphics/CascadeBitmap.h], [ @@ -2955,7 +3035,7 @@ AC_ARG_ENABLE(directx, [ --enable-directx Win32 DirectX support (default enabled on Win32)]) if test "${enable_directx}" != "no" then - if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin" then AC_ARG_WITH(directx, [ --with-directx=PATH Win32 DirectX headers]) @@ -3103,6 +3183,9 @@ if test "${enable_wingdi}" != "no"; then VLC_ADD_PLUGINS([wingdi]) VLC_ADD_LDFLAGS([wingdi],[-lgdi32]) fi + if test "${SYS}" = "mingwce"; then + VLC_ADD_PLUGINS([wingdi wingapi]) + fi fi dnl @@ -3118,7 +3201,8 @@ AC_ARG_ENABLE(oss, [ --enable-oss Linux OSS /dev/dsp support (enabled on Linux)]) if test "${enable_oss}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_oss}" = "yes") + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_oss}" = "yes") then AC_CHECK_HEADERS(soundcard.h sys/soundcard.h machine/soundcard.h, [ VLC_ADD_PLUGINS([oss]) @@ -3208,6 +3292,9 @@ if test "${enable_waveout}" != "no"; then VLC_ADD_PLUGINS([waveout]) VLC_ADD_LDFLAGS([waveout],[-lwinmm]) fi + if test "${SYS}" = "mingwce"; then + VLC_ADD_PLUGINS([waveout]) + fi fi dnl @@ -3235,8 +3322,9 @@ dnl Roku HD1000 audio dnl AC_ARG_ENABLE(hd1000a, [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)]) -if test "${enable_hd1000a}" != "no" && - (test "${SYS}" != "mingw32" || test "${enable_hd1000a}" = "yes") +if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" && + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_hd1000a}" = "yes") then AC_LANG_PUSH([C++]) AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [ @@ -3262,7 +3350,9 @@ dnl Skins2 module dnl AC_ARG_ENABLE(skins2, [ --enable-skins2 Skins2 interface module (experimental)]) -if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && test "${enable_skins2}" != "no"); then +if test "${enable_skins2}" = "yes" || + (test "${SYS}" != "darwin" && test "${SYS}" != "beos" && + test "${SYS}" != "mingwce" && test "${enable_skins2}" != "no"); then dnl test for the required libraries skins2_missing_lib="no" @@ -3270,7 +3360,7 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS} dnl freetype if test "${FREETYPE_CONFIG}" != "no"; then VLC_ADD_CPPFLAGS([skins2],[`${FREETYPE_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs` -lpng]) + VLC_ADD_LDFLAGS([skins2],[`${FREETYPE_CONFIG} --libs`]) else skins2_missing_lib="yes" if test "${enable_skins2}" = "yes"; then @@ -3278,33 +3368,6 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS} fi fi - dnl libxml2 - XML2_PATH="${PATH}" - AC_ARG_WITH(xml2-config-path, - [ --with-xml2-config-path=PATH xml2-config path (default search in \$PATH)], - [ if test "${with_xml2_config_path}" != "no"; then - XML2_PATH="${with_xml2_config_path}:${PATH}" - fi ]) - AC_PATH_PROG(XML2_CONFIG, xml2-config, no, ${XML2_PATH}) - if test "${XML2_CONFIG}" != "no"; then - VLC_ADD_CPPFLAGS([skins2],[`${XML2_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([skins2],[`${XML2_CONFIG} --libs`]) - dnl skins2 depends on the xmlTextReader extension - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_skins2}" - AC_CHECK_LIB(xml2,xmlTextReaderConstName,[],[ - skins2_missing_lib="yes" - AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version; maybe you are missing libpng.]) - if test "${enable_skins2}" = "yes"; then - AC_MSG_ERROR([libxml2 missing the xmlTextReader extension (required for skins2)]) - fi]) - LDFLAGS="${LDFLAGS_save}" - else - skins2_missing_lib="yes" - if test "${enable_skins2}" = "yes"; then - AC_MSG_ERROR([Could not find libxml2 (required for skins2)]) - fi - fi - if test "${skins2_missing_lib}" = "no" && (test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"); then VLC_ADD_PLUGINS([skins2]) ALIASES="${ALIASES} svlc" @@ -3475,13 +3538,24 @@ then fi ]) # look for wx-config AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH}) - if test "${WX_CONFIG}" != "no" + if test "${WX_CONFIG}" != "no" -a "${CXX}" != "" then if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null then AC_MSG_ERROR([Your development package for wxWindows is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwindows.]) fi AC_LANG_PUSH(C++) + # Turn this error: + # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type + # into a warning. However better would be to fix playlist.cpp + AC_CACHE_CHECK([if \$CXX accepts -fpermissive], + [ac_cv_cxx_fpermissive], + [CXXFLAGS="${CXXFLAGS_save} -fpermissive" + AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes, + ac_cv_cxx_fpermissive=no)]) + if test "${ac_cv_cxx_fpermissive}" = "yes"; then + VLC_ADD_CXXFLAGS([wxwindows],-fpermissive) + fi VLC_ADD_CXXFLAGS([wxwindows],[`${WX_CONFIG} --cxxflags`]) VLC_ADD_LDFLAGS([wxwindows],[`${WX_CONFIG} --libs`]) # now look for the wxprec.h header @@ -3501,6 +3575,15 @@ then fi fi +dnl +dnl WinCE GUI module +dnl +if test "${SYS}" = "mingwce"; then + VLC_ADD_PLUGINS([wince]) + VLC_ADD_CXXFLAGS([wince],[]) + VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell]) +fi + dnl dnl Simple test for skins2 dependency dnl @@ -3736,12 +3819,14 @@ then fi else AC_CHECK_HEADERS(goom/goom.h, [ + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_goom}" AC_CHECK_LIB(goom2, goom_init, [ VLC_ADD_PLUGINS([goom]) VLC_ADD_LDFLAGS([goom],[-lgoom2]) ],[ AC_MSG_ERROR([Could not find goom on your system: you may get it from http://www.ios-software.com/.]) ]) + LDFLAGS="${LDFLAGS_save}" ]) fi fi @@ -3783,6 +3868,20 @@ then fi fi +dnl +dnl DAAP access plugin and services discovery +dnl +AC_ARG_ENABLE(daap, + [ --enable-daap DAAP shares services discovery support (default enabled)]) +if test "$enable_daap" != "no" +then + PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0, + [ VLC_ADD_PLUGINS([daap]) + VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS]) + VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:, + [AC_MSG_WARN(DAAP library not found)]) +fi + dnl dnl Lirc plugin dnl @@ -3837,7 +3936,7 @@ dnl dnl GnuTLS-based TLS/SSL support dnl AC_ARG_WITH(libgnutls-prefix, - [ --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed], + [ --with-libgnutls-prefix=PREFIX set prefix where libgnutls is installed], libgnutls_config_prefix="$withval", libgnutls_config_prefix="") AS_IF([test x$libgnutls_config_prefix != x], @@ -3879,7 +3978,7 @@ dnl We give the user the opportunity to specify dnl --with-words=big or --with-words=little ; otherwise, try to guess dnl AC_ARG_WITH(words, - [ --with-words=endianness set endianness (big or little)]) + [ --with-words=endianness set endianness (big or little)]) case "${with_words}" in big) ac_cv_c_bigendian=yes @@ -3931,6 +4030,33 @@ then AC_DEFINE(WORDS_BIGENDIAN, 1, big endian system) fi +dnl +dnl Microsoft ActiveX support +dnl +activex=false +AC_ARG_ENABLE(activex, + [ --enable-activex build a vlc-based ActiveX control (default enabled on Win32)]) +if test "${enable_activex}" != "no" +then + if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + then + AC_CHECK_PROGS(MIDL, [midl widl], no) + AC_CHECK_HEADERS(ole2.h olectl.h, + [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) + VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) + AC_CHECK_HEADERS(objsafe.h, + VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]) + ) + activex=: + ], + [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] + ) + fi +fi +AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)]) +AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no") +AM_CONDITIONAL(BUILD_ACTIVEX,${activex}) + dnl dnl Mozilla plugin dnl @@ -4108,7 +4234,7 @@ dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2004 VideoLAN", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2005 VideoLAN", [Copyright string]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`" @@ -4161,6 +4287,7 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ Makefile + activex/Makefile debian/Makefile doc/Makefile intl/Makefile @@ -4197,7 +4324,6 @@ AC_CONFIG_FILES([ modules/codec/cmml/Makefile modules/codec/dmo/Makefile modules/codec/ffmpeg/Makefile - modules/codec/ogt/Makefile modules/codec/spudec/Makefile modules/control/Makefile modules/control/corba/Makefile @@ -4219,12 +4345,14 @@ AC_CONFIG_FILES([ modules/gui/qt/Makefile modules/gui/skins2/Makefile modules/gui/wxwindows/Makefile + modules/gui/wince/Makefile modules/misc/Makefile modules/misc/dummy/Makefile modules/misc/memcpy/Makefile modules/misc/network/Makefile modules/misc/testsuite/Makefile modules/misc/playlist/Makefile + modules/misc/xml/Makefile modules/mux/Makefile modules/mux/mpeg/Makefile modules/packetizer/Makefile @@ -4243,11 +4371,14 @@ AC_CONFIG_FILES([ modules/visualization/galaktos/Makefile ]) -AC_CONFIG_FILES([vlc-config], [chmod 0755 vlc-config]) - dnl Generate makefiles AC_OUTPUT +# Cannot use AC_CONFIG_FILES([vlc-config]) as is automatically built, +# not provided with the source +${SHELL} ./config.status --file=vlc-config +chmod 0755 vlc-config + printf " vlc configuration --------------------