]> git.sesse.net Git - vlc/blobdiff - configure.ac.in
* configure.ac.in: old faad2 detection.
[vlc] / configure.ac.in
index a957c9f8bed03de0a6006c0484b00ea0e04b2647..04dc5e020a00df3d4f2e95a75ab379cf86ae545c 100644 (file)
@@ -1,9 +1,9 @@
 dnl Autoconf settings for vlc
 
-AC_INIT(vlc,0.6.0-test1)
+AC_INIT(vlc,0.6.0-test3)
 
 CONFIGURE_LINE="$0 $*"
-CODENAME="Natalya"
+CODENAME="Trevelyan"
 
 AC_PREREQ(2.50)
 AC_CONFIG_SRCDIR(src/libvlc.c)
@@ -12,7 +12,7 @@ AC_CANONICAL_SYSTEM
 
 dnl XXX: we don't put any flags here, because automake 1.5 doesn't support
 dnl them. And we need the comma otherwize automake will choke on it.
-AM_INIT_AUTOMAKE(vlc,0.6.0-test1)
+AM_INIT_AUTOMAKE(vlc,0.6.0-test3)
 AM_CONFIG_HEADER(config.h)
 
 dnl
@@ -151,17 +151,16 @@ case "x${target_os}" in
     ;;
   xbeos)
     SYS=beos
-    CFLAGS_save="${CFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CFLAGS="${CFLAGS_save}"
-    CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar -Wno-ctor-dtor-privacy -Woverloaded-virtual"; CXXFLAGS="${CXXFLAGS_save}"
+    CFLAGS_save="${CFLAGS_save} -Wno-multichar"; CFLAGS="${CFLAGS_save}"
+    CXXFLAGS_save="${CXXFLAGS_save} -Wno-multichar"; CXXFLAGS="${CXXFLAGS_save}"
     LDFLAGS_vlc="${LDFLAGS_vlc} -lbe"
-    LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
-    LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -lroot -ltracker -lstdc++.r4 -ltranslation -lgame"
-    dnl BONE or not BONE ? only BONE has libbind.so
-    AC_CHECK_LIB( bind, inet_ntoa,
-        [ LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket -lbind"
-          LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket -lbind"
-          LDFLAGS_httpd="${LDFLAGS_httpd} -lsocket -lbind"],
-        [])
+    LDFLAGS_beos="${LDFLAGS_beos} -lbe -lmedia -ltranslation -ltracker -lgame -lstdc++.r4"
+    dnl Check if we have BONE (old net_server doesn't have libsocket.so)
+    AC_CHECK_LIB( socket, connect,
+        LDFLAGS_vlc="${LDFLAGS_vlc} -lsocket -lbind" 
+        LDFLAGS_access_mms="${LDFLAGS_access_mms} -lsocket -lbind"
+        LDFLAGS_ipv4="${LDFLAGS_ipv4} -lsocket -lbind"
+        LDFLAGS_httpd="${LDFLAGS_httpd} -lsocket -lbind" )
     ;;
   x*)
     SYS="${target_os}"
@@ -183,8 +182,7 @@ if test "${nls_cv_force_use_gnu_gettext}" = "yes"; then
 else
   AC_CHECK_FUNCS(textdomain,,[
     AC_CHECK_LIB(intl,textdomain,
-      LDFLAGS_vlc="${LDFLAGS_vlc} ${LIBINTL}"
-      LDFLAGS_plugins="${LDFLAGS_plugins} ${LIBINTL}",,
+      LDFLAGS_vlc="${LDFLAGS_vlc} ${LIBINTL}",,
       ${LIBINTL}
     )
   ])
@@ -312,8 +310,27 @@ AC_CACHE_CHECK([for socklen_t], ac_cv_type_socklen_t,
      ac_cv_type_socklen_t=yes,
      ac_cv_type_socklen_t=no)])
 if test x$ac_cv_type_socklen_t != xno; then
