OBJCFLAGS="${OBJCFLAGS} -D_INTL_REDIRECT_MACROS -std=gnu99 ${ARCH_flag}"
LDFLAGS="${LDFLAGS} -Wl,-headerpad_max_install_names ${ARCH_flag}"
VLC_ADD_LIBS([mkv mp4 motion], [-Wl,-framework,IOKit,-framework,CoreFoundation])
- VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup])
+ VLC_ADD_LIBS([libvlc vlc],[-Wl,-undefined,dynamic_lookup,-framework,Appkit])
VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb_mmx x264 x26410b],[-Wl,-read_only_relocs,suppress])
VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation])
AC_MSG_CHECKING(for broken mingw-runtime)
AC_PREPROC_IFELSE([AC_LANG_SOURCE([
#include <_mingw.h>
-#if (__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION < 15)
-#ifndef __MINGW64_VERSION_MAJOR
+#if defined(__MINGW64_VERSION_MAJOR)
+# if __MINGW64_VERSION_MAJOR < 3
+# error Attempting to use mingw-runtime with broken vsnprintf and direct2d support
+# endif
+#elif __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 15
# error Attempting to use mingw-runtime with broken vsnprintf support
-#endif
#endif
])], [
AC_MSG_RESULT([ok])
], [
AC_MSG_RESULT([present])
- AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher!])
+ AC_MSG_ERROR([LibVLC requires mingw-runtime version 3.15 or higher, or mingw-w64 version 3.0 or higher!])
])
dnl force use of mingw provided c99 *printf over msvcrt
CPPFLAGS="${CPPFLAGS} -D__USE_MINGW_ANSI_STDIO=1"
AC_SUBST(GNUGETOPT_LIBS)
AC_CHECK_LIB(m,cos,[
- VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x26410b hqdn3d anaglyph],[-lm])
+ VLC_ADD_LIBS([adjust wave ripple psychedelic gradient a52tofloat32 dtstofloat32 x264 goom visual panoramix rotate noise grain scene kate flac lua chorus_flanger freetype avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq samplerate freetype mpc dmo mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x26410b hqdn3d anaglyph oldrc ncurses],[-lm])
LIBM="-lm"
], [
LIBM=""
esac
])
have_mmx="no"
-have_mmxext="no"
AS_IF([test "${enable_mmx}" != "no"], [
ARCH="${ARCH} mmx"
VLC_SAVE_FLAGS
have_mmx="yes"
])
- AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
- [ac_cv_mmxext_inline], [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
-void *p;
-asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
-]])
- ], [
- ac_cv_mmxext_inline=yes
- ], [
- ac_cv_mmxext_inline=no
- ])
- ])
VLC_RESTORE_FLAGS
- AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
- AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
- have_mmxext="yes"
- ])
])
AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
-AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
dnl Check for fully workin SSE2 intrinsics
dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
])
AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
-VLC_SAVE_FLAGS
-CFLAGS="${CFLAGS} -mmmx"
-have_3dnow="no"
-AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
-void *p;
-asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
-]])
- ], [
- ac_cv_3dnow_inline=yes
- ], [
- ac_cv_3dnow_inline=no
- ])
-])
-VLC_RESTORE_FLAGS
-AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
- AC_DEFINE(CAN_COMPILE_3DNOW, 1,
- [Define to 1 if 3D Now! inline assembly is available.])
- have_3dnow="yes"
-])
-AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
-
-
AC_ARG_ENABLE(neon,
[AS_HELP_STRING([--disable-neon],
[disable NEON optimizations (default auto)])],, [
])
AM_CONDITIONAL([HAVE_ALTIVEC], [test "$have_altivec" = "yes"])
-dnl
-dnl Special arch tuning
-dnl
-AC_ARG_WITH(tuning,
- [AS_HELP_STRING([--with-tuning=ARCH],
- [tune compilation for an architecture (default varies)])])
-if test -n "${with_tuning}"; then
- if test "${with_tuning}" != "no"; then
- CFLAGS_TUNING="-mtune=${with_tuning}"
- fi
-else
- if test "${SYS}" = "darwin" -a "${host_cpu}" = "i686"; then
- CFLAGS_TUNING="-march=prescott -mtune=generic"
- elif test "${SYS}" = "darwin" -a "${host_cpu}" = "x86_64"; then
- CFLAGS_TUNING="-march=core2 -mtune=core2"
- elif test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "i386"; then
- CFLAGS_TUNING="-mtune=pentium2"
- elif test "${host_cpu}" = "x86_64"; then
- CFLAGS_TUNING="-mtune=athlon64"
- elif test "${host_cpu}" = "powerpc"; then
- CFLAGS_TUNING="-mtune=G4";
- fi
-fi
-
-dnl NOTE: this can't be cached cleanly
-AS_IF([test -n "${CFLAGS_TUNING}"], [
- VLC_SAVE_FLAGS
- CFLAGS="${CFLAGS} ${CFLAGS_TUNING}"
- AC_MSG_CHECKING([whether $CC accepts ${CFLAGS_TUNING}])
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([])], [
- AC_MSG_RESULT([yes])
- ], [
- VLC_RESTORE_FLAGS
- AC_MSG_RESULT([no])
- AS_IF([test "${with_tuning}"], [AC_MSG_ERROR([requested tuning not supported])])
- ])
-])
-
dnl
dnl Memory usage
dnl
dnl - dv module: digital video module check for libraw1394
dnl - linsys modules: access module check for libzvbi
dnl
-PKG_ENABLE_MODULES_VLC([DC1394], [], [libraw1394 >= 2.0.1 libdc1394-2 >= 2.1.0], [dc1394 access module], [auto])
-PKG_ENABLE_MODULES_VLC([DV], [access_dv], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV input module], [auto])
+PKG_ENABLE_MODULES_VLC([DC1394], [], [libdc1394-2 >= 2.1.0], [IIDC FireWire input module], [auto])
+PKG_ENABLE_MODULES_VLC([DV1394], [], [libraw1394 >= 2.0.1 libavc1394 >= 0.5.3], [DV FireWire input module], [auto])
AC_ARG_ENABLE(linsys,
[AS_HELP_STRING([--enable-linsys],
AS_IF([test "${enable_switcher}" = "yes"], [
AS_IF([test "x${have_avcodec}" = "xyes"], [
VLC_ADD_PLUGIN([stream_out_switcher])
- VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS])
+ VLC_ADD_LIBS([stream_out_switcher],[$AVCODEC_LIBS $AVUTIL_LIBS $LIBM])
VLC_ADD_CFLAGS([stream_out_switcher],[$AVCODEC_CFLAGS $AVUTIL_CFLAGS])
],[AC_MSG_ERROR([Stream_out switcher depends on avcodec])
])
])
AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"])
+dnl
+dnl Windows Audio Session plugin
+dnl
+AC_ARG_ENABLE([wasapi],
+ [AS_HELP_STRING([--enable-wasapi],
+ [use the Windows Audio Session API (default auto)])
+])
+have_wasapi="no"
+AS_IF([test "$enable_wasapi" != "no"], [
+ AC_CHECK_HEADER([audioclient.h], [
+ have_wasapi="yes"
+ ], [
+ AS_IF([test "x${enable_wasapi}" != "x"], [
+ AC_MSG_ERROR([Windows Audio Session API not found.])
+ ])
+ ])
+])
+AM_CONDITIONAL([HAVE_WASAPI], [test "${have_wasapi}" = "yes"])
+
dnl
dnl win32 waveOut plugin
dnl
AM_CONDITIONAL(BUILD_HILDON, [test "${enable_hildon}" = "yes"])
dnl
-dnl QT 4
+dnl QT
dnl
-AC_ARG_ENABLE(qt4,
- [ --enable-qt4 Qt 4 support (default enabled) ],, [
- AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
+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_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
+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"
+ ])
+ ])
+])
+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"
- AC_MSG_CHECKING([whether Qt uses X11])
- CPPFLAGS="${CPPFLAGS} ${QT4_CFLAGS}"
- AC_PREPROC_IFELSE([AC_LANG_SOURCE([
+ AC_LANG_PUSH([C++])
+ VLC_SAVE_FLAGS
+
+ AC_MSG_CHECKING([whether Qt uses Xlib])
+ CPPFLAGS="${CPPFLAGS} ${QT_CFLAGS}"
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE([
#include <QWidget>
#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.])
], [
VLC_ADD_OBJCFLAGS([macosx minimal_macosx], [-fobjc-exceptions] )
VLC_ADD_PLUGIN([macosx minimal_macosx])
- VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit])
+ VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit -Wl,-framework,CoreAudio -Wl,-framework,SystemConfiguration])
if test ! -d ${CONTRIB_DIR}/Sparkle.framework
then
VLC_RESTORE_FLAGS
fi
-dnl
-dnl XOSD plugin
-dnl
-AC_ARG_ENABLE(xosd,
- [ --enable-xosd xosd interface support (default disabled)])
-if test "${enable_xosd}" = "yes"
-then
- AC_CHECK_HEADERS(xosd.h,
- AC_CHECK_LIB(xosd, xosd_set_horizontal_offset, [
- AS_IF([test "${no_x}" != "yes"], [
- VLC_ADD_PLUGIN([xosd])
- VLC_ADD_LIBS([xosd],[-lxosd ${X_LIBS} ${X_PRE_LIBS} -lX11])
- VLC_ADD_CFLAGS([xosd],[${X_CFLAGS}])
- ],[
- AC_MSG_ERROR([Xlib is required with xosd.])
- ])
- ])
- )
-fi
-
-dnl
-dnl Framebuffer (overlay) plugin
-dnl
-AC_ARG_ENABLE(fbosd,
- [ --enable-fbosd fbosd interface support (default disabled)])
-if test "${enable_fbosd}" = "yes"
-then
- AC_CHECK_HEADERS(linux/fb.h, [
- VLC_ADD_PLUGIN([fbosd])
- ])
-fi
-
dnl
dnl Lirc plugin
dnl
enable_gnutls="no"
])
AS_IF([test "${enable_gnutls}" != "no"], [
- PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.0.0], [
+ PKG_CHECK_MODULES(GNUTLS, [gnutls >= 2.6.6], [
VLC_ADD_PLUGIN([gnutls])
], [
AS_IF([test -n "${enable_gnutls}"], [
[ --enable-growl growl notification plugin (default disabled)],,
[enable_growl=no])
AS_IF([test "${enable_growl}" != "no"], [
- AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/GrowlDefines.h, [
+ AC_CHECK_HEADERS(${CONTRIB_DIR}/Growl.framework/Versions/A/Headers/Growl.h, [
VLC_ADD_PLUGIN([growl])
- VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,CoreFoundation])
+ VLC_ADD_LIBS([growl], [-F${CONTRIB_DIR} -Wl,-framework,Growl,-framework,Foundation])
VLC_ADD_OBJCFLAGS([growl], [-F${CONTRIB_DIR}])
VLC_ADD_OBJCFLAGS([growl], [-fobjc-exceptions] )
])
AC_SUBST(VERSION_REVISION)
AC_SUBST(VERSION_EXTRA)
AC_SUBST(COPYRIGHT_YEARS)
-AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [user who ran configure])
+AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami|sed -e 's/\\\/\\\\\\\/g'`", [user who ran configure])
AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2>/dev/null || hostname`", [host which ran configure])
-AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler])
+AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1 | sed -e 's/ *$//'`", [compiler])
dnl
dnl Handle substvars that use $(top_srcdir)
dnl
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