X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=357912ca77f0c979b83ebd74261a262ccf7b8659;hb=cbbe174a03104b9d0ad1429a34a0ade1b3a1c92f;hp=08294ed6a318591fd84d22448dcbc03e74104d47;hpb=cf71566810d65c80589f56b47d9f61ea576fa0d9;p=vlc diff --git a/configure.ac b/configure.ac index 08294ed6a3..357912ca77 100644 --- a/configure.ac +++ b/configure.ac @@ -164,30 +164,62 @@ case "${host_os}" in ;; esac ;; - darwin1.[0123]) - dnl Mac OS X < 10.3 - 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 -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 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 -std=gnu99"; OBJCFLAGS="${OBJCFLAGS_save}" - VLC_ADD_LDFLAGS([mp4], [-framework IOKit -framework CoreFoundation]) - VLC_ADD_LDFLAGS([mkv mp4], [-framework IOKit -framework CoreFoundation]) + VLC_ADD_LDFLAGS([mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) + VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_CFLAGS([libvlc vlc],[-x objective-c]) - VLC_ADD_LDFLAGS([vlc],[-undefined dynamic_lookup]) + VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup]) + VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup]) + VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress]) + VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings]) + VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation]) + VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation]) + AC_ARG_ENABLE(macosx-defaults, + [ --enable-macosx-defaults Build the default configuration on Mac OS X (default enabled)]) + if test "x${enable_macosx_defaults}" != "xno" + then + echo "" + echo "Building with Mac OS X defaults:" + enable_faad="yes" + echo " Assuming --enable-faad" + enable_flac="yes" + echo " Assuming --enable-flac" + enable_theora="yes" + echo " Assuming --enable-theora" + enable_shout="yes" + echo " Assuming --enable-shout" + enable_cddax="yes" + echo " Assuming --enable-cddax" + enable_vcdx="yes" + echo " Assuming --enable-vcdx" + enable_caca="yes" + echo " Assuming --enable-caca" + enable_goom="yes" + echo " Assuming --enable-goom" + enable_ncurses="yes" + echo " Assuming --enable-ncurses" + enable_twolame="yes" + echo " Assuming --enable-twolame" + enable_realrtsp="yes" + echo " Assuming --enable-realrtsp" + + enable_skins2="no" + echo " Assuming --disable-skins2" + enable_x11="no" + echo " Assuming --disable-x11" + enable_glx="no" + echo " Assuming --disable-glx" + enable_xvideo="no" + echo " Assuming --disable-xvideo" + + fi ;; *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*) AC_CHECK_TOOL(WINDRES, windres, :) - enable_libtool="no" case "${host_os}" in *mingw32*) @@ -209,14 +241,14 @@ 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([libvlc],[-lws2_32 -lnetapi32 -lwinmm -mwindows]) - VLC_ADD_LDFLAGS([cdda vcdx cddax],[-lwinmm]) - 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 access_realrtsp telnet rc netsync growl flac ts audioscrobbler],[-lws2_32]) + VLC_ADD_LDFLAGS([libvlc],[-lws2_32 -lnetapi32 -lwinmm]) + 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 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([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]) @@ -267,82 +299,79 @@ AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce") dnl +dnl Sadly autoconf doesn't think about testing foo.exe when ask to test +dnl for program foo on win32 + +case "${build_os}" in + cygwin|msys) + ac_executable_extensions=".exe" + ;; + *) + ;; +esac + +dnl dnl Libtool dnl It's very bad, but our former custom system was worst dnl -- Courmisch dnl + +dnl override platform specific check for dependent libraries +dnl otherwise libtool linking of shared libraries will +dnl fail on anything other than pass_all. +AC_CACHE_VAL(lt_cv_deplibs_check_method, + [lt_cv_deplibs_check_method=pass_all]) + AC_DISABLE_STATIC AC_LIBTOOL_DLOPEN -dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far +AC_LIBTOOL_WIN32_DLL m4_undefine([AC_PROG_F77]) m4_defun([AC_PROG_F77],[]) AC_PROG_LIBTOOL -AC_ARG_ENABLE(libtool, - [ --enable-libtool use libtool (default enabled)]) -AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"]) +m4_undefine([AC_DEPLIBS_CHECK_METHOD]) +m4_defun([AC_DEPLIBS_CHECK_METHOD],[]) + +lt_cv_deplibs_check_method=pass_all dnl dnl Check for Mac OS X SDK settings dnl AC_ARG_WITH(macosx-sdk, - [ --with-macosx-sdk compile for Mac OS X 10.3 SDK],[], with_macosx_sdk=no) + [ --with-macosx-sdk compile with the Mac OS X 10.4u SDK],[], with_macosx_sdk=no) if test "${with_macosx_sdk}" != "no" ; then - if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then - CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}" - LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.4u.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk"; LDFLAGS="${LDFLAGS_save}" - export MACOSX_DEPLOYMENT_TARGET=10.4 - MACOSX_DEPLOYMENT_TARGET="10.4" - elif test "${host_cpu}" = "powerpc"; then - CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CFLAGS="${CFLAGS_save}" - CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; CXXFLAGS="${CXXFLAGS_save}" - OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.3 -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -mmacosx-version-min=10.3"; OBJCFLAGS="${OBJCFLAGS_save}" - LDFLAGS_save="${LDFLAGS_save} -isysroot /Developer/SDKs/MacOSX10.3.9.sdk -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk"; LDFLAGS="${LDFLAGS_save}" - export MACOSX_DEPLOYMENT_TARGET=10.3 - MACOSX_DEPLOYMENT_TARGET="10.3" - fi + CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" + CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" + OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" + LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk" + CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}" + CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}" + OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}" + MACOSX_DEPLOYMENT_TARGET="10.4" + export MACOSX_DEPLOYMENT_TARGET fi dnl dnl Gettext stuff dnl -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 ne nl 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) +ALL_LINGUAS="af ar bn ca co cs da de el en_GB es eu fa fr fur gl he hi hu it ja ka ko lt lv ms my ne nl 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.16.1) AM_GNU_GETTEXT AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [ AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl]) AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl" - AS_IF([test "${enable_libtool}" != "no"], [ - INCLUDED_LIBINTL="${LTLIBINTL}" - ],[ - INCLUDED_LIBINTL="${LIBINTL}" - ]) ], [ - AS_IF([test "${enable_libtool}" != "no"], [ - VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}]) - ], [ - VLC_ADD_LDFLAGS([libvlc vlc], [${LIBINTL}]) - ]) + VLC_ADD_LDFLAGS([libvlc vlc], [${LTLIBINTL}]) ]) -AC_SUBST(INCLUDED_LIBINTL) -XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" dnl dnl Iconv stuff dnl -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([libvlc],[${INCICONV}]) -AS_IF([test "${enable_libtool}" != "no"], [ - VLC_ADD_LDFLAGS([libvlc vlc],[${LIBICONV}]) -],[ - VLC_ADD_LDFLAGS([libvlc vlc],[${LTLIBICONV}]) -]) +VLC_ADD_LDFLAGS([libvlc],[${LTLIBICONV}]) dnl Check for the need to include the mingwex lib for mingw32 if test "${SYS}" = "mingw32" @@ -401,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}" @@ -428,7 +439,7 @@ need_libc=false AC_CHECK_FUNCS(gettimeofday strtod strtol strtof strtoll strtoull strsep isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf daemon scandir fork bsearch lstat strlcpy) dnl Check for usual libc functions -AC_CHECK_FUNCS(strdup strndup atof) +AC_CHECK_FUNCS(strdup strndup strnlen atof) AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)]) AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)]) AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)]) @@ -573,7 +584,7 @@ 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 panoramix rotate noise],[-lm]) + 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]) @@ -584,6 +595,9 @@ AC_CHECK_LIB(m,sqrt,[ AC_CHECK_LIB(m,ceil,[ VLC_ADD_LDFLAGS([mosaic],[-lm]) ]) +AC_CHECK_LIB(m,exp,[ + VLC_ADD_LDFLAGS([gaussianblur],[-lm]) +]) AC_CHECK_LIB(mx,sqrtf,[ VLC_ADD_LDFLAGS([x264],[-lmx]) ]) @@ -773,7 +787,7 @@ AC_EGREP_HEADER(strncasecmp,strings.h,[ AC_MSG_RESULT(no)]) dnl Check for headers -AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h) +AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h inttypes.h sys/int_types.h wchar.h locale.h) AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h) AC_CHECK_HEADERS([arpa/inet.h net/if.h netinet/in.h sys/socket.h netinet/udplite.h]) if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then @@ -865,8 +879,8 @@ then 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" + AC_ARG_ENABLE(dbus-control, [ --disable-dbus-control D-BUS control interface (default enabled)]) + if test "${enable_dbus_control}" != "no" then VLC_ADD_PLUGINS([dbus]) VLC_ADD_LDFLAGS([dbus],[$DBUS_LIBS]) @@ -956,38 +970,50 @@ 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 "${host_cpu}" = "mipsel"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -Os" +if test "${ac_cv_c_os}" != "no"; then + CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -Os" +else + AC_CACHE_CHECK([if \$CC accepts -O], + [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"; then + if test "${ac_cv_c_o3}" = "no"; then + CFLAGS_OPTIM_SIZE="${CFLAGS_OPTIM_SIZE} -O" + fi + fi fi 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 "${host_cpu}" != "mipsel"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -O3" +if test "${ac_cv_c_o3}" != "no"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O3" +else + 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"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O2" + else + AC_CACHE_CHECK([if \$CC accepts -O], + [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"; then + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -O" + fi + fi fi -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 "${host_cpu}" != "mipsel"; then - if test "${ac_cv_c_o3}" = "no"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -O2" - fi - CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O2" -else - AC_CACHE_CHECK([if \$CC accepts -O], - [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 "${host_cpu}" != "mipsel"; then - if test "${ac_cv_c_o3}" = "no"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -O" - fi - CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O" - fi +AC_CACHE_CHECK([if \$CC accepts -O0], + [ac_cv_c_o0], + [CFLAGS="${CFLAGS_save} -O0" + AC_TRY_COMPILE([],,ac_cv_c_o0=yes, ac_cv_c_o0=no)]) +if test "${ac_cv_c_o0}" != "no"; then + CFLAGS_NOOPTIM="${CFLAGS_NOOPTIM} -O0" fi dnl Check for -ffast-math @@ -996,7 +1022,7 @@ AC_CACHE_CHECK([if \$CC accepts -ffast-math], [CFLAGS="${CFLAGS_save} -ffast-math" AC_TRY_COMPILE([],,ac_cv_c_fast_math=yes, ac_cv_c_fast_math=no)]) if test "${ac_cv_c_fast_math}" != "no"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -ffast-math" + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -ffast-math" fi dnl Check for -funroll-loops @@ -1008,7 +1034,7 @@ then [CFLAGS="${CFLAGS_save} -funroll-loops" AC_TRY_COMPILE([],,ac_cv_c_unroll_loops=yes, ac_cv_c_unroll_loops=no)]) if test "${ac_cv_c_unroll_loops}" != "no"; then - CFLAGS_OPTIM="${CFLAGS_OPTIM} -funroll-loops" + CFLAGS_OPTIM_SPEED="${CFLAGS_OPTIM_SPEED} -funroll-loops" fi fi @@ -1019,8 +1045,8 @@ 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" - # this plugin does not compile without -fomit-frame-pointer, damn gcc! - VLC_ADD_CFLAGS([i420_yuy2_mmx],[-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 @@ -1032,6 +1058,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], @@ -1045,14 +1073,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], @@ -1065,19 +1093,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], @@ -1168,17 +1194,18 @@ dnl 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 nsv real aiff mjpeg demuxdump flacsys tta]) -VLC_ADD_PLUGINS([cvdsub svcdsub spudec telx subsdec dvbsub mpeg_audio lpcm a52 dts cinepak flac]) -VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise extract sharpen]) +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([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([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]) +VLC_ADD_PLUGINS([access_filter_bandwidth]) VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264]) VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio]) VLC_ADD_PLUGINS([packetizer_vc1]) @@ -1187,7 +1214,7 @@ VLC_ADD_PLUGINS([packetizer_vc1]) if test "${SYS}" != "mingwce"; then 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 erase]) + VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur]) VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga]) VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler]) VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer]) @@ -1216,34 +1243,24 @@ elif test "${SYS}" != "mingwce"; then else VLC_ADD_PLUGINS([win32text]) fi +if test "${SYS}" = "darwin"; then + VLC_ADD_PLUGINS([quartztext]) + VLC_ADD_LDFLAGS([quartztext],[-Wl,-framework,Carbon,-framework,ApplicationServices]) +fi dnl dnl Accelerated modules dnl -MMX_MODULES="memcpymmx i420_rgb_mmx i422_yuy2_mmx i420_ymga_mmx" +MMX_MODULES="memcpymmx i420_rgb_mmx i420_yuy2_mmx i422_yuy2_mmx i420_ymga_mmx" #MMX_MODULES="${MMX_MODULES} idctmmx motionmmx" MMXEXT_MODULES="memcpymmxext" #MMXEXT_MODULES="${MMXEXT_MODULES} idctmmxext motionmmxext" THREEDNOW_MODULES="memcpy3dn" SSE_MODULES="" +SSE2_MODULES="i420_rgb_sse2 i420_yuy2_sse2" ALTIVEC_MODULES="memcpyaltivec i420_yuy2_altivec" #ALTIVEC_MODULES="${ALTIVEC_MODULES} idctaltivec motionaltivec" -if test "${enable_gprof}" != "yes" -then - MMX_MODULES="${MMX_MODULES} i420_yuy2_mmx" -fi - -AC_CACHE_CHECK([if \$CC groks MMX inline assembly], - [ac_cv_mmx_inline], - [CFLAGS="${CFLAGS_save}" - AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));], - ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)]) -if test "${ac_cv_mmx_inline}" != "no"; then - AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.) - ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" -fi - dnl Check for fully workin MMX intrinsics dnl We need support for -mmmx, we need , and we also need a dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) @@ -1269,6 +1286,41 @@ if test "${ac_cv_c_mmx_intrinsics}" != "no"; then VLC_ADD_CFLAGS([i420_rgb_mmx],[-mmmx]) fi +dnl Check for fully workin SSE2 intrinsics +dnl We need support for -mmmx, we need , and we also need a +dnl working compiler (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23963) +AC_CACHE_CHECK([if \$CC groks SSE2 intrinsics], + [ac_cv_c_sse2_intrinsics], + [CFLAGS="${CFLAGS_save} -O -msse2" + AC_TRY_COMPILE([#include + #include + uint64_t frobzor;], + [__m128i a, b, c; + a = b = c = _mm_set1_epi64((__m64)frobzor); + a = _mm_slli_epi16(a, 3); + a = _mm_adds_epi16(a, b); + c = _mm_srli_epi16(c, 8); + c = _mm_slli_epi16(c, 3); + b = _mm_adds_epi16(b, c); + a = _mm_unpacklo_epi8(a, b); + frobzor = (uint64_t)_mm_movepi64_pi64(a);], + [ac_cv_c_sse2_intrinsics=yes], + [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]) +fi + +AC_CACHE_CHECK([if \$CC groks MMX inline assembly], + [ac_cv_mmx_inline], + [CFLAGS="${CFLAGS_save}" + AC_TRY_COMPILE(,[void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));], + ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)]) +if test "${ac_cv_mmx_inline}" != "no"; then + AC_DEFINE(CAN_COMPILE_MMX, 1, Define if \$CC groks MMX inline assembly.) + ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}" +fi + AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly], [ac_cv_mmxext_inline], [CFLAGS="${CFLAGS_save}" @@ -1299,6 +1351,16 @@ if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "solaris"; then ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}" fi +AC_CACHE_CHECK([if \$CC groks SSE2 inline assembly], + [ac_cv_sse2_inline], + [CFLAGS="${CFLAGS_save}" + AC_TRY_COMPILE(,[void *p;asm volatile("punpckhqdq %%xmm1,%%xmm2"::"r"(p));], + ac_cv_sse2_inline=yes, ac_cv_sse2_inline=no)]) +if test "${ac_cv_sse2_inline}" != "no" -a "${SYS}" != "solaris"; then + AC_DEFINE(CAN_COMPILE_SSE2, 1, Define if \$CC groks SSE2 inline assembly.) + ACCEL_MODULES="${ACCEL_MODULES} ${SSE2_MODULES}" +fi + if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CACHE_CHECK([if \$CC groks AltiVec inline assembly], [ac_cv_altivec_inline], @@ -1393,12 +1455,12 @@ AS_IF( test "${enable_altivec}" != "no", AC_CACHE_CHECK([if linker needs -framework vecLib], [ac_cv_ld_altivec], - [LDFLAGS="${LDFLAGS_vlc} -framework vecLib" + [LDFLAGS="${LDFLAGS_vlc} -Wl,-framework,vecLib" AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no) LDFLAGS="${LDFLAGS_save}" ]) if test "${ac_cv_ld_altivec}" != "no"; then - VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-framework vecLib]) + VLC_ADD_LDFLAGS([libvlc idctaltivec motionaltivec memcpyaltivec],[-Wl,-framework,vecLib]) fi fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" @@ -1451,6 +1513,11 @@ then ARCH="${ARCH} mmx" VLC_ADD_BUILTINS([${ACCEL_MODULES}]) fi +if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64" +then + ARCH="${ARCH} sse sse2" + VLC_ADD_BUILTINS([${ACCEL_MODULES}]) +fi dnl dnl Memory usage @@ -1466,7 +1533,13 @@ dnl Enable/disable optimizations dnl AC_ARG_ENABLE(optimizations, [ --disable-optimizations disable compiler optimizations (default enabled)]) -test "${enable_optimizations}" != "no" && enable_optimizations="yes" +if test "${enable_optimizations}" != "no"; then + if test "${enable_optimize_memory}" = "yes"; then + enable_optimizations="size" + else + enable_optimizations="speed" + fi +fi dnl dnl AltiVec acceleration @@ -1488,6 +1561,22 @@ AH_TEMPLATE(NDEBUG, [Define to 1 if debug code should NOT be compiled]) AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)]) +dnl +dnl Test coverage +dnl +AC_ARG_ENABLE(coverage, + [ --enable-coverage build for test coverage (default disabled)],, + [enable_coverage="no"]) +AS_IF([test "${enable_coverage}" != "no"], [ + CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}" + CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}" + LDFLAGS="-lgcov ${LDFLAGS}" + dnl ugly... + CFLAGS_save="${CFLAGS}" + CXXFLAGS_save="${CXXFLAGS}" + LDFLAGS_save="${LDFLAGS}" +]) + dnl dnl Enable release-specific flags dnl @@ -1517,7 +1606,7 @@ then fi AC_ARG_ENABLE(switcher, - [ --enable-switcher Stream-out switcher plugin (default disabled)]) + [ --enable-switcher Stream-out switcher plugin (default disabled)]) dnl Check for libshout AC_ARG_ENABLE(shout, @@ -1531,6 +1620,43 @@ 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)]) +if test "${enable_lua}" != "no" +then + PKG_CHECK_MODULES(LUA, lua5.1, + [ have_lua=yes ], + [ + AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead]) + PKG_CHECK_MODULES(LUA, lua >= 5.1, + [ have_lua=yes ], + [ + have_lua=yes + AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], + [], + [ have_lua=no ] ) + AC_CHECK_LIB( lua5.1 , luaL_newstate, + [LUA_LIBS="-llua5.1"], + AC_CHECK_LIB( lua51 , luaL_newstate, + [LUA_LIBS="-llua51"], + AC_CHECK_LIB( lua , luaL_newstate, + [LUA_LIBS="-llua"], + [ have_lua=no + AC_MSG_WARN([lua >= 5.1 not found!]) + ]) + ) + ) + ]) + ]) + 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]) + fi +fi + dnl dnl HTTP daemon dnl @@ -1987,6 +2113,22 @@ then fi fi +dnl +dnl Windows DirectShow BDA access module +dnl +AC_ARG_ENABLE(bda, + [ --enable-bda Win32 DirectShow BDA support (default enabled on Win32)]) +if test "${enable_bda}" != "no" +then + if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin" + then + AC_CHECK_HEADERS(dshow.h, + [ VLC_ADD_PLUGINS([bda]) + VLC_ADD_CXXFLAGS([bda],[]) + VLC_ADD_LDFLAGS([bda],[-lstrmiids -lole32 -loleaut32 -luuid]) ]) + fi +fi + dnl dnl OpenCV wrapper and example filters @@ -2188,6 +2330,30 @@ AC_ARG_ENABLE(pvr, if test "${enable_pvr}" = "yes" then VLC_ADD_PLUGINS([pvr]) + AC_ARG_WITH(videodev2, + [ --with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)],[],[]) + if test "${with_videodev2}" != "no" -a -n "${with_videodev2}" + then + AC_DEFINE_UNQUOTED(VIDEODEV2_H_FILE, "${with_videodev2}", [Location of videodev2.h]) + fi + + + AC_CACHE_CHECK([for new linux/videodev2.h], + [new_linux_videodev2_h], + [AC_TRY_COMPILE([ + #include + # ifdef VIDEODEV2_H_FILE + # include VIDEODEV2_H_FILE + # else + # include + # endif + ], + [struct v4l2_ext_controls ctrls; ctrls.ctrl_class = V4L2_CTRL_CLASS_MPEG; ], + new_linux_videodev2_h=yes, + new_linux_videodev2_h=no)]) + if test "${new_linux_videodev2_h}" != "no"; then + AC_DEFINE(HAVE_NEW_LINUX_VIDEODEV2_H, 1, [Define if new linux/videodev2.h present]) + fi fi dnl @@ -2343,7 +2509,7 @@ then if test "${SYS}" = "darwin" then VLC_ADD_PLUGINS([vcd cdda]) - VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-framework IOKit -framework CoreFoundation]) + VLC_ADD_LDFLAGS([vcd vcdx cdda cddax],[-Wl,-framework,IOKit,-framework,CoreFoundation]) VLC_ADD_LDFLAGS([vcdx cddax cdda],[-liconv]) fi @@ -2394,7 +2560,7 @@ if test "${enable_screen}" != "no"; then if test "${SYS}" = "darwin"; then AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [ VLC_ADD_PLUGINS([screen]) - VLC_ADD_LDFLAGS([screen],[-framework ApplicationServices]) + VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices]) ]) elif test "${SYS}" = "mingw32"; then VLC_ADD_PLUGINS([screen]) @@ -2913,7 +3079,8 @@ dnl Trying with pkg-config PKG_CHECK_MODULES(SWSCALE, libswscale,[ VLC_ADD_CFLAGS([ffmpeg],[${SWSCALE_CFLAGS}]) VLC_ADD_LDFLAGS([ffmpeg],[${SWSCALE_LIBS}]) - AC_CHECK_HEADERS(ffmpeg/swscale.h) + AC_CHECK_LIB(swscale, sws_getContext, + [AC_CHECK_HEADERS(ffmpeg/swscale.h)],[]) ],[ true ]) VLC_RESTORE_FLAGS ],[ @@ -3110,7 +3277,7 @@ then else AC_CHECK_HEADERS(QuickTime/QuickTime.h, [ VLC_ADD_BUILTINS([quicktime]) - VLC_ADD_LDFLAGS([quicktime],[-framework QuickTime -framework Carbon]) + VLC_ADD_LDFLAGS([quicktime],[-Wl,-framework,QuickTime,-framework,Carbon]) ], [ AC_MSG_ERROR([cannot find QuickTime headers]) ]) fi fi @@ -3148,7 +3315,7 @@ dnl dnl skins2 module dnl AC_ARG_ENABLE(libtar, - [ --enable libtar support for skins2 (default enabled)]) + [ --enable-libtar support for skins2 (default enabled)]) AS_IF([test "${enable_libtar}" != "no"],[ AC_CHECK_HEADERS(libtar.h, [ @@ -3156,7 +3323,6 @@ AS_IF([test "${enable_libtar}" != "no"],[ ] ) ]) - dnl dnl A52/AC3 decoder plugin dnl @@ -3237,69 +3403,52 @@ AC_ARG_WITH(a52-fixed, dnl dnl DTS Coherent Acoustics decoder plugin dnl -AC_ARG_ENABLE(dts, - [ --enable-dts DTS Coherent Acoustics support with libdca (default enabled)]) -if test "${enable_dts}" != "no"; then - AC_ARG_WITH(dts-tree, - [ --with-dts-tree=PATH libdts tree for static linking ],[],[]) - if test "${with_dts_tree}" != "no" -a -n "${with_dts_tree}" - then - real_dts_tree="`cd ${with_dts_tree} 2>/dev/null && pwd`" - if test -z "${real_dts_tree}" - then +AS_IF([test "x${enable_dts}" != "x"], [ + AC_MSG_ERROR([--enable-dts is obsolete. Please use libdca and --enable-dca.]) +]) +AS_IF([test "x${with_dts_tree}" != "x"], [ + AC_MSG_ERROR([--with-dts-tree is obsolete. Please use libdca and --with-dca-tree.]) +]) + +AC_ARG_ENABLE(dca, + [ --enable-dca DTS Coherent Acoustics support with libdca (default enabled)]) +AS_IF([test "${enable_dca}" != "no"], [ + AC_ARG_WITH(dca-tree, + [ --with-dca-tree=PATH libdca tree for static linking],, + [with_dca_tree="no"]) + AS_IF([test "${with_dca_tree}" != "no"], [ + real_dca_tree="`cd ${with_dca_tree} 2>/dev/null && pwd`" + AS_IF([test -z "${real_dca_tree}"], [ dnl The given directory can't be found AC_MSG_RESULT(no) - AC_MSG_ERROR([${with_dts_tree} directory doesn't exist]) - fi - dnl Use a custom libdts - AC_MSG_CHECKING(for dts.h in ${real_dts_tree}/include) - if test -f ${real_dts_tree}/include/dts.h - then + AC_MSG_ERROR([${with_dca_tree} directory doesn't exist]) + ]) + dnl Use a custom libdca + AC_MSG_CHECKING(for libdca in ${real_dca_tree}) + AS_IF([test -f "${real_dca_tree}/libdca/.libs/libdca.a"], [ AC_MSG_RESULT(yes) - VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dts_tree}/include]) - VLC_ADD_LDFLAGS([dtstofloat32],[-L${real_dts_tree}/libdts]) - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" - AC_CHECK_LIB(dts_pic, dts_free, [ - VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) - ],[ - AC_CHECK_LIB(dts, dts_free, [ - VLC_ADD_BUILTINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts]) - ],[ - if test -f ${real_dts_tree}/libdts/libdts.a - then - AC_MSG_ERROR([make sure you have at least libdts-0.0.2]) - else - AC_MSG_ERROR([the specified tree hasn't been compiled]) - fi - ]) - ], [-lm]) - LDFLAGS="${LDFLAGS_save}" - else + VLC_ADD_LDFLAGS([dtstofloat32],[${real_dca_tree}/libdca/.libs/libdca.a]) + AS_IF([test -f "${real_dca_tree}/include/dca.h"], [ + VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/include]) + ], [ + VLC_ADD_CPPFLAGS([dtstofloat32],[-I${real_dca_tree}/../include]) + ]) + ], [ AC_MSG_RESULT(no) - AC_MSG_ERROR([the specified tree doesn't have dts.h]) - fi - else - LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}" - AC_CHECK_HEADERS(dts.h, [ - AC_CHECK_LIB(dts_pic, dts_free, [ - VLC_ADD_PLUGINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic -lm]) - ],[ - AC_CHECK_LIB(dts, dts_free, [ - VLC_ADD_BUILTINS([dtstofloat32]) - VLC_ADD_LDFLAGS([dtstofloat32],[-ldts]) - ],[ - if test "${enable_dts}" = "yes"; then - AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html]) - fi - ]) - ], [-lm]) + AC_MSG_ERROR([the specified tree doesn't have libdca/.libs/libdca.a]) ]) - LDFLAGS="${LDFLAGS_save}" - fi -fi + ], [ + PKG_CHECK_MODULES([DCA], [libdca >= 0.0.5], [ + VLC_ADD_PLUGINS([dtstofloat32]) + VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}]) + VLC_ADD_LDFLAGS([dtstofloat32], [${DCA_LIBS}]) + ], [ + AS_IF([test "x${enable_dca}" != "x"], [ + AC_MSG_ERROR([${DCA_PKG_ERRORS}]) + ]) + ]) + ]) +]) dnl dnl Flac plugin @@ -3334,7 +3483,7 @@ then fi else AC_CHECK_HEADERS(FLAC/stream_decoder.h, [ - VLC_ADD_LDFLAGS([flac],[-lFLAC]) + VLC_ADD_LDFLAGS([flac],[-lFLAC -logg]) ],[]) fi fi @@ -3621,6 +3770,38 @@ if test "${enable_x264}" != "no"; then fi fi +dnl +dnl Teletext Modules +dnl vbi decoder plugin (using libzbvi) +dnl telx module +dnl uncompatible +dnl +AC_ARG_ENABLE(zvbi, + [ --enable-zvbi VBI (inc. Teletext) decoding support with libzvbi (default enabled)]) +AC_ARG_ENABLE(telx, + [ --enable-telx, Teletext decoding module (conflicting with zvbi) (default disabled)]) + +AS_IF( [test "${enable_zvbi}" != "no"],[ + AS_IF( [test "${enable_telx}" = "yes"],[ + AC_MSG_ERROR([The zvbi and telx modules are uncompatibles. Disable the other if you enable one.]) + ],[ + PKG_CHECK_MODULES(ZVBI, + zvbi-0.2 >= 0.2.25, + [ + VLC_ADD_LDFLAGS([zvbi],[$ZVBI_LIBS]) + VLC_ADD_CFLAGS([zvbi],[$ZVBI_CFLAGS]) + VLC_ADD_PLUGINS([zvbi]) + AC_DEFINE(ZVBI_COMPILED, 1, [Define if the zvbi module is built]) + ],[ + AC_MSG_WARN(ZVBI library not found. Enabling the telx module instead) + enable_telx="yes" + ]) + ]) + ]) +AS_IF( [test "${enable_telx}" = "yes"],[ + VLC_ADD_PLUGINS([telx]) + ]) + dnl dnl CMML plugin dnl @@ -3841,7 +4022,7 @@ if test "${enable_opengl}" != "no" && else dnl OS X special case (no GL/gl.h but OpenGL/gl.h) VLC_ADD_PLUGINS([opengl]) - VLC_ADD_LDFLAGS([opengl],[-framework OpenGL]) + VLC_ADD_LDFLAGS([opengl],[-Wl,-framework,OpenGL]) fi fi @@ -3965,7 +4146,7 @@ then [VLC_ADD_CFLAGS([freetype],[-DHAVE_FONTCONFIG]) VLC_ADD_LDFLAGS([freetype],[-lfontconfig])]) AC_CHECK_HEADERS(Carbon/Carbon.h, - [VLC_ADD_LDFLAGS([freetype],[-framework Carbon])]) + [VLC_ADD_LDFLAGS([freetype],[-Wl,-framework,Carbon])]) elif test "${enable_freetype}" = "yes" then AC_MSG_ERROR([I couldn't find the freetype package. You can download libfreetype2 @@ -4470,7 +4651,7 @@ if test "${enable_macosx-audio}" != "no" && then AC_CHECK_HEADERS(CoreAudio/CoreAudio.h, [ VLC_ADD_BUILTINS([auhal]) - VLC_ADD_LDFLAGS([auhal],[-framework CoreAudio -framework AudioUnit -framework AudioToolbox]) + VLC_ADD_LDFLAGS([auhal],[-Wl,-framework,CoreAudio,-framework,AudioUnit,-framework,AudioToolbox,-framework,Carbon]) ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ]) fi @@ -4491,16 +4672,18 @@ then fi dnl -dnl JACK module +dnl JACK modules dnl AC_ARG_ENABLE(jack, - [ --enable-jack JACK audio module (default disabled)], - [if test "${enable_jack}" = "yes" - then - AC_CHECK_HEADERS(jack/jack.h, [ - VLC_ADD_PLUGINS([jack]) - VLC_ADD_LDFLAGS([jack],[-ljack]) ]) - fi]) + [ --enable-jack JACK audio I/O modules (default disabled)],, + [enable_jack="no"]) + +AS_IF([test "${enable_jack}" != "no"], [ + AC_CHECK_HEADERS(jack/jack.h, [ + VLC_ADD_PLUGINS([access_jack jack]) + VLC_ADD_LDFLAGS([access_jack jack],[-ljack]) + ],[AC_MSG_ERROR([cannot find JACK headers])]) +]) dnl dnl CyberLink for C++ UPnP stack @@ -4645,7 +4828,7 @@ if test "${enable_skins2}" = "yes" || ALIASES="${ALIASES} svlc" VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 -DMACOSX_SKINS]) VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti]) - VLC_ADD_LDFLAGS([skins2],[-framework Carbon]) + VLC_ADD_LDFLAGS([skins2],[-Wl,-framework,Carbon]) else if test "${skins2_missing_lib}" = "no"; then VLC_ADD_PLUGINS([skins2]) @@ -4821,9 +5004,9 @@ then AC_PATH_PROG(WX_CONFIG, ${WXWIDGETS_NAME}, no, ${WXWIDGETS_PATH}) if test "${WX_CONFIG}" != "no" -a "${CXX}" != "" then - if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null || expr 2.7.0 \<= `${WX_CONFIG} --version` >/dev/null + if expr 2.6.0 \> `${WX_CONFIG} --version` >/dev/null then - AC_MSG_ERROR([You need wxWidgets of the 2.6 branch. Please upgrade/downgrade and try again. Better yet, you can configure with --disable-wxwidgets.]) + AC_MSG_ERROR([You need wxWidgets version 2.6.0 or upwards. Please upgrade and try again.]) fi AC_LANG_PUSH(C++) # Turn this error: @@ -4908,9 +5091,10 @@ AS_IF([test "${enable_qt4}" != "no" && enableqt4=true VLC_ADD_LDFLAGS([qt4],[$QT4_LIBS]) VLC_ADD_CXXFLAGS([qt4],[$QT4_CFLAGS]) - MOC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/moc - RCC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/rcc - UIC=`$PKG_CONFIG --variable=exec_prefix QtCore`/bin/uic], + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROG(RCC, rcc, rcc,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin) + ], AS_IF([test "${enable_qt4}" = "yes"],[ AC_MSG_ERROR(QT4 library not found) ],[ @@ -5051,17 +5235,17 @@ AC_ARG_ENABLE(macosx, [if test "${enable_macosx}" = "yes" then VLC_ADD_PLUGINS([access_eyetv]) - VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation]) - VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit]) + VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) + 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] ) fi], [AC_CHECK_HEADERS(Cocoa/Cocoa.h, - VLC_ADD_PLUGINS([access_eyetv]) - VLC_ADD_LDFLAGS([access_eyetv], [-framework CoreFoundation]) + [VLC_ADD_PLUGINS([access_eyetv]) + VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation]) VLC_ADD_BUILTINS([macosx]) - VLC_ADD_LDFLAGS([macosx],[-framework IOKit -framework Cocoa -framework Carbon -framework QuickTime -lobjc -ObjC -framework OpenGL -framework AGL -framework QTKit]) - VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] ) - )]) + 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]) + ])]) CFLAGS=$ORIGCFLAGS dnl @@ -5238,18 +5422,38 @@ AS_IF([test "${enable_gnutls}" != "no"], [ AS_IF([test "${have_gnutls}" = "yes"], [ VLC_ADD_PLUGINS([gnutls]) VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS]) + AS_IF([test "${SYS}" = "mingw32"], [ + dnl pkg-config --libs gnutls omits these + VLC_ADD_LDFLAGS([gnutls], [-lz]) + VLC_ADD_LDFLAGS([gnutls], [${LTLIBINTL}]) + ]) + AC_CHECK_LIB([gcrypt], [gcry_control], [ + VLC_ADD_LDFLAGS([gnutls], [-lgcrypt -lgpg-error]) + ], [], [-lgpg-error]) VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS]) ], [ AS_IF([test "${enable_gnutls}" = "yes"], [ 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]) - ]) ]) -AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) +dnl +dnl libgcrypt +dnl +AC_ARG_ENABLE(libgcrypt, + [ --enable-libgcrypt libgcrypts support (default enabled)]) +if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i +then + dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect + dnl it and looks for libgcrypt headers in the wrong place. + if test "${host_cpu}" = "${build_cpu}" + then + AM_PATH_LIBGCRYPT([1:1.1.94], [have_libgcrypt="yes"], [have_libgcrypt="no"]) + else + AC_CHECK_HEADERS(gcrypt.h,have_libgcrypt="yes",have_libgcrypt="no") + fi +fi AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"]) @@ -5542,7 +5746,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 @@ -5557,6 +5761,22 @@ fi AC_LANG_POP(C++) AM_CONDITIONAL(BUILD_MOZILLA,${mozilla}) + dnl Tests for Osso and Xsp +if test "${enable_x11}" != "no" && + (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" || + test "${enable_x11}" = "yes"); then + AC_CHECK_LIB(osso, osso_display_blanking_pause,[ + PKG_CHECK_MODULES(GLIB2, glib-2.0, [ + VLC_ADD_CPPFLAGS([x11],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}]) + VLC_ADD_LDFLAGS([x11],[-losso]) + ]) + ]) + AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[ + VLC_ADD_CPPFLAGS([x11],[-DHAVE_XSP]) + VLC_ADD_LDFLAGS([x11],[-lXsp]) + ]) +fi + dnl dnl Mediacontrol Python bindings dnl @@ -5581,6 +5801,10 @@ then AC_PROG_JAVAC AC_PROG_JAVA PLUGINS_BINDINGS="${PLUGINS_BINDINGS} java" + if test "${JAVAC}" == "javac${EXEEXT}" + then + JAVAC="javac${EXEEXT} -cp ./ " + fi fi AM_CONDITIONAL(BUILD_JAVA, [test "${enable_java_bindings}" = "yes"]) @@ -5692,21 +5916,11 @@ AS_IF([${plugin_support}], [ dnl dnl Pic and shared libvlc stuff dnl -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.]) - VLC_ADD_PLUGINS([${BUILTINS}]) - AS_IF([test "${SYS}" = "mingw32"], [ - FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" - VLC_ADD_CPPFLAGS([libvlc],[-DDLL_EXPORT]) - ]) - BUILTINS="" -], [ - LDFLAGS_vlc="${LDFLAGS_vlc} ${LDFLAGS_libvlc}" - FILE_LIBVLC_DLL="" +VLC_ADD_PLUGINS([${BUILTINS}]) +AS_IF([test "${SYS}" = "mingw32"], [ + FILE_LIBVLC_DLL="!define LIBVLC_DLL libvlc.dll" ]) - - dnl Import conditional variables generated by bootstrap -VLC_CONDITIONALS +BUILTINS="" dnl dnl Stuff used by the program @@ -5774,9 +5988,6 @@ AC_SUBST(ALL_LINGUAS) AC_SUBST(MACOSX_DEPLOYMENT_TARGET) AC_SUBST(FILE_LIBVLC_DLL) -dnl Import substitutions generated by bootstrap -VLC_SUBSTS - dnl Create vlc-config.in VLC_OUTPUT_VLC_CONFIG_IN @@ -5804,6 +6015,7 @@ AC_CONFIG_FILES([ AC_CONFIG_FILES([ modules/access/Makefile + modules/access/bda/Makefile modules/access/dshow/Makefile modules/access/dvb/Makefile modules/access/mms/Makefile @@ -5862,7 +6074,7 @@ AC_CONFIG_FILES([ modules/video_chroma/Makefile modules/video_filter/Makefile modules/video_output/Makefile - modules/video_output/directx/Makefile + modules/video_output/msw/Makefile modules/video_output/qte/Makefile modules/video_output/x11/Makefile modules/visualization/Makefile