X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=fd1864ffecbb7739d235dc94f17b24c2d3a763fd;hb=84d47f6f3d53715b7bd53e69b16fb6d9a043e328;hp=f77ad1a019b7247c926b0380790f38eff1f0c2e3;hpb=9913fe18b59604ffb19a152d411e791920a18348;p=vlc diff --git a/configure.ac b/configure.ac index f77ad1a019..fd1864ffec 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Autoconf settings for vlc dnl $Id$ -AC_INIT(vlc,0.8.2-svn) +AC_INIT(vlc,0.8.2-test2) 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.2-svn) +AM_INIT_AUTOMAKE(vlc,0.8.2-test2) AM_CONFIG_HEADER(config.h) dnl @@ -129,9 +129,9 @@ case "${target_os}" in VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_CFLAGS([libvlc],[-x objective-c]) VLC_ADD_CFLAGS([vlc],[-x objective-c]) - VLC_ADD_LDFLAGS([vlc],[-Wl,-multiply_defined,suppress]) + VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress]) ;; - *mingw32* | *cygwin*) + *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) case "${target_os}" in @@ -147,6 +147,9 @@ case "${target_os}" in #endif], SYS=mingw32, SYS=cygwin) ;; + *wince* | *mingwce* | *pe*) + SYS=mingwce + ;; esac if test "${SYS}" = "mingw32"; then @@ -156,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 @@ -191,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 el" +ALL_LINGUAS="ca da de en_GB es fr it ja nl pt_BR tr zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then @@ -286,6 +297,8 @@ case "${SYS}" in 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]) VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC]) @@ -300,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 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) +AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol strtof strtoll strtoull strsep 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)]) @@ -378,31 +391,21 @@ if test $ac_cv_struct_sockaddr_storage = no; then AC_DEFINE(ss_family, sa_family) fi -dnl getnameinfo, which implies {get,free}addrinfo, but not gai_strerror, -dnl -lws2_32 required with Mingw32, -lresolv NOT needed on Solaris. -dnl AC_SEARCH_LIBS won't work with Mingw32 -AH_TEMPLATE(HAVE_GETNAMEINFO, - [Define to 1 if you have the `getnameinfo' function.]) -ac_func_getnameinfo_save_LIBS=$LIBS -AS_IF([test "${SYS}" = "mingw32"], - [LIBS="-lws2_32 $LIBS"]) - AC_CACHE_CHECK([for getnameinfo], ac_cv_func_getnameinfo, -[AC_LINK_IFELSE([AC_LANG_PROGRAM([ +dnl getaddrinfo, getnameinfo and gai_strerror check +dnl -lresolv is NOT needed on Solaris +dnl we purposedly make the test fail on Windows +AC_CHECK_FUNCS([getaddrinfo getnameinfo gai_strerror]) +AH_TEMPLATE(HAVE_ADDRINFO, [Define to `1' if defines struct addrinfo.]) +AC_CHECK_TYPES([struct addrinfo],[AC_DEFINE(HAVE_ADDRINFO)],, [#include #if defined( UNDER_CE ) # include #elif defined( WIN32 ) # include +# include #else -# include # include -#endif] -], [[getnameinfo(0,0,0,0,0,0,0);]])], -ac_cv_func_getnameinfo=yes, -ac_cv_func_getnameinfo=no)]) -AS_IF([test $ac_cv_func_getnameinfo = yes], - [AC_DEFINE(HAVE_GETNAMEINFO)]) -LIBS=$ac_func_getnameinfo_save_LIBS +#endif]) dnl Check for va_copy AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy, @@ -431,7 +434,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 @@ -444,18 +447,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 goom],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad toolame equalizer vlc freetype],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer vlc freetype],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ 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 @@ -499,6 +502,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) @@ -525,7 +536,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 @@ -618,7 +629,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,[ @@ -631,10 +642,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 @@ -644,7 +655,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) @@ -653,7 +664,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) @@ -666,9 +677,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 @@ -679,12 +690,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_PLUGINS([hal]) - VLC_ADD_LDFLAGS([vlc hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([vlc hal],[$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 @@ -852,7 +869,10 @@ AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error -lcc_dynamic], [CFLAGS="${CFLAGS_save} -bundle -undefined error -lcc_dynamic" AC_TRY_COMPILE([],,ac_cv_ld_darwin=yes, ac_cv_ld_darwin=no)]) if test "${ac_cv_ld_darwin}" != "no"; then - VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error -lcc_dynamic]) + VLC_ADD_LDFLAGS([plugin],[-bundle -undefined error]) + AC_CHECK_LIB(cc_dynamic, main,[ + VLC_ADD_LDFLAGS([plugin],[-lcc_dynamic]) + ]) fi dnl Check for standard plugin linking flags @@ -947,22 +967,32 @@ 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([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 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([image]) -VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag]) -VLC_ADD_PLUGINS([rawvideo blend scale time marq 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([dummy logger memcpy]) +VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flac]) +VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flacdec]) +VLC_ADD_PLUGINS([deinterlace invert adjust transform distort motionblur]) +VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32]) +VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) +VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) +VLC_ADD_PLUGINS([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 ty voc xa nuv]) +VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp]) +VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4]) +VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264]) +VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) + +if test "${SYS}" != "mingwce"; then +dnl VLC_ADD_PLUGINS([externrun]) + VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq sap shout]) + VLC_ADD_PLUGINS([mosaic wall motiondetect clone crop]) + VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) + VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) + VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) + VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer]) + VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format]) +fi dnl dnl Switch to enable a version of VLC where most modules will be builtin @@ -977,11 +1007,13 @@ 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 smb dmo]) +elif test "${SYS}" != "mingwce"; then + VLC_ADD_PLUGINS([ntservice access_smb dmo]) VLC_ADD_LDFLAGS([dmo],[-lole32]) +else + VLC_ADD_PLUGINS([win32text]) fi dnl @@ -1041,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}" @@ -1107,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:]) @@ -1127,20 +1159,31 @@ if test -n "${with_tuning}"; then else if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then CFLAGS_TUNING="-mcpu=pentiumpro" - else - if test "${target_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=750"; fi + elif test "${target_cpu}" = "x86_64"; then + CFLAGS_TUNING="-mtune=opteron" + elif test "${target_cpu}" = "powerpc"; then + CFLAGS_TUNING="-mtune=750"; fi fi dnl dnl x86 accelerations dnl -if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" +if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64" then ARCH="${ARCH} mmx" VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi +dnl +dnl Memory usage +dnl +AC_ARG_ENABLE(optimize-memory, +[ --enable-optimize-memory optimize memory usage over performance]) +if test "${enable_optimize_memory}" = "yes"; then + AC_DEFINE(OPTIMIZE_MEMORY, 1, Define if you want to optimize memory usage over performance) +fi + dnl dnl Enable/disable optimizations dnl @@ -1181,12 +1224,10 @@ if test "${enable_sout}" != "no" then VLC_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http]) VLC_ADD_PLUGINS([mux_ps mux_avi mux_mp4 mux_asf mux_dummy mux_wav mux_mpjpeg]) - VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264]) - VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) VLC_ADD_PLUGINS([packetizer_copy]) VLC_ADD_PLUGINS([stream_out_dummy stream_out_standard stream_out_es stream_out_rtp stream_out_description vod_rtsp]) - VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode]) + VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge]) # VLC_ADD_PLUGINS([stream_out_transrate]) AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support) @@ -1199,6 +1240,7 @@ 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 @@ -1216,8 +1258,33 @@ 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])) + [ --enable-gnutls gnutls TLS/SSL support (default enabled)]) +AS_IF([test "${enable_gnutls}" != "no"], [ + + gcrypt_LIBS="-lgpg-error" + AS_IF([test "${SYS}" = "mingw32"], + [gcrypt_LIBS="${gcrypt_LIBS} -lws2_32" + VLC_ADD_LDFLAGS([gnutls],[-lws2_32])] + ) + + gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}" + + AC_CHECK_HEADER(gcrypt.h, + [AC_CHECK_LIB(gcrypt, gcry_control, + [AC_CHECK_HEADER(gnutls/gnutls.h, + [AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2, + [have_gnutls="yes"],[old_gnutls="yes"], ${gnutls_LIBS})])],, + ${gcrypt_LIBS})]) + + AS_IF([test "${have_gnutls}" = "yes"], [ + VLC_ADD_PLUGINS([gnutls]) + VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}]) + ], [ + AS_IF([test "${enable_gnutls}" = "yes"], [ + AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])] + )] + )] +) dnl @@ -1407,7 +1474,7 @@ 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 @@ -1441,7 +1508,10 @@ then if test -z "${with_dvbpsi_tree}" then AC_CHECK_HEADERS(dvbpsi/dr.h, - [ VLC_ADD_PLUGINS([mux_ts ts]) + [ 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 ) @@ -1466,7 +1536,10 @@ 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_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 @@ -1491,7 +1564,10 @@ then fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_test}" AC_CHECK_HEADERS([dvbpsi/dr.h],[ - VLC_ADD_PLUGINS([mux_ts ts]) + 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]) @@ -1585,12 +1661,18 @@ fi if test "${enable_vcdx}" = "yes" then - PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.71, + PKG_CHECK_MODULES(LIBCDIO, libcdio >= 0.72, [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(LIBCDIO, libiso9660 >= 0.72, + [VLC_ADD_LDFLAGS([vcdx],[$LIBISO9660_LIBS]) + VLC_ADD_CFLAGS([vcdx],[$LIBISO9660_CFLAGS])], + [AC_MSG_WARN(libiso9660 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]) @@ -1643,7 +1725,8 @@ then if test "${SYS}" = "darwin" then VLC_ADD_PLUGINS([vcd cdda]) - VLC_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation]) + VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation]) + VLC_ADD_LDFLAGS([vcdx cddax],[-liconv]) fi fi @@ -1675,7 +1758,12 @@ then fi CPPFLAGS="${CPPFLAGS_save} -I${with_dvb}/include" AC_CHECK_HEADERS(linux/dvb/version.h linux/dvb/frontend.h, [ - VLC_ADD_PLUGINS([dvb]) + if test -z "${with_dvbpsi_tree}" + then + VLC_ADD_PLUGINS([dvb]) + else + VLC_ADD_BUILTINS([dvb]) + fi ],[]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -1694,6 +1782,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],[]) @@ -1712,7 +1802,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=:],[ @@ -1743,7 +1834,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 @@ -1756,20 +1850,49 @@ AC_ARG_ENABLE(mkv, 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],[]) + if test "${SYS}" = "darwin"; then + VLC_ADD_CXXFLAGS([mkv],[-O1]) + fi + 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++) @@ -1880,8 +2003,11 @@ then AC_CHECK_HEADERS(ffmpeg/avcodec.h) AC_CHECK_HEADERS(postproc/postprocess.h) VLC_ADD_PLUGINS([ffmpeg]) - VLC_ADD_CFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --cflags`]) - VLC_ADD_LDFLAGS([ffmpeg],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) + if test "${enable_sout}" != "no"; then + VLC_ADD_PLUGINS([stream_out_switcher]) + fi + VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`]) + VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`]) else AC_ARG_WITH(ffmpeg-mp3lame, [ --with-ffmpeg-mp3lame specify if ffmpeg has been compiled with mp3lame support], @@ -1916,7 +2042,10 @@ then AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) AC_CHECK_LIB(avcodec, avcodec_init, [ VLC_ADD_BUILTINS([ffmpeg]) - VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec])], + VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([stream_out_switcher]) + fi], [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ]) AC_CHECK_LIB(avformat, av_open_input_stream, [ AC_DEFINE(HAVE_LIBAVFORMAT, 1, @@ -1981,13 +2110,16 @@ then fi VLC_ADD_BUILTINS([ffmpeg]) + if test "${enable_sout}" != "no"; then + VLC_ADD_BUILTINS([stream_out_switcher]) + fi VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a]) - VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavcodec]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-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 ${real_ffmpeg_tree}/libavformat/libavformat.a]) - VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) fi fi fi @@ -2030,6 +2162,8 @@ then VLC_ADD_LDFLAGS([ffmpegaltivec],[-L${real_ffmpeg_tree}/libavformat -lavformataltivec -lz]) VLC_ADD_CPPFLAGS([ffmpegaltivec],[-I${real_ffmpeg_tree}/libavformat]) fi + VLC_ADD_LDFLAGS([stream_out_switcher],[-L${real_ffmpeg_tree}/libavcodec]) + VLC_ADD_CPPFLAGS([stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec -I${real_ffmpeg_tree}/libavformat]) fi fi @@ -2082,46 +2216,46 @@ then fi dnl -dnl toolame encoder plugin +dnl twolame encoder plugin dnl -AC_ARG_ENABLE(toolame, -[ --enable-toolame toolame codec (default disabled)]) -if test "${enable_toolame}" = "yes" +AC_ARG_ENABLE(twolame, +[ --enable-twolame twolame codec (default disabled)]) +if test "${enable_twolame}" = "yes" then - AC_ARG_WITH(toolame-tree, - [ --with-toolame-tree=PATH toolame tree for static linking]) - if test -n "${with_toolame_tree}" + AC_ARG_WITH(twolame-tree, + [ --with-twolame-tree=PATH twolame tree for static linking]) + if test -n "${with_twolame_tree}" then - AC_MSG_CHECKING(for libtoolame.a in ${with_toolame_tree}) - real_toolame_tree="`cd ${with_toolame_tree} 2>/dev/null && pwd`" - if test -z "${real_toolame_tree}" + AC_MSG_CHECKING(for libtwolame.a in ${with_twolame_tree}) + real_twolame_tree="`cd ${with_twolame_tree} 2>/dev/null && pwd`" + if test -z "${real_twolame_tree}" then dnl The given directory can't be found AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot cd to ${with_toolame_tree}]) + AC_MSG_ERROR([cannot cd to ${with_twolame_tree}]) fi - if test -f "${real_toolame_tree}/libtoolame/libtoolame.a" + if test -f "${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a" then - dnl Use a custom toolame - AC_MSG_RESULT(${real_toolame_tree}/libtoolame/libtoolame.a) - VLC_ADD_BUILTINS([toolame]) - VLC_ADD_LDFLAGS([toolame],[${real_faad_tree}/libtoolame/libtoolame.a]) - VLC_ADD_CPPFLAGS([toolame],[-I${real_toolame_tree}/libtoolame]) + dnl Use a custom twolame + AC_MSG_RESULT(${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a) + VLC_ADD_BUILTINS([twolame]) + VLC_ADD_LDFLAGS([twolame],[${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a]) + VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame]) else - dnl The given libtoolame wasn't built + dnl The given libtwolame wasn't built AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_toolame_tree}/libtoolame/libtoolame.a, make sure you compiled libtoolame in ${with_toolame_tree}]) + AC_MSG_ERROR([cannot find ${real_twolame_tree}/src/libtwolame/.libs/libtwolame.a, make sure you compiled libtwolame in ${with_twolame_tree}]) fi else - CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_toolame}" - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}" - AC_CHECK_HEADERS(toolame.h, , - [ AC_MSG_ERROR([Cannot find development header for libtoolame...]) ]) - AC_CHECK_LIB(toolame, toolame_init, [ - VLC_ADD_PLUGINS([toolame]) - VLC_ADD_LDFLAGS([toolame],[-ltoolame]) ], - [ AC_MSG_ERROR([Cannot find libtoolame library...]) ]) - LDFLAGS="${LDFLAGS_save}" + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_twolame}" + AC_CHECK_HEADERS(twolame.h, , + [ AC_MSG_ERROR([Cannot find development header for libtwolame...]) ]) + AC_CHECK_LIB(twolame, twolame_init, [ + VLC_ADD_PLUGINS([twolame]) + VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ], + [ AC_MSG_ERROR([Cannot find libtwolame library...]) ]) + LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" fi fi @@ -2234,6 +2368,11 @@ then fi fi +AC_ARG_WITH(a52-fixed, + [ --with-a52-fixed specify if liba52 has been compiled with fixed point support], + [ + VLC_ADD_CPPFLAGS([a52tofloat32],[-DLIBA52_FIXED]) ]) + dnl dnl DTS Coherent Acoustics decoder plugin dnl @@ -2309,7 +2448,6 @@ AC_ARG_ENABLE(flac, if test "${enable_flac}" = "yes" then AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ - VLC_ADD_PLUGINS([flac flacdec]) VLC_ADD_LDFLAGS([flacdec],[-lFLAC]) ],[]) fi @@ -2337,7 +2475,7 @@ then then dnl Use a custom libmpeg2 AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a) - VLC_ADD_PLUGINS([libmpeg2]) + VLC_ADD_BUILTINS([libmpeg2]) VLC_ADD_LDFLAGS([libmpeg2],[-L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2]) VLC_ADD_CFLAGS([libmpeg2],[-I${real_libmpeg2_tree}/include]) eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`" @@ -2403,7 +2541,7 @@ AC_ARG_ENABLE(speex, if test "${enable_speex}" != "no" then AC_CHECK_HEADERS(speex/speex.h, [ - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_toolame}" + LDFLAGS="${LDFLAGS_save} ${LDFLAGS_speex}" AC_CHECK_LIB(speex, speex_decode_int, [ VLC_ADD_PLUGINS([speex]) VLC_ADD_LDFLAGS([speex],[-lspeex]) ], @@ -2566,8 +2704,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) @@ -2591,7 +2728,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]) @@ -2608,7 +2746,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" @@ -2643,7 +2782,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, [ @@ -2658,7 +2798,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" @@ -2690,7 +2831,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]) @@ -2821,7 +2963,9 @@ from http://www.freetype.org/, or configure with --disable-freetype. Have a nice if test "${FRIBIDI_CONFIG}" != "no" then VLC_ADD_CFLAGS([freetype], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) + VLC_ADD_CPPFLAGS([skins2], [`${FRIBIDI_CONFIG} --cflags` -DHAVE_FRIBIDI]) VLC_ADD_LDFLAGS([freetype], [`${FRIBIDI_CONFIG} --libs`]) + VLC_ADD_LDFLAGS([skins2], [`${FRIBIDI_CONFIG} --libs`]) fi fi fi @@ -2939,8 +3083,8 @@ dnl AC_ARG_ENABLE(hd1000v, [ --enable-hd1000v HD1000 Video Output module (default enabled on HD1000)]) if test "${enable_hd1000v}" != "no" -a "${CXX}" != "" && - (test "${SYS}" != "mingw32" || test "${enable_hd1000v}" = "yes") -then + (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], [ @@ -2965,7 +3109,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]) @@ -3113,6 +3257,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 @@ -3128,7 +3275,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]) @@ -3188,25 +3336,25 @@ dnl dnl ALSA module dnl AC_ARG_ENABLE(alsa, - [ --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" - then - AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API - #define ALSA_PCM_NEW_SW_PARAMS_API - #include ], - [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }], - AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4)) - VLC_ADD_PLUGINS([alsa]) - VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl]) - else - if test "${enable_alsa}" = "yes"; then - AC_MSG_ERROR([Could not find ALSA development headers]) - fi - fi - fi]) + [ --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" + then + AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API + #define ALSA_PCM_NEW_SW_PARAMS_API + #include ], + [void foo() { snd_pcm_hw_params_get_period_time(0,0,0); }], + AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4)) + VLC_ADD_PLUGINS([alsa]) + VLC_ADD_LDFLAGS([alsa],[-lasound -lm -ldl]) + else + if test "${enable_alsa}" = "yes"; then + AC_MSG_ERROR([Could not find ALSA development headers]) + fi + fi +fi dnl dnl win32 waveOut plugin @@ -3218,6 +3366,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 @@ -3229,14 +3380,8 @@ if test "${enable_coreaudio}" != "no" && (test "${SYS}" = "darwin" || test "${enable_coreaudio}" = "yes") then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, - [ VLC_ADD_BUILTINS([coreaudio]) - VLC_ADD_LDFLAGS([coreaudio],[-framework CoreAudio]) - AC_MSG_CHECKING(for kAudioConverterPrimeMethod in AudioToolbox/AudioConverter.h) - AC_EGREP_HEADER(kAudioConverterPrimeMethod,AudioToolbox/AudioConverter.h,[ - AC_MSG_RESULT(yes) - VLC_ADD_PLUGINS([coreaudio_resampler]) - VLC_ADD_LDFLAGS([coreaudio_resampler],[-framework AudioToolbox]) - ],[ AC_MSG_RESULT(no) ]) + [ VLC_ADD_BUILTINS([coreaudio auhal]) + VLC_ADD_LDFLAGS([coreaudio auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox]) ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi @@ -3246,7 +3391,8 @@ dnl AC_ARG_ENABLE(hd1000a, [ --enable-hd1000a HD1000 audio module (default enabled on HD1000)]) if test "${enable_hd1000a}" != "no" -a "${CXX}" != "" && - (test "${SYS}" != "mingw32" || test "${enable_hd1000a}" = "yes") + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_hd1000a}" = "yes") then AC_LANG_PUSH([C++]) AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [ @@ -3272,7 +3418,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" @@ -3456,8 +3604,15 @@ then then WXWINDOWS_PATH="${with_wx_config_path}:${PATH}" fi ]) + WXWINDOWS_NAME="wx-config" + AC_ARG_WITH(wx-config, + [ --with-wx-config=NAME wx-config name (default is wx-config)], + [ if test "${with_wx_config}" != "no" + then + WXWINDOWS_NAME="${with_wx_config}" + fi ]) # look for wx-config - AC_PATH_PROG(WX_CONFIG, wx-config, no, ${WXWINDOWS_PATH}) + AC_PATH_PROG(WX_CONFIG, ${WXWINDOWS_NAME}, no, ${WXWINDOWS_PATH}) if test "${WX_CONFIG}" != "no" -a "${CXX}" != "" then if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null @@ -3495,6 +3650,22 @@ 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],[\\\${top_builddir}modules/gui/wince/wince_rc.o]) +elif test "${SYS}" = "mingw32"; then + VLC_ADD_CXXFLAGS([wince],[]) + VLC_ADD_LDFLAGS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32]) + dnl Gross hack + VLC_ADD_LDFLAGS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o]) +fi + dnl dnl Simple test for skins2 dependency dnl @@ -3843,45 +4014,6 @@ 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 @@ -3951,10 +4083,10 @@ if test "${enable_activex}" != "no" then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" then - AC_CHECK_PROG(MIDL, midl, :) + 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]) + VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) AC_CHECK_HEADERS(objsafe.h, VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]) ) @@ -3965,7 +4097,7 @@ then fi fi AC_ARG_VAR(MIDL, [Microsoft IDL compiler (Win32 platform only)]) -AM_CONDITIONAL(HAS_MIDL_COMPILER, test -n "${MIDL}") +AM_CONDITIONAL(HAS_MIDL_COMPILER, test "${MIDL}" != "no") AM_CONDITIONAL(BUILD_ACTIVEX,${activex}) dnl @@ -4025,6 +4157,12 @@ dnl Not necessarily in ${PATH} if test -z "${XPIDL}" -o ! -x "${XPIDL}"; then XPIDL="/usr/lib/mozilla/xpidl" fi +AS_IF([test "${MOZILLA_CONFIG}"], [ + if test -z "${XPIDL_INCL}"; then + XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \ + `${MOZILLA_CONFIG} --idlflags plugin xpcom java` " + fi +]) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) dnl @@ -4118,6 +4256,7 @@ fi dnl Export automake variables if ${plugin_support} then + AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins) for plugin in `echo ${PLUGINS}` do eval "${plugin}_p=yes" @@ -4224,6 +4363,7 @@ AC_CONFIG_FILES([ modules/access/vcd/Makefile modules/access/vcdx/Makefile modules/access/screen/Makefile + modules/access_filter/Makefile modules/access_output/Makefile modules/audio_filter/Makefile modules/audio_filter/channel_mixer/Makefile @@ -4282,11 +4422,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 --------------------