X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=5ac96fd2fe07e95cfcaa3babe5ef53a7951b30e8;hb=b7f7f1f3a572ad85ad76d540e5849ab68a96e25a;hp=f049827026b49c776c0497702556060abfd230fb;hpb=7269a868eec20e0db90a4436980961198cd88bcd;p=vlc diff --git a/configure.ac b/configure.ac index f049827026..5ac96fd2fe 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Autoconf settings for vlc dnl $Id$ -AC_INIT(vlc,0.8.0-test1) +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.0-test1) +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="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 isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf) +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 @@ -676,11 +700,18 @@ if test "${x_libraries}" = "NONE"; then fi dnl Check for hal -PKG_CHECK_MODULES(HAL, hal >= 0.2.97, - [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) - VLC_ADD_LDFLAGS([vlc],[$HAL_LIBS]) - VLC_ADD_CFLAGS([vlc],[$HAL_CFLAGS])], - [AC_MSG_WARN(HAL library not found)]) +AC_ARG_ENABLE(hal, + [ --enable-hal Linux HAL services discovery (default enabled)]) + +if test "${enable_hal}" != "no" +then + PKG_CHECK_MODULES(HAL, hal >= 0.2.97, + [AC_DEFINE(HAVE_HAL, [], [Define if you have the HAL library]) + VLC_ADD_PLUGINS([hal]) + VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([vlc hal],[$HAL_CFLAGS])], + [AC_MSG_WARN(HAL library not found)]) +fi dnl Build the gtk_main plugins? NEED_GTK_MAIN=no @@ -943,21 +974,27 @@ test "${enable_cprof}" != "yes" && enable_cprof="no" dnl dnl default modules dnl -VLC_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys netsync]) -VLC_ADD_PLUGINS([mpgv mpga m4v h264 ps pva avi asf aac mp4 rawdv nsv real aiff mjpeg demuxdump]) +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 transform distort clone crop motionblur]) 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 headphone_channel_mixer]) +VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) +VLC_ADD_PLUGINS([trivial_channel_mixer simple_channel_mixer]) 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([m3u id3 playlist export sgimb]) -VLC_ADD_PLUGINS([rawvideo blend scale time]) +VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag]) +VLC_ADD_PLUGINS([i420_rgb 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([gestures rc telnet hotkeys netsync showintf time marq sap]) + VLC_ADD_PLUGINS([picture mosaic wall motiondetect]) + VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) + VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) + VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer]) +fi dnl dnl Switch to enable a version of VLC where most modules will be builtin @@ -972,11 +1009,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 access_smb dmo]) VLC_ADD_LDFLAGS([dmo],[-lole32]) fi @@ -1037,7 +1073,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}" @@ -1103,7 +1139,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:]) @@ -1185,9 +1221,37 @@ then VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode]) # VLC_ADD_PLUGINS([stream_out_transrate]) - dnl Ogg and vorbis are handled in their respective section + AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support) fi +dnl +dnl HTTP daemon +dnl +AC_ARG_ENABLE(httpd, + [ --enable-httpd HTTP daemon (default enabled)]) +if test "${enable_httpd}" != "no" +then + VLC_ADD_PLUGINS([http]) + AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support) +fi + +dnl +dnl VideoLAN manager +dnl +AC_ARG_ENABLE(vlm, + [ --enable-vlm VideoLAN manager (default enabled)]) +if test "${enable_vlm}" != "no" +then + AC_DEFINE(ENABLE_VLM, 1, Define if you want the VideoLAN manager support) +fi + +dnl +dnl TLS/SSL +dnl +AC_ARG_ENABLE(gnutls, + [ --enable-gnutls gnutls TLS/SSL support (default disabled)]) +AS_IF([test "${enable_gnutls}" == "yes"], VLC_ADD_PLUGINS([gnutls])) + dnl dnl Input plugins @@ -1195,7 +1259,6 @@ dnl AC_ARG_WITH(,[Input plugins:]) -dnl dnl live.com input dnl AC_ARG_ENABLE(livedotcom, @@ -1207,7 +1270,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" @@ -1276,7 +1339,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]) @@ -1377,10 +1440,24 @@ then AC_CHECK_HEADERS(dshow.h, [ VLC_ADD_PLUGINS([dshow]) VLC_ADD_CXXFLAGS([dshow],[]) - VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32]) ]) + VLC_ADD_LDFLAGS([dshow],[-lole32 -loleaut32 -luuid]) ]) 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 @@ -1397,8 +1474,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 @@ -1422,9 +1502,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) @@ -1447,9 +1530,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_PLUGINS([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}" @@ -1502,19 +1588,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]) @@ -1522,8 +1608,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]) @@ -1533,18 +1623,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 @@ -1630,7 +1726,7 @@ dnl dnl Screen capture module dnl AC_ARG_ENABLE(screen, - [ --enable-screen Screen capture support (default enabled)]) + [ --enable-screen Screen capture support (default enabled)]) if test "${enable_screen}" != "no"; then if test "${SYS}" = "darwin"; then AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ @@ -1640,6 +1736,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],[]) @@ -1658,7 +1756,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=:],[ @@ -1689,7 +1788,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 @@ -1699,23 +1801,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++) @@ -1830,22 +1958,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]) ]) @@ -1867,7 +1995,7 @@ then AC_CHECK_LIB(avformat, av_open_input_stream, [ AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ]) + VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi @@ -1895,13 +2023,44 @@ then fi dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) + + if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_zlib}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lz]) + fi + fi + if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_mp3lame}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) + fi + fi + if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_faac}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) + fi + fi + if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then + if test "${with_ffmpeg_dts}" != "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) + fi + fi + if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc]) + fi + if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lfaad]) + fi + if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore]) + fi + VLC_ADD_BUILTINS([ffmpeg]) - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec -lavcodec]) - VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat]) + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a]) + VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec]) if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then AC_DEFINE(HAVE_LIBAVFORMAT, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz]) + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat]) fi fi @@ -2000,7 +2159,7 @@ dnl dnl toolame encoder plugin dnl AC_ARG_ENABLE(toolame, -[ --enable-toolame toolame codec (default disabled)]) +[ --enable-toolame toolame codec (default disabled)]) if test "${enable_toolame}" = "yes" then AC_ARG_WITH(toolame-tree, @@ -2041,59 +2200,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 @@ -2120,7 +2226,7 @@ AC_CHECK_HEADERS(zlib.h, [ ] ) AC_CHECK_HEADERS(sysfs/libsysfs.h, [ - VLC_ADD_LDFLAGS([mp4],[-lsysfs]) + VLC_ADD_LDFLAGS([mp4 mkv],[-lsysfs]) ] ) dnl @@ -2269,19 +2375,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 @@ -2383,19 +2476,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 @@ -2443,12 +2532,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 @@ -2456,7 +2577,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`" @@ -2512,25 +2633,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 @@ -2538,8 +2640,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) @@ -2563,7 +2664,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]) @@ -2580,7 +2682,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" @@ -2615,7 +2718,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, [ @@ -2630,7 +2734,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" @@ -2661,8 +2766,9 @@ dnl OpenGL module 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 + [ --enable-opengl OpenGL support (default enabled)]) +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]) @@ -2798,6 +2904,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 @@ -2869,9 +3016,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], [ @@ -2896,7 +3043,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]) @@ -3044,6 +3191,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 @@ -3059,7 +3209,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]) @@ -3083,6 +3234,22 @@ AC_ARG_ENABLE(esd, fi fi]) +dnl +dnl Portaudio module +dnl +AC_ARG_ENABLE(portaudio, + [ --enable-portaudio Portaudio library support (default disabled)], + [if test "${enable_portaudio}" = "yes" + then + VLC_ADD_PLUGINS([portaudio]) + VLC_ADD_CXXFLAGS([portaudio],[]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LDFLAGS([portaudio],[-lportaudio -lwinmm -lole32]) + else + VLC_ADD_LDFLAGS([portaudio],[-lportaudio]) + fi + fi]) + dnl dnl aRts module dnl @@ -3103,8 +3270,8 @@ dnl dnl ALSA module dnl AC_ARG_ENABLE(alsa, - [ --enable-alsa ALSA sound support for Linux (default disabled)], - [if test "${enable_alsa}" = "yes" + [ --enable-alsa ALSA sound support for Linux (default enabled)], + [if test "${enable_alsa}" != "no" then AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_alsa="true", have_alsa="false"),have_alsa="false") if test "${have_alsa}" = "true" @@ -3117,7 +3284,9 @@ AC_ARG_ENABLE(alsa, VLC_ADD_PLUGINS([alsa]) VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl]) else - AC_MSG_ERROR([Could not find ALSA development headers]) + if test "${enable_alsa}" = "yes"; then + AC_MSG_ERROR([Could not find ALSA development headers]) + fi fi fi]) @@ -3131,6 +3300,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 @@ -3158,8 +3330,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, [ @@ -3185,7 +3358,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" @@ -3193,7 +3368,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 @@ -3201,33 +3376,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" @@ -3398,13 +3546,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 @@ -3424,6 +3583,28 @@ then fi fi +dnl +dnl WinCE GUI module +dnl +if test "${SYS}" = "mingwce"; then + VLC_ADD_BUILTINS([wince]) + VLC_ADD_CXXFLAGS([wince],[]) + VLC_ADD_LDFLAGS([wince],[-lcommctrl -lcommdlg -laygshell]) + dnl Gross hack + VLC_ADD_LDFLAGS([wince],[modules/gui/wince/wince_rc.o]) +fi + +dnl +dnl Simple test for skins2 dependency +dnl +if test "${enable_skins2}" != "no" +then + if test "${WX_CONFIG}" = "no" + then + AC_MSG_ERROR([The skins2 module depends on the wxWindows development package. Without it you won't be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the wxWindows development package or alternatively you can also configure with: --disable-wxwindows --disable-skins2.]) + fi +fi + dnl dnl dnl dnl Qt module dnl dnl @@ -3648,12 +3829,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 @@ -3695,6 +3878,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 @@ -3745,6 +3942,45 @@ AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true") AC_ARG_WITH(,[Misc options:]) +dnl +dnl GnuTLS-based TLS/SSL support +dnl +AC_ARG_WITH(libgnutls-prefix, + [ --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], + AS_IF([test x${LIBGNUTLS_CONFIG+set} != xset], + LIBGNUTLS_CONFIG=$libgnutls_config_prefix/bin/libgnutls-config + ) +) + +if test "x$enable_gnutls" == "xyes"; then + AC_PATH_PROG(LIBGNUTLS_CONFIG, libgnutls-config, no) + no_libgnutls="" + + AC_MSG_CHECKING(for libgnutls - version >= 1.0.0) + AS_IF([test "$LIBGNUTLS_CONFIG" = "no"], + no_libgnutls=yes + , + LIBGNUTLS_CFLAGS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --cflags` + LIBGNUTLS_LIBS=`$LIBGNUTLS_CONFIG $libgnutls_config_args --libs` + libgnutls_config_version=`$LIBGNUTLS_CONFIG $libgnutls_config_args --version` + ) + + AS_IF([test "x$no_libgnutls" = x], + AC_MSG_RESULT(yes) + VLC_ADD_CFLAGS([gnutls], [$LIBGNUTLS_CFLAGS]) + VLC_ADD_LDFLAGS([gnutls], [$LIBGNUTLS_LIBS]) + AC_DEFINE(HAVE_GNUTLS, 1, Define to 1 if you have libgnutls) + , + AC_MSG_RESULT(no) + LIBGNUTLS_CFLAGS="" + LIBGNUTLS_LIBS="" + AC_MSG_ERROR(gnutls TLS/SSL support cannot be compiled) + ) +fi + dnl dnl Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling dnl @@ -3752,7 +3988,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 @@ -3804,6 +4040,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 @@ -3981,7 +4244,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/.-+/___/'`" @@ -4034,6 +4297,7 @@ VLC_OUTPUT_VLC_CONFIG_IN AC_CONFIG_FILES([ Makefile + activex/Makefile debian/Makefile doc/Makefile intl/Makefile @@ -4070,8 +4334,6 @@ AC_CONFIG_FILES([ modules/codec/cmml/Makefile modules/codec/dmo/Makefile modules/codec/ffmpeg/Makefile - modules/codec/ffmpeg/postprocessing/Makefile - modules/codec/ogt/Makefile modules/codec/spudec/Makefile modules/control/Makefile modules/control/corba/Makefile @@ -4093,15 +4355,18 @@ 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 + modules/services_discovery/Makefile modules/stream_out/Makefile modules/stream_out/transrate/Makefile modules/video_chroma/Makefile @@ -4116,11 +4381,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 --------------------