X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=20e6eec3730b4fa9284be2a63ccc7caed0001728;hb=7521e4259c3d6d8befa97eabcc6f7b6d3505f141;hp=860c459ab1c8b850b07fd6278e38a59481a4d00d;hpb=1227d46e2e899fdfcbfdd42812374171f137adc8;p=vlc diff --git a/configure.ac b/configure.ac index 860c459ab1..20e6eec373 100644 --- a/configure.ac +++ b/configure.ac @@ -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 el" +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], @@ -283,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,7 +316,7 @@ 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) 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,7 +457,7 @@ 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]) @@ -452,7 +468,7 @@ AC_CHECK_LIB(m,pow,[ 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 @@ -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,12 +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_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 @@ -944,22 +974,28 @@ 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 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([deinterlace invert adjust transform distort clone crop motionblur]) +VLC_ADD_PLUGINS([fixed32tofloat32 fixed32tos16 s16tofixed32 u8tofixed32]) +VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) +VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) VLC_ADD_PLUGINS([id3 playlist export sgimb m3u xtag]) -VLC_ADD_PLUGINS([rawvideo blend scale time marq logo]) +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_directory access_file access_udp access_tcp]) +VLC_ADD_PLUGINS([access_http access_mms 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([float32_mixer spdif_mixer simple_channel_mixer]) + VLC_ADD_PLUGINS([headphone_channel_mixer normvol equalizer]) + VLC_ADD_PLUGINS([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 @@ -974,10 +1010,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 smb dmo]) +elif test "${SYS}" != "mingwce"; then + VLC_ADD_PLUGINS([ntservice access_smb dmo]) VLC_ADD_LDFLAGS([dmo],[-lole32]) fi @@ -1038,7 +1074,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 +1140,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:]) @@ -1138,6 +1174,15 @@ then 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 @@ -1196,6 +1241,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 @@ -1213,8 +1259,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 ${gcrypt_LIBS}" + + AC_CHECK_HEADER(gcrypt.h, + [AC_CHECK_LIB(gcrypt, gcry_control, + [AC_CHECK_HEADER(gnutls/gnutls.h, + [AC_CHECK_LIB(gnutls, gnutls_deinit, + [have_gnutls="yes"],, ${gnutls_LIBS})])],, + ${gcrypt_LIBS})]) + + AS_IF([test "${have_gnutls}" = "yes"], [ + VLC_ADD_PLUGINS([gnutls]) + VLC_ADD_LDFLAGS([gnutls], [-lgnutls -lgcrypt -lgpg-error]) + ], [ + AS_IF([test "${enable_gnutls}" = "yes"], [ + AC_MSG_ERROR([gnutls/gcrypt TLS/SSL support cannot be compiled])] + )] + )] +) dnl @@ -1234,7 +1305,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" @@ -1404,7 +1475,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 @@ -1438,7 +1509,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 ) @@ -1463,7 +1537,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 @@ -1488,7 +1565,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]) @@ -1691,6 +1771,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],[]) @@ -1709,7 +1791,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=:],[ @@ -1740,7 +1823,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 @@ -1750,23 +1836,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++) @@ -2563,8 +2675,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) @@ -2588,7 +2699,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]) @@ -2605,7 +2717,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" @@ -2640,7 +2753,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, [ @@ -2655,7 +2769,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" @@ -2687,7 +2802,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]) @@ -2935,9 +3051,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], [ @@ -2962,7 +3078,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]) @@ -3110,6 +3226,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 @@ -3125,7 +3244,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]) @@ -3215,6 +3335,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 @@ -3242,8 +3365,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, [ @@ -3269,7 +3393,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" @@ -3455,7 +3581,7 @@ 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 @@ -3492,6 +3618,17 @@ 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 @@ -3840,45 +3977,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 @@ -3948,10 +4046,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]) ) @@ -3962,7 +4060,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 @@ -4279,11 +4377,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 --------------------