]> git.sesse.net Git - vlc/blobdiff - configure.ac
MP4: fix a typo
[vlc] / configure.ac
index 54788cd5950454826ee0b9d936dd34b04cdfb5cc..adbbddd45772436e5b874a8b00e3480dc2b5fce6 100644 (file)
@@ -49,11 +49,6 @@ AC_SUBST(vlcdatadir)
 vlclibdir="\${libdir}/\${PKGDIR}"
 AC_SUBST(vlclibdir)
 
-dnl
-dnl  Save *FLAGS
-dnl
-VLC_SAVE_FLAGS
-
 dnl
 dnl Check for tools
 dnl
@@ -87,6 +82,11 @@ AC_C_CONST
 AC_C_INLINE
 AC_C_RESTRICT
 
+dnl
+dnl  Save *FLAGS
+dnl
+VLC_SAVE_FLAGS
+
 dnl Extend the --help string at the current spot.
 AC_DEFUN([EXTEND_HELP_STRING], [m4_divert_once([HELP_ENABLE], [$1])])
 
@@ -461,7 +461,7 @@ m4_defun([AC_DEPLIBS_CHECK_METHOD],[])
 
 lt_cv_deplibs_check_method=pass_all
 
-AS_IF([test "${enable_shared}" = "no"], [
+AS_IF([test "${enable_shared}" = "no" -a "${enable_vlc}" != "no"], [
   AC_MSG_ERROR([VLC is based on plugins. Shared libraries cannot be disabled.])
 ])
 
@@ -470,14 +470,11 @@ dnl Gettext stuff
 dnl
 AM_GNU_GETTEXT_VERSION([0.18.1])
 AM_GNU_GETTEXT([external])
-VLC_ADD_LIBS([libvlccore vlc], [${LTLIBINTL}])
 
 dnl
 dnl Iconv stuff
 dnl
 AM_ICONV
-VLC_ADD_CFLAGS([libvlccore],[${INCICONV}])
-VLC_ADD_LIBS([libvlccore],[${LTLIBICONV}])
 
 dnl Check for broken versions of mingw-runtime compatability library
 AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
@@ -565,8 +562,8 @@ need_libc=false
 
 dnl Check for usual libc functions
 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([daemon fcntl fstatvfs fork getenv getpwuid_r if_nameindex if_nametoindex isatty lstat memalign mmap openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp uselocale])
+AC_REPLACE_FUNCS([asprintf atof atoll dirfd fdopendir 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.])
 ])
@@ -615,7 +612,7 @@ AC_SEARCH_LIBS(connect, [socket], [
 ])
 LIBS="$LIBS_save"
 AS_IF([test -n "$SOCKET_LIBS"], [
-  VLC_ADD_LIBS([libvlccore 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 growl_udp 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 growl_udp flac ts audioscrobbler lua remoteosd zvbi audiobargraph_a netsync],[${SOCKET_LIBS}])
 ])
 AC_SUBST(SOCKET_LIBS)
 
@@ -679,7 +676,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 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])
+  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 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=""
@@ -692,50 +689,38 @@ AC_CHECK_LIB(m,lrintf, [
 ])
 
 dnl Check for dynamic plugins
-ac_cv_have_plugins=no
-
-# Win32 style
-if test "${ac_cv_have_plugins}" = "no"; then
-  if test "${SYS}" = "mingw32" ; then
-    AC_CHECK_LIB(kernel32, main,
-     [VLC_ADD_LIBS([libvlccore],[-lkernel32])
-      ac_cv_have_plugins=yes])
-  fi
-fi
-
-# WinCE style
-if test "${ac_cv_have_plugins}" = "no"; then
-  if test "${SYS}" = "mingwce"; then
-    ac_cv_have_plugins=yes
-  fi
-fi
-
-# Only test for dlopen() if the others didn't work
 LIBDL=""