-  AC_DEFINE(HAVE_SOCKLEN_T, 1,
-            Define if <sys/socket.h> defines socklen_t.)
+  AC_DEFINE(HAVE_SOCKLEN_T, 1, [Define if <sys/socket.h> defines socklen_t.])
+fi
+
+dnl Check for va_copy
+AC_CACHE_CHECK([for va_copy], ac_cv_c_va_copy,
+  AC_TRY_LINK(
+    [#include <stdarg.h>],
+    [va_list ap1, ap2; va_copy(ap1,ap2);],
+    [ac_cv_c_va_copy="yes"],
+    [ac_cv_c_va_copy="no"]))
+if test "$ac_cv_c_va_copy" = "yes"; then
+  AC_DEFINE(HAVE_VA_COPY, 1, [Define if <stdarg.h> defines va_copy.])
+fi
+AC_CACHE_CHECK([for __va_copy], ac_cv_c___va_copy,
+  AC_TRY_LINK(
+    [#include <stdarg.h>],
+    [va_list ap1, ap2; __va_copy(ap1,ap2);],
+    [ac_cv_c___va_copy="yes"],
+    [ac_cv_c___va_copy="no"]))
+if test "$ac_cv_c___va_copy" = "yes"; then
+  AC_DEFINE(HAVE___VA_COPY, 1, [Define if <stdarg.h> defines __va_copy.])
 fi
 
 AC_CHECK_FUNCS(inet_aton,,[
@@ -515,25 +532,6 @@ NEED_GNOME2_MAIN=no
 dnl build the qte plugin ?
 NEED_QTE_MAIN=no
 
-dnl Check for DPMS
-if test "x${SYS}" != "xmingw32"
-then
-  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
-  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
-    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
-    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
-      AC_MSG_RESULT(yes)
-      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
-                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
-    ],[
-      AC_MSG_RESULT(no)
-    ])
-  ],,[
-    #include <X11/Xlib.h>
-  ])
-  CPPFLAGS="${CPPFLAGS_save}"
-fi
-
 dnl Check for ntohl, etc.
 AC_CACHE_CHECK([for ntohl in sys/param.h],
     [ac_cv_c_ntohl_sys_param_h],
@@ -737,12 +735,17 @@ if test "x${ac_cv_ld_darwin}" != "xno"; then
 fi
 
 dnl Check for standard plugin linking flags
-AC_CACHE_CHECK([if \$CC accepts -shared],
-    [ac_cv_ld_plugins],
-    [CFLAGS="${CFLAGS_save} -shared"
-     AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
-if test "x${ac_cv_ld_plugins}" != "xno"; then
-    LDFLAGS_plugins="${LDFLAGS_plugins} -shared"
+dnl BeOS' gcc needs -nostart instead of -shared, even if -shared isn't harmful (just a warning)
+if test "x${SYS}" = "xbeos"; then
+    LDFLAGS_plugins="${LDFLAGS_plugins} -nostart"
+else
+    AC_CACHE_CHECK([if \$CC accepts -shared],
+        [ac_cv_ld_plugins],
+        [CFLAGS="${CFLAGS_save} -shared"
+         AC_TRY_COMPILE([],, ac_cv_ld_plugins=yes, ac_cv_ld_plugins=no)])
+    if test "x${ac_cv_ld_plugins}" != "xno"; then
+        LDFLAGS_plugins="${LDFLAGS_plugins} -shared"
+    fi
 fi
 
 dnl Check for variadic macros
@@ -802,7 +805,7 @@ esac
 
 case "${ARCH}" in
   hppa64)
-    CFLAGS_mpeg_video="${CFLAGS_mpeg_video} -ffunction-sections"
+    CFLAGS_mpeg_video_old="${CFLAGS_mpeg_video_old} -ffunction-sections"
     ;;
 esac
 
@@ -819,7 +822,7 @@ AM_CONDITIONAL(CPROF, test "${enable_gprof}" = "yes")
 dnl
 dnl  default modules
 dnl
-#BUILTINS="${BUILTINS} mpeg_video idct idctclassic motion"
+#BUILTINS="${BUILTINS} mpeg_video_old idct idctclassic motion"
 PLUGINS="${PLUGINS} dummy rc logger gestures memcpy"
 PLUGINS="${PLUGINS} es audio m4v mpeg_system ps ts avi asf aac mp4 rawdv"
 PLUGINS="${PLUGINS} spudec mpeg_audio lpcm a52 dts cinepak"
@@ -837,6 +840,16 @@ PLUGINS="${PLUGINS} wav araw demuxdump demuxsub adpcm a52sys au"
 PLUGINS="${PLUGINS} access_file access_udp access_http ipv4 access_mms"
 PLUGINS="${PLUGINS} access_ftp access_directory sap httpd http"
 
+dnl
+dnl  Switch to enable a version of VLC where most modules will be builtin
+dnl
+AC_ARG_ENABLE(mostly-builtin,
+[  --enable-mostly-builtin most modules will be built-in (default disabled)])
+if test "x${enable_mostly_builtin}" = "xyes"; then
+  BUILTINS="${BUILTINS} ${PLUGINS}"
+  PLUGINS=""
+fi
+
 dnl
 dnl Some plugins aren't useful on some platforms
 dnl
@@ -1185,7 +1198,7 @@ dnl
 dnl dvdplay module: check for libdvdplay
 dnl
 AC_ARG_ENABLE(dvdplay,
-[  --enable-dvdplay        dvdplay input module (default disabled)])
+[  --enable-dvdplay        dvdplay input module (default enabled)])
 if test "x${enable_dvdplay}" != "xno"
 then
   AC_ARG_WITH(dvdplay,
@@ -1347,6 +1360,16 @@ then
    ],[])
 fi
 
