]> git.sesse.net Git - vlc/blobdiff - configure.ac
Accept non-socket handles through net_Read* (closes #731)
[vlc] / configure.ac
index 0ae29b8c5d86b08fa0f123f880a87c518b7bca0e..76db50a357f3fd9face81b9bdf08c69410b0ae05 100644 (file)
@@ -9,7 +9,7 @@ VERSION_EXTRA="svn"
 CONFIGURE_LINE="$0 $*"
 CODENAME="Janus"
 
-AC_PREREQ(2.50)
+AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CANONICAL_SYSTEM
@@ -37,7 +37,7 @@ VLC_SAVE_FLAGS
 dnl
 dnl Check for tools
 dnl
-AC_PROG_CC
+AC_PROG_CC_C99
 AM_PROG_CC_C_O
 AC_PROG_CPP
 AC_PROG_CXX
@@ -71,19 +71,10 @@ AC_CHECK_TOOL(STRIP, strip, :)
 AC_CHECK_TOOL(AR, ar, :)
 AC_CHECK_TOOL(LD, ld, :)
 
-AC_DISABLE_STATIC
-AC_LIBTOOL_DLOPEN
-AC_LIBTOOL_WIN32_DLL
-AC_PROG_LIBTOOL
-
-AC_ARG_ENABLE(libtool,
-    [  --enable-libtool        use libtool (default disabled)],
-    [],[enable_libtool="no"])
-AM_CONDITIONAL(USE_LIBTOOL, [test "${enable_libtool}" != "no"])
-
 dnl Check for compiler properties
 AC_C_CONST
 AC_C_INLINE
+AC_C_RESTRICT
 
 dnl
 dnl  Check for the contrib directory
@@ -208,6 +199,7 @@ case "${target_os}" in
     ;;
   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
     AC_CHECK_TOOL(WINDRES, windres, :)
+    enable_libtool="no"
 
     case "${target_os}" in
       *mingw32*)
@@ -286,6 +278,21 @@ AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin")
 AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32")
 AM_CONDITIONAL(HAVE_WINCE, test "${SYS}" = "mingwce")
 
+dnl
+dnl  Libtool
+dnl  It's very bad, but our former custom system was worst
+dnl  -- Courmisch
+dnl
+AC_DISABLE_STATIC
+AC_LIBTOOL_DLOPEN
+dnl AC_LIBTOOL_WIN32_DLL - couldn't get libtool to work on Win32 so far
+AC_PROG_LIBTOOL
+
+AC_ARG_ENABLE(libtool,
+    [  --enable-libtool        use libtool (default disabled)])
+AM_CONDITIONAL(USE_LIBTOOL, [test "x${enable_libtool}" != "xno"])
+
+
 dnl
 dnl  Check for Mac OS X SDK settings
 dnl
@@ -306,20 +313,23 @@ dnl
 ALL_LINGUAS="ca cs da de en_GB es fr gl he hi hu it ja ka ko nl oc pt_BR ro ru sv tr zh_CN zh_TW"
 AM_GNU_GETTEXT_VERSION(0.11.5)
 AM_GNU_GETTEXT
-if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
-  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, Define if we use the local libintl)
+AS_IF([test "${nls_cv_force_use_gnu_gettext}" = "yes"], [
+  AC_DEFINE(HAVE_INCLUDED_GETTEXT, 1, [Define if we use the local libintl])
   AM_CPPFLAGS="${AM_CPPFLAGS} -I\$(top_builddir)/intl"
   AS_IF([test "${enable_libtool}" != "no"], [
     INCLUDED_LIBINTL="${LTLIBINTL}"
   ],[
     INCLUDED_LIBINTL="${LIBINTL}"
   ])
-else
-  VLC_ADD_LDFLAGS([vlc],[${LIBINTL}])
-  INCLUDED_LIBINTL=
-fi
+], [
+  AS_IF([test "${enable_libtool}" != "no"], [
+    VLC_ADD_LDFLAGS([vlc], [${LTLIBINTL}])
+  ], [
+    VLC_ADD_LDFLAGS([vlc], [${LIBINTL}])
+  ])
+])
 AC_SUBST(INCLUDED_LIBINTL)
-XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS"
+XGETTEXT="${XGETTEXT} --keyword=_NS --keyword=_ANS" 
 
 dnl
 dnl Iconv stuff
@@ -775,6 +785,8 @@ fi # end "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"
 
 AC_HEADER_TIME
 
+AC_SEARCH_LIBS(poll, [poll], [AC_DEFINE(HAVE_POLL, 1, [Define to 1 if the OS is usabl... err, has poll().])])
+
 dnl Check for dirent
 need_dirent=false
 AC_CHECK_HEADERS(dirent.h,,[need_dirent=:])