-if test "${ac_cv_have_plugins}" = "no" -o "${SYS}" = "darwin"; then
-  AC_CHECK_HEADERS(dlfcn.h sys/dl.h)
-  ac_cv_my_have_dlopen=no
-  AC_CHECK_FUNC(dlopen, [
-    ac_cv_my_have_dlopen=yes
-  ], [
-    AC_CHECK_LIB(dl, dlopen, [
-      ac_cv_my_have_dlopen=yes
-      LIBDL="-ldl"
-    ], [
-      AC_CHECK_LIB(svld, dlopen, [
-        ac_cv_my_have_dlopen=yes
-        LIBDL="-lsvld"
-      ])
-    ])
+have_dynamic_objects="no"
+LIBS_save="$LIBS"
+AC_SEARCH_LIBS(dlopen, [dl svld], [
+  AS_IF([test "$ac_cv_search_dlopen" != "none required"], [
+    LIBDL="$ac_cv_search_dlopen"
   ])
-  if test "${ac_cv_my_have_dlopen}" = "yes"; then
-    AC_DEFINE(HAVE_DL_DLOPEN, 1, [Define if you have the dlopen API])
-    ac_cv_have_plugins=yes
-    VLC_ADD_LIBS([libvlccore realvideo lua],[$LIBDL])
-  fi
-fi
+  have_dynamic_objects="yes"
+])
+LIBS="$LIBS_save"
+
+# Windows
+AS_IF([test "${SYS}" = "mingw32" -o "${SYS}" = "mingwce"], [
+  LIBDL=""
+  have_dynamic_objects="yes" #assume we can use shared objects
+])
+
+test "${enable_shared}" = "no" && have_dynamic_objects=no
+
+AS_IF([test "${have_dynamic_objects}" != "no"], [
+  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1,
+            [Define to 1 if dynamic plugins are supported.])
+], [
+  dnl Clear $LIBDL so as not to break linking
+  LIBDL=""
+])
+AM_CONDITIONAL(HAVE_DYNAMIC_PLUGINS, [test "${have_dynamic_objects}" != "no"])
+
 AC_SUBST(LIBDL)
+VLC_ADD_LIBS([realvideo lua],[$LIBDL])
 
+dnl Check for thread library
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
   dnl Check for pthreads - borrowed from XMMS
   THREAD_LIB=error
@@ -842,14 +827,12 @@ then
       MINIZIP_LIBS="-lminizip -lz"
     ], [
       have_minizip=no
-      MINIZIP_CFLAGS="-I\\\${top_srcdir}/libs/unzip"
-      MINIZIP_LIBS="\\\${top_builddir}/libs/unzip/libunzip.la"
+      MINIZIP_CFLAGS="-I\\\${top_srcdir}/modules/access/zip/unzip"
+      MINIZIP_LIBS="\\\${top_builddir}/modules/access/zip/unzip/libunzip.la"
     ])
   ])
   VLC_ADD_CPPFLAGS([skins2],[$MINIZIP_CFLAGS])
-  VLC_ADD_CFLAGS([zip],[$MINIZIP_CFLAGS])
-  VLC_ADD_LIBS([skins2 zip],[$MINIZIP_LIBS])
-  VLC_ADD_PLUGIN([unzip zip])
+  VLC_ADD_LIBS([skins2],[$MINIZIP_LIBS])
 fi
 AM_CONDITIONAL(HAVE_MINIZIP, [ test "${have_minizip}" = "yes" ])
 
@@ -938,16 +921,12 @@ dnl  Debugging mode
 dnl
 AC_ARG_ENABLE(debug,
   [AS_HELP_STRING([--enable-debug],
-    [build with run-time assertions and debug symbols (default disabled)])],,
+    [build with run-time assertions (default disabled)])],,
   [enable_debug="no"])
 AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "${enable_debug}" != "no"], [
   AC_CHECK_HEADERS([valgrind/valgrind.h])
-  CFLAGS="${CFLAGS} -g"
-  CXXFLAGS="${CXXFLAGS} -g"
-  OBJCFLAGS="${OBJCFLAGS} -g"
-  LDFLAGS="${LDFLAGS} -g"
 ], [
   AC_DEFINE(NDEBUG)
 ])
@@ -1052,33 +1031,6 @@ AS_IF([test "${enable_optimizations}" != "no"], [
     ])
   ])
 
-  dnl -O2 and -O in both production and debug builds
-  AS_IF([test "x$C_O" = "x"], [
-    AC_CACHE_CHECK([if \$CC accepts -O2], [ac_cv_c_o2], [
-      CFLAGS="${CFLAGS_save} -O2"
-      AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
-        ac_cv_c_o2=yes
-      ], [
-        ac_cv_c_o2=no
-      ])
-    ])
-    AS_IF([test "${ac_cv_c_o2}" != "no"], [
-      C_O="-O2"
-    ], [
-      AC_CACHE_CHECK([if \$CC accepts -O], [ac_cv_c_o], [
-        CFLAGS="${CFLAGS_save} -O"
-        AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [
-          ac_cv_c_o=yes
-        ], [
-          ac_cv_c_o=no
-        ])
-      ])
-      AS_IF([test "${ac_cv_c_o}" != "no"], [
-        C_O="-O"
-      ])
-    ])
-  ])
-
   VLC_RESTORE_FLAGS
   CFLAGS="${CFLAGS} ${C_O}"
   CXXFLAGS="${CXXFLAGS} ${C_O}"