+dnl
+dnl  special access module for Hauppauge PVR cards
+dnl
+AC_ARG_ENABLE(pvr,
+  [  --enable-pvr            PVR cards access module (default disabled)])
+if test "x${enable_pvr}" = "xyes"
+then
+  PLUGINS="${PLUGINS} pvr"
+fi
+
 dnl
 dnl  VCD module
 dnl
@@ -1499,7 +1522,7 @@ then
     CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_mpgatofixed32}"
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
     AC_CHECK_HEADERS(mad.h, ,
-      [ AC_MSG_ERROR([Cannot find development headers for libmad...]) ])
+      [ AC_MSG_ERROR([Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.]) ])
     AC_CHECK_LIB(mad, mad_bit_init, [
       PLUGINS="${PLUGINS} mpgatofixed32"
       LDFLAGS_mpgatofixed32="${LDFLAGS_mpgatofixed32} -lmad" ],
@@ -1521,8 +1544,8 @@ dnl
 dnl  ffmpeg decoder plugin
 dnl
 AC_ARG_ENABLE(ffmpeg,
-[  --enable-ffmpeg         ffmpeg codec (default disabled)])
-if test "x${enable_ffmpeg}" = "xyes"
+[  --enable-ffmpeg         ffmpeg codec (default enabled)])
+if test "x${enable_ffmpeg}" != "xno"
 then
   AC_ARG_WITH(ffmpeg-tree,
     [    --with-ffmpeg-tree=PATH ffmpeg tree for static linking])
@@ -1540,7 +1563,7 @@ then
       dnl  XXX: we don't link with -lavcodec a 2nd time because the OS X
       dnl       linker would miserably barf on multiple definitions.
       LDFLAGS_stream_out_transcode="${LDFLAGS_stream_out_transcode}" ],