@@ -1134,10 +1146,11 @@ VLC_ADD_PLUGINS([access_http access_mms access_ftp ipv4])
 VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
 
+
 if test "${SYS}" != "mingwce"; then
 dnl  VLC_ADD_PLUGINS([externrun])
   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record])
-  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake motion])
+  VLC_ADD_PLUGINS([gestures rc telnet hotkeys netsync showintf time marq podcast shout sap fake])
   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop])
   VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
@@ -1160,7 +1173,7 @@ dnl
 dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
-    VLC_ADD_PLUGINS([screensaver])
+    VLC_ADD_PLUGINS([screensaver motion])
 elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
     VLC_ADD_LDFLAGS([dmo],[-lole32])
@@ -1864,6 +1877,45 @@ then
   fi
 fi
 
+
+dnl
+dnl  OpenCV wrapper and example filters
+dnl
+AC_ARG_ENABLE(opencv,
+  [  --enable-opencv            OpenCV (computer vision) filter (default disabled)])
+if test "${enable_opencv}" = "yes" -a "${CXX}" != "";
+then
+  AC_ARG_WITH(opencv-tree,
+  [    --with-opencv-tree=PATH opencv tree for linking])
+  if test -n "${with_opencv_tree}"
+  then
+    if test "${SYS}" = "mingw32" -o "${SYS}" = "cygwin"
+    then
+         AC_MSG_CHECKING(for opencv in ${with_opencv_tree})
+         if test -f ${with_opencv_tree}/cv/include/cv.h -a -f ${with_opencv_tree}/cxcore/include/cxcore.h \
+           -a -f ${with_opencv_tree}/cvaux/include/cvaux.h -a -f ${with_opencv_tree}/otherlibs/highgui/highgui.h
+      then
+        AC_MSG_RESULT(yes)
+        VLC_ADD_PLUGINS([opencv_wrapper])
+        VLC_ADD_LDFLAGS([opencv_wrapper],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
+        VLC_ADD_CFLAGS([opencv_wrapper],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
+        AC_LANG_PUSH(C++)
+        VLC_ADD_PLUGINS([opencv_example])
+        VLC_ADD_LDFLAGS([opencv_example],[-L${with_opencv_tree}/lib -lcv -lcxcore -lcvaux -lhighgui])
+        VLC_ADD_CXXFLAGS([opencv_example],[-I${with_opencv_tree}/cv/include -I${with_opencv_tree}/cxcore/include -I${with_opencv_tree}/cvaux/include -I${with_opencv_tree}/otherlibs/highgui])
+        AC_LANG_POP(C++)        
+         else
+        dnl  No opencv could be found, sorry
+        AC_MSG_RESULT(no)
+        AC_MSG_ERROR([cannot find opencv in ${with_opencv_tree}])
+         fi
+    else
+         AC_MSG_WARN([--enable-opencv currently only works on windows])
+    fi
+  fi  
+fi
+
+
 dnl
 dnl  libsmbclient plugin
 dnl
@@ -1899,7 +1951,7 @@ then
       AC_CHECK_HEADERS(dvbpsi/dr.h,
         [ VLC_ADD_PLUGINS([ts])
           if test "${enable_sout}" != "no"; then
-            VLC_ADD_BUILTINS([mux_ts])
+            VLC_ADD_PLUGINS([mux_ts])
           fi
           VLC_ADD_LDFLAGS([mux_ts ts dvb],[-ldvbpsi]) ],
         [  AC_MSG_WARN([cannot find libdvbpsi headers]) ],
@@ -2730,12 +2782,20 @@ dnl Trying with pkg-config
      AC_CHECK_HEADERS(ffmpeg/avformat.h)
      AC_CHECK_HEADERS(ffmpeg/avutil.h)
      AC_CHECK_HEADERS(postproc/postprocess.h)
-     VLC_ADD_BUILTINS([ffmpeg])
+     if test "${SYS}" = "darwin"; then
+        VLC_ADD_BUILTINS([ffmpeg])
+     else
+        VLC_ADD_PLUGINS([ffmpeg])
+     fi
      if test "${enable_sout}" != "no"; then
-         VLC_ADD_BUILTINS([stream_out_switcher])
+        if test "${SYS}" = "darwin"; then
+            VLC_ADD_BUILTINS([stream_out_switcher])
+        else
+            VLC_ADD_PLUGINS([stream_out_switcher])
+        fi
      fi
      VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_CFLAGS}])