@@ -1996,46 +1948,30 @@ if test "${enable_sftp}" = "yes"; then
 fi
 
 dnl
-dnl  Video4Linux2 plugin
+dnl  Video4Linux 2
 dnl
-AC_ARG_ENABLE(v4l2,
-  [AS_HELP_STRING([--disable-v4l2],
-    [disable Video4Linux2 support (default auto)])])
+AC_ARG_ENABLE(libv4l2, [AS_HELP_STRING([--disable-libv4l2],
+  [disable userspace V4L2 library (default auto)])])
+AC_ARG_ENABLE(pvr, [AS_HELP_STRING([--enable-pvr],
+  [support PVR V4L2 cards (default disabled)])])
 have_v4l2="no"
-AS_IF([test "${enable_v4l2}" != "no"], [
-  AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h], [
-    have_v4l2="yes"
+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}])
+    ])
+  ])
+  AS_IF([test "${enable_pvr}" = "yes"], [
+    VLC_ADD_PLUGIN([pvr])
   ])
 ])
 AM_CONDITIONAL(HAVE_V4L2, [test "${have_v4l2}" != "no"])
 
-dnl
-dnl libv4l2 support for video4linux.
-dnl
-AC_ARG_ENABLE(libv4l2,
-  [AS_HELP_STRING([--enable-libv4l2],
-    [use V4L2 through libv4l2 (default auto)])])
-if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
-then
-    PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
-      VLC_ADD_LIBS([v4l2],[${LIBV4L2_LIBS}])
-      VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
-      AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l2 is available)],
-      AC_MSG_WARN([LibV4L2 support disabled because libv4l2 development headers were not found])
-    )
-fi
-
-dnl
-dnl  special access module for Hauppauge PVR cards
-dnl
-AC_ARG_ENABLE(pvr,
-  [AS_HELP_STRING([--enable-pvr],
-    [support PVR V4L2 cards (default disabled)])])
-if test "${enable_pvr}" = "yes"
-then
-  VLC_ADD_PLUGIN([pvr])
-fi
-
 dnl
 dnl special access module for Blackmagic SDI cards
 dnl
@@ -2148,6 +2084,21 @@ then
   fi
 fi
 