-      [ AC_MSG_ERROR([Cannot find libavcodec library...]) ])
+       [ AC_MSG_ERROR([Could not find ffmpeg on your system: you may get it from http://ffmpeg.sf.net/ (cvs version is recommended). Alternatively you can use --disable-ffmpeg to disable the ffmpeg plugins.]) ])
     LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
   fi
@@ -1597,15 +1620,6 @@ AC_ARG_ENABLE(faad,
 [  --enable-faad           faad codec (default disabled)])
 if test "x${enable_faad}" = "xyes"
 then
-  AC_ARG_WITH(faad,
-    [    --with-faad=PATH      path to faad installation],[],[])
-  if test "x${with_faad}" != "xno" -a "x${with_faad}" != "x"
-  then
-    CPPFLAGS_faad="${CPPFLAGS_faad} -I${with_faad}/include"
-    LDFLAGS_faad="${LDFLAGS_faad} -L${with_faad}/lib"
-  fi
-  LDFLAGS_faad="${LDFLAGS_faad}"
-
   AC_ARG_WITH(faad-tree,
   [    --with-faad-tree=PATH faad tree for static linking])
   if test "x${with_faad_tree}" != "x"
@@ -1625,6 +1639,14 @@ then
       BUILTINS="${BUILTINS} faad"
       LDFLAGS_faad="${LDFLAGS_faad} -L${real_faad_tree}/libfaad/.libs -lfaad"
       CPPFLAGS_faad="${CPPFLAGS_faad} -I${real_faad_tree}/include"
+      CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_faad}"
+      LDFLAGS="${LDFLAGS_save} ${LDFLAGS_faad}"
+      AC_TRY_COMPILE([#include <faad.h>],
+        [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c;
+         unsigned long d; faacDecDecode(a,b,c,d);],
+        [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)])
+      LDFLAGS="${LDFLAGS_save}"
+      CPPFLAGS="${CPPFLAGS_save}"
     else
       dnl  The given libfaad wasn't built
       AC_MSG_RESULT(no)
@@ -1637,7 +1659,11 @@ then
       [ AC_MSG_ERROR([Cannot find development headers for libfaad...]) ])
     AC_CHECK_LIB(faad, faacDecOpen, [
       PLUGINS="${PLUGINS} faad"
-      LDFLAGS_faad="${LDFLAGS_faad} -lfaad" ],
+      LDFLAGS_faad="${LDFLAGS_faad} -lfaad"
+      AC_TRY_COMPILE([#include <faad.h>],
+        [faacDecHandle a; faacDecFrameInfo *b; unsigned char *c;
+         unsigned long d; faacDecDecode(a,b,c,d);],
+        [], [AC_DEFINE(HAVE_OLD_FAAD2, 1, Define if FAAD2 < 1.2)]) ],
       [ AC_MSG_ERROR([Cannot find libfaad library...]) ])
     LDFLAGS="${LDFLAGS_save}"
     CPPFLAGS="${CPPFLAGS_save}"
@@ -1811,7 +1837,7 @@ dnl
 dnl  DV plugin
 dnl
 AC_ARG_ENABLE(dv,
-  [  --enable-dv             DV decoder support (default disabled)])
+  [  --enable-dv             DV decoder support (deprecated in favor of ffmpeg) (default disabled)])
 if test "x${enable_dv}" = "xyes"
 then
   AC_CHECK_HEADERS(libdv/dv.h, [
@@ -1963,6 +1989,25 @@ dnl
 
 AC_ARG_WITH(,[Video plugins:])
 
+dnl Check for DPMS
+if test "x${SYS}" != "xmingw32"
+then
+  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
+  AC_CHECK_HEADERS(X11/extensions/dpms.h, [
+    AC_MSG_CHECKING(for DPMSInfo in X11/extensions/dpms.h)
+    AC_EGREP_HEADER(DPMSInfo,X11/extensions/dpms.h,[
+      AC_MSG_RESULT(yes)
+      AC_DEFINE(DPMSINFO_IN_DPMS_H, 1,
+                Define if <X11/extensions/dpms.h> defines DPMSInfo.)
+    ],[
+      AC_MSG_RESULT(no)
+    ])
+  ],,[
+    #include <X11/Xlib.h>
+  ])
+  CPPFLAGS="${CPPFLAGS_save}"
+fi
+
 dnl
 dnl  X11 module
 dnl  (enabled by default except on win32)
@@ -1976,6 +2021,13 @@ if test "x${enable_x11}" != "xno" &&
     PLUGINS="${PLUGINS} x11"
     LDFLAGS_x11="${LDFLAGS_x11} -L${x_libraries} -lX11 -lXext"
     CPPFLAGS_x11="${CPPFLAGS_x11} -I${x_includes}"
+    AC_CHECK_HEADERS(X11/extensions/Xinerama.h, [
+      CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
+      AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+        AC_DEFINE(HAVE_XINERAMA,1,[Define this if you have libXinerama installed])
+        LDFLAGS_x11="${LDFLAGS_x11} -lXinerama")
+      CFLAGS="${CFLAGS_save}"
+    ])
   ])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -2005,6 +2057,11 @@ if test "x${enable_xvideo}" != "xno" &&
         :
       )
     )
