X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=1e3a725d41cdd1105e9faca2b112352934e84b6c;hb=16093d941c54bf45a447e1157c96eb0c61813687;hp=e4616cfbe94bebf0fabd322673909780a7c96dfa;hpb=5c2c5848c7b2112d96689f28ff33546f1cb48a10;p=vlc diff --git a/configure.ac b/configure.ac index e4616cfbe9..1e3a725d41 100644 --- a/configure.ac +++ b/configure.ac @@ -6,13 +6,14 @@ VERSION_MINOR="9" VERSION_REVISION="0" VERSION_EXTRA="svn" -CONFIGURE_LINE="$0 $*" +CONFIGURE_LINE="$0 $ac_configure_args" CODENAME="Grishenko" AC_PREREQ(2.59) AC_CONFIG_SRCDIR(src/libvlc.c) AC_CONFIG_AUX_DIR(autotools) -AC_CANONICAL_SYSTEM +AC_CANONICAL_BUILD +AC_CANONICAL_HOST AM_INIT_AUTOMAKE([1.7 check-news dist-bzip2]) AM_CONFIG_HEADER(config.h) @@ -54,6 +55,7 @@ AC_CHECK_TOOL(RANLIB, ranlib, :) AC_CHECK_TOOL(STRIP, strip, :) AC_CHECK_TOOL(AR, ar, :) AC_CHECK_TOOL(LD, ld, :) +AC_CHECK_TOOL(DLLTOOL, dlltool, :) dnl Check for compiler properties AC_C_CONST @@ -139,7 +141,7 @@ LDFLAGS_vlc="${LDFLAGS}" dnl dnl Check the operating system dnl -case "${target_os}" in +case "${host_os}" in "") SYS=unknown ;; @@ -152,9 +154,9 @@ case "${target_os}" in VLC_ADD_LDFLAGS([dvd dvdcss vcd cdda vcdx cddax],[-ldvd]) ;; *bsd*) - SYS="${target_os}" + SYS="${host_os}" CFLAGS_save="${CFLAGS_save} -pthread"; CFLAGS="${CFLAGS_save}" - case "${target_os}" in + case "${host_os}" in freebsd*) CPPFLAGS_save="${CPPFLAGS_save} -I/usr/local/include" CPPFLAGS="${CPPFLAGS_save}" @@ -188,7 +190,7 @@ case "${target_os}" in AC_CHECK_TOOL(WINDRES, windres, :) enable_libtool="no" - case "${target_os}" in + case "${host_os}" in *mingw32*) SYS=mingw32 ;; @@ -243,7 +245,7 @@ case "${target_os}" in VLC_ADD_LDFLAGS([beos],[-lbe -lmedia -ltranslation -ltracker -lgame]) VLC_ADD_LDFLAGS([dvdnav dvdread],[-ldl]) VLC_ADD_LDFLAGS([access_file],[-lpoll]) - LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${CFLAGS_save}" + LDFLAGS_save="${LDFLAGS_save} -lintl"; LDFLAGS="${LDFLAGS_save}" dnl Check for BONE if test -f /boot/beos/system/lib/libbind.so; then VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lbind -lsocket]) @@ -257,7 +259,7 @@ case "${target_os}" in fi ;; *) - SYS="${target_os}" + SYS="${host_os}" ;; esac AM_CONDITIONAL(HAVE_BEOS, test "${SYS}" = "beos") @@ -273,6 +275,8 @@ dnl AC_DISABLE_STATIC AC_LIBTOOL_DLOPEN dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far +m4_undefine([AC_PROG_F77]) +m4_defun([AC_PROG_F77],[]) AC_PROG_LIBTOOL AC_ARG_ENABLE(libtool, @@ -297,7 +301,7 @@ fi dnl dnl Gettext stuff dnl -ALL_LINGUAS="ca cs da de en_GB es fr gl he hi hu it ja ka ko nl oc pt_BR ro ru sv tr zh_CN zh_TW" +ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fr fur gl he hi hu it ja ka ko lt lv ms my nb ne nl nn no oc pa pl ps pt_BR pt_PT ro ru sk sl sq sv tet th tl tr zh_CN zh_TW" AM_GNU_GETTEXT_VERSION(0.11.5) AM_GNU_GETTEXT AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ @@ -561,13 +565,13 @@ AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_TYPE_SIGNAL AC_CHECK_LIB(m,cos,[ - VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual],[-lm]) + VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc freetype mpc dmo quicktime realaudio galaktos],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq vlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex],[-lm]) + VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ VLC_ADD_LDFLAGS([mosaic],[-lm]) @@ -772,6 +776,7 @@ fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" AC_HEADER_TIME +AC_CHECK_TYPE(ssize_t, int) AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])]) dnl Check for dirent @@ -879,97 +884,28 @@ AC_CACHE_CHECK([for ntohl in sys/param.h], [ac_cv_c_ntohl_sys_param_h], [CFLAGS="${CFLAGS_save} -Wall -Werror" AC_TRY_COMPILE([#include ], - [void foo() { int meuh; ntohl(meuh); }], + [int meuh; ntohl(meuh);], ac_cv_c_ntohl_sys_param_h=yes, ac_cv_c_ntohl_sys_param_h=no)]) if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then AC_DEFINE(NTOHL_IN_SYS_PARAM_H, 1, Define if defines ntohl.) fi +CFLAGS="${CFLAGS_save}" -# XXX: do this with an M4 macro? -#dnl Check for various -W flags -#for flag in "" all unreachable-code conversion sign-compare disabled-optimization -#do -# AC_CACHE_CHECK([if \$CC accepts -W${flag}], -# [ac_cv_c_W${flag}], -# [CFLAGS="-W${flag} ${CFLAGS_save}" -# AC_TRY_COMPILE([],,ac_cv_c_W${flag}=yes, ac_cv_c_W${flag}=no)]) -# if test "${ac_cv_c_W${flag}}" != "no"; then -# CFLAGS_save="-W${flag} ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" -# CXXFLAGS_save="-W${flag} ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" -# OBJCFLAGS_save="-W${flag} ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" -# fi -#done - -AC_CACHE_CHECK([if $CC accepts -Wall], - [ac_cv_c_Wall], - [CFLAGS="-Wall ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wall=yes, ac_cv_c_Wall=no)]) - -AC_CACHE_CHECK([if $CC accepts -Wextra], - [ac_cv_c_Wextra], - [CFLAGS="-Werror ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wextra=yes, ac_cv_c_Wextra=no)]) - -AC_CACHE_CHECK([if $CC accepts -Wno-unused-parameter], - [ac_cv_c_Wno_unused_parameter], - [CFLAGS="-Werror ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wno_unused_parameter=yes, ac_cv_c_Wno_unused_parameter=no)]) - -AC_CACHE_CHECK([if $CC accepts -Wconversion], - [ac_cv_c_Wconversion], - [CFLAGS="-Wconversion ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wconversion=yes, ac_cv_c_Wconversion=no)]) - -AC_CACHE_CHECK([if $CC accepts -Wunreachable-code], - [ac_cv_c_Wunreachable_code], - [CFLAGS="-Wunreachable-code ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wunreachable_code=yes, ac_cv_c_Wunreachable_code=no)]) - -AC_CACHE_CHECK([if $CC accepts -Wsign-compare], - [ac_cv_c_Wsign_compare], - [CFLAGS="-Wsign-compare ${CFLAGS_save}" - AC_TRY_COMPILE([],,ac_cv_c_Wsign_compare=yes, ac_cv_c_Wsign_compare=no)]) - -if test "${ac_cv_c_Wall}" != "no"; then - CFLAGS_save="-Wall ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-Wall ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" -fi - -if test "${ac_cv_c_Wextra}" != "no"; then - CFLAGS_save="-Wextra ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-Wextra ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="-Wextra ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" -fi - -if test "${ac_cv_c_Wno_unused_parameter}" != "no"; then - CFLAGS_save="${CFLAGS_save} -Wno-unused-parameter"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CFLAGS_save} -Wno-unused-parameter"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -Wno-unused-parameter "; OBJCFLAGS="${OBJCFLAGS_save}" -fi - -if test "${ac_cv_c_Wsign_compare}" != "no"; then - CFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="-Wsign-compare ${CFLAGS_save}"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="-Wsign-compare ${OBJCFLAGS_save}"; OBJCFLAGS="${OBJCFLAGS_save}" -fi - -dnl Check for -pipe -AC_CACHE_CHECK([if \$CC accepts -pipe], - [ac_cv_c_pipe], - [CFLAGS="${CFLAGS_save} -pipe" - AC_TRY_COMPILE([],,ac_cv_c_pipe=yes, ac_cv_c_pipe=no)]) -if test "${ac_cv_c_pipe}" != "no"; then - CFLAGS_save="${CFLAGS_save} -pipe"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -pipe"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -pipe"; OBJCFLAGS="${OBJCFLAGS_save}" -fi +RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes packed volatile-register-var]) +RDC_PROG_CC_FLAGS_IFELSE([-pipe]) + +dnl This helps detect broken plugins with undefined symbols +dnl Better fail loudly at build-time than silenty at run-time. +RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ + VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) +]) dnl Check for various optimization flags AC_CACHE_CHECK([if \$CC accepts -Os], [ac_cv_c_os], [CFLAGS="${CFLAGS_save} -Os" AC_TRY_COMPILE([],,ac_cv_c_os=yes, ac_cv_c_os=no)]) -if test "${ac_cv_c_os}" != "no" -a "${target_cpu}" = "mipsel"; then +if test "${ac_cv_c_os}" != "no" -a "${host_cpu}" = "mipsel"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os" fi @@ -977,7 +913,7 @@ AC_CACHE_CHECK([if \$CC accepts -O3], [ac_cv_c_o3], [CFLAGS="${CFLAGS_save} -O3" AC_TRY_COMPILE([],,ac_cv_c_o3=yes, ac_cv_c_o3=no)]) -if test "${ac_cv_c_o3}" != "no" -a "${target_cpu}" != "mipsel"; then +if test "${ac_cv_c_o3}" != "no" -a "${host_cpu}" != "mipsel"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3" fi @@ -985,7 +921,7 @@ AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [CFLAGS="${CFLAGS_save} -O2" AC_TRY_COMPILE([],,ac_cv_c_o2=yes, ac_cv_c_o2=no)]) -if test "${ac_cv_c_o2}" != "no" -a "${target_cpu}" != "mipsel"; then +if test "${ac_cv_c_o2}" != "no" -a "${host_cpu}" != "mipsel"; then if test "${ac_cv_c_o3}" = "no"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2" fi @@ -995,7 +931,7 @@ else [ac_cv_c_o], [CFLAGS="${CFLAGS_save} -O" AC_TRY_COMPILE([],,ac_cv_c_o=yes, ac_cv_c_o=no)]) - if test "${ac_cv_c_o}" != "no" -a "${target_cpu}" != "mipsel"; then + if test "${ac_cv_c_o}" != "no" -a "${host_cpu}" != "mipsel"; then if test "${ac_cv_c_o3}" = "no"; then CFLAGS_OPTIM="${CFLAGS_OPTIM} -O" fi @@ -1057,17 +993,19 @@ fi dnl Check for standard plugin linking flags dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning) -if test "${SYS}" = "beos"; then - VLC_ADD_LDFLAGS([plugin mozilla],[-nostart]) -else - AC_CACHE_CHECK([if \$CC accepts -shared], - [ac_cv_ld_plugins], - [CFLAGS="${CFLAGS_save} -shared" - AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) - if test "${ac_cv_ld_plugins}" != "no"; then - VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) - fi -fi +AS_IF([test "${enable_libtool}" = "no"], [ + AS_IF([test "${SYS}" = "beos"], [ + VLC_ADD_LDFLAGS([plugin mozilla],[-nostart]) + ], [ + AC_CACHE_CHECK([if \$CC accepts -shared], + [ac_cv_ld_plugins], + [CFLAGS="${CFLAGS_save} -shared" + AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) + AS_IF([test "${ac_cv_ld_plugins}" != "no"], [ + VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) + ]) + ]) +]) dnl Check for variadic macros AC_CACHE_CHECK([for variadic cpp macros], @@ -1125,12 +1063,12 @@ fi dnl dnl Check the CPU dnl -case "${target_cpu}" in +case "${host_cpu}" in "") ARCH=unknown ;; *) - ARCH="${target_cpu}" + ARCH="${host_cpu}" ;; esac @@ -1148,14 +1086,14 @@ dnl dnl default modules dnl 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 wave ripple psychedelic gradient motionblur rv32]) +VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 ps pva avi asf mp4 rawdv nsv real aiff mjpeg demuxdump flacsys tta]) +VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac]) +VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise]) VLC_ADD_PLUGINS([fixed32tos16 s16tofixed32 u8tofixed32 mono]) VLC_ADD_PLUGINS([trivial_resampler ugly_resampler]) VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer]) VLC_ADD_PLUGINS([playlist export sgimb nsc xtag]) -VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify]) +VLC_ADD_PLUGINS([i420_rgb rawvideo blend scale image logo magnify puzzle colorthres]) 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]) @@ -1164,9 +1102,8 @@ 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 podcast shout sap fake]) + VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump]) + VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf marq podcast shout sap fake folder]) VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop]) VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) @@ -1316,12 +1253,12 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C extensions], [ac_cv_c_altivec], [# OS X/PPC test (gcc 4.x) CFLAGS="${CFLAGS_save} -mpim-altivec -force_cpusubtype_ALL" - AC_TRY_COMPILE([], + AC_TRY_COMPILE([vector unsigned char foo;], [vec_ld(0, (unsigned char *)0);], [ac_cv_c_altivec="-mpim-altivec -force_cpusubtype_ALL"], [# OS X/PPC test (gcc 3.x) CFLAGS="${CFLAGS_save} -faltivec" - AC_TRY_COMPILE([], + AC_TRY_COMPILE([vector unsigned char foo;], [vec_ld(1 * sizeof(vector float), (unsigned char *)0);], [ac_cv_c_altivec="-faltivec"], dnl Below this are the Linux tests @@ -1390,11 +1327,13 @@ if test -n "${with_tuning}"; then CFLAGS_TUNING="-mtune=${with_tuning}" fi else - if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "i486" -o "${target_cpu}" = "i386"; then + if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then + CFLAGS_TUNING="-march=pentium-m -mtune=prescott" + elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then CFLAGS_TUNING="-mtune=pentium2" - elif test "${target_cpu}" = "x86_64"; then + elif test "${host_cpu}" = "x86_64"; then CFLAGS_TUNING="-mtune=athlon64" - elif test "${target_cpu}" = "powerpc"; then + elif test "${host_cpu}" = "powerpc"; then CFLAGS_TUNING="-mtune=G4"; fi fi @@ -1418,7 +1357,7 @@ AS_IF([test "${CFLAGS_TUNING}"], dnl dnl x86 accelerations dnl -if test "${target_cpu}" = "i686" -o "${target_cpu}" = "i586" -o "${target_cpu}" = "x86" -o "${target_cpu}" = "i386" -o "${target_cpu}" = "x86_64" +if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64" then ARCH="${ARCH} mmx" VLC_ADD_BUILTINS([${ACCEL_MODULES}]) @@ -1447,7 +1386,7 @@ AC_ARG_ENABLE(altivec, [ --disable-altivec disable AltiVec optimizations (default enabled on PPC)], [ if test "${enable_altivec}" = "yes"; then ARCH="${ARCH} altivec"; VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ], -[ if test "${target_cpu}" = "powerpc"; then ARCH="${ARCH} altivec"; +[ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec"; VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ]) dnl @@ -1488,7 +1427,7 @@ then 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 stream_out_bridge stream_out_mosaic_bridge]) + VLC_ADD_PLUGINS([stream_out_duplicate stream_out_gather stream_out_display stream_out_transcode stream_out_bridge stream_out_mosaic_bridge stream_out_autodel]) # VLC_ADD_PLUGINS([stream_out_transrate]) VLC_ADD_PLUGINS([profile_parser]) @@ -1547,7 +1486,7 @@ dnl AC_ARG_ENABLE(notify, [ --enable-notify libnotify notification plugin (default enabled)]) -AS_IF([test "${enable_notify}" != "no"], [ +AS_IF([test "${enable_notify}" != "no" -a "${SYS}" != "mingw32"], [ PKG_CHECK_MODULES(NOTIFY, libnotify, [ VLC_ADD_PLUGINS([notify]) @@ -1564,11 +1503,39 @@ dnl Audioscrobbler plugin dnl AC_ARG_ENABLE(audioscrobbler, - [ --enable-audioscrobbler Last.fm submission plugin (default enabled)]) -AS_IF([test "${enable_audioscrobbler}" != "no"], [ + [ --enable-audioscrobbler Last.fm submission plugin (default disabled)]) +AS_IF([test "${enable_audioscrobbler}" = "yes"], [ VLC_ADD_PLUGINS([audioscrobbler]) ]) +dnl +dnl Musicbrainz plugin +dnl +AC_ARG_ENABLE(musicbrainz, + [ --enable-musicbrainz MusicBrainz support (default disabled) ]) + AS_IF([test "${enable_musicbrainz}" = "yes"],[ + PKG_CHECK_MODULES(MUSICBRAINZ, libmusicbrainz, + [ VLC_ADD_PLUGINS([musicbrainz]) + VLC_ADD_LDFLAGS([musicbrainz],[$MUSICBRAINZ_LIBS]) + VLC_ADD_CFLAGS([musicbrainz],[$MUSICBRAINZ_CFLAGS]) ], + [AC_MSG_WARN(MusicBrainz library not found)]) + ]) + + +dnl +dnl Taglibplugin +dnl +AC_ARG_ENABLE(taglib, + [ --enable-taglib Taglib support (default disabled) ]) + AS_IF([test "${enable_taglib}" = "yes"],[ + PKG_CHECK_MODULES(TAGLIB, taglib, + [ VLC_ADD_PLUGINS([taglib]) + VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS]) + VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], + [AC_MSG_WARN(TagLib library not found)]) + ]) + + dnl dnl Input plugins dnl @@ -1582,13 +1549,13 @@ then AC_MSG_WARN(--{en|dis}able-livedotcom is deprecated. Use --{en|dis}able-live555 instead.) fi -if test "${enable_livedotcom}" = "yes" +if test "${enable_livedotcom}" = "no" then - enable_live555="yes" + enable_live555="no" fi AC_ARG_ENABLE(live555, -[ --enable-live555 live555 RTSP input plugin (default disabled)]) -if test "${enable_live555}" = "yes"; then +[ --enable-live555 live555 RTSP input plugin (default enabled)]) +if test "${enable_live555}" != "no"; then AC_ARG_WITH(live555-tree, [ --with-live555-tree=PATH live.com tree for static linking]) @@ -1661,8 +1628,10 @@ if test "${enable_live555}" = "yes"; then fi else dnl The given live555 wasn't built - AC_MSG_RESULT(no) - AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}]) + AC_MSG_RESULT(no) + if test "${enable_live555}" = "yes"; then + AC_MSG_ERROR([cannot find ${real_live555_tree}/liveMedia/libliveMedia.a, make sure you compiled live555 in ${with_live555_tree}]) + fi fi fi fi @@ -2487,8 +2456,8 @@ then dnl Use a custom mod AC_MSG_RESULT(${real_mod_tree}/src/.libs/libmodplug.a) VLC_ADD_PLUGINS([mod]) - VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a]) - VLC_ADD_CFLAGS([mod],[-I${real_mod_tree}/include]) + VLC_ADD_LDFLAGS([mod],[${real_mod_tree}/src/.libs/libmodplug.a -lstdc++]) + VLC_ADD_CXXFLAGS([mod],[-I${real_mod_tree}/include]) else dnl The given mod wasn't built AC_MSG_RESULT(no) @@ -2498,7 +2467,7 @@ then AC_CHECK_HEADERS(libmodplug/modplug.h, [ VLC_ADD_PLUGINS([mod]) VLC_ADD_CXXFLAGS([mod],[]) - VLC_ADD_LDFLAGS([mod],[-lmodplug])]) + VLC_ADD_LDFLAGS([mod],[-lmodplug -lstdc++])]) fi fi @@ -2790,10 +2759,10 @@ dnl Look for a ffmpeg-config (we are on debian ) AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH}) if test "${FFMPEG_CONFIG}" != "no" then - AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) AC_CHECK_HEADERS(ffmpeg/avformat.h) AC_CHECK_HEADERS(ffmpeg/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h) + AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) VLC_ADD_PLUGINS([ffmpeg]) if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then VLC_ADD_PLUGINS([stream_out_switcher]) @@ -2806,10 +2775,10 @@ dnl Look for a ffmpeg-config (we are on debian ) dnl Trying with pkg-config PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], [ - AC_CHECK_HEADERS(ffmpeg/avcodec.h) + AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] ) AC_CHECK_HEADERS(ffmpeg/avformat.h) AC_CHECK_HEADERS(ffmpeg/avutil.h) - AC_CHECK_HEADERS(postproc/postprocess.h) + AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) if test "${SYS}" = "darwin"; then VLC_ADD_BUILTINS([ffmpeg]) else @@ -2844,9 +2813,6 @@ dnl Trying with pkg-config VLC_ADD_LDFLAGS([ffmpeg],[-lavutil]) LDAVUTIL="-lavutil"]) - AC_CHECK_LIB(postproc, pp_postprocess, [ - VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])]) - AC_CHECK_LIB(avcodec, avcodec_init, [ VLC_ADD_BUILTINS([ffmpeg]) VLC_ADD_LDFLAGS([ffmpeg],[-lavcodec]) @@ -2856,6 +2822,11 @@ dnl Trying with pkg-config [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (svn version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ], [$LDAVUTIL]) + AC_CHECK_LIB(postproc, pp_postprocess, [ + VLC_ADD_LDFLAGS([ffmpeg],[-lpostproc])], + AC_MSG_ERROR([Could not find libpostproc inside FFmpeg. You should configure FFmpeg with --enable-gpl --enable-pp.]), + [$LDAVUTIL]) + AC_CHECK_LIB(avformat, av_open_input_stream, [ VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" @@ -3119,7 +3090,9 @@ then VLC_ADD_CPPFLAGS([a52tofloat32],[${CPPFLAGS_test}]) ],[ AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) - ]) + ]) + ],[ + AC_MSG_ERROR([Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.]) ]) CPPFLAGS="${CPPFLAGS_save}" LDFLAGS="${LDFLAGS_save}" @@ -3158,7 +3131,7 @@ if test "${enable_dts}" != "no"; then LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" AC_CHECK_LIB(dts_pic, dts_free, [ VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic]) + VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) ],[ AC_CHECK_LIB(dts, dts_free, [ VLC_ADD_BUILTINS([dtstofloat32]) @@ -3171,7 +3144,7 @@ if test "${enable_dts}" != "no"; then AC_MSG_ERROR([the specified tree hasn't been compiled]) fi ]) - ]) + ], [-lm]) LDFLAGS="${LDFLAGS_save}" else AC_MSG_RESULT(no) @@ -3182,7 +3155,7 @@ if test "${enable_dts}" != "no"; then AC_CHECK_HEADERS(dts.h, [ AC_CHECK_LIB(dts_pic, dts_free, [ VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic]) + VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) ],[ AC_CHECK_LIB(dts, dts_free, [ VLC_ADD_BUILTINS([dtstofloat32]) @@ -3192,7 +3165,7 @@ if test "${enable_dts}" != "no"; then AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html]) fi ]) - ]) + ], [-lm]) ]) LDFLAGS="${LDFLAGS_save}" fi @@ -3202,7 +3175,7 @@ dnl dnl Flac plugin dnl AC_ARG_ENABLE(flac, - [ --enable-flac flac decoder support (default disabled)]) + [ --enable-flac libflac decoder/encoder support (default disabled)]) if test "${enable_flac}" = "yes" then AC_ARG_WITH(flac-tree, @@ -3221,8 +3194,8 @@ then then dnl Use a custom flac AC_MSG_RESULT(${real_flac_tree}/src/libFLAC/.libs/libFLAC.a) - VLC_ADD_LDFLAGS([flacdec],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a]) - VLC_ADD_CFLAGS([flacdec],[-I${real_flac_tree}/include]) + VLC_ADD_LDFLAGS([flac],[${real_flac_tree}/src/libFLAC/.libs/libFLAC.a]) + VLC_ADD_CFLAGS([flac],[-I${real_flac_tree}/include]) AC_DEFINE(HAVE_FLAC_STREAM_DECODER_H, 1, [Define if you have FLAC]) else dnl The given flac wasn't built @@ -3231,7 +3204,7 @@ then fi else AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ - VLC_ADD_LDFLAGS([flacdec],[-lFLAC]) + VLC_ADD_LDFLAGS([flac],[-lFLAC]) ],[]) fi fi @@ -3323,10 +3296,10 @@ then else AC_CHECK_HEADERS(vorbis/codec.h, [ VLC_ADD_PLUGINS([vorbis]) - VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg]) ],[]) + VLC_ADD_LDFLAGS([vorbis],[-lvorbis -logg -lm]) ],[]) AC_CHECK_HEADERS(vorbis/vorbisenc.h, [ - VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc]) ],[]) + VLC_ADD_LDFLAGS([vorbis],[-lvorbisenc -lm]) ],[]) fi fi @@ -3564,9 +3537,9 @@ if test "${enable_x11}" != "no" && test "${enable_x11}" = "yes"); then CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}" AC_CHECK_HEADERS(X11/Xlib.h, [ - VLC_ADD_PLUGINS([x11]) - VLC_ADD_LDFLAGS([x11],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext]) - VLC_ADD_CPPFLAGS([x11],[${X_CFLAGS}]) + VLC_ADD_PLUGINS([x11 panoramix]) + VLC_ADD_LDFLAGS([x11 panoramix],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext]) + VLC_ADD_CPPFLAGS([x11 panoramix],[${X_CFLAGS}]) ]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -3621,7 +3594,25 @@ if test "${enable_glx}" != "no" && VLC_ADD_PLUGINS([glx]) VLC_ADD_LDFLAGS([glx],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext -lGL -lGLU]) VLC_ADD_CPPFLAGS([glx],[${X_CFLAGS}]) - ]) + ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])]) + CPPFLAGS="${CPPFLAGS_save}" +fi + +dnl +dnl XVMC module +dnl (enabled by default except on win32) +dnl +AC_ARG_ENABLE(xvmc, + [ --enable-xvmc XVMC support (default disabled)]) +if test "${enable_xvmc}" = "yes" && + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_xvmc}" = "yes"); then + CPPFLAGS="${CPPFLAGS_save} ${X_FLAGS}" + AC_CHECK_HEADERS(X11/extensions/vldXvMC.h, [ + VLC_ADD_PLUGINS([xvmc]) + VLC_ADD_LDFLAGS([xvmc],[${X_LIBS} ${X_PRE_LIBS} -lX11 -lXext]) + VLC_ADD_CPPFLAGS([xvmc],[${X_CFLAGS}]) + ]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -4002,6 +3993,12 @@ fi dnl dnl Windows DirectX module dnl + +if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce" -o "${SYS}" = "cygwin" +then + VLC_ADD_PLUGINS([panoramix]) +fi + AC_ARG_ENABLE(directx, [ --enable-directx Win32 DirectX support (default enabled on Win32)]) if test "${enable_directx}" != "no" @@ -4290,7 +4287,7 @@ 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); }], + [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]) @@ -4443,7 +4440,7 @@ AS_IF([test "x${enable_upnp}" != "xno"], [ AC_MSG_ERROR([cannot find Intel UPnP SDK (libupnp)]) ]) AS_IF([test "${has_upnp}" = "yes"], [ - VLC_ADD_LDFLAGS([upnp_intel], [-lupnp]) + VLC_ADD_LDFLAGS([upnp_intel], [-lupnp -lixml]) ]) ], [ has_upnp="no" @@ -4677,9 +4674,9 @@ then AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH}) if test "${WX_CONFIG}" != "no" -a "${CXX}" != "" then - if expr 2.3.0 \> `${WX_CONFIG} --version` >/dev/null + if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null || expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null then - AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) + AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) fi AC_LANG_PUSH(C++) # Turn this error: @@ -4695,6 +4692,18 @@ then fi VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`]) VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`]) + # check if we must link against gtk2 libs + # if __WXGTK20__ && __WXGTK__ are defined + # for modules/gui/wxwidgets/video.cpp + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ +#include +#ifdef __WXGTK20__ +#error ok, we need to link against gtk2 +#endif + ])],[WXGTK=no],[WXGTK=yes]) + if test "$WXGTK" = "yes"; then + ${PKG_CONFIG} --exists gtk+-2.0 && VLC_ADD_LDFLAGS([wxwidgets],[`$PKG_CONFIG --libs gtk+-2.0`]) + fi if ${WX_CONFIG} --unicode then # wxwidgets should provide the following flags but does not @@ -4732,6 +4741,8 @@ then CPPFLAGS="${CPPFLAGS_save}" AC_LANG_POP(C++) fi + dnl WxWidgets plugin will yield incorrect code without this + VLC_ADD_CXXFLAGS([wxwidgets], [-fno-strict-aliasing]) fi dnl @@ -4931,7 +4942,7 @@ then AC_CHECK_LIB(xosd,xosd_set_horizontal_offset, AC_DEFINE(HAVE_XOSD_VERSION_2, 1, Define if is 2.0.x), AC_TRY_COMPILE([#include ], - [void foo() { xosd_init("foo","bar",12,XOSD_top,2,12,42); }],, + [xosd_init("foo","bar",12,XOSD_top,2,12,42);],, AC_DEFINE(HAVE_XOSD_VERSION_0, 1, Define if is pre-1.0.0)))) if test "${have_xosd}" = "true" then @@ -5069,30 +5080,6 @@ then fi -dnl -dnl corba (ORBit) plugin -dnl -dnl Default: do not enable corba -enablecorba=false -AC_ARG_ENABLE(corba, - [ --enable-corba corba interface support (default disabled)]) -if test "${enable_corba}" = "yes"; then - GLIB_VERSION=2.3.2 - PKG_CHECK_MODULES(CORBA, - ORBit-2.0 >= 2.8.0 \ - glib-2.0 >= $GLIB_VERSION \ - gobject-2.0 >= $GLIB_VERSION \ - gthread-2.0 >= $GLIB_VERSION, - [ - enablecorba=true - VLC_ADD_LDFLAGS([corba],[$CORBA_LIBS]) - VLC_ADD_CFLAGS([corba],[$CORBA_CFLAGS]) - VLC_ADD_PLUGINS([corba snapshot]) ], - [ enablecorba=false - AC_MSG_WARN(corba library not found) ]) -fi -AM_CONDITIONAL(ENABLE_CORBA, test "$enablecorba" = "true") - AC_ARG_WITH(,[Misc options:]) dnl @@ -5113,6 +5100,9 @@ AS_IF([test "${enable_gnutls}" != "no"], [ AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)]) ]) ]) + AC_CHECK_LIB([gcrypt], [gcry_control], [ + VLC_ADD_LDFLAGS([gnutls], [-lgcrypt]) + ]) ]) @@ -5183,13 +5173,13 @@ AC_ARG_ENABLE(loader, [ --enable-loader build DLL loader for ELF i386 platforms (default disabled)]) AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], - [ VLC_ADD_PLUGINS([dmo quicktime]) + [ VLC_ADD_PLUGINS([dmo]) VLC_ADD_CPPFLAGS([dmo],[-I../../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la]) + VLC_ADD_LDFLAGS([dmo],[../../../loader/libloader.la -lpthread]) VLC_ADD_CPPFLAGS([quicktime],[-I../../@top_srcdir@/loader]) - VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la]) + VLC_ADD_LDFLAGS([quicktime],[../../loader/libloader.la -lpthread]) VLC_ADD_CPPFLAGS([realaudio],[-I../../@top_srcdir@/loader -DLOADER]) - VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la]) + VLC_ADD_LDFLAGS([realaudio],[../../loader/libloader.la -ldl -lpthread]) ]) dnl @@ -5209,6 +5199,8 @@ then then WINE_SDK_PATH=${with_wine_sdk_path} AC_PATH_PROG(WIDL, widl, no, [$WINE_SDK_PATH/bin:$WINE_SDK_PATH/tools/widl]) + else + WIDL=no fi AC_LANG_PUSH(C++) AC_CHECK_HEADERS(ole2.h olectl.h, @@ -5241,12 +5233,12 @@ AC_ARG_ENABLE(mozilla, [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)]) AC_ARG_WITH(mozilla-sdk-path, [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) - +AC_LANG_PUSH(C++) if test "${enable_mozilla}" = "yes" then dnl currently vlc plugin only needs headers, no xpcom support apis are actually used need_xpcom_libs=false - if test "${with_mozilla_sdk_path}" = "" + if test "${with_mozilla_sdk_path}" = "" -o "${with_mozilla_sdk_path}" = "no" then AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) if test "${MOZILLA_CONFIG}" = "no" @@ -5289,17 +5281,21 @@ then VLC_ADD_LDFLAGS([mozilla],[`${MOZILLA_CONFIG} --libs plugin`]) fi CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mozilla}" - AC_CHECK_HEADERS(mozilla-config.h) + MOZILLA_REQUIRED_HEADERS=1 + AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0) + AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) + AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, + [#if HAVE_NPAPI_H + # include + #endif + ]) + if test "${MOZILLA_REQUIRED_HEADERS}" = "0" + then + AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) + fi + MOZILLA_REQUIRED_HEADERS= CPPFLAGS="${CPPFLAGS_save}" MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`" - XPIDL_INCL="`${MOZILLA_CONFIG} --cflags plugin xpcom java` \ - `${MOZILLA_CONFIG} --idlflags plugin xpcom java` " - if ${have_xul} - then - xpidl_path="`${MOZILLA_CONFIG} --prefix`/lib/xulrunner" - else - xpidl_path="`${MOZILLA_CONFIG} --prefix`/bin" - fi dnl End of moz_sdk = "" else dnl special case for mingw32 @@ -5314,48 +5310,49 @@ then real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include" - AC_CHECK_HEADERS(mozilla-config.h, [ - mozilla=: - VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) - if ${need_xpcom_libs}; then - VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue]) - if test "${SYS}" = "mingw32"; then - dnl latest gecko sdk does not have embedstring - if test -d "${real_mozilla_sdk}/embedstring/bin" - then - VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at]) - fi - fi - fi - - MOZILLA_SDK_PATH="${real_mozilla_sdk}" - XPIDL_INCL="-I${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl" - xpidl_path="${real_mozilla_sdk}${mozilla_sdk_xpcom}/bin" + MOZILLA_REQUIRED_HEADERS=1 + AC_CHECK_HEADERS(mozilla-config.h,,MOZILLA_REQUIRED_HEADERS=0) + AC_CHECK_HEADERS(npapi.h,,MOZILLA_REQUIRED_HEADERS=0) + AC_CHECK_HEADERS(npruntime.h,,MOZILLA_REQUIRED_HEADERS=0, + [#if HAVE_NPAPI_H + #include + #endif + ]) + if test "${MOZILLA_REQUIRED_HEADERS}" = "0" + then + AC_MSG_ERROR([Please install the Mozilla development tools, required headers were not found.]) + fi + MOZILLA_REQUIRED_HEADERS= + mozilla=: + VLC_ADD_CPPFLAGS([mozilla],[-DXPCOM_GLUE -DHAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include -I${real_mozilla_sdk}/embedstring/include -I${real_mozilla_sdk}/xpcom/include -I${real_mozilla_sdk}/nspr/include -I${real_mozilla_sdk}/string/include -I${real_mozilla_sdk}/plugin/include -I${real_mozilla_sdk}/java/include]) + if ${need_xpcom_libs}; then + VLC_ADD_LDFLAGS([mozilla],[-L${real_mozilla_sdk}/embedstring/bin -L${real_mozilla_sdk}/xpcom/bin -L${real_mozilla_sdk}/nspr/bin -L${real_mozilla_sdk}/string/bin -L${real_mozilla_sdk}/lib -lnspr4 -lplds4 -lplc4 -lxpcomglue]) + if test "${SYS}" = "mingw32"; then + dnl latest gecko sdk does not have embedstring + if test -d "${real_mozilla_sdk}/embedstring/bin" + then + VLC_ADD_LDFLAGS([mozilla],[-lembedstring -Wl,--kill-at]) + fi + fi + fi + MOZILLA_SDK_PATH="${real_mozilla_sdk}" - if test -n "${CYGPATH}"; then - real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" - XPIDL_INCL="${XPIDL_INCL} -I\"${real_mozilla_sdk}${mozilla_sdk_xpcom}/idl\"" - fi ]) + if test -n "${CYGPATH}"; then + real_mozilla_sdk="`${CYGPATH} -w ${real_mozilla_sdk}`" + fi CPPFLAGS="${CPPFLAGS_save}" fi - - if test "${enable_mozilla}" != "false" - then - AC_PATH_PROG(XPIDL, xpidl, no, ${xpidl_path}:/usr/lib/mozilla:/usr/lib64/mozilla:/usr/lib/xulrunner:/usr/lib64/xulrunner) - if test "${XPIDL}" = "no"; then - AC_MSG_ERROR([Please install the Mozilla development tools, xpidl was not found.]) - fi - fi fi +AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) dnl dnl Mediacontrol Python bindings dnl -AC_ARG_ENABLE(mediacontrol-python-bindings, - [ --enable-mediacontrol-python-bindings Enable Python bindings for MediaControl (default disabled)]) +AC_ARG_ENABLE(python-bindings, + [ --enable-python-bindings Enable Python bindings (default disabled)]) dnl TODO: look for python dev headers -AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_mediacontrol_python_bindings}" = "yes"]) +AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"]) dnl dnl Java bindings @@ -5469,29 +5466,12 @@ then plugin_support=false fi -dnl Export automake variables -if ${plugin_support} -then +AS_IF([${plugin_support}], [ AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins) - for plugin in `echo ${PLUGINS}` - do - eval "${plugin}_p=yes" - done -else +], [ VLC_ADD_BUILTINS([${PLUGINS}]) PLUGINS="" -fi -AM_CONDITIONAL(HAVE_PLUGINS, ${plugin_support}) - -[if echo "${BUILTINS}" | grep '[^ ]' >/dev/null 2>&1 -then - builtin_support=: - for builtin in `echo ${BUILTINS}` - do - eval "${builtin}_b=yes" - done -fi] -AM_CONDITIONAL(HAVE_BUILTINS, ${builtin_support}) +]) dnl dnl Pic and shared libvlc stuff @@ -5500,10 +5480,14 @@ AS_IF([test "x${enable_shared_libvlc}" = "x"], [enable_shared_libvlc=no]) AM_CONDITIONAL(BUILD_SHARED, [test "${enable_shared_libvlc}" != "no"]) AS_IF([test "${enable_shared_libvlc}" != "no" || test "${enable_libtool}" != "no"], [ AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.]) - FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll"], - FILE_LIBVLC_DLL="" ) + FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" + VLC_ADD_PLUGINS([${BUILTINS}]) + BUILTINS="" +], [ + FILE_LIBVLC_DLL="" +]) -dnl Import conditional variables generated by bootstrap + dnl Import conditional variables generated by bootstrap VLC_CONDITIONALS dnl @@ -5567,8 +5551,6 @@ AC_SUBST(UIC) AC_SUBST(WINDRES) AC_SUBST(MOZILLA_SDK_PATH) AC_SUBST(WINE_SDK_PATH) -AC_SUBST(XPIDL) -AC_SUBST(XPIDL_INCL) AC_SUBST(LIBEXT) AC_SUBST(AM_CPPFLAGS) AC_SUBST(ALL_LINGUAS) @@ -5588,8 +5570,7 @@ AC_CONFIG_FILES([ activex/axvlc.inf bindings/Makefile bindings/java/Makefile - bindings/java/src/Makefile - bindings/mediacontrol-python/Makefile + bindings/python/Makefile doc/Makefile intl/Makefile ipkg/Makefile @@ -5627,14 +5608,12 @@ AC_CONFIG_FILES([ modules/codec/spudec/Makefile modules/control/Makefile modules/control/http/Makefile - modules/control/corba/Makefile modules/demux/Makefile modules/demux/asf/Makefile modules/demux/avi/Makefile modules/demux/mp4/Makefile modules/demux/mpeg/Makefile modules/demux/playlist/Makefile - modules/demux/util/Makefile modules/gui/Makefile modules/gui/beos/Makefile modules/gui/pda/Makefile @@ -5644,6 +5623,7 @@ AC_CONFIG_FILES([ modules/gui/skins2/Makefile modules/gui/wxwidgets/Makefile modules/gui/wince/Makefile + modules/meta_engine/Makefile modules/misc/Makefile modules/misc/dummy/Makefile modules/misc/memcpy/Makefile @@ -5690,7 +5670,7 @@ dnl Shortcut to nice compile message rm -f compile echo '#! /bin/sh' >compile -echo "PATH=$PATH LANG=C make \$* 2>&1| \\" >> compile +echo "PATH=$PATH LANG=C make \$@ 2>&1| \\" >> compile echo '`sed -ne "s/^top_srcdir *= *//p" < Makefile`/extras/make.pl' >> compile chmod a+x compile