X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=configure.ac;h=685f5460625a24efab94fb3430406eae499f442f;hb=245b9e9e148544efe4ced301a96325ff13f7aeeb;hp=52d8cf7222d10c62aec1aee109822f56fdd5a47d;hpb=5a5559dfcde0c1b9a5feb3a3831f460a5f82d21e;p=vlc diff --git a/configure.ac b/configure.ac index 52d8cf7222..685f546062 100644 --- a/configure.ac +++ b/configure.ac @@ -59,6 +59,7 @@ AC_DEFINE([_FILE_OFFSET_BITS], 64, [Define to 64 for large files support.]) AC_DEFINE([_REENTRANT],, [Define to expose reentrant functions.]) AC_DEFINE([_THREAD_SAFE],, [Same as _REENTANT for some other OSes.]) AC_DEFINE([__LIBVLC__],, [Define within the LibVLC source code tree.]) +AC_DEFINE([WIN32_LEAN_AND_MEAN],, [Define to limit the scope of .]) AM_PROG_CC_C_O AC_PROG_CXX @@ -107,19 +108,22 @@ case "${host_os}" in CFLAGS="${CFLAGS} -pthread" VLC_ADD_LIBS([vcd cdda vcdx],[-ldvd]) ;; - *bsd*) - SYS="${host_os}" + freebsd*) + SYS=freebsd CFLAGS="${CFLAGS} -pthread" - case "${host_os}" in - freebsd*) - CPPFLAGS="${CPPFLAGS} -I/usr/local/include" - LDFLAGS="${LDFLAGS} -L/usr/local/lib" - ;; - openbsd*) - CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include" - LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/" - ;; - esac + CPPFLAGS="${CPPFLAGS} -I/usr/local/include" + LDFLAGS="${LDFLAGS} -L/usr/local/lib" + ;; + openbsd*) + SYS=openbsd + CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/usr/X11R6/include" + LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/usr/X11R6/lib/" + ;; + netbsd*) + SYS=netbsd + ;; + dragonfly*) + SYS=dragonfly ;; darwin*) @@ -153,7 +157,15 @@ case "${host_os}" in VLC_ADD_LIBS([libvlccore],[-Wl,-framework,CoreFoundation]) dnl Allow binaries created on Lion to run on earlier releases - AC_LIBOBJ([getdelim]) + AC_EGREP_CPP(yes, + [#import + #ifdef MAC_OS_X_VERSION_10_7 + yes + #endif], + [AC_MSG_RESULT([yes]) + AC_LIBOBJ([getdelim]) + AC_LIBOBJ([strndup]) + AC_LIBOBJ([strnlen])],) dnl dnl Check for Mac OS X SDK settings @@ -162,7 +174,7 @@ case "${host_os}" in [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]) + test ! -d "${with_macosx_sdk}" && AC_MSG_ERROR([SDK "${with_macosx_sdk}" not found]) AC_ARG_WITH(macosx-version-min, [AS_HELP_STRING([--with-macosx-version-min=VERSION], [compile for MacOS X VERSION and above])]) @@ -478,8 +490,8 @@ need_libc=false dnl Check for usual libc functions AC_CHECK_DECLS([nanosleep],,,[#include ]) -AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) -AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy]) +AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) +AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r inet_pton lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) AC_CHECK_FUNCS(fdatasync,, [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) ]) @@ -499,6 +511,20 @@ AC_LINK_IFELSE([ c = NULL; ])],[AC_DEFINE([HAVE_VASPRINTF],[1],[Define to 1 if you have asprintf function])],[AC_LIBOBJ([vasprintf])]) +dnl C11 static_assert() +AC_MSG_CHECKING([for static_assert in assert.h]) +AC_PREPROC_IFELSE([AC_LANG_SOURCE([ +#include +#ifndef static_assert +# error BOOM! +#endif +])], [ + AC_MSG_RESULT([yes]) + AC_DEFINE([HAVE_STATIC_ASSERT], [1], [Define to 1 if defines static_assert.]) +], [ + AC_MSG_RESULT([no]) +]) + # Windows CE does not have strcoll() AC_FUNC_STRCOLL @@ -517,7 +543,7 @@ AC_CHECK_TYPES([struct pollfd],,, #endif ]) -dnl Check for connect +dnl Checks for socket stuff VLC_SAVE_FLAGS SOCKET_LIBS="" AC_SEARCH_LIBS(connect, [socket], [ @@ -532,9 +558,18 @@ AC_SEARCH_LIBS(connect, [socket], [ SOCKET_LIBS="-lws2" ]) ]) + +AC_SEARCH_LIBS([getaddrinfo], [nsl], [ + AS_IF([test "$ac_cv_search_getaddrinfo" != "none required"], [ + SOCKET_LIBS="$ac_cv_search_getaddrinfo $SOCKET_LIBS" + ]) +],, [${SOCKET_LIBS}]) + +AC_CHECK_FUNCS([if_nameindex if_nametoindex]) VLC_RESTORE_FLAGS + AS_IF([test -n "$SOCKET_LIBS"], [ - VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}]) + VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp access_output_shout sap stream_out_select stream_out_standard stream_out_rtp stream_out_raop vod_rtsp access_realrtsp rtp oldrc netsync gnutls flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync stream_filter_dash],[${SOCKET_LIBS}]) ]) AC_SUBST(SOCKET_LIBS) @@ -575,13 +610,6 @@ AS_IF([test "${ac_cv_struct_sockaddr_storage}" = no], [ AC_DEFINE(ss_family, sa_family) ]) -dnl getaddrinfo, getnameinfo and gai_strerror check -dnl -lnsl and -lsocket are needed on Solaris; -dnl we purposedly make the test fail on Windows -VLC_SAVE_FLAGS -AC_SEARCH_LIBS([getaddrinfo], [nsl],,, [${SOCKET_LIBS}]) -VLC_RESTORE_FLAGS - dnl FreeBSD has a gnugetopt library for this: GNUGETOPT_LIBS="" AC_CHECK_FUNC(getopt_long,, [ @@ -592,7 +620,7 @@ AC_CHECK_FUNC(getopt_long,, [ 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 mod mpc dmo mp4 quicktime realvideo qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264 hqdn3d],[-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 mod mpc dmo mp4 quicktime qt4 compressor headphone_channel_mixer normvol audiobargraph_a speex mono colorthres extract ball access_imem hotkeys mosaic gaussianblur dbus x264 hqdn3d anaglyph],[-lm]) LIBM="-lm" ], [ LIBM="" @@ -634,7 +662,7 @@ AS_IF([test "${have_dynamic_objects}" != "no"], [ AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"]) AC_SUBST(LIBDL) -VLC_ADD_LIBS([realvideo lua],[$LIBDL]) +VLC_ADD_LIBS([lua],[$LIBDL]) dnl Check for thread library if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then @@ -663,18 +691,10 @@ if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then ]) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" -dnl Check for misc headers -AC_MSG_CHECKING(for strncasecmp in strings.h) -AC_EGREP_HEADER(strncasecmp,strings.h,[ - AC_MSG_RESULT(yes) - AC_DEFINE(STRNCASECMP_IN_STRINGS_H, 1, - Define if defines strncasecmp.)],[ - AC_MSG_RESULT(no)]) - dnl Check for headers AC_CHECK_HEADERS([search.h]) -AC_CHECK_HEADERS(getopt.h strings.h locale.h xlocale.h) -AC_CHECK_HEADERS(fcntl.h sys/time.h sys/ioctl.h sys/stat.h) +AC_CHECK_HEADERS(getopt.h locale.h xlocale.h) +AC_CHECK_HEADERS([sys/time.h sys/ioctl.h]) AC_CHECK_HEADERS([arpa/inet.h netinet/udplite.h sys/eventfd.h]) AC_CHECK_HEADERS([net/if.h], [], [], [ @@ -689,7 +709,7 @@ AC_CHECK_HEADERS([sys/mount.h], [], [], if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then AC_CHECK_HEADERS(machine/param.h sys/shm.h) AC_CHECK_HEADERS([linux/version.h linux/dccp.h scsi/scsi.h linux/magic.h]) - AC_CHECK_HEADERS(syslog.h) + AC_CHECK_HEADERS(syslog.h mntent.h) fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" dnl LP64 and LLP64 architectures had better define ssize_t by themselves... @@ -1082,7 +1102,7 @@ have_mmxext="no" AS_IF([test "${enable_mmx}" != "no"], [ ARCH="${ARCH} mmx" VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -O -mmmx" + CFLAGS="${CFLAGS} -mmmx" AC_CACHE_CHECK([if $CC groks MMX intrinsics], [ac_cv_c_mmx_intrinsics], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#include @@ -1166,7 +1186,7 @@ AS_IF([test "${enable_sse}" != "no"], [ ARCH="${ARCH} sse sse2" VLC_SAVE_FLAGS - CFLAGS="${CFLAGS} -O -msse2" + CFLAGS="${CFLAGS} -msse2" AC_CACHE_CHECK([if $CC groks SSE2 intrinsics], [ac_cv_c_sse2_intrinsics], [ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([ [#include @@ -1756,7 +1776,7 @@ then AC_CHECK_HEADERS(dshow.h, [ VLC_ADD_PLUGIN([dshow]) VLC_ADD_CXXFLAGS([dshow],[]) - VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid]) ]) + VLC_ADD_LIBS([dshow],[-lole32 -loleaut32 -luuid -lstrmiids -lksuser])]) AC_LANG_POP(C++) fi fi @@ -1803,32 +1823,21 @@ fi dnl dnl Video4Linux 2 dnl -AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2], - [disable userspace V4L2 library (default auto)])]) +AC_ARG_ENABLE(v4l2, [AS_HELP_STRING([--disable-v4l2], + [disable Video4Linux version 2 (default auto)])]) AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr], [support PVR V4L2 cards (default disabled)])]) have_v4l2="no" -AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ - AC_PREPROC_IFELSE([ - #ifdef __linux__ - # include - # if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32) - # error Kernel headers too old - # endif - #endif - ], [ - have_v4l2="yes" - ], [ - AC_MSG_WARN([Kernel headers too old for V4L2 module. You need at least 2.6.32]) +AS_IF([test "$enable_v4l2" != "no"], [ + AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [ + have_v4l2="yes" ]) ]) AS_IF([test "$have_v4l2" = "yes"], [ - AS_IF([test "${enable_libv4l2}" != "no"], [ - PKG_CHECK_MODULES(LIBV4L2, libv4l2, [ - AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available]) - ], [ - AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.]) - ]) + PKG_CHECK_MODULES(LIBV4L2, libv4l2, [ + AC_DEFINE(HAVE_LIBV4L2, 1, [Define to 1 if libv4l2 is available]) + ], [ + AC_MSG_WARN([${LIBV4L2_PKG_ERRORS}.]) ]) AS_IF([test "${enable_pvr}" = "yes"], [ VLC_ADD_PLUGIN([pvr]) @@ -2595,15 +2604,6 @@ if test "${enable_quicktime}" = "yes"; then fi fi -dnl -dnl Real plugin -dnl -AC_ARG_ENABLE(real, - [ --enable-real Real video decoder module (default disabled)]) -if test "${enable_real}" = "yes"; then - VLC_ADD_PLUGIN([realvideo]) -fi - dnl dnl A52/AC3 decoder plugin dnl @@ -2731,7 +2731,7 @@ AM_CONDITIONAL([HAVE_SPEEXDSP], [test "$have_speexdsp" = "yes"]) dnl dnl theora decoder plugin dnl -PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theora >= 1.0], [experimental theora codec], [auto]) +PKG_ENABLE_MODULES_VLC([THEORA], [], [ogg theoradec >= 1.0 theoraenc], [experimental theora codec], [auto]) dnl dnl dirac encoder plugin @@ -2751,11 +2751,11 @@ AC_ARG_ENABLE(png, if test "${enable_png}" != "no"; then AC_CHECK_HEADERS(png.h, [ VLC_SAVE_FLAGS - LDFLAGS="${LDFLAGS} -lz" + LDFLAGS="${LDFLAGS} -lz $LIBM" AC_CHECK_LIB(png, png_set_rows, [ - VLC_ADD_LIBS([png],[-lpng -lz -lm]) + VLC_ADD_LIBS([png],[-lpng -lz $LIBM]) VLC_ADD_PLUGIN([png osdmenu osd_parser])], - [],[-lz]) + [],[-lz $LIBM] ) VLC_RESTORE_FLAGS ]) fi @@ -2823,7 +2823,7 @@ fi dnl dnl libfluidsynth (MIDI synthetizer) plugin dnl -PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth], [MIDI synthetiser with libfluidsynth], [auto]) +PKG_ENABLE_MODULES_VLC([FLUIDSYNTH], [], [fluidsynth >= 1.1.0], [MIDI synthetiser with libfluidsynth], [auto]) dnl dnl Teletext Modules @@ -3003,11 +3003,7 @@ AS_IF([test "${enable_xcb}" != "no"], [ AS_IF([test "${have_gl}" != "yes"], [ AC_MSG_ERROR([${GL_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) ]) - PKG_CHECK_MODULES(XLIB_XCB, [x11-xcb], [ - VLC_ADD_PLUGIN([xcb_glx]) - ], [ - AC_MSG_ERROR([${XLIB_XCB_PKG_ERRORS}. Pass --disable-glx if you do not need OpenGL X11 support.]) - ]) + VLC_ADD_PLUGIN([xcb_glx]) ]) ]) AM_CONDITIONAL([HAVE_XCB], [test "${have_xcb}" = "yes"]) @@ -3188,7 +3184,7 @@ if test "${enable_directx}" != "no"; then [ VLC_ADD_PLUGIN([direct3d]) VLC_ADD_LIBS([direct3d],[-lgdi32]) ]) - VLC_ADD_LIBS([direct3d directx glwin32],[-lole32]) + VLC_ADD_LIBS([direct3d directx glwin32],[-lole32 -luuid]) fi fi @@ -3204,7 +3200,7 @@ AC_ARG_ENABLE(direct2d, AS_IF([test "${enable_direct2d}" != "no"], [ AC_CHECK_HEADERS(d2d1.h, [ VLC_ADD_PLUGIN([direct2d]) - VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32]) + VLC_ADD_LIBS([direct2d],[-lgdi32 -lole32 -luuid]) ], [ AC_MSG_WARN([Cannot find Direct2D headers!]) ]) @@ -3218,7 +3214,7 @@ AC_ARG_ENABLE(wingdi, if test "${enable_wingdi}" != "no"; then if test "${SYS}" = "mingw32"; then VLC_ADD_PLUGIN([wingdi]) - VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32]) + VLC_ADD_LIBS([wingdi],[-lgdi32 -lole32 -luuid]) fi if test "${SYS}" = "mingwce"; then VLC_ADD_PLUGIN([wingdi wingapi]) @@ -3409,8 +3405,8 @@ dnl Open Sound System module dnl AC_ARG_ENABLE(oss, [AS_HELP_STRING([--enable-oss], - [support the Open Sound System OSS (default enabled on BSD)])],, [ - AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux"], [ + [support the Open Sound System OSS (default enabled on FreeBSD/NetBSD/DragonFlyBSD)])],, [ + AS_IF([test "$SYS" = "mingw32" -o "$SYS" = "mingwce" -o "$SYS" = "linux" -o "$SYS" = "openbsd"], [ enable_oss="no" ]) ]) @@ -3428,9 +3424,22 @@ AC_SUBST(OSS_LIBS) AM_CONDITIONAL([HAVE_OSS], [test "${have_oss}" = "yes"]) dnl -dnl Portaudio module +dnl OpenBSD sndio module dnl -PKG_ENABLE_MODULES_VLC([PORTAUDIO], [], [portaudio-2.0], [Portaudio library support], [auto]) +AC_ARG_ENABLE([sndio], + [AS_HELP_STRING([--disable-sndio], + [support the OpenBSD sndio (default auto)])],, [ + AS_IF([test "$SYS" = "opensd"], [ + enable_sndio="yes" + ]) +]) +have_sndio="no" +AS_IF([test "$enable_sndio" != "no"], [ + AC_CHECK_HEADER([sndio.h], [ + have_sndio="yes" + ]) +]) +AM_CONDITIONAL([HAVE_SNDIO], [test "${have_sndio}" = "yes"]) dnl dnl win32 waveOut plugin @@ -3686,14 +3695,14 @@ then VLC_ADD_LIBS([macosx], [-Wl,-framework,QTKit -Wl,-framework,IOKit -Wl,-framework,AddressBook -Wl,-framework,WebKit]) - if ! test -d ${CONTRIB_DIR}/Sparkle.framework + if test ! -d ${CONTRIB_DIR}/Sparkle.framework then AC_MSG_ERROR([Sparkle framework is required and was not found in ${CONTRIB_DIR}]) fi VLC_ADD_LIBS([macosx], [-F${CONTRIB_DIR} -Wl,-framework,Sparkle]) VLC_ADD_OBJCFLAGS([macosx], [-F${CONTRIB_DIR}]) - if ! test -d ${CONTRIB_DIR}/BGHUDAppKit.framework + if test ! -d ${CONTRIB_DIR}/BGHUDAppKit.framework then AC_MSG_ERROR([BGHUDAppKit framework is required and was not found in ${CONTRIB_DIR}]) fi @@ -4056,9 +4065,8 @@ AC_ARG_ENABLE(loader, AM_CONDITIONAL(LOADER, [test "${enable_loader}" = "yes"]) AS_IF([test "${enable_loader}" = "yes"], [ VLC_ADD_PLUGIN([dmo]) - VLC_ADD_CPPFLAGS([dmo quicktime realvideo],[-I\\\${top_srcdir}/modules/codec/loader]) - VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/modules/codec/loader/libloader.la]) - VLC_ADD_CPPFLAGS([realvideo], [-DLOADER]) + VLC_ADD_CPPFLAGS([dmo quicktime ],[-I\\\${top_srcdir}/modules/codec/loader]) + VLC_ADD_LIBS([dmo quicktime ],[\\\${top_builddir}/modules/codec/loader/libloader.la]) VLC_ADD_LIBS([dmo quicktime], [-lpthread]) ]) @@ -4144,7 +4152,6 @@ AC_CONFIG_FILES([ modules/access/Makefile modules/access/bd/Makefile modules/access/dshow/Makefile - modules/access/dvb/Makefile modules/access/mms/Makefile modules/access/rtp/Makefile modules/access/rtsp/Makefile