+    AC_CHECK_HEADERS(X11/extensions/Xinerama.h, [
+      AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+        AC_DEFINE(HAVE_XINERAMA,1,[Define this if you have libXinerama installed])
+        LDFLAGS_xvideo="${LDFLAGS_xvideo} -lXinerama")
+    ])
     CFLAGS="${CFLAGS_save}"
   ]
   CPPFLAGS="${CPPFLAGS_save}")
@@ -2416,10 +2473,16 @@ if test "x${enable_skins}" != "xno"; then
     LDFLAGS_skins="${LDFLAGS_skins} -loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32"
   else
     if test "x${enable_skins}" = "xyes"; then
-      PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
+      IMLIB2_PATH="${PATH}"
+      AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH})
+      if test "x${IMLIB2_CONFIG_SKINS}" = "xno"; then
+        AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-skins.])
+      fi
+
+      PLUGINS="${PLUGINS} skins"
+      CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS"
+      LDFLAGS_skins="${LDFLAGS_skins} -lstdc++ -L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`"
       PLUGINS="${PLUGINS} skins"
-      CPPFLAGS_skins="${CPPFLAGS_skins} -O2 -fno-rtti -Imodules/gui/skins ${GTK2_CFLAGS} -DGTK2_SKINS"
-      LDFLAGS_skins="${LDFLAGS_skins} -lstdc++  ${GTK2_LIBS}"
     fi
   fi
 fi
@@ -2431,15 +2494,22 @@ AC_ARG_ENABLE(basic-skins,
   [  --enable-basic-skins    Skins interface module without wxWindows dialogs (default disabled)])
 if test "x${enable_basic_skins}" = "xyes"; then
   if test "x${SYS}" = "xmingw32" -o "x${SYS}" = "xcygwin"; then
-    PLUGINS="${PLUGINS} basic_skins"
+
     CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -U_OFF_T_ -U_off_t -fno-rtti -Imodules/gui/skins"
     LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -loleaut32 -lwinspool -lwinmm -lshell32 -lctl3d32 -ladvapi32 -lwsock32 -lstdc++ -lgdi32 -lcomdlg32 -lole32 -luuid -lcomctl32"
+
   else
-    PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= 2.0.0, gthread-2.0])
-    PLUGINS="${PLUGINS} basic_skins"
-    CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -fno-rtti -Imodules/gui/skins ${GTK2_CFLAGS} -DGTK2_SKINS"
-    LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lstdc++  ${GTK2_LIBS}"
+    IMLIB2_PATH="${PATH}"
+    AC_PATH_PROG(IMLIB2_CONFIG_SKINS, imlib2-config, no, ${IMLIB2_PATH})
+    if test "x${IMLIB2_CONFIG_SKINS}" = "xno"; then
+    AC_MSG_ERROR([Couldn't find the imlib2 package. You can download imlib2 from http://enlightenment.org/, or configure with --disable-basic-skins.])
+    fi
+
+    CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -O2 -fno-rtti -Imodules/gui/skins -I${x_includes} `${IMLIB2_CONFIG_SKINS} --cflags` -DX11_SKINS"
+    LDFLAGS_basic_skins="${LDFLAGS_basic_skins} -lstdc++ -L${x_libraries} -lXext -lX11 `${IMLIB2_CONFIG_SKINS} --libs`"
   fi
+
+  PLUGINS="${PLUGINS} basic_skins"
   CPPFLAGS_basic_skins="${CPPFLAGS_basic_skins} -DBASIC_SKINS"
 fi
 
@@ -2806,18 +2876,6 @@ AC_ARG_ENABLE(qnx,
       ])
     fi
 
-dnl
-dnl  Windows native interface module, built with Borland C++ Builder
-dnl
-AC_ARG_ENABLE(intfwin,
-[  --enable-intfwin        Win32 interface support (default disabled)],
-[ if test "x${enable_intfwin}" != "xno"
-  then
-    AC_CHECK_TOOL(BPR2MAK, bpr2mak, AC_ERROR(bpr2mak not found))
-    AC_CHECK_TOOL(BCMAKE, bcmake, AC_ERROR(bcmake not found))
-    PLUGINS="${PLUGINS} win32"
-  fi ])
-
 dnl
 dnl  ncurses module
 dnl