AC_COPYRIGHT([Copyright 2002-2011 the VideoLAN team])
AC_INIT(vlc, 1.2.0-git)
-VERSION_MAJOR="1"
-VERSION_MINOR="2"
-VERSION_REVISION="0"
-VERSION_EXTRA="-git"
+VERSION_MAJOR=1
+VERSION_MINOR=2
+VERSION_REVISION=0
+VERSION_EXTRA=0
+VERSION_DEV=git
+
PKGDIR="vlc"
AC_SUBST(PKGDIR)
*mingw32* | *cygwin* | *wince* | *mingwce*)
AC_CHECK_TOOL(WINDRES, windres, :)
AC_CHECK_TOOL(OBJCOPY, objcopy, :)
+ AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
+ AC_DEFINE([_WIN32_IE], 0x0501, [Define to '0x0501' for IE 5.01 (and shell) APIs.])
case "${host_os}" in
*wince* | *mingwce* | *mingw32ce*)
SYS=mingwce
dnl Sadly CeGCC still needs non-wince macros
- AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
;;
*mingw32*)
SYS=mingw32
- AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows XP APIs.])
;;
*cygwin*)
dnl Check if we are using the mno-cygwin mode in which case we are
dnl actually dealing with a mingw32 compiler.
- AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0501' for Windows XP APIs.])
AC_EGREP_CPP(yes,
[#ifdef WIN32
yes
;;
esac
+dnl Android is linux, but a bit different
+AS_IF([test "$SYS" = linux],[
+ AC_MSG_CHECKING([for an Android system])
+ AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
+ [[#ifndef __ANDROID__
+ # error Not Android
+ #endif
+ ]],[[;]])
+ ],[
+ HAVE_ANDROID="1"
+ AC_MSG_RESULT([yes])
+ ],[
+ AC_MSG_RESULT([no])
+ ])
+])
+AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
+
dnl
dnl Libtool
dnl It's very bad, but our former custom system was worst
need_libc=false
dnl Check for usual libc functions
-AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
-AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
+AC_CHECK_DECLS([nanosleep],,,[#include <time.h>])
+AC_CHECK_FUNCS([daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise posix_memalign setlocale stricmp strnicmp uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll dirfd flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy vasprintf])
AC_CHECK_FUNCS(fdatasync,,
[AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.])
])
])
AC_SUBST(GNUGETOPT_LIBS)
-if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
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],[-lm])
-])
-AC_CHECK_LIB(m,pow,[
- VLC_ADD_LIBS([avcodec avformat access_avio swscale postproc i420_rgb faad twolame equalizer spatializer param_eq libvlccore freetype mod mpc dmo quicktime realvideo qt4],[-lm])
-])
-AC_CHECK_LIB(m,sqrt,[
- VLC_ADD_LIBS([compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball],[-lm])
-])
-AC_CHECK_LIB(m,ceil,[
- VLC_ADD_LIBS([access_imem hotkeys mosaic],[-lm])
-])
-AC_CHECK_LIB(m,exp,[
- VLC_ADD_LIBS([gaussianblur],[-lm])
-])
-AC_CHECK_LIB(m,round,[
- VLC_ADD_LIBS([dbus],[-lm])
-])
-AC_CHECK_LIB(m,sqrtf,[
- VLC_ADD_LIBS([x264],[-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 libvlccore freetype mod mpc dmo quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264],[-lm])
+ LIBM="-lm"
+], [
+ LIBM=""
])
-fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
+AC_SUBST(LIBM)
AC_CHECK_LIB(m,lrintf, [
AC_DEFINE(HAVE_LRINTF, 1, [Define to 1 if you have the lrintf function])
AC_CHECK_LIB(rt, clock_nanosleep, [
VLC_ADD_LIBS([libvlccore],[-lrt])
- AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define to 1 if you have clock_nanosleep.])
], [
+ AC_CHECK_FUNC(nanosleep,,[
+ AC_CHECK_LIB(rt,nanosleep, [
+ VLC_ADD_LIBS([libvlccore],[-lrt])
+ ], [
+ AC_CHECK_LIB(posix4,nanosleep, [
+ VLC_ADD_LIBS([libvlccore],[-lposix4])
+ ])
+ ])
+ ])
dnl HP/UX port
AC_CHECK_LIB(rt,sem_init, [VLC_ADD_LIBS([libvlccore],[-lrt])])
])
-
- have_nanosleep=false
- AC_CHECK_FUNCS(nanosleep,have_nanosleep=:,[
- AC_CHECK_LIB(rt,nanosleep,
- [VLC_ADD_LIBS([libvlccore],[-lrt]) have_nanosleep=:],
- [AC_CHECK_LIB(posix4,nanosleep,
- [VLC_ADD_LIBS([libvlccore],[-lposix4]) have_nanosleep=:])]
- )
- ])
- if ${have_nanosleep}; then
- AC_DEFINE(HAVE_NANOSLEEP, 1, [Define if nanosleep is available.])
- fi
fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
dnl Check for misc headers
fi
])
-dnl Mac OS X and other OSes don't have declaration for nanosleep
-if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
- AC_MSG_CHECKING(for nanosleep in time.h)
- AC_EGREP_HEADER(nanosleep,time.h,[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_DECL_NANOSLEEP, 1,
- Define if <time.h> defines nanosleep.)
- ],[
- AC_MSG_RESULT(no)
- ])
-fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
-
-dnl Make sure we have timespecs
-AC_MSG_CHECKING(for timespec in sys/time.h)
-AC_EGREP_HEADER(timespec,sys/time.h,[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_STRUCT_TIMESPEC, 1,
- Define if <sys/time.h> defines struct timespec.)
-],[
- AC_MSG_RESULT(no)
-])
-
dnl Check for threads library
if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
AC_CHECK_HEADERS(pthread.h)
CFLAGS="-fprofile-arcs -ftest-coverage ${CFLAGS}"
CXXFLAGS="-fprofile-arcs -ftest-coverage ${CXXFLAGS}"
LDFLAGS="-lgcov ${LDFLAGS}"
- CFLAGS_save="${CFLAGS}"
- CXXFLAGS_save="${CXXFLAGS}"
- LDFLAGS_save="${LDFLAGS}"
])
+VLC_SAVE_FLAGS
+
AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"], [
AC_CACHE_CHECK([if $CC accepts -fvisibility=hidden],
[ac_cv_c_visibility_hidden], [
- CFLAGS="${CFLAGS_save} -ffast-math"
+ CFLAGS="${CFLAGS_save} -fvisibility=hidden"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
ac_cv_c_visibility_hidden=yes
], [
])
])
AS_IF([test "${ac_cv_c_visibility_hidden}" != "no"], [
+ VLC_RESTORE_FLAGS
CFLAGS="${CFLAGS} -fvisibility=hidden"
CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
OBJCFLAGS="${OBJCFLAGS} -fvisibility=hidden"
+ VLC_SAVE_FLAGS
])
])
-VLC_SAVE_FLAGS
dnl
dnl Enable/disable optimizations
])
CFLAGS="${CFLAGS_save}"
])
- ARM_NEON_CFLAGS="$ac_cv_neon_inline"
+ 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(ARM_NEON_CFLAGS)
-AM_CONDITIONAL(HAVE_ARM_NEON, [test "${ac_cv_neon_inline}" != "no"])
+AC_SUBST(NEON_CFLAGS)
+AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
AC_ARG_ENABLE(altivec,
VLC_ADD_PLUGIN([taglib])
VLC_ADD_LIBS([taglib],[$TAGLIB_LIBS -lz])
VLC_ADD_CXXFLAGS([taglib],[$TAGLIB_CFLAGS])
- AC_LANG_PUSH(C++)
- AC_CHECK_HEADERS(taglib/mp4coverart.h)
- AC_CHECK_HEADERS(taglib/apefile.h)
- AC_LANG_POP(C++)
], [
AC_MSG_WARN(TagLib library not found)])
])
dnl
dnl schroedinger decoder plugin (for dirac format video)
dnl
-PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.10], [dirac decoder and encoder using schroedinger], [auto])
+PKG_ENABLE_MODULES_VLC([SCHROEDINGER], [], [schroedinger-1.0 >= 1.0.6], [dirac decoder using schroedinger], [auto])
dnl
dnl PNG decoder module
AC_CHECK_HEADERS(png.h, [
LDFLAGS="${LDFLAGS_save} -lz"
AC_CHECK_LIB(png, png_set_rows, [
- VLC_ADD_LIBS([png],[-lpng -lz])
+ VLC_ADD_LIBS([png],[-lpng -lz -lm])
VLC_ADD_PLUGIN([png osdmenu osd_parser])],
[],[-lz])
LDFLAGS="${LDFLAGS_save}"
have_xcb="no"
AS_IF([test "${enable_xcb}" != "no"], [
dnl libxcb
- PKG_CHECK_MODULES(XCB, [xcb])
+ PKG_CHECK_MODULES(XCB, [xcb >= 1.6])
have_xcb="yes"
PKG_CHECK_MODULES(XCB_SHM, [xcb-shm])
PKG_CHECK_MODULES(XCB_COMPOSITE, [xcb-composite])
dnl
PKG_ENABLE_MODULES_VLC([SVG], [], [librsvg-2.0 >= 2.9.0], [SVG rendering library],[auto])
+dnl
+dnl android surface module
+dnl
+AC_ARG_ENABLE(android-surface,
+ [ --enable-android-surface Android Surface video output module (default disabled)])
+if test "${enable_android_surface}" = "yes"; then
+ if test "${HAVE_ANDROID}" = "1"; then
+ VLC_ADD_PLUGIN([android_surface])
+ VLC_ADD_LDFLAGS([android_surface], [-ldl])
+ fi
+fi
+
+
dnl
dnl iOS vout module
dnl
VLC_ADD_LIBS([directx],[-lgdi32])
],[AC_MSG_ERROR([Cannot find DirectX headers!])]
)
- AC_CHECK_HEADERS(GL/gl.h,
+ AC_CHECK_HEADERS(GL/glext.h,
[ VLC_ADD_PLUGIN([glwin32])
VLC_ADD_LIBS([glwin32],[-lopengl32 -lgdi32])
])
dnl
PKG_ENABLE_MODULES_VLC([JACK], [jack access_jack], [jack], [JACK audio I/O modules],[auto])
+dnl
+dnl OpenSLES Android
+dnl
+AC_ARG_ENABLE(opensles,
+ [ --enable-opensles Android OpenSL ES audio module (default disabled)])
+if test "${HAVE_ANDROID}" = "1"; then
+ if test "${enable_opensles}" = "yes"; then
+ AC_CHECK_HEADERS(SLES/OpenSLES.h,
+ [ VLC_ADD_PLUGIN([opensles_android]) ],
+ [ AC_MSG_ERROR([cannot find OpenSLES headers])] )
+ fi
+fi
+
dnl
dnl UPnP Plugin (Intel SDK)
dnl
], [
PKG_CHECK_MODULES([XPM], [xpm])
+ PKG_CHECK_MODULES([XINERAMA], [xinerama])
PKG_CHECK_MODULES([XEXT], [xext])
VLC_ADD_CPPFLAGS([skins2],[-Imodules/gui/skins2 ${X_CFLAGS} ${XEXT_CFLAGS} ${XPM_CFLAGS} -DX11_SKINS])
VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
- VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} -lX11])
+ VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} ${XEXT_LIBS} ${XPM_LIBS} ${XINERAMA_LIBS} -lX11])
])
VLC_ADD_PLUGIN([skins2])
dnl
AC_ARG_ENABLE(macosx,
[ --enable-macosx Mac OS X gui support (default enabled on Mac OS X)])
-if test "x${enable_macosx}" = "xyes"
+if test "x${enable_macosx}" != "xno" &&
+(test "${SYS}" = "darwin" || test "${enable_macosx}" = "yes")
then
VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,Cocoa])
VLC_ADD_LDFLAGS([macosx minimal_macosx],[-Wl,-framework,OpenGL])
VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
AS_IF([test "${SYS}" = "mingw32"], [
dnl pkg-config --libs gnutls omits these
- VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL}])
+ VLC_ADD_LIBS([gnutls], [-lz ${LTLIBINTL} -lcrypt32])
])
VLC_ADD_LIBS([gnutls], [${GCRYPT_LIBS}])
VLC_ADD_CFLAGS([gnutls], [${GCRYPT_CFLAGS}])
AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "${COPYRIGHT_MESSAGE}", [Copyright string])
AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
-AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
-AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
-AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,"${VERSION_REVISION}", [version minor number])
-AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,"${VERSION_EXTRA}", [version minor number])
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,${VERSION_MAJOR}, [version major number])
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,${VERSION_MINOR}, [version minor number])
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION_REVISION,${VERSION_REVISION}, [version revision number])
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION_EXTRA,${VERSION_EXTRA}, [version extra number])
+AC_DEFINE_UNQUOTED(PACKAGE_VERSION_DEV,"${VERSION_DEV}", [version development string])
AC_SUBST(COPYRIGHT_MESSAGE)
AC_SUBST(VERSION_MESSAGE)
AC_SUBST(VERSION_MAJOR)
AC_DEFINE_UNQUOTED(VLC_COMPILE_BY, "`whoami`", [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])
-dnl Win32 need s a numerical version_extra.
-case $( echo ${VERSION_EXTRA}|wc -m ) in
- "1") VERSION_EXTRA_RC="0";;
- "2") VERSION_EXTRA_RC=$( echo ${VERSION_EXTRA}|tr "abcdefghi" "123456789") ;;
- *) VERSION_EXTRA_RC="99"
-esac
-AC_SUBST(VERSION_EXTRA_RC)
dnl
dnl Handle substvars that use $(top_srcdir)
dnl
else
echo "build vlc executable : no"
fi
-echo "plugins/bindings :${PLUGINS_BINDINGS}
-
+echo "
You can tune the compiler flags in vlc-config.
-To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'.
-"
-if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
- echo ""
- echo "Warning: Due to a bug in ld, mmx/sse support has been"
- echo " turned off."
- echo " FFmpeg will be REALLY slow."
- echo " VLC WILL NOT PERFORM AS EXPECTED."
- echo ""
-fi
+To build vlc and its plugins, type \`./compile' or \`$USE_MAKE_OR_GMAKE'."