]> git.sesse.net Git - vlc/blobdiff - configure.ac
* modules/video_output/directx/*: only hide the mouse when in fullscreen.
[vlc] / configure.ac
index 8642818a4ec286edb84f492aa8fbd5bf0b00fb85..1fd99976d5eb8c87e5fc1ebc3096ad3484417b76 100644 (file)
@@ -1,6 +1,6 @@
 dnl Autoconf settings for vlc
 dnl $Id$
-
 AC_INIT(vlc,0.7.2-cvs)
 
 CONFIGURE_LINE="$0 $*"
@@ -287,7 +287,7 @@ CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcd
 dnl Check for system libs needed
 need_libc=false
 
-AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r)
+AC_CHECK_FUNCS(gettimeofday select strerror strtod strtol isatty vasprintf asprintf swab sigrelse getpwuid memalign posix_memalign gethostbyname2 if_nametoindex atoll getenv putenv setenv gmtime_r ctime_r localtime_r lrintf)
 
 dnl Check for usual libc functions
 AC_CHECK_FUNCS(strdup strndup atof lseek)
@@ -572,7 +572,7 @@ AC_CHECK_HEADERS(signal.h time.h errno.h stdint.h stdbool.h getopt.h strings.h i
 AC_CHECK_HEADERS(sys/sockio.h fcntl.h sys/types.h sys/time.h sys/times.h sys/ioctl.h sys/stat.h)
 AC_CHECK_HEADERS(arpa/inet.h net/if.h netinet/in.h sys/socket.h)
 if test "${SYS}" != "mingw32"; then
-AC_CHECK_HEADERS(machine/param.h sys/shm.h)
+AC_CHECK_HEADERS(machine/param.h sys/shm.h altivec.h)
 AC_CHECK_HEADERS(linux/version.h)
 fi # end "${SYS}" != "mingw32"
 
@@ -883,7 +883,7 @@ dnl
 dnl  default modules
 dnl
 AX_ADD_PLUGINS([dummy rc telnet logger gestures memcpy hotkeys])
-AX_ADD_PLUGINS([mpgv mpga m4v mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff])
+AX_ADD_PLUGINS([mpgv mpga m4v h264 mpeg_system ps ps2 pva ts avi asf aac mp4 rawdv demux2 nsv real aiff])
 AX_ADD_PLUGINS([cvdsub svcdsub spudec dvbsub mpeg_audio lpcm a52 dts cinepak])
 AX_ADD_PLUGINS([deinterlace invert adjust wall transform distort clone crop motionblur])
 AX_ADD_PLUGINS([float32tos16 float32tos8 float32tou16 float32tou8 a52tospdif dtstospdif fixed32tofloat32 fixed32tos16 s16tofixed32 s16tofloat32 s16tofloat32swab s8tofloat32 u8tofixed32 u8tofloat32])
@@ -892,7 +892,7 @@ AX_ADD_PLUGINS([trivial_channel_mixer headphone_channel_mixer])
 AX_ADD_PLUGINS([trivial_mixer spdif_mixer float32_mixer])
 AX_ADD_PLUGINS([aout_file])
 AX_ADD_PLUGINS([i420_rgb i420_yuy2 i422_yuy2 i420_ymga])
-AX_ADD_PLUGINS([id3 m3u playlist export])
+AX_ADD_PLUGINS([id3 m3u playlist export sgimb])
 AX_ADD_PLUGINS([rawvideo])
 AX_ADD_PLUGINS([wav araw demuxdump demuxsub adpcm a52sys dtssys au])
 AX_ADD_PLUGINS([access_file access_udp access_tcp access_http ipv4 access_mms])
@@ -969,7 +969,7 @@ AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
     [CFLAGS="${CFLAGS_save}"
      AC_TRY_COMPILE(,[void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));],
                     ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
-if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32"; then
+if test "${ac_cv_sse_inline}" != "no" -a "${SYS}" != "mingw32" -a "${SYS}" != "solaris"; then
   AC_DEFINE(CAN_COMPILE_SSE, 1, Define if \$CC groks SSE inline assembly.)
   ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
 fi
@@ -991,6 +991,7 @@ if test "${ac_cv_altivec_inline}" != "no"; then
     AX_ADD_CFLAGS([idctaltivec],[${ac_cv_altivec_inline}])
     AX_ADD_CFLAGS([motionaltivec],[${ac_cv_altivec_inline}])
     AX_ADD_CFLAGS([memcpyaltivec],[${ac_cv_altivec_inline}])
+    AX_ADD_CFLAGS([i420_yuy2_altivec],[${ac_cv_altivec_inline}])
     AX_ADD_CFLAGS([vlc],[${ac_cv_altivec_inline}])
   fi
   ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
@@ -998,14 +999,27 @@ fi
 
 AC_CACHE_CHECK([if \$CC groks AltiVec C extensions],
     [ac_cv_c_altivec],
-    [CFLAGS="${CFLAGS_save} -faltivec"
-     # Darwin test
-     AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
-        ac_cv_c_altivec=-faltivec, [
-        # Linux/PPC test
-        CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
-        AC_TRY_COMPILE(,[vec_mtvscr((vector unsigned int)(0));],
-            [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
+    [# Darwin test
+     CFLAGS="${CFLAGS_save} -faltivec"
+     AC_TRY_COMPILE([],
+       [vec_ld(0, (unsigned char *)0);],
+       [ac_cv_c_altivec="-faltivec"],
+       [# Linux/PPC test
+        CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -maltivec -mabi=altivec"
+        AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
+                        #include <altivec.h>
+                        #endif],
+          [vec_ld(0, (unsigned char *)0);],
+          [ac_cv_c_altivec="-maltivec -mabi=altivec"],
+          [# Linux/PPC test (old GCC versions)
+           CFLAGS="${CFLAGS_save} ${CFLAGS_idctaltivec} -fvec"
+           AC_TRY_COMPILE([#ifdef HAVE_ALTIVEC_H
+                           #include <altivec.h>
+                           #endif],
+             [vec_ld(0, (unsigned char *)0);],
+             [ac_cv_c_altivec="-fvec"],
+             [ac_cv_c_altivec=no])
+           ])
         ])
      CFLAGS="${CFLAGS_save}"])
 if test "${ac_cv_c_altivec}" != "no"; then
@@ -1097,7 +1111,7 @@ if test "${enable_sout}" != "no"
 then
   AX_ADD_PLUGINS([access_output_dummy access_output_udp access_output_file access_output_http])
   AX_ADD_PLUGINS([mux_ts mux_ps mux_avi mux_mp4 mux_asf mux_dummy])
-  AX_ADD_PLUGINS([packetizer_mpegvideo])
+  AX_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
   AX_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
   AX_ADD_PLUGINS([packetizer_copy])
 
@@ -1390,7 +1404,7 @@ dnl  libdvdnav plugin
 dnl
 AC_ARG_ENABLE(dvdnav,
   [  --enable-dvdnav         dvdnav input module (default enabled)])
-if test "${enable_caca}" != "no"
+if test "${enable_dvdnav}" != "no"
 then
   DVDNAV_PATH="${PATH}"
   AC_ARG_WITH(dvdnav-config-path,
@@ -1575,7 +1589,7 @@ then
 
   if test "${enable_vcdx}" != "no"
   then
-    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.20,
+    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.21,
      [enable_vcd="no"
       AC_DEFINE(HAVE_VCDX, [], 
       [Define for the VCD plugin using libcdio/libvcdinfo])
@@ -1629,7 +1643,7 @@ then
   if test "${SYS}" = "darwin"
   then
     AX_ADD_PLUGINS([vcd cdda])
-    AX_ADD_LDFLAGS([vcd cdda],[-framework IOKit -framework CoreFoundation])
+    AX_ADD_LDFLAGS([vcd vcdx cdda],[-framework IOKit -framework CoreFoundation])
   fi
 fi
 
@@ -1778,12 +1792,12 @@ then
       AC_MSG_ERROR([${with_mad_tree} directory doesn't exist])
     fi
     dnl  Use a custom libmad
-    AC_MSG_CHECKING(for mad.h in ${real_mad_tree}/libmad)
-    if test -f ${real_mad_tree}/libmad/mad.h
+    AC_MSG_CHECKING(for mad.h in ${real_mad_tree})
+    if test -f ${real_mad_tree}/mad.h
     then
       AC_MSG_RESULT(yes)
-      AX_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}/libmad])
-      AX_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/libmad/.libs])
+      AX_ADD_CPPFLAGS([mpgatofixed32],[-I${real_mad_tree}])
+      AX_ADD_LDFLAGS([mpgatofixed32],[-L${real_mad_tree}/.libs])
       LDFLAGS="${LDFLAGS_save} ${LDFLAGS_mpgatofixed32}"
       AC_CHECK_LIB(mad, mad_bit_init, [
         AX_ADD_BUILTINS([mpgatofixed32])
@@ -1882,7 +1896,7 @@ then
       AC_MSG_RESULT(no)
       AC_MSG_ERROR([cannot find ${real_ffmpeg_tree}/libavcodec/libavcodec.a, make sure you compiled libavcodec in ${with_ffmpeg_tree}])
     fi
-    if ! grep -q "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
+    if ! fgrep -s "pp_get_context" "${real_ffmpeg_tree}/libavcodec/libavcodec.a"; then
       dnl  The given libavcodec wasn't built with --enable-pp
       AC_MSG_RESULT(no)
       AC_MSG_ERROR([${real_ffmpeg_tree}/libavcodec/libavcodec.a was not compiled with postprocessing support, make sure you configured ffmpeg with --enable-pp])
@@ -1930,7 +1944,7 @@ then
       dnl  Use a custom faad
       AC_MSG_RESULT(${real_faad_tree}/libfaad/.libs/libfaad.a)
       AX_ADD_BUILTINS([faad])
-      AX_ADD_LDFLAGS([faad],[-L${real_faad_tree}/libfaad/.libs -lfaad])
+      AX_ADD_LDFLAGS([faad],[${real_faad_tree}/libfaad/.libs/libfaad.a])
       AX_ADD_CPPFLAGS([faad],[-I${real_faad_tree}/include])
     else
       dnl  The given libfaad wasn't built
@@ -2155,16 +2169,18 @@ if test "${enable_dts}" != "no"; then
       AC_MSG_ERROR([the specified tree doesn't have dts.h])
     fi
   else
+    LDFLAGS="${LDFLAGS_save} ${LDFLAGS_dtstofloat32}"
     AC_CHECK_HEADERS(dts.h, [
       AC_CHECK_LIB(dts, dts_free, [
         AX_ADD_PLUGINS([dtstofloat32])
         AX_ADD_LDFLAGS([dtstofloat32],[-ldts])
       ],[
         if test "${enable_dts}" = "yes"; then
-          AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.])
+          AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
         fi
       ])
     ])
+    LDFLAGS="${LDFLAGS_save}"
   fi
 fi
 
@@ -2344,6 +2360,16 @@ AX_ADD_LDFLAGS([subsdec],[${LIBICONV}])
 AX_ADD_CPPFLAGS([subsdec],[${INCICONV}])
 AX_ADD_PLUGINS([subsdec])
 
+dnl
+dnl  CMML plugin
+dnl
+AC_ARG_ENABLE(cmml,
+  [  --enable-cmml           CMML support (default enabled)])
+if test "${enable_cmml}" != "no"
+then
+  AX_ADD_PLUGINS([cmml])
+fi
+
 
 dnl
 dnl  Video Filters
@@ -2397,14 +2423,6 @@ if test "${enable_x11}" != "no" &&
     AX_ADD_PLUGINS([x11])
     AX_ADD_LDFLAGS([x11],[-L${x_libraries} -lX11 -lXext])
     AX_ADD_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])
-        AX_ADD_LDFLAGS([x11],[-lXinerama])
-      ])
-      CFLAGS="${CFLAGS_save}"
-    ])
   ])
   CPPFLAGS="${CPPFLAGS_save}"
 fi
@@ -2420,32 +2438,58 @@ if test "${enable_xvideo}" != "no" &&
   CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
   AC_CHECK_HEADERS(X11/extensions/Xv.h, [
     CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
-    AC_CHECK_LIB(Xv_pic,XvPutImage,
-      # We have Xv_pic, that's good, we can build an xvideo.so plugin !
-      AX_ADD_PLUGINS([xvideo])
-      AX_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
-      AX_ADD_CPPFLAGS([xvideo],[-I${x_includes}]),
-      AC_CHECK_LIB(Xv,XvPutImage,[
-        # We don't have Xv_pic, but we have Xv, let's make xvideo.a as builtin
+    AC_CHECK_LIB(Xv,XvPutImage,[
+      # If libXv.so is available, xvideo can be a plugin. Otherwise, we
+      # test for libXv_pic.
+      if test -f /usr/X11R6/lib/libXv.so -o -f "${x_libraries}"/libXv.so; then
         AX_ADD_PLUGINS([xvideo])
-        AX_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
         AX_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
-      ],[
-        # Otherwise... well, do nothing.
-        :
-      ])
-    )
-    AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
-      AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
-        AC_DEFINE(HAVE_XINERAMA,1,[Define this if you have libXinerama installed])
-        AX_ADD_LDFLAGS([xvideo],[-lXinerama])
-      ])
+        AX_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
+      else
+        AC_CHECK_LIB(Xv_pic,XvPutImage,[
+          AX_ADD_PLUGINS([xvideo])
+          AX_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
+          AX_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv_pic])
+        ],[
+          AX_ADD_BUILTINS([xvideo])
+          AX_ADD_LDFLAGS([xvideo],[-L${x_libraries} -lX11 -lXext -lXv])
+          AX_ADD_CPPFLAGS([xvideo],[-I${x_includes}])
+        ])
+      fi
     ])
     CFLAGS="${CFLAGS_save}"
   ]
   CPPFLAGS="${CPPFLAGS_save}")
 fi
 
+dnl
+dnl  Check for the Xinerama extension
+dnl
+if test "${enable_xvideo}" != "no" &&
+  (test "${SYS}" != "mingw32" || test "${enable_xvideo}" = "yes"); then
+  ac_cv_have_xinerama="no"
+  CPPFLAGS="${CPPFLAGS_save} -I${x_includes}"
+  CFLAGS="${CFLAGS_save} -L${x_libraries} -lX11 -lXext"
+  AC_CHECK_HEADERS(X11/extensions/Xinerama.h,[
+    AC_CHECK_LIB(Xinerama_pic, XineramaQueryExtension,[
+      AX_ADD_LDFLAGS([xvideo],[-lXinerama_pic])
+      AX_ADD_LDFLAGS([x11],[-lXinerama_pic])
+      ac_cv_have_xinerama="yes"
+    ],[
+      AC_CHECK_LIB(Xinerama, XineramaQueryExtension,[
+        AX_ADD_LDFLAGS([xvideo],[-lXinerama])
+        AX_ADD_LDFLAGS([x11],[-lXinerama])
+        ac_cv_have_xinerama="yes"
+      ])
+    ])
+  ])
+  if test "${ac_cv_have_xinerama}" = "yes"; then
+    AC_DEFINE(HAVE_XINERAMA, 1, [Define this if you have libXinerama installed])
+  fi
+  CFLAGS="${CFLAGS_save}"
+  CPPFLAGS="${CPPFLAGS_save}"
+fi
+
 dnl
 dnl  SDL module
 dnl
@@ -2851,6 +2895,21 @@ then
     ], [ AC_MSG_ERROR([cannot find CoreAudio headers]) ])
 fi
 
+dnl
+dnl  Roku HD1000 audio
+dnl
+AC_ARG_ENABLE(hd1000a,
+  [  --enable-hd1000a        HD1000 audio module (default enabled on HD1000)])
+if test "${enable_hd1000a}" != "no" &&
+  (test "${SYS}" != "mingw32" || test "${enable_hd1000a}" = "yes")
+then
+  AC_LANG_PUSH([C++])
+  AC_CHECK_HEADERS(deschutes/libraries/hdmachinex225/PCMAudioPlayer.h, [
+    AX_ADD_PLUGINS([hd1000a])
+    AC_CHECK_LIB(HDMachineX225,main,AX_ADD_LDFLAGS([hd1000a],[-lHDMachineX225]))  ])
+  AC_LANG_POP([C++])
+fi
+
 dnl
 dnl  Interface plugins
 dnl
@@ -2933,7 +2992,7 @@ if test "${enable_skins2}" = "yes" || (test "${SYS}" != "darwin" && test "${SYS}
     LDFLAGS="${LDFLAGS_save} ${LDFLAGS_skins2}"
     AC_CHECK_LIB(xml2,xmlTextReaderConstName,[],[
       skins2_missing_lib="yes"
-      AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version])
+      AC_MSG_WARN([libxml2 missing the xmlTextReader extension, you should update your version; maybe you are missing libpng.])
       if test "${enable_skins2}" = "yes"; then
         AC_MSG_ERROR([libxml2 missing the xmlTextReader extension (required for skins2)])
       fi])
@@ -3759,13 +3818,13 @@ AC_CONFIG_FILES([
   modules/audio_mixer/Makefile
   modules/audio_output/Makefile
   modules/codec/Makefile
+  modules/codec/cmml/Makefile
   modules/codec/ffmpeg/Makefile
   modules/codec/ffmpeg/postprocessing/Makefile
   modules/codec/ogt/Makefile
   modules/codec/spudec/Makefile
   modules/control/Makefile
   modules/control/corba/Makefile
-  modules/control/telnet/Makefile
   modules/demux/Makefile
   modules/demux/asf/Makefile
   modules/demux/avi/Makefile