X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=20916789319e5ac1f346b8d40cd83970af7a15d2;hb=e96fb7b89499332cecd1e10ed125c4cef9b3f585;hp=455db897760c7e5455b8562c7ef558e587a369b1;hpb=5d5f17134aa3db508b257b6fcec971ada52afb24;p=vlc diff --git a/configure.ac b/configure.ac index 455db89776..2091678931 100644 --- a/configure.ac +++ b/configure.ac @@ -173,29 +173,34 @@ case "${host_os}" in AC_LIBOBJ([strnlen])],) dnl - dnl Check for Mac OS X SDK settings + dnl Handle Mac OS X SDK flags dnl AC_ARG_WITH(macosx-sdk, [AS_HELP_STRING([--with-macosx-sdk=DIR], [compile using the SDK in DIR])]) - test "${with_macosx_sdk}" = "" && with_macosx_sdk=/Developer/SDKs/MacOSX10.6.sdk - test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) + if test "${with_macosx_sdk}" != "" ; then + test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) + CPP="${CPP} -isysroot ${with_macosx_sdk}" + CC="${CC} -isysroot ${with_macosx_sdk}" + CXX="${CXX} -isysroot ${with_macosx_sdk}" + OBJC="${OBJC} -isysroot ${with_macosx_sdk}" + LD="${LD} -syslibroot ${with_macosx_sdk}" + fi AC_ARG_WITH(macosx-version-min, [AS_HELP_STRING([--with-macosx-version-min=VERSION], - [compile for MacOS X VERSION and above])]) - if test "${with_macosx_version_min}" = "" ; then - with_macosx_version_min=10.5 + [compile for Mac OS X VERSION and above])]) + if test "${with_macosx_version_min}" != "" ; then + MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} + CPP="${CPP} -mmacosx-version-min=${with_macosx_version_min}" + CC="${CC} -mmacosx-version-min=${with_macosx_version_min}" + CXX="${CXX} -mmacosx-version-min=${with_macosx_version_min}" + OBJC="${OBJC} -mmacosx-version-min=${with_macosx_version_min}" + LD="${LD} -mmacosx_version_min=${with_macosx_version_min}" + CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" + export MACOSX_DEPLOYMENT_TARGET fi - MACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min} - CPP="${CPP} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" - CC="${CC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" - CXX="${CXX} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" - OBJC="${OBJC} -isysroot ${with_macosx_sdk} -mmacosx-version-min=${with_macosx_version_min}" - LD="${LD} -syslibroot ${with_macosx_sdk} -mmacosx_version_min=${with_macosx_version_min}" - CFLAGS="${CFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - CXXFLAGS="${CXXFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - OBJCFLAGS="${OBJCFLAGS} -DMACOSX_DEPLOYMENT_TARGET=${with_macosx_version_min}" - export MACOSX_DEPLOYMENT_TARGET ;; *mingw32* | *cygwin* | *wince* | *mingwce*) AC_CHECK_TOOL(WINDRES, windres, :) @@ -794,14 +799,6 @@ then VLC_ADD_LIBS([dbus],[$DBUS_LIBS]) VLC_ADD_CFLAGS([dbus],[$DBUS_CFLAGS]) fi - dnl Check for Telepathy - AC_ARG_ENABLE(telepathy, - AS_HELP_STRING([--enable-telepathy],[Telepathy Presence plugin through DBus(default enabled)])) - if test "${enable_telepathy}" != "no"; then - VLC_ADD_PLUGIN([telepathy]) - VLC_ADD_LIBS([telepathy],[$DBUS_LIBS]) - VLC_ADD_CFLAGS([telepathy],[$DBUS_CFLAGS]) - fi dnl Power Management Inhibiter VLC_ADD_PLUGIN([inhibit]) VLC_ADD_LIBS([inhibit],[$DBUS_LIBS]) @@ -1358,29 +1355,21 @@ AC_ARG_ENABLE(neon, ]) AS_IF([test "${enable_neon}" != "no"], [ VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -mfpu=neon" - AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [ + CFLAGS="${CFLAGS} -mfpu=neon -mhard-float" + AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [ AC_COMPILE_IFELSE([ AC_LANG_PROGRAM(,[[ asm volatile("vqmovun.s64 d0, q1":::"d0"); -asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */ ]]) ], [ - ac_cv_neon_inline="-mfpu=neon" + ac_cv_arm_neon="yes" ], [ - ac_cv_neon_inline="no" + ac_cv_arm_neon="no" ]) ]) VLC_RESTORE_FLAGS - AS_IF([test "$ac_cv_neon_inline" != "no"], [ - NEON_CFLAGS="$ac_cv_neon_inline" - AC_DEFINE([CAN_COMPILE_NEON], 1, [Define to 1 if NEON (and ARMv6) assembly is available with NEON_CFLAGS.]) - ]) -], [ - ac_cv_neon_inline="no" ]) -AC_SUBST(NEON_CFLAGS) -AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"]) +AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"]) AC_ARG_ENABLE(altivec, @@ -1622,7 +1611,14 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ AC_LANG_PUSH(C++) VLC_SAVE_FLAGS AS_IF([test -z "${CONTRIB_DIR}"], [ - CPPFLAGS_live555="-I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment" + AS_IF([test ${SYS} != "os2"], [ + LIVE555_PREFIX=${LIVE555_PREFIX-"/usr"} + CPPFLAGS_live555="-I${LIVE555_PREFIX}/include/liveMedia -I${LIVE555_PREFIX}/include/groupsock -I${LIVE555_PREFIX}/include/BasicUsageEnvironment -I${LIVE555_PREFIX}/include/UsageEnvironment" + ], [ + LIVE555_PREFIX=${LIVE555_PREFIX-"/usr/lib/live"} + CPPFLAGS_live555="-I${LIVE555_PREFIX}/liveMedia/include -I${LIVE555_PREFIX}/groupsock/include -I${LIVE555_PREFIX}/BasicUsageEnvironment/include -I${LIVE555_PREFIX}/UsageEnvironment/include" + LDFLAGS_live555="-L${LIVE555_PREFIX}/liveMedia -L${LIVE555_PREFIX}/groupsock -L${LIVE555_PREFIX}/BasicUsageEnvironment -L${LIVE555_PREFIX}/UsageEnvironment" + ]) ], [ CPPFLAGS_live555="-I${CONTRIB_DIR}/include/liveMedia -I${CONTRIB_DIR}/include/groupsock -I${CONTRIB_DIR}/include/BasicUsageEnvironment -I${CONTRIB_DIR}/include/UsageEnvironment" ]) @@ -1630,6 +1626,7 @@ AS_IF([test "${enable_live555}" != "no" -a -n "${CXX}"], [ CPPFLAGS_live555="${CPPFLAGS_live555} -DSOLARIS" ]) CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_live555}" + LDFLAGS="${LDFLAGS} ${LDFLAGS_live555}" AC_CACHE_CHECK([for live555 version 1324598400 or later], [ac_cv_live555], [ AC_PREPROC_IFELSE([AC_LANG_PROGRAM([ @@ -1664,6 +1661,7 @@ You can get an updated one from http://www.live555.com/liveMedia .]) dnl We need to check for pic because live555 don't provide shared libs dnl and we want to build a plugins so we need -fPIC on some arch. VLC_ADD_CXXFLAGS([live555], [${CPPFLAGS_live555}]) + VLC_ADD_LDFLAGS([live555], [${LDFLAGS_live555}]) AC_CHECK_LIB(liveMedia_pic, main, [ VLC_ADD_PLUGIN([live555]) VLC_ADD_LIBS([live555], [-lliveMedia_pic ${other_libs_pic}]) @@ -1751,7 +1749,7 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libbluray], [libbluray >= 0.2.1], (libbluray f dnl dnl OpenCV wrapper and example filters dnl -PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off]) +PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto]) dnl @@ -1794,7 +1792,7 @@ AS_IF([test "$enable_v4l2" != "no"], [ AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ have_v4l2="yes" ]) - AC_CHECK_DECLS([V4L2_CTRL_TYPE_BITMASK],,, [ + AC_CHECK_DECLS([V4L2_CTRL_TYPE_BITMASK,V4L2_CTRL_TYPE_INTEGER_MENU],,, [ #ifdef HAVE_LINUX_VIDEODEV2_H # include #endif @@ -2308,7 +2306,7 @@ dnl AC_ARG_ENABLE(avcodec, [ --enable-avcodec libavcodec codec (default enabled)]) AS_IF([test "${enable_avcodec}" != "no"], [ - PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil], + PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 52.25.0 libavutil >= 49.5.0], [ VLC_SAVE_FLAGS CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}" @@ -2401,6 +2399,38 @@ AS_IF([test "${enable_dxva2}" != "no"], [ fi ]) +dnl +dnl vda needs avcodec +dnl +AC_ARG_ENABLE(vda, + [ --enable-vda VDA support (default auto)]) + +AS_IF([test "${enable_vda}" != "no"], [ + if test "${SYS}" = "darwin"; then + AS_IF([test "x${have_avcodec}" = "xyes"], [ + AC_CHECK_HEADERS(VideoDecodeAcceleration/VDADecoder.h, + [ + AC_CHECK_HEADERS(libavcodec/vda.h, [ + VLC_ADD_LIBS([avcodec],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore]) + VLC_ADD_LDFLAGS([vda],[-Wl,-framework,CoreFoundation,-framework,VideoDecodeAcceleration,-framework,QuartzCore]) + AC_DEFINE(HAVE_AVCODEC_VDA, 1, [Define if avcodec has to be built with VDA support.]) + ],[ + AS_IF([test "${enable_vda}" == "yes"], + [AC_MSG_ERROR([vda is present but libavcodec/vda.h is missing])], + [AC_MSG_WARN([vda is present but libavcodec/vda.h is missing ])]) + ]) + ],[ + AS_IF([test "${enable_vda}" == "yes"], + [AC_MSG_ERROR([Could not find required VideoDecodeAcceleration/VDADecoder.h])], + [AC_MSG_WARN([VideoDecodeAcceleration/VDADecoder.h not found])]) + ]) + ],[ + AS_IF([test "x${enable_vda}" != "x"], [ + AC_MSG_ERROR([--enable-vda and --disable-avcodec options are mutually exclusive.]) + ]) + ]) + fi +]) dnl dnl stream_out switcher needs libavcodec @@ -3179,33 +3209,40 @@ then fi AC_ARG_ENABLE(directx, - [ --enable-directx Win32 DirectX support (default enabled on Win32)]) -if test "${enable_directx}" != "no"; then - if test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"; then - dnl DDraw - AC_CHECK_HEADERS(ddraw.h, - [ VLC_ADD_PLUGIN([directx aout_directx]) - VLC_ADD_LIBS([directx],[-luser32 -lgdi32]) - ],[AC_MSG_ERROR([Cannot find DirectX headers!])] - ) - - dnl OpenGL - AC_CHECK_HEADERS(GL/wglew.h, - [ VLC_ADD_PLUGIN([glwin32]) - VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) - ],[],[ - #include - #include - ]) + [AS_HELP_STRING([--enable-directx], + [Microsoft DirectX support (default enabled on Windows)])],, [ + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + enable_directx="yes" + ], [ + enable_directx="no" + ]) +]) +have_directx="no" +AS_IF([test "${enable_directx}" != "no"], [ + dnl DirectDraw + AC_CHECK_HEADERS(ddraw.h, [ + have_directx="yes" + ], [ + AC_MSG_ERROR([Cannot find DirectX headers!]) + ]) - dnl Direct3D - AC_CHECK_HEADERS(d3d9.h, - [ VLC_ADD_PLUGIN([direct3d]) - VLC_ADD_LIBS([direct3d],[-lgdi32]) - ]) - VLC_ADD_LIBS([direct3d directx glwin32],[-lole32 -luuid]) - fi -fi + dnl OpenGL + AC_CHECK_HEADERS(GL/wglew.h, [ + VLC_ADD_PLUGIN([glwin32]) + VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32]) + ],, [ + #include + #include + ]) + + dnl Direct3D + AC_CHECK_HEADERS(d3d9.h, [ + VLC_ADD_PLUGIN([direct3d]) + VLC_ADD_LIBS([direct3d],[-lgdi32]) + ]) + VLC_ADD_LIBS([direct3d glwin32],[-lole32 -luuid]) +]) +AM_CONDITIONAL([HAVE_DIRECTX], [test "$have_directx" = "yes"]) dnl dnl Windows Direct2D plugin @@ -3572,90 +3609,71 @@ dnl EXTEND_HELP_STRING([Interface plugins:]) dnl -dnl Hildon UI +dnl QT dnl -AC_ARG_ENABLE(hildon, - [ --enable-hildon Hildon touchscreen UI (default disabled)]) -AS_IF([test "${enable_hildon}" = "yes"], [ - PKG_CHECK_MODULES(HILDON, [hildon-1], [ - PKG_CHECK_MODULES(HILDON_FM, hildon-fm-2, [ - VLC_ADD_CFLAGS([hildon],[${HILDON_FM_CFLAGS} -DHAVE_HILDON_FM]) - VLC_ADD_LIBS([hildon],[${HILDON_FM_LIBS}]) - ], [ - AC_MSG_WARN([${HILDON_FM_PKG_ERRORS}.]) - ]) - VLC_ADD_CFLAGS([hildon],[${HILDON_CFLAGS} ${X_CFLAGS}]) - VLC_ADD_LIBS([hildon],[${HILDON_LIBS} ${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_PLUGIN([hildon]) - ALIASES="${ALIASES} mvlc" - ], [ - AS_IF([test "${enable_hildon}" = "yes"],[ - AC_MSG_ERROR([${HILDON_PKG_ERRORS}.]) +AC_ARG_ENABLE(qt, [ + AS_HELP_STRING([--disable-qt], [Qt UI support (default enabled)])],, [ + AS_IF([test "${SYS}" = "darwin"], [ + enable_qt="no" + ]) +]) +AS_IF([test "${enable_qt}" != "no"], [ + PKG_CHECK_MODULES([QT], [QtCore >= 5 QtWidgets QtGui],, [ + PKG_CHECK_MODULES([QT], [QtCore QtGui >= 4.6.0],, [ + AS_IF([test -n "${enable_qt}"],[ + AC_MSG_ERROR([${QT_PKG_ERRORS}.]) + ],[ + AC_MSG_WARN([${QT_PKG_ERRORS}.]) + ]) + enable_qt="no" ]) - enable_hildon="no" ]) ]) -AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"]) +AS_IF([test "${enable_qt}" != "no"], [ + VLC_ADD_PLUGIN([qt4]) + VLC_ADD_LIBS([qt4],[${QT_LIBS}]) + VLC_ADD_CXXFLAGS([qt4],[${QT_CFLAGS}]) + ALIASES="${ALIASES} qvlc" -dnl -dnl QT 4 -dnl -AC_ARG_ENABLE(qt4, - [ --enable-qt4 Qt 4 support (default enabled) ],, [ - AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no]) -]) -AS_IF([test "${enable_qt4}" != "no"], [ - PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.6.0], [ - VLC_ADD_PLUGIN([qt4]) - VLC_ADD_LIBS([qt4],[${QT4_LIBS}]) - VLC_ADD_CXXFLAGS([qt4],[${QT4_CFLAGS}]) - ALIASES="${ALIASES} qvlc" - - AC_LANG_PUSH([C++]) - VLC_SAVE_FLAGS + AC_LANG_PUSH([C++]) + VLC_SAVE_FLAGS - AC_MSG_CHECKING([whether Qt uses X11]) - CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}" - AC_PREPROC_IFELSE([AC_LANG_SOURCE([ + AC_MSG_CHECKING([whether Qt uses Xlib]) + CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}" + AC_PREPROC_IFELSE([AC_LANG_SOURCE([ #include #if !defined (Q_WS_X11) # error Fail #endif - ])], [ - AC_MSG_RESULT([yes]) - VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) - ], [ - AC_MSG_RESULT([no]) - ]) + ])], [ + AC_MSG_RESULT([yes]) + VLC_ADD_LIBS([qt4],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + VLC_ADD_CXXFLAGS([qt4],[${X_CFLAGS}]) + ], [ + AC_MSG_RESULT([no]) + ]) - VLC_RESTORE_FLAGS - AC_LANG_POP([C++]) + VLC_RESTORE_FLAGS + AC_LANG_POP([C++]) - AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ - VLC_ADD_LIBS([qt4],[-lole32]) - ]) - AS_IF([test "${SYS}" = "darwin" ],[ - VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa]) - ]) - AC_PATH_PROGS(MOC, [moc-qt4 moc], moc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) - AC_PATH_PROG(RCC, rcc, rcc,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) - AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`eval $PKG_CONFIG --variable=exec_prefix QtCore`/bin) - ], [ - AS_IF([test -n "${enable_qt4}"],[ - AC_MSG_ERROR([${QT4_PKG_ERRORS}.]) - ],[ - AC_MSG_WARN([${QT4_PKG_ERRORS}.]) - ]) - enable_qt4="no" + AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [ + VLC_ADD_LIBS([qt4],[-lole32]) + ]) + AS_IF([test "${SYS}" = "darwin" ],[ + VLC_ADD_LIBS([qt4], [-Wl,-framework,Cocoa]) ]) + + QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix QtCore)" + AC_PATH_PROGS(MOC, [moc-qt4 moc], moc, [${QT_PATH}/bin]) + AC_PATH_PROG(RCC, rcc, rcc, [${QT_PATH}/bin]) + AC_PATH_PROGS(UIC, [uic-qt4 uic], uic, [${QT_PATH}/bin]) ]) -AM_CONDITIONAL(ENABLE_QT4, [test "x$enable_qt4" != "xno"]) +AM_CONDITIONAL(ENABLE_QT4, [test "$enable_qt" != "no"]) dnl dnl Simple test for skins2 dependency dnl -AS_IF([test "x$enable_qt4" = "xno"], [ +AS_IF([test "$enable_qt" = "no"], [ AS_IF([test "${enable_skins2}" = "yes"], [ AC_MSG_ERROR([The skins2 module depends on the Qt4 interface. Without it you will not be able to open any dialog box from the interface, which makes the skins2 interface rather useless. Install the Qt4 development package or alternatively you can also configure with: --disable-qt4 --disable-skins2.]) ], [ @@ -4203,7 +4221,6 @@ AC_CONFIG_FILES([ modules/demux/playlist/Makefile modules/gui/Makefile modules/gui/macosx/Makefile - modules/gui/hildon/Makefile modules/gui/minimal_macosx/Makefile modules/gui/macosx_dialog_provider/Makefile modules/gui/qt4/Makefile @@ -4233,8 +4250,6 @@ AC_CONFIG_FILES([ modules/visualization/Makefile modules/visualization/visual/Makefile modules/mmx/Makefile - modules/mmxext/Makefile - modules/3dnow/Makefile modules/sse2/Makefile modules/altivec/Makefile modules/arm_neon/Makefile