X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=1ee7ae9f89239adb2cb681d79cd3f06e4ccc8cf9;hb=6662b32f51193ab2e8aef48af832178ab085ce15;hp=50ca2a5d150a881c25886f799d0fce3321cc8061;hpb=94a01b814371bd263d446f48075df8c815a3eaa7;p=vlc diff --git a/configure.ac b/configure.ac index 50ca2a5d15..1ee7ae9f89 100644 --- a/configure.ac +++ b/configure.ac @@ -6,7 +6,7 @@ VERSION_MINOR="9" VERSION_REVISION="0" VERSION_EXTRA="svn" -CONFIGURE_LINE="$0 $ac_configure_args" +CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`" CODENAME="Grishenko" AC_PREREQ(2.59) @@ -170,22 +170,20 @@ case "${host_os}" in SYS=darwin CFLAGS_save="${CFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}" - VLC_ADD_LDFLAGS([vlc ffmpeg ffmpegaltivec],[-all_load]) + OBJCFLAGS_save="${OBJCFLAGS_save} -no-cpp-precomp -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" + VLC_ADD_LDFLAGS([libvlc ffmpeg ffmpegaltivec],[-all_load]) VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) - VLC_ADD_CFLAGS([libvlc],[-x objective-c]) - VLC_ADD_CFLAGS([vlc],[-x objective-c]) - VLC_ADD_LDFLAGS([vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress]) + VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) + VLC_ADD_LDFLAGS([libvlc vlc],[-Wl,-m -Wl,-multiply_defined -Wl,suppress]) ;; darwin*) SYS=darwin CFLAGS_save="${CFLAGS_save} -D_INTL_REDIRECT_MACROS"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -D_INTL_REDIRECT_MACROS"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS"; OBJCFLAGS="${OBJCFLAGS_save}" + OBJCFLAGS_save="${OBJCFLAGS_save} -D_INTL_REDIRECT_MACROS -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) - VLC_ADD_CFLAGS([libvlc],[-x objective-c]) - VLC_ADD_CFLAGS([vlc],[-x objective-c]) + VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) @@ -212,16 +210,16 @@ case "${host_os}" in if test "${SYS}" = "mingw32"; then # add ws2_32 for closesocket, select, recv CPPFLAGS_save="${CPPFLAGS_save} -D_OFF_T_ -D_off_t=long"; CPPFLAGS="${CPPFLAGS_save}" - VLC_ADD_LDFLAGS([vlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) + VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) VLC_ADD_LDFLAGS([cdda 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 stream_out_rtp vod_rtsp telnet netsync growl],[-lws2_32]) + VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap slp http stream_out_standard stream_out_rtp vod_rtsp telnet netsync growl],[-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]) + VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)]) + VLC_ADD_LDFLAGS([libvlc vlc],[-lws2 -e WinMainCRTStartup]) + VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp sap http netsync],[-lws2]) fi ;; *nto*) @@ -242,16 +240,16 @@ case "${host_os}" in CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}" CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}" VLC_ADD_CXXFLAGS([beos],[]) - VLC_ADD_LDFLAGS([vlc logger],[-lbe]) + VLC_ADD_LDFLAGS([vlc libvlc logger],[-lbe]) 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="${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]) + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lbind -lsocket]) else - VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap ipv4 vlc growl],[-lnet]) + VLC_ADD_LDFLAGS([access_file access_ftp access_mms access_output_udp telnet netsync sap libvlc growl],[-lnet]) fi dnl Ugly check for Zeta @@ -281,7 +279,7 @@ m4_defun([AC_PROG_F77],[]) AC_PROG_LIBTOOL AC_ARG_ENABLE(libtool, - [ --enable-libtool use libtool (default disabled)]) + [ --enable-libtool use libtool (default enabled)]) AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"]) @@ -315,9 +313,9 @@ AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ ]) ], [ AS_IF([test "${enable_libtool}" != "no"], [ - VLC_ADD_LDFLAGS([vlc], [${LTLIBINTL}]) + VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}]) ], [ - VLC_ADD_LDFLAGS([vlc], [${LIBINTL}]) + VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}]) ]) ]) AC_SUBST(INCLUDED_LIBINTL) @@ -330,19 +328,19 @@ if test "${SYS}" != "mingwce"; then AS_IF([test "$am_cv_func_iconv" != "yes"], [AC_MSG_ERROR([libiconv is needed for VLC to work properly])]) fi -VLC_ADD_CFLAGS([vlc],[${INCICONV}]) +VLC_ADD_CFLAGS([libvlc],[${INCICONV}]) AS_IF([test "${enable_libtool}" != "no"], [ - VLC_ADD_LDFLAGS([vlc],[${LIBICONV}]) + VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}]) ],[ - VLC_ADD_LDFLAGS([vlc],[${LTLIBICONV}]) + VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}]) ]) dnl Check for the need to include the mingwex lib for mingw32 if test "${SYS}" = "mingw32" then AC_CHECK_LIB(mingwex,opendir, - AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([vlc],[]), - [VLC_ADD_LDFLAGS([vlc gtk],[-lmingwex])]) + AC_CHECK_LIB(mingw32,opendir,VLC_ADD_LDFLAGS([libvlc],[]), + [VLC_ADD_LDFLAGS([libvlc gtk],[-lmingwex])]) ) fi @@ -444,7 +442,7 @@ fi AC_CHECK_FUNCS(connect,,[ AC_CHECK_LIB(socket,connect,[ - VLC_ADD_LDFLAGS([vlc ipv4 ipv6 cdda cddax],-lsocket) + VLC_ADD_LDFLAGS([libvlc cdda cddax],-lsocket) LIBS_socket="-lsocket" ]) ]) @@ -457,10 +455,10 @@ AC_CHECK_FUNCS(send,,[ AC_CHECK_FUNCS(gethostbyname,,[ AC_CHECK_LIB(nsl,gethostbyname,[ - VLC_ADD_LDFLAGS([cdda cddax ipv4 ipv6 vlc],[-lnsl]) + VLC_ADD_LDFLAGS([cdda cddax libvlc],[-lnsl]) ],[ AC_CHECK_LIB(bind,gethostbyname,[ - VLC_ADD_LDFLAGS([ipv4 access_mms],[-lbind]) + VLC_ADD_LDFLAGS([access_mms],[-lbind]) ]) ]) ]) @@ -545,7 +543,7 @@ fi AC_CHECK_FUNCS(inet_aton,,[ AC_CHECK_LIB(resolv,inet_aton,[ - VLC_ADD_LDFLAGS([ipv4 vlc],[-lresolv]) + VLC_ADD_LDFLAGS([libvlc],[-lresolv]) ]) ]) @@ -558,7 +556,7 @@ AC_CHECK_FUNCS(getopt_long,[AC_DEFINE(HAVE_GETOPT_LONG,1,long getopt support)], [ # FreeBSD has a gnugetopt library for this: AC_CHECK_LIB([gnugetopt],[getopt_long], [AC_DEFINE(HAVE_GETOPT_LONG,1,getopt support) - VLC_ADD_LDFLAGS([vlc],[-lgnugetopt])], + VLC_ADD_LDFLAGS([libvlc],[-lgnugetopt])], [need_getopt=:])]) fi AM_CONDITIONAL(BUILD_GETOPT, ${need_getopt}) @@ -569,10 +567,10 @@ AC_CHECK_LIB(m,cos,[ 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 vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer param_eq libvlc vorbis freetype mod mpc dmo quicktime realaudio galaktos opengl],[-lm]) ]) AC_CHECK_LIB(m,sqrt,[ - VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres],[-lm]) + VLC_ADD_LDFLAGS([headphone_channel_mixer normvol speex mono colorthres extract],[-lm]) ]) AC_CHECK_LIB(m,ceil,[ VLC_ADD_LDFLAGS([mosaic],[-lm]) @@ -599,7 +597,7 @@ if test "${ac_cv_have_plugins}" = "no"; then [ac_cv_my_have_shl_load=yes, AC_CHECK_LIB(dld, shl_load, [ac_cv_my_have_shl_load=yes - VLC_ADD_LDFLAGS([vlc],[-ldld])])]) + VLC_ADD_LDFLAGS([libvlc],[-ldld])])]) if test "${ac_cv_my_have_shl_load}" = "yes"; then AC_DEFINE(HAVE_DL_SHL_LOAD, 1, [Define if you have the shl_load API]) ac_cv_have_plugins=yes @@ -609,7 +607,7 @@ fi # Whatever style if test "${ac_cv_have_plugins}" = "no"; then AC_CHECK_LIB(dld, dld_link, - [VLC_ADD_LDFLAGS([vlc],[-ldld]) + [VLC_ADD_LDFLAGS([libvlc],[-ldld]) AC_DEFINE(HAVE_DL_DLD_LINK, 1, [Define if you have the GNU dld library]) ac_cv_have_plugins=yes]) fi @@ -618,7 +616,7 @@ fi if test "${ac_cv_have_plugins}" = "no"; then if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"; then AC_CHECK_LIB(kernel32, main, - [VLC_ADD_LDFLAGS([vlc],[-lkernel32]) + [VLC_ADD_LDFLAGS([libvlc],[-lkernel32]) AC_DEFINE(HAVE_DL_WINDOWS, 1, [Define if you have Windows' LoadLibrary]) ac_cv_have_plugins=yes]) fi @@ -648,10 +646,10 @@ if test "${ac_cv_have_plugins}" = "no"; then ac_cv_my_have_dlopen=yes, AC_CHECK_LIB(dl, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LDFLAGS([vlc],[-ldl]), + VLC_ADD_LDFLAGS([libvlc],[-ldl]), AC_CHECK_LIB(svld, dlopen, ac_cv_my_have_dlopen=yes - VLC_ADD_LDFLAGS([vlc],[-lsvld])))) + VLC_ADD_LDFLAGS([libvlc],[-lsvld])))) if test "${ac_cv_my_have_dlopen}" = "yes"; then AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API]) ac_cv_have_plugins=yes @@ -716,24 +714,24 @@ AC_ARG_ENABLE(st, fi ]) -VLC_ADD_LDFLAGS([vlc plugin],[${THREAD_LIB}]) +VLC_ADD_LDFLAGS([libvlc plugin],[${THREAD_LIB}]) dnl Don't link with rt when using GNU-pth if test "${THREAD_LIB}" != "-lpth" && test "${THREAD_LIB}" != "-lst"; then AC_CHECK_LIB(rt, clock_nanosleep, [ - VLC_ADD_LDFLAGS([vlc],[-lrt]) + VLC_ADD_LDFLAGS([libvlc],[-lrt]) AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.]) ], [ dnl HP/UX port - AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([vlc],[-lrt])]) + AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LDFLAGS([libvlc],[-lrt])]) ]) have_nanosleep=false AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[ AC_CHECK_LIB(rt,nanosleep, - [VLC_ADD_LDFLAGS([vlc],[-lrt]) have_nanosleep=:], + [VLC_ADD_LDFLAGS([libvlc],[-lrt]) have_nanosleep=:], [AC_CHECK_LIB(posix4,nanosleep, - [VLC_ADD_LDFLAGS([vlc],[-lposix4]) have_nanosleep=:])] + [VLC_ADD_LDFLAGS([libvlc],[-lposix4]) have_nanosleep=:])] ) ]) if ${have_nanosleep}; then @@ -829,14 +827,14 @@ then [ AC_DEFINE( HAVE_HAL_1, [] , [Define if you have the new HAL library API]) AC_DEFINE( HAVE_HAL, [], [Define if you have the HAL library] ) VLC_ADD_PLUGINS([hal probe_hal]) - VLC_ADD_LDFLAGS([vlc hal probe_hal],[$HAL_LIBS]) - VLC_ADD_CFLAGS([vlc hal probe_hal],[$HAL_CFLAGS])], + VLC_ADD_LDFLAGS([libvlc hal probe_hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([libvlc hal probe_hal],[$HAL_CFLAGS])], dnl No hal 0.5 Test for 0.2 [ 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])], + VLC_ADD_LDFLAGS([libvlc hal],[$HAL_LIBS]) + VLC_ADD_CFLAGS([libvlc hal],[$HAL_CFLAGS])], [AC_MSG_WARN(HAL library not found)]) ] ) @@ -846,28 +844,67 @@ dnl Check for dbus AC_ARG_ENABLE(dbus, [ --enable-dbus Linux D-BUS message bus system (default enabled)]) -if test "${enable_dbus}" != "no" +if test "${enable_dbus}" != "no" -a "$SYS" = "Linux" then - PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92, - [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] ) + dnl api stable dbus + PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0.0, + [ AC_DEFINE( HAVE_DBUS_3, 1, [Define if you have the D-BUS library API >= 1.0.0] ) + AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] ) AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] ) AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - dnl older dbus - [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30, - [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] ) - AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) - VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - dnl much older dbus - [ PKG_CHECK_MODULES( DBUS, dbus-1, - [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library]) - VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], - [AC_MSG_WARN(DBUS library not found)]) - ] - )] + VLC_ADD_LDFLAGS([screensaver libvlc],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver libvlc],[$DBUS_CFLAGS]) + dnl Check for dbus control interface + AC_ARG_ENABLE(dbus-control, [ --enable-dbus-control D-BUS control interface (default disabled)]) + if test "${enable_dbus_control}" = "yes" + then + VLC_ADD_PLUGINS([dbus]) + VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS]) + fi], + + if ${PKG_CONFIG} --exists dbus-1 + then + [AC_ARG_ENABLE(old-dbus, + [ --enable-old-dbus Deprecated D-Bus support (default disabled)])] + + if test "${enable_old_dbus}" != "yes" + then + echo "" + echo "****** WARNING **** WARNING ***** WARNING *************" + echo "*** Your D-Bus version is < 1.0.0" + echo "*** You are using old and buggy software and so" + echo "*** D-Bus support has been disabled." + echo "*** Please upgrade D-Bus : http://dbus.freedesktop.org" + echo "*** Alternatively you can force the use of your old and" + echo "*** buggy D-Bus version by specifying --enable-old-dbus" + echo "*******************************************************" + echo "" + else + dnl not too old dbus + [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.92, + [ AC_DEFINE( HAVE_DBUS_2, 1, [Define if you have the D-BUS library API >= 0.92] ) + AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30] ) + AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) + VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], + dnl older dbus + [ PKG_CHECK_MODULES(DBUS, dbus-1 >= 0.30, + [ AC_DEFINE( HAVE_DBUS_1, 1, [Define if you have the D-BUS library API >= 0.30 ] ) + AC_DEFINE( HAVE_DBUS, 1, [Define if you have the D-BUS library] ) + VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], + dnl much older dbus + [ PKG_CHECK_MODULES( DBUS, dbus-1, + [AC_DEFINE(HAVE_DBUS, 1, [Define if you have the D-BUS library]) + VLC_ADD_LDFLAGS([screensaver],[$DBUS_LIBS]) + VLC_ADD_CFLAGS([screensaver],[$DBUS_CFLAGS])], + [AC_MSG_WARN(DBUS library not found)]) + ] + )] + )] + fi + fi ) fi @@ -892,14 +929,15 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then fi CFLAGS="${CFLAGS_save}" -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_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings old-style-definition missing-prototypes 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 Unfortunately, this sucks on FreeBSD (won't even link with -lc) +dnl RDC_PROG_LINK_FLAGS_IFELSE([-Wl,-z,defs], [ +dnl VLC_ADD_LDFLAGS([plugin],[-Wl,-z,defs]) +dnl ]) dnl Check for various optimization flags AC_CACHE_CHECK([if \$CC accepts -Os], @@ -1089,15 +1127,15 @@ 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 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([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract]) +VLC_ADD_PLUGINS([converter_fixed 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 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]) +VLC_ADD_PLUGINS([access_http access_mms access_ftp]) VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264]) VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) @@ -1110,7 +1148,7 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq]) - VLC_ADD_PLUGINS([fixed32tofloat32 float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif s16tofloat32 s16tofloat32swab s8tofloat32 u8tofloat32 audio_format]) + VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format]) fi dnl @@ -1235,7 +1273,7 @@ if test "${ac_cv_altivec_inline}" != "no"; then VLC_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}]) VLC_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}]) - VLC_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}]) + VLC_ADD_CFLAGS([libvlc],[${ac_cv_altivec_inline}]) fi ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}" fi @@ -1295,7 +1333,7 @@ CPPFLAGS="${CPPFLAGS_save}" if test "${ac_cv_c_altivec}" != "no"; then AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.) - VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}]) + VLC_ADD_CFLAGS([libvlc],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}]) VLC_ADD_CFLAGS([i420_yuy2_altivec memcpyaltivec deinterlace],[${ac_cv_c_altivec} ${ac_cv_c_altivec_abi}]) if test "${ac_cv_altivec_inline}" = "no"; then @@ -1310,7 +1348,7 @@ AC_CACHE_CHECK([if linker needs -framework vecLib], LDFLAGS="${LDFLAGS_save}" ]) if test "${ac_cv_ld_altivec}" != "no"; then - VLC_ADD_LDFLAGS([vlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib]) + VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib]) fi fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -1358,7 +1396,7 @@ AS_IF([test "${CFLAGS_TUNING}"], dnl dnl x86 accelerations dnl -if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "x86_64" +if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}"="i486" -o "${host_cpu}" = "x86_64" then ARCH="${ARCH} mmx" VLC_ADD_BUILTINS([${ACCEL_MODULES}]) @@ -1407,15 +1445,6 @@ AC_ARG_ENABLE(release, [ --enable-release activate extra optimizations (default disabled)]) test "${enable_release}" != "yes" && enable_release="no" -dnl -dnl Is the shared libvlc forced ? -dnl -AC_ARG_ENABLE(shared-libvlc, - [ --enable-shared-libvlc Win32 libvlc.dll build (default disabled)]) -AS_IF([test "${enable_libtool}" != "no" && test "${enable_shared_libvlc}"], [ - AC_MSG_ERROR([--enable-shared-libvlc and --enable-libtool are mutually exclusive]) -]) - dnl dnl Stream output dnl @@ -1430,6 +1459,7 @@ then 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 stream_out_autodel]) # VLC_ADD_PLUGINS([stream_out_transrate]) +# VLC_ADD_PLUGINS([rtcp]) VLC_ADD_PLUGINS([profile_parser]) AC_DEFINE(ENABLE_SOUT, 1, Define if you want the stream output support) @@ -1504,8 +1534,8 @@ dnl Audioscrobbler plugin dnl AC_ARG_ENABLE(audioscrobbler, - [ --enable-audioscrobbler Last.fm submission plugin (default disabled)]) -AS_IF([test "${enable_audioscrobbler}" = "yes"], [ + [ --disable-audioscrobbler Last.fm submission plugin (default enabled)]) +AS_IF([test "${enable_audioscrobbler}" != "no"], [ VLC_ADD_PLUGINS([audioscrobbler]) ]) @@ -1637,6 +1667,37 @@ if test "${enable_live555}" != "no"; then fi fi +dnl +dnl special access module for dc1394 input +dnl +AC_ARG_ENABLE(dc1394, + [ --enable-dc1394 dc1394 access module (default disabled)]) +if test "${enable_dc1394}" = "yes" +then + AC_CHECK_HEADERS(libraw1394/raw1394.h, [ + AC_CHECK_LIB( raw1394, raw1394_get_nodecount, [ + AC_CHECK_HEADERS(libdc1394/dc1394_control.h , [ +dnl AC_CHECK_LIB( dc1394_control, dc1394_setup_capture, [ + VLC_ADD_PLUGINS([dc1394]) + VLC_ADD_LDFLAGS([dc1394],[-ldc1394_control -lraw1394]) +dnl ], +dnl [ +dnl AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) +dnl ]) + ], + [ + AC_MSG_ERROR([libdc1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) + ]) + ], + [ + AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) + ]) + ], + [ + AC_MSG_ERROR([libraw1394 is mandatory for the dc1394 input module. try --disable-dc1394 or install this library]) + ]) +fi + dnl dnl dv module: digital video module check for libraw1394 dnl @@ -2082,8 +2143,8 @@ dnl dnl gnomeVFS access module dnl AC_ARG_ENABLE(gnomevfs, - [ --enable-gnomevfs GnomeVFS access module (default enabled)]) -if test "${enable_gnomevfs}" != "no" + [ --enable-gnomevfs GnomeVFS access module (default disabled)]) +if test "${enable_gnomevfs}" = "yes" then PKG_CHECK_MODULES(GNOMEVFS, gnome-vfs-2.0, VLC_ADD_LDFLAGS([access_gnomevfs],[$GNOMEVFS_LIBS]) @@ -2315,22 +2376,6 @@ AC_CHECK_FUNCS(inet_pton,[have_ipv6=yes],[ AS_IF([test "${have_ipv6}" = "yes"], [ AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have inet_pton().])]) -if test "${SYS}" != "nto" && - test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -then - AC_MSG_CHECKING(for sockaddr_in6 in netinet/in.h) - AC_EGREP_HEADER(sockaddr_in6,netinet/in.h, - [AC_MSG_RESULT(yes)], [AC_MSG_RESULT(no); have_ipv6=no]) - AS_IF([test "${have_ipv6}" != "no"], [ - VLC_ADD_PLUGINS([ipv6])]) -fi -if test "${SYS}" = "mingw32" -then - AC_MSG_CHECKING(for getaddrinfo in ws2tcpip.h) - AC_EGREP_HEADER(addrinfo,ws2tcpip.h,[AC_MSG_RESULT(yes) - VLC_ADD_PLUGINS([ipv6])],[AC_MSG_RESULT(no)]) -fi - dnl dnl ogg demux plugin dnl @@ -2409,10 +2454,15 @@ if test "${enable_mkv}" != "no" -a "${CXX}" != ""; then if test "${SYS}" = "darwin"; then VLC_ADD_CXXFLAGS([mkv],[-O1]) fi - AC_CHECK_LIB(ebml, main, [ + AC_CHECK_LIB(ebml_pic, main, [ VLC_ADD_PLUGINS([mkv]) - VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml]) - ]) + VLC_ADD_LDFLAGS([mkv],[-lmatroska -lebml_pic]) + ], + AC_CHECK_LIB(ebml, main, [ + VLC_ADD_PLUGINS([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.]) @@ -2739,6 +2789,12 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavformat]) fi + + if test -f "${real_ffmpeg_tree}/libswscale/libswscale.a"; then + AC_DEFINE(HAVE_LIBSWSCALE_TREE, 1, [Define if you have ffmpeg's libswscale.]) + VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a]) + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale]) + fi else dnl Look for a ffmpeg-config (we are on debian ) @@ -2753,7 +2809,7 @@ 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_MSG_ERROR([Missing header file 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_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) @@ -2769,9 +2825,19 @@ dnl Look for a ffmpeg-config (we are on debian ) dnl Trying with pkg-config PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat], [ + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${FFMPEG_CFLAGS}" + CFLAGS="${CFLAGS} ${FFMPEG_CFLAGS}" 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) + dnl newer ffmpeg have a separate libpostproc + PKG_CHECK_MODULES(POSTPROC, libpostproc,[ + VLC_ADD_CFLAGS([ffmpeg],[${POSTPROC_CFLAGS}]) + VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) + ],[ true ]) + CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" + CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) if test "${SYS}" = "darwin"; then VLC_ADD_BUILTINS([ffmpeg]) @@ -2787,10 +2853,13 @@ dnl Trying with pkg-config fi VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}]) VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}]) - dnl newer ffmpeg have a separate libpostproc - PKG_CHECK_MODULES(POSTPROC, libpostproc,[ - VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) + dnl even newer ffmpeg has a libswscale + PKG_CHECK_MODULES(SWSCALE, libswscale,[ + VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) + VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}]) + AC_CHECK_HEADERS(ffmpeg/swscale.h) ],[ true ]) + VLC_RESTORE_FLAGS ],[ dnl @@ -2800,6 +2869,7 @@ dnl Trying with pkg-config LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" 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/swscale.h) AC_CHECK_HEADERS(ffmpeg/avutil.h) AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] ) @@ -2825,6 +2895,11 @@ dnl Trying with pkg-config VLC_ADD_LDFLAGS([ffmpeg],[-lavformat -lz]) ], [], [-lavcodec -lz $LDAVUTIL]) LDFLAGS="${LDFLAGS_save}" CPPFLAGS="${CPPFLAGS_save}" + + AC_CHECK_LIB(swscale, sws_getContext, [ + VLC_ADD_LDFLAGS([ffmpeg],[-lswscale]) ], [], [-lavcodec $LDAVUTIL]) + LDFLAGS="${LDFLAGS_save}" + CPPFLAGS="${CPPFLAGS_save}" ]) fi fi @@ -2945,19 +3020,20 @@ then 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]) + VLC_ADD_CPPFLAGS([twolame],[-I${real_twolame_tree}/src/libtwolame -DLIBTWOLAME_STATIC]) else dnl The given libtwolame wasn't built AC_MSG_RESULT(no) 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_twolame}" + CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_twolame} -DLIBTWOLAME_STATIC" 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_CPPFLAGS([twolame],[-DLIBTWOLAME_STATIC]) VLC_ADD_LDFLAGS([twolame],[-ltwolame]) ], [ AC_MSG_ERROR([Cannot find libtwolame library...]) ]) LDFLAGS="${LDFLAGS_save}" @@ -3584,11 +3660,16 @@ if test "${enable_glx}" != "no" && (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || test "${enable_glx}" = "yes"); then CPPFLAGS="${CPPFLAGS_save} ${X_CFLAGS}" - AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h, [ + AC_CHECK_HEADERS(X11/Xlib.h GL/glu.h GL/glx.h) + AC_COMPILE_IFELSE(AC_LANG_PROGRAM( + [[#if !defined(HAVE_X11_XLIB_H) || !defined(HAVE_GL_GLU_H) || !defined(HAVE_GL_GLX_H) + choke me + #endif]]), + [ 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.])]) + ],[AC_MSG_ERROR([Please install GL development package. Alternatively you can also configure with --disable-glx.])]) CPPFLAGS="${CPPFLAGS_save}" fi @@ -4013,7 +4094,7 @@ then ]) AC_CHECK_HEADERS(d3d9.h, [ VLC_ADD_PLUGINS([direct3d]) - VLC_ADD_LDFLAGS([direct3d],[-ld3d9 -lgdi32]) + VLC_ADD_LDFLAGS([direct3d],[-lgdi32]) ]) else AC_MSG_CHECKING(for directX headers in ${with_directx}) @@ -4703,6 +4784,8 @@ then # wxwidgets should provide the following flags but does not # the following is required to compile for win32 VLC_ADD_CXXFLAGS([wxwidgets],[-D_UNICODE -DUNICODE]) + else + AC_MSG_ERROR([You need a unicode build of wxWidgets. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.]) fi if test "$have_libcdio" = "yes" then @@ -5027,20 +5110,6 @@ then fi fi -dnl -dnl DAAP access plugin and services discovery -dnl -AC_ARG_ENABLE(daap, - [ --enable-daap DAAP shares services discovery support (default enabled)]) -if test "$enable_daap" != "no" -then - PKG_CHECK_MODULES(DAAP, opendaap >= 0.3.0, - [ VLC_ADD_PLUGINS([daap]) - VLC_ADD_LDFLAGS([daap],[$DAAP_LIBS]) - VLC_ADD_CFLAGS([daap],[$DAAP_CFLAGS])]:, - [AC_MSG_WARN(DAAP library not found)]) -fi - dnl dnl Bonjour services discovery dnl @@ -5197,17 +5266,24 @@ then WIDL=no fi AC_LANG_PUSH(C++) - AC_CHECK_HEADERS(ole2.h olectl.h, - [ VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) - VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) - AC_CHECK_HEADERS(objsafe.h, - VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, - [#if HAVE_OLE2_H - # include - #endif] - ) - activex=: - ], + AC_CHECK_HEADERS(ole2.h, + [AC_CHECK_HEADERS(olectl.h, + [ VLC_ADD_CPPFLAGS([activex],[-D_MIDL_USE_GUIDDEF_]) + VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) + VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) + AC_CHECK_HEADERS(objsafe.h, + VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, + [ + #if HAVE_OLE2_H + # include + #endif + ] + ) + activex=: + PLUGINS_BINDINGS="${PLUGINS_BINDINGS} activex" + ], + [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] + )], [ AC_MSG_ERROR([required OLE headers are missing from your system]) ] ) AC_LANG_POP(C++) @@ -5224,7 +5300,7 @@ dnl Mozilla plugin dnl mozilla=false AC_ARG_ENABLE(mozilla, - [ --enable-mozilla build a vlc-based Mozilla plugin (default disabled)]) + [ --enable-mozilla build a vlc-based Firefox/Mozilla plugin (default disabled)]) AC_ARG_WITH(mozilla-sdk-path, [ --with-mozilla-sdk-path=PATH path to mozilla sdk]) AC_LANG_PUSH(C++) @@ -5232,41 +5308,86 @@ 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}" = "" -o "${with_mozilla_sdk_path}" = "no" then - AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) - if test "${MOZILLA_CONFIG}" = "no" - then - AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no) - if test "${SEAMONKEY_CONFIG}" = "no" - then - AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no) - if test "${XULRUNNER_CONFIG}" = "no" + dnl New firefox-1.5 SDK api + PKG_CHECK_MODULES([FIREFOX], [firefox-plugin], + [ + PKG_CHECK_MODULES([MOZILLA_NSPR], [mozilla-nspr], + [], + [ + PKG_CHECK_MODULES([NSPR], [nspr], + [], + [ + AC_MSG_ERROR([Please install the nspr development tools.]) + ] + ) + ] + ) + CPPFLAGS="${CPPFLAGS_save} ${FIREFOX_CFLAGS} ${MOZILLA_NSPR_CFLAGS} ${NSPR_CFLAGS} ${MOZILLA_CPPFLAGS}" + 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_CONFIG_HEADERS}" = "0"; then + AC_MSG_ERROR([Please install the Firefox development tools; mozilla-config.h, plugin/npapi.h and plugin/npruntime.h were not found.]) + fi + MOZILLA_REQUIRED_HEADERS= + mozilla=: + firefox_include=`pkg-config --variable=includedir firefox-plugin` + MOZILLA_CONFIG_H="${firefox_include}/mozilla-config.h" + if grep '^#define MOZ_X11 1' ${MOZILLA_CONFIG_H} 2>&1 > /dev/null ; then + VLC_ADD_LDFLAGS([mozilla], [${X_LIBS} ${X_PRE_LIBS} -lX11 -lXt]) + fi + VLC_ADD_CPPFLAGS([mozilla],[${CPPFLAGS}]) + VLC_ADD_LDFLAGS([mozilla],[${FIREFOX_LIBS} ${MOZILLA_NSPR_LIS} ${NSPR_LIBS} ${MOZILLA_LDFLAGS}]) + VLC_ADD_PLUGINS([mozilla]) + MOZILLA_CONFIG= + CPPFLAGS="${CPPFLAGS_save}" + ], + [ + AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no) + if test "${MOZILLA_CONFIG}" = "no" then - AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.]) - else - have_xul=true - MOZILLA_CONFIG="${XULRUNNER_CONFIG}" + AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no) + if test "${SEAMONKEY_CONFIG}" = "no" + then + AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no) + if test "${XULRUNNER_CONFIG}" = "no" + then + AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.]) + else + have_xul=true + MOZILLA_CONFIG="${XULRUNNER_CONFIG}" + fi + else + MOZILLA_CONFIG="${SEAMONKEY_CONFIG}" + fi fi - else - MOZILLA_CONFIG="${SEAMONKEY_CONFIG}" + ] + ) + if test ! -z "${MOZILLA_CONFIG}" + then + if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then + LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}" + AC_CHECK_LIB(Xt,XtStrings, + [ + VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) + VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE]) + ], + [], + [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE] + ]) + LDFLAGS="${LDFLAGS_save}" fi - fi - - if ${MOZILLA_CONFIG} --defines | grep -q 'MOZ_X11=1'; then - LDFLAGS="${LDFLAGS_save} ${X_LIBS} ${X_PRE_LIBS}" - AC_CHECK_LIB(Xt,XtStrings, - [ - VLC_ADD_CPPFLAGS([mozilla],[${X_CFLAGS}]) - VLC_ADD_LDFLAGS([mozilla],[${X_LIBS} ${X_PRE_LIBS} -lXt -lX11 -lSM -lICE]) -], - [], - [[${X_LIBS} ${X_PRE_LIBS} -lX11 -lSM -lICE] - ]) - LDFLAGS="${LDFLAGS_save}" - fi - + mozilla=: + PLUGINS_BINDINGS="${PLUGINS_BINDINGS} mozilla" dnl Workaround for http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=150490 VLC_ADD_CPPFLAGS([mozilla],[[`${MOZILLA_CONFIG} --cflags plugin xpcom java | sed 's,-I\([^ ]*\)/mozilla/\([^ ]*\),-I\1/\2 -I\1/mozilla/\2,g' | xargs`]]) if ${need_xpcom_libs}; then @@ -5290,6 +5411,7 @@ then MOZILLA_REQUIRED_HEADERS= CPPFLAGS="${CPPFLAGS_save}" MOZILLA_SDK_PATH="`${MOZILLA_CONFIG} --prefix`" + fi dnl End of moz_sdk = "" else dnl special case for mingw32 @@ -5301,7 +5423,7 @@ then mozilla_sdk_xpcom="/xpcom" fi fi - + real_mozilla_sdk="`cd ${with_mozilla_sdk_path} 2>/dev/null && pwd`" CPPFLAGS="${CPPFLAGS_save} -I${real_mozilla_sdk} -I${real_mozilla_sdk}/include" MOZILLA_REQUIRED_HEADERS=1 @@ -5318,19 +5440,20 @@ then fi MOZILLA_REQUIRED_HEADERS= mozilla=: + PLUGINS_BINDINGS="${PLUGINS_BINDINGS} 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 + 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}`" fi @@ -5346,6 +5469,10 @@ dnl AC_ARG_ENABLE(python-bindings, [ --enable-python-bindings Enable Python bindings (default disabled)]) dnl TODO: look for python dev headers +AS_IF([test "${enable_python_bindings}" = "yes"], + PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python" + ) + AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"]) dnl @@ -5359,6 +5486,7 @@ then [AC_MSG_ERROR([Please set the JAVA_HOME variable to your JDK environment])]) AC_PROG_JAVAC AC_PROG_JAVA + PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java" fi AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"]) @@ -5387,7 +5515,7 @@ dnl if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" then AC_CHECK_LIB(unicows, LoadUnicowsSymbol, [ - VLC_ADD_LDFLAGS([vlc],[-Wl,--exclude-libs,libunicows.a -lunicows]) + VLC_ADD_LDFLAGS([vlc libvlc],[-Wl,--exclude-libs,libunicows.a -lunicows]) ]) fi @@ -5470,14 +5598,13 @@ AS_IF([${plugin_support}], [ dnl dnl Pic and shared libvlc stuff dnl -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"], [ +AS_IF([test "${SYS}" = "mingw32" || 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" VLC_ADD_PLUGINS([${BUILTINS}]) BUILTINS="" ], [ + LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}" FILE_LIBVLC_DLL="" ]) @@ -5488,7 +5615,7 @@ dnl dnl Stuff used by the program dnl AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string]) -AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2006 the VideoLAN team", [Copyright string]) +AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string]) AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number]) AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number]) @@ -5507,8 +5634,8 @@ dnl VLC_SYMBOL="`echo ${VERSION} | sed -e 'y/.-+/___/'`" dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for module functions]) dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions]) -dnl New definitions with value matching 0.8.6 release -module_symbol="0_8_6c" +dnl New definitions with value matching 0.9.0 release +module_symbol="0_9_0b" AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions]) AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions]) VLC_ENTRY="vlc_entry__${module_symbol}" @@ -5529,8 +5656,7 @@ VLC_RESTORE_FLAGS dnl dnl Create the vlc-config script dnl -LDFLAGS_libvlc="${LDFLAGS_vlc} ${LDFLAGS_builtin}" -for i in `echo "${BUILTINS}" | sed -e 's@[^ ]*/@@g'` ; do LDFLAGS_libvlc="${LDFLAGS_libvlc} ${libdir}/vlc/${i}.a `eval echo '$'{LDFLAGS_${i}}`" ; done +LDFLAGS_libvlc="${LDFLAGS_libvlc} ${LDFLAGS_builtin}" dnl dnl Configuration is finished @@ -5601,6 +5727,7 @@ AC_CONFIG_FILES([ modules/codec/dmo/Makefile modules/codec/ffmpeg/Makefile modules/codec/spudec/Makefile + modules/codec/xvmc/Makefile modules/control/Makefile modules/control/http/Makefile modules/demux/Makefile @@ -5622,7 +5749,6 @@ AC_CONFIG_FILES([ modules/misc/Makefile modules/misc/dummy/Makefile modules/misc/memcpy/Makefile - modules/misc/network/Makefile modules/misc/notify/Makefile modules/misc/testsuite/Makefile modules/misc/playlist/Makefile @@ -5637,7 +5763,6 @@ AC_CONFIG_FILES([ modules/stream_out/transrate/Makefile modules/video_chroma/Makefile modules/video_filter/Makefile - modules/video_filter/swscale/Makefile modules/video_output/Makefile modules/video_output/directx/Makefile modules/video_output/qte/Makefile @@ -5683,6 +5808,7 @@ test "${enable_optimizations}" = "yes" && printf "optim " test "${enable_release}" = "yes" && printf "release " || printf "devel " echo " vlc aliases :${ALIASES} +plugins/bindings :${PLUGINS_BINDINGS} You can tune the compiler flags in vlc-config. To build vlc and its plugins, type \`./compile' or \`make'.