X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=5ccb332156c1a122e3b16a2153b0b865d93ec3c6;hb=230b1c05a02de93fc22f4b6915380f22d621d6ec;hp=04281ca2e4f69c368205e690c021e9a1821c3bc2;hpb=f8b40213dd889f40a5facd6abc1c6c7e46c04989;p=vlc diff --git a/configure.ac b/configure.ac index 04281ca2e4..5ccb332156 100644 --- a/configure.ac +++ b/configure.ac @@ -242,7 +242,8 @@ case "${host_os}" in if test "${SYS}" = "mingw32"; then # add ws2_32 for closesocket, select, recv VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm]) - VLC_ADD_LDFLAGS([vlc activex mozilla],[-mwindows]) + VLC_ADD_LDFLAGS([vlc],[-mwindows]) + VLC_ADD_LDFLAGS([activex mozilla],[-lgdi32]) VLC_ADD_LDFLAGS([cdda vcdx cddax sdl_image],[-lwinmm]) VLC_ADD_LDFLAGS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-lws2_32]) fi @@ -331,12 +332,6 @@ AC_PROG_LIBTOOL m4_undefine([AC_DEPLIBS_CHECK_METHOD]) m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) -AC_ARG_ENABLE(libtool, - [ --enable-libtool use libtool (default enabled)]) -AS_IF([test "x{enable_libtool}" = "xno"], [ - AC_MSG_WARN([Disabling libtool is strongly discouraged. There are known bugs.]) -]) - lt_cv_deplibs_check_method=pass_all @@ -435,24 +430,6 @@ VLC_LIBRARY_SUFFIX VLC_SYMBOL_PREFIX AC_SUBST(SYMPREF) -AS_IF([test "${enable_libtool}" = "no"], [ -case "${SYS}" in - mingw32|cygwin) - VLC_ADD_CFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) - VLC_ADD_CXXFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special} ${CXXFLAGS_mingw32_special}]) - VLC_ADD_OBJCFLAGS([pic plugin mozilla activex],[${CFLAGS_mingw32_special}]) - ;; - mingwce) - ;; - *) - VLC_ADD_CFLAGS([pic plugin mozilla],[-fpic -fPIC]) - VLC_ADD_CXXFLAGS([pic plugin mozilla],[-fpic -fPIC]) - VLC_ADD_OBJCFLAGS([pic plugin mozilla],[-fpic -fPIC]) - VLC_ADD_LDFLAGS([plugin mozilla],[-fpic -fPIC]) - ;; -esac -]) - dnl The -DSYS_FOO flag CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}" @@ -467,6 +444,10 @@ AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) +AS_IF([test "${SYS}" = "linux"], [ + AC_CHECK_FUNCS(tee) +]) + dnl Check for setlocal and langinfo AC_CHECK_FUNCS(setlocale) AC_CHECK_HEADERS(langinfo.h) @@ -610,7 +591,7 @@ AC_CHECK_LIB(m,cos,[ VLC_ADD_LDFLAGS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain],[-lm]) ]) AC_CHECK_LIB(m,pow,[ - 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]) + VLC_ADD_LDFLAGS([ffmpeg ffmpegaltivec stream_out_transrate i420_rgb faad twolame equalizer spatializer 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 extract],[-lm]) @@ -978,7 +959,7 @@ 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 volatile-register-var]) +RDC_PROG_CC_WFLAGS([all extra no-unused-parameter sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var]) RDC_PROG_CC_FLAGS_IFELSE([-pipe]) dnl This helps detect broken plugins with undefined symbols @@ -1011,7 +992,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"; then +if test "${ac_cv_c_o3}" != "no" -a "x${enable_debug}" = "xno"; then CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" else AC_CACHE_CHECK([if \$CC accepts -O2], @@ -1068,8 +1049,6 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer], AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)]) if test "${ac_cv_c_omit_frame_pointer}" != "no"; then CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer" - # these plugins do not compile without -fomit-frame-pointer, damn gcc! - VLC_ADD_CFLAGS([i420_yuy2_mmx i420_yuy2_sse2],[-fomit-frame-pointer]) fi dnl Check for -fvisibility=hidden @@ -1081,6 +1060,8 @@ if test "${ac_cv_c_visibility_hidden}" != "no"; then VLC_ADD_CFLAGS([libvlc plugin],[-fvisibility=hidden]) fi +AM_CONDITIONAL(HAVE_COMPILER_EXPORT, [test "$SYS" = "mingw32" -o "${ac_cv_c_visibility_hidden}" != "no"]) + dnl Check for -fvisibility-inlines-hidden (breaks x86_64 linkers) dnl AC_LANG_PUSH(C++) dnl AC_CACHE_CHECK([if \$CXX accepts -fvisibility-inlines-hidden], @@ -1094,14 +1075,14 @@ dnl CXXFLAGS="${CXXFLAGS_save}" dnl AC_LANG_POP(C++) dnl Check for -mdynamic-no-pic -AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic], - [ac_cv_c_dynamic_no_pic], - [CFLAGS="${CFLAGS_save} -mdynamic-no-pic" - AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)]) -AS_IF([test "${enable_libtool}" = "no" && test "${ac_cv_c_dynamic_no_pic}" != "no"], [ - VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic]) - VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic]) -]) +dnl AC_CACHE_CHECK([if \$CC accepts -mdynamic-no-pic], +dnl [ac_cv_c_dynamic_no_pic], +dnl [CFLAGS="${CFLAGS_save} -mdynamic-no-pic" +dnl AC_TRY_COMPILE([],,ac_cv_c_dynamic_no_pic=yes, ac_cv_c_dynamic_no_pic=no)]) +dnl AS_IF([test "${ac_cv_c_dynamic_no_pic}" != "no"], [ +dnl VLC_ADD_CFLAGS([builtin],[-mdynamic-no-pic]) +dnl VLC_ADD_CFLAGS([libvlc],[-mdynamic-no-pic]) +dnl ]) dnl Check for Darwin plugin linking flags AC_CACHE_CHECK([if \$CC accepts -bundle -undefined error], @@ -1114,19 +1095,17 @@ 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) -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 AS_IF([test "${SYS}" = "beos"], [ +dnl VLC_ADD_LDFLAGS([plugin mozilla],[-nostart]) +dnl ], [ +dnl AC_CACHE_CHECK([if \$CC accepts -shared], +dnl [ac_cv_ld_plugins], +dnl [CFLAGS="${CFLAGS_save} -shared" +dnl AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)]) +dnl AS_IF([test "${ac_cv_ld_plugins}" != "no"], [ +dnl VLC_ADD_LDFLAGS([plugin mozilla],[-shared]) +dnl ]) +dnl ]) dnl Check for variadic macros AC_CACHE_CHECK([for variadic cpp macros], @@ -1218,13 +1197,14 @@ dnl default modules dnl VLC_ADD_PLUGINS([dummy logger memcpy]) VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 ps pva avi asf mp4 rawdv rawvid 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 grain extract sharpen]) +VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf dvbsub mpeg_audio lpcm a52 dts cinepak flac]) +VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving]) 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([spatializer]) +VLC_ADD_PLUGINS([playlist export nsc xtag]) +VLC_ADD_PLUGINS([i420_rgb grey_yuv 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]) @@ -1245,16 +1225,6 @@ if test "${SYS}" != "mingwce"; then VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format]) fi -dnl -dnl Switch to enable a version of VLC where most modules will be builtin -dnl -AC_ARG_ENABLE(mostly-builtin, -[ --enable-mostly-builtin most modules will be built-in (default disabled)]) -if test "${enable_mostly_builtin}" = "yes"; then - VLC_ADD_BUILTINS([${PLUGINS}]) - PLUGINS="" -fi - dnl dnl Some plugins aren't useful on some platforms dnl @@ -1280,7 +1250,7 @@ MMXEXT_MODULES="memcpymmxext" #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext" THREEDNOW_MODULES="memcpy3dn" SSE_MODULES="" -SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2" +SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2 i422_yuy2_sse2" ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec" #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" @@ -1306,7 +1276,7 @@ AC_CACHE_CHECK([if \$CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics=no])]) if test "${ac_cv_c_mmx_intrinsics}" != "no"; then AC_DEFINE(HAVE_MMX_INTRINSICS, 1, Define if MMX intrinsics are available.) - VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx]) + VLC_ADD_CFLAGS([${MMX_MODULES}],[-mmmx]) fi dnl Check for fully workin SSE2 intrinsics @@ -1331,7 +1301,7 @@ AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics=no])]) if test "${ac_cv_c_sse2_intrinsics}" != "no"; then AC_DEFINE(HAVE_SSE2_INTRINSICS, 1, Define if SSE2 intrinsics are available.) - VLC_ADD_CFLAGS([i420_rgb_sse2],[-msse2]) + VLC_ADD_CFLAGS([${SSE2_MODULES}],[-msse2]) fi AC_CACHE_CHECK([if \$CC groks MMX inline assembly], @@ -1534,12 +1504,12 @@ dnl 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}]) + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64" then ARCH="${ARCH} sse sse2" - VLC_ADD_BUILTINS([${ACCEL_MODULES}]) + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi dnl @@ -1570,9 +1540,9 @@ dnl 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 ], + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ], [ if test "${host_cpu}" = "powerpc"; then ARCH="${ARCH} altivec"; - VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi ]) + VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ]) dnl dnl Debugging mode @@ -1643,9 +1613,9 @@ if test "${enable_shout}" = "yes"; then [AC_MSG_WARN(libshout library not found)]) fi -dnl Lua playlist demux -AC_ARG_ENABLE(luaplaylist, - [ --enable-lua lua playlist demux plugin (default enabled)]) +dnl Lua modules +AC_ARG_ENABLE(lua, + [ --enable-lua lua playlist and metafetcher plugins (default enabled)]) if test "${enable_lua}" != "no" then PKG_CHECK_MODULES(LUA, lua5.1, @@ -1674,9 +1644,9 @@ then ]) if test "x${have_lua}" = "xyes" ; then AC_DEFINE(HAVE_LUA, [], [Define if you have the lua library]) - VLC_ADD_PLUGINS([luaplaylist]) - VLC_ADD_LDFLAGS([luaplaylist],[$LUA_LIBS]) - VLC_ADD_CFLAGS([luaplaylist],[$LUA_CFLAGS]) + VLC_ADD_PLUGINS([lua]) + VLC_ADD_LDFLAGS([lua],[$LUA_LIBS]) + VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS]) fi fi @@ -1757,11 +1727,12 @@ dnl dnl Taglibplugin dnl AC_ARG_ENABLE(taglib, - [ --enable-taglib Taglib support (default disabled) ]) - AS_IF([test "${enable_taglib}" = "yes"],[ + [ --disable-taglib Taglib support (default enabled) ]) + AS_IF([test "${enable_taglib}" != "no"],[ PKG_CHECK_MODULES(TAGLIB, taglib, - [ VLC_ADD_PLUGINS([taglib]) - VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS]) + [ AC_DEFINE( HAVE_TAGLIB, 1, [Define if you have taglib plugin built] ) + VLC_ADD_PLUGINS([taglib]) + VLC_ADD_LDFLAGS([taglib],[$TAGLIB_LIBS -lz]) VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS]) ], [AC_MSG_WARN(TagLib library not found)]) ]) @@ -2877,10 +2848,16 @@ fi dnl dnl libid3tag support (FIXME!!! doesn't work with new input) dnl -AC_CHECK_HEADERS(id3tag.h, [ - AC_CHECK_HEADERS(zlib.h, [ - VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz]) - VLC_ADD_PLUGINS([id3tag])]) ]) +AC_ARG_ENABLE( id3tag, + [ --disable-id3tag id3tag metadata reader plugin (default enabled)]) +AS_IF([test "${enable_id3tag}" != "no"], [ + AC_CHECK_HEADERS(id3tag.h, [ + AC_CHECK_HEADERS(zlib.h, [ + VLC_ADD_LDFLAGS([id3tag],[-lid3tag -lz]) + VLC_ADD_PLUGINS([id3tag]) + ]) + ]) +]) dnl dnl ffmpeg decoder/demuxer plugin @@ -2948,6 +2925,34 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo VLC_ADD_LDFLAGS([ffmpeg],[-lz]) fi]) + AC_ARG_WITH(ffmpeg-amrnb, + [ --with-ffmpeg-amrnb specify if ffmpeg has been compiled with libamrnb support], + [ + if test "$with_ffmpeg_amrnb" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lamrnb]) + fi]) + + AC_ARG_WITH(ffmpeg-amrwb, + [ --with-ffmpeg-amrwb specify if ffmpeg has been compiled with libamrwb support], + [ + if test "$with_ffmpeg_amrwb" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lamrwb]) + fi]) + + AC_ARG_WITH(ffmpeg-x264, + [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support], + [ + if test "$with_ffmpeg_x264" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-lx264]) + fi]) + + AC_ARG_WITH(ffmpeg-a52, + [ --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support], + [ + if test "$with_ffmpeg_a52" = "yes"; then + VLC_ADD_LDFLAGS([ffmpeg],[-la52]) + fi]) + dnl dnl test for --with-ffmpeg-tree dnl @@ -2981,59 +2986,33 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo fi dnl Use a custom libffmpeg AC_MSG_RESULT(${real_ffmpeg_tree}/libavcodec/libavcodec.a) - - if fgrep -s "CONFIG_ZLIB=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_zlib}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lz]) - fi - fi - if fgrep -s "CONFIG_MP3LAME=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_mp3lame}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lmp3lame]) - fi - fi - if fgrep -s "CONFIG_FAAC=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_faac}" != "yes"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lfaac]) - fi - fi - if fgrep -s "CONFIG_DTS=yes" "${real_ffmpeg_tree}/config.mak"; then - if test "${with_ffmpeg_dts}" != "yes"; then - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_ffmpeg}" - AC_CHECK_LIB(dts_pic, dts_free, - [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts_pic]) ], - [ VLC_ADD_LDFLAGS([ffmpeg],[-ldts]) ]) - LDFLAGS="${LDFLAGS_save}" - fi - fi - if fgrep -s "CONFIG_VORBIS=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lvorbis -lvorbisenc]) - fi - if fgrep -s "CONFIG_FAAD=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lfaad]) - fi - if fgrep -s "CONFIG_XVID=yes" "${real_ffmpeg_tree}/config.mak"; then - VLC_ADD_LDFLAGS([ffmpeg],[-lxvidcore]) - fi - + + dnl Use pkg-config to look for the ldflags in libav*-uninstalled.pc + PKG_CONFIG_PATH_save="$PKG_CONFIG_PATH" + PKG_CONFIG_LIBDIR_save="$PKG_CONFIG_LIBDIR" + export PKG_CONFIG_PATH="" + export PKG_CONFIG_LIBDIR="${real_ffmpeg_tree}" + + PKG_CHECK_MODULES( [FFMPEG],[libavcodec libavformat libpostproc], [ + VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_CFLAGS}) + VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher], ${FFMPEG_LIBS})] + ,[]) + AS_IF([test -n "${PKG_CONFIG_PATH_save}"],[ + export PKG_CONFIG_PATH="${PKG_CONFIG_PATH_save}" + ],[ + unset PKG_CONFIG_PATH + ]) + AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[ + export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}" + ],[ + unset PKG_CONFIG_LIBDIR + ]) + VLC_ADD_BUILTINS([ffmpeg]) if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes" ; then VLC_ADD_BUILTINS([stream_out_switcher]) fi - if test -f "${real_ffmpeg_tree}/libavutil/libavutil.a"; then - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavutil ${real_ffmpeg_tree}/libavutil/libavutil.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavutil]) - fi - - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavcodec ${real_ffmpeg_tree}/libavcodec/libavcodec.a]) - VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libavcodec]) - - if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then - AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.]) - VLC_ADD_LDFLAGS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat ${real_ffmpeg_tree}/libavformat/libavformat.a]) - VLC_ADD_CPPFLAGS([ffmpeg 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.]) @@ -4165,6 +4144,9 @@ then VLC_ADD_PLUGINS([freetype]) VLC_ADD_CFLAGS([freetype],[`${FREETYPE_CONFIG} --cflags`]) VLC_ADD_LDFLAGS([freetype],[`${FREETYPE_CONFIG} --libs`]) + if test "${SYS}" = "mingw32"; then + VLC_ADD_LDFLAGS([freetype],[-lxml2])] + fi AC_CHECK_HEADERS(fontconfig/fontconfig.h, [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG]) VLC_ADD_LDFLAGS([freetype],[-lfontconfig])]) @@ -4423,38 +4405,73 @@ fi dnl dnl DirectFB module +dnl try to find using: 1 - given location; 2 - directfb-config; 3 - pkg-config +dnl TODO: support for static linking dnl AC_ARG_ENABLE(directfb, [ --enable-directfb DirectFB support (default disabled)]) -if test "${enable_directfb}" = "yes" -then - if test "${with_directfb}" = "no" - then - AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false") - if test "${have_directfb}"= "true" - then +AC_ARG_WITH(directfb, + [ --with-directfb=PATH path to DirectFB headers and libraries]) + +if test "${enable_directfb}" = "yes"; then + have_directfb="false" + CPPFLAGS_mydirectfb= + LDFLAGS_mydirectfb= + if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then + dnl Trying the given location + CPPFLAGS_save=${CPPFLAGS} + LDFLAGS_save=${LDFLAGS} + + CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE" + LDFLAGS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/" + LDFLAGS_new="${LDFLAGS_new} -L${with_directfb}/src/.libs/" + + CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}" + LDFLAGS="${LD_FLAGS} ${LDFLAGS_new}" + + dnl FIXME: too obscure + AC_CHECK_HEADER([directfb.h], [ + AC_CHECK_LIB([direct],[direct_initialize], [ + AC_CHECK_LIB([fusion], [fusion_enter], [ + AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false") + ], have_directfb="false") + ], have_directfb="false") + ], have_directfb="false") + + dnl Restore flags + CPPFLAGS="${CPPFLAGS_save}" + LDFLAGS="${LDFLAGS_save}" + + if test "${have_directfb}" = "true"; then + LDFLAGS_mydirectfb="${LDFLAGS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread" + CPPFLAGS_mydirectfb="${CPPFLAGS_new}" + fi + else + dnl Look for directfb-config + AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH}) + if test "${DIRECTFB_CONFIG}" != "no"; then + CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`" + LDFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --libs`" + have_directfb="true" + else + dnl Trying with pkg-config + PKG_CHECK_MODULES(DIRECTFB, directfb, [ + CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}" + LDFLAGS_mydirectfb="${DIRECTFB_LIBS}" + have_directfb="true" + ], [have_directfb="false"]) + fi + fi + if test "${have_directfb}" = "true"; then VLC_ADD_PLUGINS([directfb]) - VLC_ADD_LDFLAGS([directfb],[-ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl]) - VLC_ADD_CPPFLAGS([directfb],[-I/usr/include/directfb -D_REENTRANT]) - else - AC_MSG_ERROR([cannot find /usr/include/directfb headers, make sure directfb is installed on your system or use --disable-directfb]) + VLC_ADD_CPPFLAGS([directfb],[${CPPFLAGS_mydirectfb}]) + VLC_ADD_LDFLAGS([directfb],[${LDFLAGS_mydirectfb}]) + else + AC_MSG_ERROR([cannot find directfb headers and/or libraries ]) fi - else - CPPFLAGS_save="${CPPFLAGS}" - CPPFLAGS="${CPPFLAGS} -I${with_directfb}/include" - AC_CHECK_HEADER(directfb.h, have_directfb="true", have_directfb="false") - CPPFLAGS="${CPPFLAGS_save}" - AC_ARG_WITH(directfb, - [ --with-directfb=PATH path to directfb], - [ if test "${with_directfb}" != "no" -a -n "${with_directfb}" - then - VLC_ADD_PLUGINS([directfb]) - VLC_ADD_CPPFLAGS([directfb],[-I${with_directfb}/include -D_REENTRANT]) - VLC_ADD_LDFLAGS([directfb],[-L${with_directfb}/lib -ldirectfb -lfusion -ldirect -lpthread -ljpeg -lz -ldl]) - fi ], - [ AC_MSG_ERROR([cannot find directfb headers in ${with_directfb}/include]) ]) - fi fi + + dnl dnl GGI module @@ -5259,15 +5276,20 @@ AC_ARG_ENABLE(macosx, then VLC_ADD_PLUGINS([access_eyetv]) VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) + VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL]) VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit]) VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] ) + VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] ) fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, [VLC_ADD_PLUGINS([access_eyetv]) VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) VLC_ADD_BUILTINS([macosx]) + VLC_ADD_BUILTINS([minimal_macosx]) + VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL]) VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit]) VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions]) + VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions]) ])]) CFLAGS=$ORIGCFLAGS @@ -5581,7 +5603,7 @@ then [AC_CHECK_HEADERS(olectl.h, [ VLC_ADD_CPPFLAGS([activex],[-DUNICODE -D_UNICODE -D_MIDL_USE_GUIDDEF_]) VLC_ADD_CXXFLAGS([activex],[-fno-exceptions]) - VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi -lgdi32]) + VLC_ADD_LDFLAGS([activex],[-lole32 -loleaut32 -luuid -lshlwapi]) AC_CHECK_HEADERS(objsafe.h, VLC_ADD_CXXFLAGS([activex],[-DHAVE_OBJSAFE_HEADER]),, [ @@ -5769,7 +5791,7 @@ 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]) + VLC_ADD_LDFLAGS([mozilla],[-lembedstring]) fi fi fi @@ -5847,7 +5869,6 @@ then VLC_ADD_LDFLAGS([test3],[-lobjc]) VLC_ADD_PLUGINS([${TESTS}]) - #VLC_ADD_BUILTINS([${TESTS}]) fi dnl @@ -5908,48 +5929,35 @@ fi dnl dnl Plugin and builtin checks dnl -builtin_support=false -plugin_support=: - -dnl Support for plugins - this must be AT THE END -AC_ARG_ENABLE(plugins, - [ --disable-plugins make all plugins built-in (default plugins enabled)], - [if test "${enable_plugins}" = "no" - then - plugin_support=false - fi]) +plugin_support=yes dnl Automagically disable plugins if there is no system support for dnl dynamically loadable files (.so, .dll, .dylib). dnl don't forget vlc-win32 still can load .dll as plugins -if test "${ac_cv_have_plugins}" = "no" -then - echo "*** Your system doesn't have plugin support. All plugins will be built" - echo "statically." - plugin_support=false -fi +AS_IF([test "${ac_cv_have_plugins}" = "no"], [ + AC_MSG_WARN([*** No plugin support! Building statically! ***]) + plugin_support=no +]) -AS_IF([${plugin_support}], [ +AS_IF([test "${enable_shared}" = "no"], [ + plugin_support=no +]) + +AS_IF([test "${plugin_support}" != "no"], [ AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins) -], [ - VLC_ADD_BUILTINS([${PLUGINS}]) - PLUGINS="" ]) +AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"]) + +dnl Temporary(?) hack for plugins/builtins transition +VLC_ADD_PLUGINS([${BUILTINS}]) +BUILTINS="" + dnl dnl Pic and shared libvlc stuff dnl -AS_IF([test "${enable_libtool}" != "no"], [ - AC_DEFINE(HAVE_SHARED_LIBVLC, 1, [Define to 1 if libvlc is built as a shared library.]) - VLC_ADD_PLUGINS([${BUILTINS}]) - AS_IF([test "${SYS}" = "mingw32"], [ - FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" - ]) - BUILTINS="" -], [ - LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}" - FILE_LIBVLC_DLL="" - VLC_ADD_CPPFLAGS([libvlc],[-DDLL_EXPORT]) +AS_IF([test "${SYS}" = "mingw32"], [ + FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" ]) dnl @@ -5970,11 +5978,6 @@ AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) -dnl Old definitions for version-dependant plugins -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.9.0 release module_symbol="0_9_0b" AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions]) @@ -6060,12 +6063,14 @@ AC_CONFIG_FILES([ modules/audio_filter/channel_mixer/Makefile modules/audio_filter/converter/Makefile modules/audio_filter/resampler/Makefile + modules/audio_filter/spatializer/Makefile modules/audio_mixer/Makefile modules/audio_output/Makefile modules/codec/Makefile modules/codec/cmml/Makefile modules/codec/dmo/Makefile modules/codec/ffmpeg/Makefile + modules/codec/subtitles/Makefile modules/codec/spudec/Makefile modules/codec/xvmc/Makefile modules/control/Makefile @@ -6080,6 +6085,7 @@ AC_CONFIG_FILES([ modules/gui/beos/Makefile modules/gui/pda/Makefile modules/gui/macosx/Makefile + modules/gui/minimal_macosx/Makefile modules/gui/qnx/Makefile modules/gui/qt4/Makefile modules/gui/skins2/Makefile @@ -6088,6 +6094,7 @@ AC_CONFIG_FILES([ modules/meta_engine/Makefile modules/misc/Makefile modules/misc/dummy/Makefile + modules/misc/lua/Makefile modules/misc/memcpy/Makefile modules/misc/notify/Makefile modules/misc/testsuite/Makefile