-     VLC_ADD_LDFLAGS([ffmpeg],[${FFMPEG_LIBS}])
+     VLC_ADD_LDFLAGS([ffmpeg stream_out_switcher],[${FFMPEG_LIBS}])
      dnl newer ffmpeg have a separate libpostproc
      PKG_CHECK_MODULES(POSTPROC, libpostproc,[
        VLC_ADD_LDFLAGS([ffmpeg],[${POSTPROC_LIBS}]) 
@@ -3337,11 +3397,7 @@ if test "${enable_theora}" = "yes"
 then
   AC_CHECK_HEADERS(theora/theora.h, [
     AC_CHECK_LIB(theora, theora_granule_time, [
-      if test "${SYS}" = "mingw32"; then
-        VLC_ADD_PLUGINS([theora])
-      else
-        VLC_ADD_BUILTINS([theora])
-      fi
+      VLC_ADD_PLUGINS([theora])
       theora_libs="-ltheora -logg"
       VLC_ADD_LDFLAGS([theora],[${theora_libs}]) ],[
       AC_MSG_ERROR([libtheora doesn't appear to be installed on your system.
@@ -5018,33 +5074,15 @@ AC_ARG_ENABLE(gnutls,
   [  --enable-gnutls         gnutls TLS/SSL support (default enabled)])
 
 AS_IF([test "${enable_gnutls}" != "no"], [
-  gcrypt_LIBS="-lgpg-error"
-  AS_IF([test "${SYS}" = "mingw32"], [
-    gcrypt_LIBS="${gcrypt_LIBS} -lws2_32"
-    VLC_ADD_LDFLAGS([gnutls],[-lws2_32])
-  ])
-
-  gnutls_LIBS="-lgcrypt -lz ${gcrypt_LIBS}"
-  AS_IF([test "${SYS}" = "darwin"], [
-    gnutls_LIBS="-lintl ${gnutls_LIBS}"
-    VLC_ADD_LDFLAGS([gnutls],[-lintl])
-  ])
-
-  AC_CHECK_HEADER(gcrypt.h, [
-    AC_CHECK_LIB(gcrypt, gcry_control, [
-      AC_CHECK_HEADER(gnutls/gnutls.h, [
-        AC_CHECK_LIB(gnutls, gnutls_certificate_verify_peers2,
-          [have_gnutls="yes"],[old_gnutls="yes"],[${gnutls_LIBS}])
-      ])
-    ],,[${gcrypt_LIBS}])
-  ])
+  PKG_CHECK_MODULES(GNUTLS, [gnutls >= 1.2.9], [have_gnutls="yes"], [have_gnutls="no"])
 
   AS_IF([test "${have_gnutls}" = "yes"], [
     VLC_ADD_PLUGINS([gnutls])
-    VLC_ADD_LDFLAGS([gnutls], [-lgnutls ${gnutls_LIBS}])
+    VLC_ADD_CFLAGS([gnutls], [$GNUTLS_CFLAGS])
+    VLC_ADD_LDFLAGS([gnutls], [$GNUTLS_LIBS])
   ], [
     AS_IF([test "${enable_gnutls}" = "yes"], [
-      AC_MSG_ERROR([gnutls not present or too old (version 1.0.17 required)])
+      AC_MSG_ERROR([gnutls not present or too old (version 1.2.9 required)])
     ])
   ])
 ])
@@ -5176,13 +5214,19 @@ then
     AC_PATH_PROG(MOZILLA_CONFIG, mozilla-config, no)
     if test "${MOZILLA_CONFIG}" = "no"
     then
-      AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
-      if test "${XULRUNNER_CONFIG}" = "no"
+      AC_PATH_PROG(SEAMONKEY_CONFIG, seamonkey-config, no)
+      if test "${SEAMONKEY_CONFIG}" = "no"
       then
-        AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
+        AC_PATH_PROG(XULRUNNER_CONFIG, xulrunner-config, no)
+        if test "${XULRUNNER_CONFIG}" = "no"
+        then
+          AC_MSG_ERROR([Please install the Mozilla development tools, mozilla-config was not found.])
+        else
+          have_xul=true
+          MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
+        fi
       else
-        have_xul=true
-       MOZILLA_CONFIG="${XULRUNNER_CONFIG}"
+        MOZILLA_CONFIG="${SEAMONKEY_CONFIG}"
       fi
     fi
     
@@ -5462,7 +5506,7 @@ dnl AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${VLC_SYMBOL}", [String suffix for modu
 dnl AC_DEFINE_UNQUOTED(MODULE_SYMBOL, ${VLC_SYMBOL}, [Symbol suffix for module functions])
 
 dnl New definitions with value matching 0.8.6 release
-module_symbol="0_8_6a"
+module_symbol="0_8_6b"
 AC_DEFINE_UNQUOTED(MODULE_SUFFIX, "__${module_symbol}", [String suffix for module functions])
 AC_DEFINE_UNQUOTED(MODULE_SYMBOL, $module_symbol, [Symbol suffix for module functions])
 VLC_ENTRY="vlc_entry__${module_symbol}"