+dnl
+dnl Linux DVB
+dnl
+AC_CACHE_CHECK([for Linux DVB version 5], [ac_cv_linux_s2api], [
+  AC_PREPROC_IFELSE([AC_LANG_PROGRAM([
+[#include <linux/dvb/version.h>
+#if (DVB_API_VERSION < 5)
+EXPLODE
+#endif]])], [
+  ac_cv_linux_s2api=yes
+], [
+  ac_cv_linux_s2api=no
+])])
+AM_CONDITIONAL([HAVE_LINUX_DVB], [test "$ac_cv_linux_s2api" = "yes"])
+
 dnl
 dnl  libdvbpsi check for ts mux/demux
 dnl
@@ -2243,11 +2194,8 @@ dnl
 PKG_ENABLE_MODULES_VLC([OGG], [], [ogg >= 1.0], [Ogg demux support], [auto])
 if test "${enable_sout}" != "no"; then
     PKG_ENABLE_MODULES_VLC([MUX_OGG], [], [ogg >= 1.0], [Ogg mux support], [auto])
-fi
-
-if test "${enable_sout}" != "no"; then
 dnl Check for libshout
-PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
+    PKG_ENABLE_MODULES_VLC([SHOUT], [access_output_shout], [shout >= 2.1], [libshout output plugin], [auto])
 fi
 
 dnl
@@ -3633,29 +3581,10 @@ EXTEND_HELP_STRING([Interface plugins:])
 dnl
 dnl Skins2 module
 dnl
-AC_ARG_ENABLE(libtar,
-  [  --enable-libtar         libtar support for skins2 (default auto)])
-AS_IF([test "${enable_libtar}" != "no"], [
-  AC_CHECK_HEADERS(libtar.h, [
-    VLC_ADD_LIBS([skins2],[-ltar])
-  ])
-])
-
 AC_ARG_ENABLE(skins2,
-  [AS_HELP_STRING([--enable-skins2],[Skins2 interface module (default
-   enabled except on MacOSX and WinCE)])],, [
-  AS_IF([test "${SYS}" != "darwin" && test "${SYS}" != "mingwce"], [
-    enable_skins2="yes"
-  ], [
-    enable_skins2="no"
-  ])
-])
-AS_IF([test "${enable_skins2}" = "yes"], [
-  dnl freetype
-  AS_IF([test "${have_freetype}" != "yes"], [
-    AC_MSG_ERROR([Could not find FreeType (required for skins2)])
-  ])
-
+  [AS_HELP_STRING([--enable-skins2], [skins interface module (default auto)])])
+AS_IF([test "${enable_skins2}" != "no"], [
+  have_skins_deps="yes"
   AS_IF([test "${SYS}" = "mingw32"], [
     VLC_ADD_CPPFLAGS([skins2],[-U_OFF_T_ -U_off_t -Imodules/gui/skins2 -DWIN32_SKINS])
     VLC_ADD_CXXFLAGS([skins2],[-O2 -fno-rtti])
@@ -3667,19 +3596,40 @@ AS_IF([test "${enable_skins2}" = "yes"], [
     VLC_ADD_LIBS([skins2],[-Wl,-framework,Carbon])
 
   ], [
-    PKG_CHECK_MODULES([XPM], [xpm])
-    PKG_CHECK_MODULES([XINERAMA], [xinerama])
-    PKG_CHECK_MODULES([XEXT], [xext])
+    PKG_CHECK_MODULES([XPM], [xpm],, [have_skins_deps="no"])
+    PKG_CHECK_MODULES([XINERAMA], [xinerama],, [have_skins_deps="no"])
+    PKG_CHECK_MODULES([XEXT], [xext],, [have_skins_deps="no"])
     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} ${XINERAMA_LIBS} -lX11])
 
   ])
-  VLC_ADD_PLUGIN([skins2])
-  ALIASES="${ALIASES} svlc"
+  AS_IF([test "${have_freetype}" != "yes"], [
+    have_skins_deps="no"
+  ])
+
+  AS_IF([test "${have_skins_deps}" = "no"], [
+    AS_IF([test "x${enable_skins2}" = "x"], [
+      AC_MSG_WARN([Skins2 interface disabled due to missing dependencies.])
+    ], [
+      AC_MSG_ERROR([Skins2 interface requires FreeType, libxpm, libxext and libxinerama])
+    ])
+    enable_skins2="no"
+  ], [
+    VLC_ADD_PLUGIN([skins2])
+    ALIASES="${ALIASES} svlc"
+  ])
 ])
 AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
 
+AC_ARG_ENABLE(libtar,
+  [  --enable-libtar         libtar support for skins2 (default auto)])
+AS_IF([test "${enable_skins2}" = "yes" && test "${enable_libtar}" != "no"], [
+  AC_CHECK_HEADERS(libtar.h, [
+    VLC_ADD_LIBS([skins2],[-ltar])
+  ])
+])
+
 dnl
 dnl Hildon UI
 dnl
@@ -4197,8 +4147,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}/libs/loader])
-    VLC_ADD_LIBS([dmo quicktime realvideo],[\\\${top_builddir}/libs/loader/libloader.la])
+    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_LIBS([dmo quicktime], [-lpthread])
   ])
@@ -4213,23 +4163,6 @@ AC_ARG_ENABLE(vlc,
 AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
 
 
-dnl
-dnl  Plugin and builtin checks
-dnl
-plugin_support=yes
-
-dnl Automagically disable plugins if there is no system support for
-dnl dynamically loadable files (.so, .dll, .dylib).
-dnl don't forget vlc-win32 still can load .dll as plugins
-AS_IF([test "${ac_cv_have_plugins}" = "no"], [
-  AC_MSG_WARN([*** No plugin support! Building statically! ***])
-  plugin_support=no
-])
-
-AS_IF([test "${plugin_support}" != "no"], [
-  AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, [Define if dynamic plugins are supported])
-])
-
 dnl
 dnl Pic and shared libvlc stuff
 dnl
@@ -4298,9 +4231,6 @@ AC_SUBST(FILE_LIBVLC_DLL)
 AC_CONFIG_FILES([
   Makefile
   doc/Makefile
-  libs/loader/Makefile
-  libs/srtp/Makefile
-  libs/unzip/Makefile
   modules/Makefile
   m4/Makefile
   po/Makefile.in
@@ -4308,6 +4238,7 @@ AC_CONFIG_FILES([
   compat/Makefile
   src/Makefile
   src/test/Makefile
+  lib/Makefile
   bin/Makefile
   test/Makefile
   modules/access/Makefile
@@ -4320,6 +4251,7 @@ AC_CONFIG_FILES([
   modules/access/vcdx/Makefile
   modules/access/screen/Makefile
   modules/access/zip/Makefile
+  modules/access/zip/unzip/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_mixer/Makefile
@@ -4327,6 +4259,7 @@ AC_CONFIG_FILES([
   modules/codec/Makefile
   modules/codec/avcodec/Makefile
   modules/codec/dmo/Makefile
+  modules/codec/loader/Makefile
   modules/codec/omxil/Makefile
   modules/codec/shine/Makefile
   modules/codec/spudec/Makefile