]> git.sesse.net Git - vlc/blobdiff - configure.ac
Use NULL for pointer
[vlc] / configure.ac
index 0f923d318b29601b79a8d04c60da76f0b5ffd3f0..0eec7212654ba509aa5baa592e6a86280aeaed5a 100644 (file)
@@ -58,7 +58,6 @@ dnl
 AC_PROG_CC_C99
 AC_USE_SYSTEM_EXTENSIONS
 AC_DEFINE([_FORTIFY_SOURCE], 2, [Define to '2' to get glibc warnings.])
-AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
 
 AM_PROG_CC_C_O
 AC_PROG_CXX
@@ -302,13 +301,17 @@ case "${host_os}" in
     case "${host_os}" in
       *wince* | *mingwce* | *mingw32ce* | *pe*)
         SYS=mingwce
+        dnl Sadly CeGCC still needs non-wince macros
+        AC_DEFINE([_WIN32_WINNT], 0x0501, [Define to '0x0500' for Windows 2000 APIs.])
         ;;
       *mingw32*)
         SYS=mingw32
+        AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
         ;;
       *cygwin*)
         dnl Check if we are using the mno-cygwin mode in which case we are
         dnl actually dealing with a mingw32 compiler.
+        AC_DEFINE([_WIN32_WINNT], 0x0500, [Define to '0x0500' for Windows 2000 APIs.])
         AC_EGREP_CPP(yes,
             [#ifdef WIN32
              yes
@@ -327,8 +330,6 @@ case "${host_os}" in
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
-        VLC_ADD_CPPFLAGS([libvlc vlc],[-Dmain(a,b)=maince(a,b)])
-        VLC_ADD_LDFLAGS([libvlc vlc],[-e WinMainCRTStartup])
         VLC_ADD_LIBS([libvlc access_http access_mms access_udp access_tcp access_ftp access_rtmp access_output_udp sap http netsync audioscrobbler growl rtp stream_out_rtp remoteosd],[-lws2])
         VLC_ADD_LIBS([libvlc],[-lmmtimer])
    fi
@@ -496,6 +497,7 @@ AC_CHECK_FUNCS(strcasecmp,,[AC_CHECK_FUNCS(stricmp)])
 AC_CHECK_FUNCS(strncasecmp,,[AC_CHECK_FUNCS(strnicmp)])
 AC_CHECK_FUNCS(strcasestr,,[AC_CHECK_FUNCS(stristr)])
 AC_FUNC_ALLOCA
+AC_CHECK_FUNCS(fcntl)
 
 AH_BOTTOM([#include <vlc_fixups.h>])
 
@@ -530,16 +532,6 @@ AC_CHECK_FUNCS(send,,[
   ])
 ])
 
-AC_CHECK_FUNCS(gethostbyname,,[
-  AC_CHECK_LIB(nsl,gethostbyname,[
-    VLC_ADD_LIBS([cdda cddax libvlc],[-lnsl])
-  ],[
-    AC_CHECK_LIB(bind,gethostbyname,[
-      VLC_ADD_LIBS([access_mms],[-lbind])
-    ])
-  ])
-])
-
 AC_CHECK_HEADERS(zlib.h, [
   VLC_ADD_LIBS([access_http],[-lz])
 ])
@@ -568,7 +560,7 @@ AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_struct_sockaddr_storage,
   [AC_TRY_COMPILE(
     [#include <sys/types.h>
      #if defined( UNDER_CE )
-     # include <winsock.h>
+     # include <winsock2.h>
      #elif defined( WIN32 )
      # include <winsock2.h>
      #else
@@ -944,7 +936,7 @@ if test "${ac_cv_c_ntohl_sys_param_h}" != "no"; then
 fi
 CFLAGS="${CFLAGS_save}"
 
-RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var])
+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast cast-align write-strings missing-prototypes volatile-register-var error-implicit-function-declaration])
 RDC_PROG_CC_FLAGS_IFELSE([-pipe])
 
 dnl Check for various optimization flags
@@ -1026,7 +1018,12 @@ AC_CACHE_CHECK([if \$CC accepts -fomit-frame-pointer],
     [CFLAGS="${CFLAGS_save} -fomit-frame-pointer"
      AC_TRY_COMPILE([],,ac_cv_c_omit_frame_pointer=yes, ac_cv_c_omit_frame_pointer=no)])
 if test "${ac_cv_c_omit_frame_pointer}" != "no"; then
+ if test "${SYS}" != "darwin"; then
     CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fomit-frame-pointer"
+ else
+    dnl On darwin we explicitely disable it.
+    CFLAGS_OPTIM_NODEBUG="${CFLAGS_OPTIM_NODEBUG} -fno-omit-frame-pointer"
+ fi
 fi
 
 dnl Check for Darwin plugin linking flags
@@ -1095,6 +1092,7 @@ dnl  default modules
 dnl
 dnl Video filters:
 VLC_ADD_PLUGIN([deinterlace])
+VLC_ADD_PLUGIN([yuvp])
 VLC_ADD_PLUGIN([invert])
 VLC_ADD_PLUGIN([adjust])
 VLC_ADD_PLUGIN([transform])
@@ -1524,6 +1522,16 @@ AH_TEMPLATE(NDEBUG,
             [Define to 1 if debug code should NOT be compiled])
 AS_IF([test "x${enable_debug}" = "xno"], [AC_DEFINE(NDEBUG)])
 
+dnl
+dnl Allow runing as root (usefull for people runing on embedded platforms)
+dnl
+AC_ARG_ENABLE(run-as-root,
+[  --enable-run-as-root    allow runing VLC as root (default disabled)])
+AS_IF([test "${enable_run_as_root}" == "yes"],[
+    AC_DEFINE(ALLOW_RUN_AS_ROOT, 1,
+              [Define to 1 to allow runing VLC as root (uid 0).])
+])
+
 dnl
 dnl  Test coverage
 dnl
@@ -1628,8 +1636,10 @@ dnl
 AC_ARG_ENABLE(libproxy,
   [  --enable-libproxy       libproxy support (default auto)])
 AS_IF([test "${enable_libproxy}" != "no"], [
-  AC_CHECK_HEADERS(proxy.h, [
-    VLC_ADD_LIBS([access_http],[-lproxy])
+  PKG_CHECK_MODULES(LIBPROXY, libproxy-1.0, [
+    AC_DEFINE(HAVE_LIBPROXY, 1, [Define if libproxy is available])
+    VLC_ADD_CFLAGS([access_http],[$LIBPROXY_CFLAGS])
+    VLC_ADD_LIBS([access_http],[$LIBPROXY_LIBS])
   ], [
     AS_IF([test "x${enable_libproxy}" != "x"], [
       AC_MSG_ERROR([libproxy could not be found on your system])
@@ -1785,6 +1795,8 @@ lternatively you can use --disable-live555 to disable the liveMedia plugin.])
           VLC_ADD_PLUGIN([live555])
           VLC_ADD_LIBS([live555], [-lliveMedia ${other_libs}])
         ],[],[${other_libs}]) ],[${other_libs_pic}])
+    ],[
+       AC_MSG_WARN([The development files for liveMedia (live555) can't be found])
     ])
     CPPFLAGS="${CPPFLAGS_save}"
     AC_LANG_POP(C++)
@@ -2355,6 +2367,20 @@ then
   CPPFLAGS="${CPPFLAGS_save}"
 fi
 
+dnl
+dnl libv4l2 support for video4linux.
+dnl
+AC_ARG_ENABLE( libv4l2,
+  [  --enable-libv4l2        Libv4l2 Video4Linux2 support (default enabled)])
+if test "${enable_libv4l2}" != "no" -a "${enable_v4l2}" != "no"
+then
+    PKG_CHECK_MODULES( LIBV4L2, libv4l2, [
+      VLC_ADD_LDFLAGS([v4l2],[${LIBV4L2_LIBS}])
+      VLC_ADD_CFLAGS([v4l2],[${LIBV4L2_CFLAGS}])
+      AC_DEFINE(HAVE_LIBV4L2, 1, Define if libv4l 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
@@ -2409,6 +2435,8 @@ dnl Need to test libcdio and libvcdinfo for a number of things. Do it now.
 AC_ARG_ENABLE(libcdio,
   [  --enable-libcdio        CD input and control library support (default enabled)])
 
+AC_ARG_ENABLE(vcdinfo,
+  [  --enable-libvcdinfo     VCD information library support (default enabled)])
 
 have_libcdio=no
 have_libvcdinfo=no
@@ -2420,11 +2448,14 @@ then
      [Define if you have libcdio 0.78.2 or greater installed]),
      [AC_MSG_WARN(CD Reading and information library not found)])
 
-  PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
-     [have_libvcdinfo=yes
-     AC_DEFINE(HAVE_VCDINFO, 1, 
-     [Define if you have libvcdinfo 0.7.22 or greater installed])],
-     [AC_MSG_WARN(VCD information library not found)])
+  if test "${enable_vcdinfo}" != "no"
+  then
+    PKG_CHECK_MODULES(VCDINFO, libvcdinfo >= 0.7.22,
+       [have_libvcdinfo=yes
+       AC_DEFINE(HAVE_VCDINFO, 1, 
+       [Define if you have libvcdinfo 0.7.22 or greater installed])],
+       [AC_MSG_WARN(VCD information library not found)])
+  fi
 fi
 
 dnl
@@ -2931,7 +2962,7 @@ then
       VLC_ADD_CFLAGS([avcodec],[$AVCODEC_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavcodec or libavutil. Use --disable-avcodec to ignore this error.])
   ])
 fi
 
@@ -2955,7 +2986,7 @@ then
       VLC_ADD_CFLAGS([avformat],[$AVFORMAT_CFLAGS])
       VLC_RESTORE_FLAGS
     ],[
-      AC_MSG_ERROR([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
+      AC_MSG_FAILURE([Could not find libavformat or libavutil. Use --disable-avformat to ignore this error.])
   ])
 fi
 
@@ -3012,7 +3043,7 @@ then
           AC_MSG_WARN([Could not find img_resample in libavcodec.])
           if test "${enable_swscale}" != "no"
           then
-            AC_MSG_ERROR([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
+            AC_MSG_FAILURE([swscale (and its fallback module imgresample) support will be missing. Use --disable-swscale to ignore this error. (This basically means that you will be missing any good software scaling module and some video chroma converters.)])
           fi
        # That sed hack to add -rpath is kind of ugly but at least it fixes
         # detection when linking against a shared libavcodec with
@@ -3186,9 +3217,14 @@ AC_CHECK_HEADERS(zlib.h, [
   VLC_ADD_LIBS([mp4 skins2 sap mkv gme],[-lz])
 ] )
 
-AC_CHECK_HEADERS(sysfs/libsysfs.h, [
-  VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
-] )
+AC_ARG_ENABLE(libsysfs,
+  [  --enable-libsysfs       Get user key from firewire connected iPod via libsysfs (default enabled)])
+
+AS_IF([test "${enable_libsysfs}" != "no"],[
+  AC_CHECK_HEADERS(sysfs/libsysfs.h, [
+    VLC_ADD_LIBS([mp4 mkv],[-lsysfs])
+  ] )
+])
 
 dnl
 dnl skins2 module
@@ -3735,7 +3771,7 @@ AS_IF( [test "${enable_libass}" = "yes"], [
         AC_CHECK_HEADERS(fontconfig/fontconfig.h,
           [VLC_ADD_CPPFLAGS([libass],[-DHAVE_FONTCONFIG])
         if test "${SYS}" = "mingw32"; then
-           VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv  -lxml2])
+           VLC_ADD_LIBS([libass],[-lfontconfig -lfreetype -liconv -lz -lxml2])
         else
            VLC_ADD_LIBS([libass],[-lfontconfig])
         fi
@@ -4339,6 +4375,20 @@ AC_ARG_ENABLE(mga,
       VLC_ADD_PLUGIN([mga])
     fi ])
 
+dnl
+dnl  OMAP Framebuffer module
+dnl
+AC_ARG_ENABLE(omapfb,
+  [  --enable-omapfb         OMAP framebuffer support (default disabled)])
+    if test "${enable_omapfb}" = "yes"
+    then
+      AC_CHECK_HEADERS(asm/arch-omap/omapfb.h, [
+        VLC_ADD_PLUGIN([omapfb])
+        AC_CHECK_HEADERS(X11/Xlib.h, [
+          VLC_ADD_LIBS([omapfb],[${X_LIBS} ${X_PRE_LIBS} -lX11]) ])
+      ])
+    fi
+
 dnl
 dnl  SVGAlib module
 dnl
@@ -4525,22 +4575,6 @@ then
   ])
 fi
 
-dnl
-dnl  Esound module
-dnl
-AC_ARG_ENABLE(esd,
-  [  --enable-esd            Esound library support (default disabled)],
-  [if test "${enable_esd}" = "yes"
-   then
-     AC_PATH_PROG(ESD_CONFIG, esd-config, no)
-     if test "${ESD_CONFIG}" != "no"
-     then
-       VLC_ADD_PLUGIN([esd])
-       VLC_ADD_CFLAGS([esd],[`${ESD_CONFIG} --cflags`])
-       VLC_ADD_LIBS([esd],[`${ESD_CONFIG} --libs`])
-     fi
-   fi])
-
 dnl
 dnl  Pulseaudio module
 dnl
@@ -4571,23 +4605,6 @@ AC_ARG_ENABLE(portaudio,
      fi
    fi])
 
-dnl
-dnl  aRts module
-dnl  broken? (froze wxWidgets back then)
-dnl
-AC_ARG_ENABLE(arts,
- [  --enable-arts           aRts sound server (default disabled)],
- [if test "${enable_arts}" = "yes"
-  then
-    AC_PATH_PROG(ARTS_CONFIG, artsc-config, no)
-    if test "${ARTS_CONFIG}" != "no"
-    then
-      VLC_ADD_PLUGIN([arts])
-      VLC_ADD_CFLAGS([arts],[`${ARTS_CONFIG} --cflags`])
-      VLC_ADD_LIBS([arts],[`${ARTS_CONFIG} --libs `])
-    fi
-  fi])
-
 dnl
 dnl  ALSA module
 dnl
@@ -4850,6 +4867,29 @@ then
 fi
 AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
 
+dnl
+dnl Maemo
+dnl
+AC_ARG_ENABLE(maemo,
+  [  --enable-maemo          Internet tablets based on Maemo SDK (default disabled)])
+if test "${enable_maemo}" = "yes"
+then
+  PKG_CHECK_MODULES(HILDON, [hildon-1 hildon-fm-2], [
+    VLC_ADD_CFLAGS([maemo],[${HILDON_CFLAGS}])
+    VLC_ADD_LIBS([maemo],[${HILDON_LIBS}])
+    VLC_ADD_PLUGIN([maemo])
+    VLC_ADD_PLUGIN([swscale_maemo])
+    AC_DEFINE([BUILD_MAEMO], 1, [Define if you're using Maemo interfaces])
+    ALIASES="${ALIASES} mvlc"
+  ], [
+    AS_IF([test "${enable_maemo}" = "yes"],[
+      AC_MSG_ERROR([Hildon libraries not found])
+    ])
+    enable_maemo="no"
+  ])
+fi
+AM_CONDITIONAL(BUILD_MAEMO, [test "${enable_maemo}" = "yes"])
+
 dnl
 dnl QT 4
 dnl
@@ -4858,7 +4898,7 @@ AC_ARG_ENABLE(qt4,
   AS_IF([test "${SYS}" = "darwin"], [enable_qt4=no])
 ])
 AS_IF([test "${enable_qt4}" != "no"], [
-  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.2.0], [
+  PKG_CHECK_MODULES(QT4, [QtCore QtGui >= 4.3.0], [
     VLC_ADD_PLUGIN([qt4])
     AC_DEFINE([HAVE_QT4], 1, [Define to 1 if you have QT4 library.])
     ALIASES="${ALIASES} qvlc"
@@ -5538,8 +5578,8 @@ AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 dnl Tests for Osso and Xsp
 AC_CHECK_LIB(osso, osso_display_blanking_pause, [
   PKG_CHECK_MODULES(GLIB2, glib-2.0, [
-    VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
-    VLC_ADD_LIBS([x11 xvideo xvmc glx],[-losso])
+    VLC_ADD_CPPFLAGS([x11 xvideo xvmc glx omapfb],[-DHAVE_OSSO ${DBUS_CFLAGS} ${GLIB2_CFLAGS}])
+    VLC_ADD_LIBS([x11 xvideo xvmc glx omapfb],[-losso])
  ])
 ])
 AC_CHECK_LIB(Xsp, XSPSetPixelDoubling,[
@@ -5761,13 +5801,13 @@ AC_CONFIG_FILES([
   modules/access/dvb/Makefile
   modules/access/mms/Makefile
   modules/access/cdda/Makefile
+  modules/access/rtp/Makefile
   modules/access/rtsp/Makefile
   modules/access/rtmp/Makefile
   modules/access/v4l2/Makefile
   modules/access/vcd/Makefile
   modules/access/vcdx/Makefile
   modules/access/screen/Makefile
-  modules/access_filter/Makefile
   modules/access_output/Makefile
   modules/audio_filter/Makefile
   modules/audio_filter/channel_mixer/Makefile
@@ -5789,6 +5829,7 @@ AC_CONFIG_FILES([
   modules/demux/asf/Makefile
   modules/demux/avformat/Makefile
   modules/demux/avi/Makefile
+  modules/demux/mkv/Makefile
   modules/demux/mp4/Makefile
   modules/demux/mpeg/Makefile
   modules/demux/playlist/Makefile
@@ -5796,6 +5837,7 @@ AC_CONFIG_FILES([
   modules/gui/beos/Makefile
   modules/gui/pda/Makefile
   modules/gui/macosx/Makefile
+  modules/gui/maemo/Makefile
   modules/gui/minimal_macosx/Makefile
   modules/gui/qnx/Makefile
   modules/gui/qt4/Makefile
@@ -5817,6 +5859,7 @@ AC_CONFIG_FILES([
   modules/mux/mpeg/Makefile
   modules/packetizer/Makefile
   modules/services_discovery/Makefile
+  modules/stream_filter/Makefile
   modules/stream_out/Makefile
   modules/stream_out/transrate/Makefile
   modules/video_chroma/Makefile