]> git.sesse.net Git - vlc/blobdiff - configure.ac
Source files can be in subdirectories
[vlc] / configure.ac
index c43a94a06e07c39f4379d4e7ff0a2ee7295c5e91..200f15935ae54be2bf2f44058288a5099924bc65 100644 (file)
@@ -10,7 +10,7 @@ CONFIGURE_LINE="`echo "$0 $ac_configure_args" | sed -e 's/\\\/\\\\\\\/g'`"
 CODENAME="Grishenko"
 COPYRIGHT_YEARS="1996-2008"
 
-AC_PREREQ(2.59) dnl this really should be 2.59c
+AC_PREREQ(2.59c)
 AC_CONFIG_SRCDIR(src/libvlc.c)
 AC_CONFIG_AUX_DIR(autotools)
 AC_CANONICAL_BUILD
@@ -174,7 +174,7 @@ case "${host_os}" in
     VLC_ADD_LDFLAGS([mkv mp4], [-Wl,-framework,IOKit,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([vlc],[-Wl,-undefined,dynamic_lookup])
     VLC_ADD_LDFLAGS([libvlc_control],[-Wl,dynamic_lookup])
-    VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx],[-Wl,-read_only_relocs,suppress])
+    VLC_ADD_LDFLAGS([ffmpeg i420_rgb_mmx x264],[-Wl,-read_only_relocs,suppress])
     VLC_ADD_CFLAGS([motion],[-fconstant-cfstrings])
     VLC_ADD_LDFLAGS([libvlc],[-Wl,-framework,Cocoa,-framework,CoreFoundation])
     VLC_ADD_LDFLAGS([motion],[-Wl,-framework,IOKit,-framework,CoreFoundation])
@@ -275,6 +275,9 @@ case "${host_os}" in
     AC_CHECK_TOOL(WINDRES, windres, :)
 
     case "${host_os}" in
+      *wince* | *mingwce* | *mingw32ce* | *pe*)
+        SYS=mingwce
+        ;;
       *mingw32*)
         SYS=mingw32
         ;;
@@ -287,9 +290,6 @@ case "${host_os}" in
              #endif],
             SYS=mingw32, SYS=cygwin)
         ;;
-      *wince* | *mingwce* | *pe*)
-        SYS=mingwce
-        ;;
     esac
 
     if test "${SYS}" = "mingw32"; then
@@ -304,7 +304,8 @@ case "${host_os}" in
         # 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],[-lws2])
+        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],[-lws2])
+        VLC_ADD_LIBS([libvlc],[-lmmtimer])
    fi
     ;;
   *nto*)
@@ -392,7 +393,7 @@ lt_cv_deplibs_check_method=pass_all
 dnl
 dnl Gettext stuff
 dnl
-AM_GNU_GETTEXT_VERSION(0.16.1)
+AM_GNU_GETTEXT_VERSION([0.17])
 AM_GNU_GETTEXT([external])
 VLC_ADD_LIBS([libvlc vlc], [${LTLIBINTL}])
 
@@ -459,9 +460,6 @@ dnl Plugin compilation stuff
 
 VLC_LIBRARY_SUFFIX
 
-VLC_SYMBOL_PREFIX
-AC_SUBST(SYMPREF)
-
 dnl The -DSYS_FOO flag
 CPPFLAGS_save="${CPPFLAGS_save} -DSYS_`echo ${SYS} | sed -e 's/-.*//' | tr 'abcdefghijklmnopqrstuvwxyz.' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_'`"; CPPFLAGS="${CPPFLAGS_save}"
 
@@ -1199,12 +1197,12 @@ dnl
 VLC_ADD_PLUGINS([dummy logger memcpy])
 VLC_ADD_PLUGINS([mpgv mpga m4v m4a h264 vc1 demux_cdg cdg ps pva avi asf mp4 rawdv rawvid nsv real aiff mjpeg demuxdump flacsys tta])
 VLC_ADD_PLUGINS([cvdsub svcdsub spudec subsdec subsusf t140 dvbsub cc mpeg_audio lpcm a52 dts cinepak flac])
-VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd])
+VLC_ADD_PLUGINS([deinterlace invert adjust transform wave ripple psychedelic gradient motionblur rv32 rotate noise grain extract sharpen seamcarving croppadd blendbench])
 VLC_ADD_PLUGINS([converter_fixed mono])
 VLC_ADD_PLUGINS([trivial_resampler ugly_resampler])
 VLC_ADD_PLUGINS([trivial_channel_mixer trivial_mixer])
 VLC_ADD_PLUGINS([playlist export nsc xtag])
-VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image logo magnify puzzle colorthres])
+VLC_ADD_PLUGINS([i420_rgb grey_yuv rawvideo blend scale image vmem logo magnify puzzle colorthres])
 VLC_ADD_PLUGINS([wav araw subtitle vobsub adpcm a52sys dtssys au ty voc xa nuv smf])
 VLC_ADD_PLUGINS([access_directory access_file access_udp access_tcp])
 VLC_ADD_PLUGINS([access_http access_mms access_ftp access_rtmp])
@@ -1239,6 +1237,7 @@ dnl Some plugins aren't useful on some platforms
 dnl
 if test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([screensaver motion])
+    VLC_ADD_PLUGINS([dynamicoverlay])
 elif test "${SYS}" != "mingwce"; then
     VLC_ADD_PLUGINS([ntservice access_smb dmo msn])
     VLC_ADD_LIBS([dmo],[-lole32 -luuid])
@@ -1637,22 +1636,22 @@ then
     AC_MSG_WARN([lua5.1 not found, trying lua >= 5.1 instead])
     PKG_CHECK_MODULES(LUA, lua >= 5.1,
       [ have_lua=yes ],
-      [ 
+      [
         have_lua=yes
-        AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h], 
-         [],  
+        AC_CHECK_HEADERS([lua.h lauxlib.h lualib.h],
+          [],
           [ have_lua=no ] )
-       AC_CHECK_LIB(  lua5.1 , luaL_newstate, 
+        AC_CHECK_LIB(  lua5.1 , luaL_newstate,
           [LUA_LIBS="-llua5.1"],
-         AC_CHECK_LIB( lua51 , luaL_newstate, 
+          AC_CHECK_LIB( lua51 , luaL_newstate,
             [LUA_LIBS="-llua51"],
-                 AC_CHECK_LIB( lua , luaL_newstate, 
-                   [LUA_LIBS="-llua"],
-             [ have_lua=no
+            AC_CHECK_LIB( lua , luaL_newstate,
+              [LUA_LIBS="-llua"],
+              [ have_lua=no
                 AC_MSG_WARN([lua >= 5.1 not found!])
               ])
-           )
-         )
+          )
+        )
       ])
     ])
   if test "x${have_lua}" = "xyes" ;  then
@@ -1662,6 +1661,7 @@ then
      VLC_ADD_CFLAGS([lua],[$LUA_CFLAGS])
   fi
 fi
+AM_CONDITIONAL(BUILD_LUA, [test "${have_lua}" = "yes"])
 
 dnl
 dnl HTTP daemon
@@ -1673,6 +1673,7 @@ then
   VLC_ADD_PLUGINS([http])
   AC_DEFINE(ENABLE_HTTPD, 1, Define if you want the HTTP dameon support)
 fi
+AM_CONDITIONAL(BUILD_HTTPD, [test "${enable_httpd}" != "no"])
 
 dnl
 dnl VideoLAN manager
@@ -2582,9 +2583,11 @@ AC_ARG_ENABLE(screen,
   [  --enable-screen         Screen capture support (default enabled)])
 if test "${enable_screen}" != "no"; then
   if test "${SYS}" = "darwin"; then
-    AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
-      VLC_ADD_PLUGINS([screen])
-      VLC_ADD_LDFLAGS([screen],[-Wl,-framework,ApplicationServices])
+    AC_CHECK_HEADERS(OpenGL/gl.h, [
+      AC_CHECK_HEADERS(ApplicationServices/ApplicationServices.h, [
+        VLC_ADD_PLUGINS([screen])
+        VLC_ADD_LDFLAGS([screen],[-Wl,-framework,OpenGL,-framework,ApplicationServices])
+      ])
     ])
   elif test "${SYS}" = "mingw32"; then
     VLC_ADD_PLUGINS([screen])
@@ -3733,9 +3736,10 @@ AC_CHECK_HEADERS(png.h, [
     VLC_ADD_PLUGINS([osdmenu osd_parser])
     AC_DEFINE(HAVE_LIBPNG, 1, [Define if you have the PNG library: libpng])],
     [],[-lz])
-  LDFLAGS="${LDFLAGS_save}"
+    LDFLAGS="${LDFLAGS_save}"
   ])
 fi
+AM_CONDITIONAL(BUILD_OSDMENU, [test "${enable_png}" != "no"])
 
 dnl
 dnl H264 encoder plugin (using libx264)
@@ -3813,7 +3817,7 @@ dnl
 AC_ARG_ENABLE(zvbi,
   [  --enable-zvbi           VBI (inc. Teletext) decoding support with libzvbi (default enabled)])
 AC_ARG_ENABLE(telx,
-  [  --enable-telx,          Teletext decoding module (conflicting with zvbi) (default disabled)])
+  [  --enable-telx           Teletext decoding module (conflicting with zvbi) (default disabled)])
 
 AS_IF( [test "${enable_zvbi}" != "no"],[
   AS_IF( [test "${enable_telx}" = "yes"],[
@@ -4048,12 +4052,14 @@ dnl
       VLC_ADD_LIBS([xvideo],[-lXxf86vm_pic])
       VLC_ADD_LIBS([x11],[-lXxf86vm_pic])
       VLC_ADD_LIBS([glx],[-lXxf86vm_pic])
+      VLC_ADD_LIBS([xvmc],[-lXxf86vm_pic])
       ac_cv_have_xf86vidmode="yes"
     ],[
       AC_CHECK_LIB(Xxf86vm, XF86VidModeGetViewPort,[
         VLC_ADD_LIBS([xvideo],[-lXxf86vm])
         VLC_ADD_LIBS([x11],[-lXxf86vm])
         VLC_ADD_LIBS([glx],[-lXxf86vm])
+        VLC_ADD_LIBS([xvmc],[-lXxf86vm])
         ac_cv_have_xf86vidmode="yes"
       ])
     ])
@@ -4196,9 +4202,9 @@ AC_ARG_ENABLE(fribidi,
   [  --enable-fribidi        fribidi support (default enabled)])
 if test "${enable_freetype}" != "no"
 then
-   PKG_CHECK_MODULES(FREETYPE, freetype2,[  
+   PKG_CHECK_MODULES(FREETYPE, freetype2,[
       VLC_ADD_PLUGINS([freetype])
-      have_freetype=yes     
+      have_freetype=yes
       VLC_ADD_CPPFLAGS([freetype skins2],[${FREETYPE_CFLAGS}])
       VLC_ADD_LIBS([freetype skins2],[${FREETYPE_LIBS}])
       if test "${SYS}" = "mingw32"; then
@@ -4943,7 +4949,7 @@ if test "${enable_skins2}" = "yes" ||
     VLC_ADD_LIBS([skins2],[${X_LIBS} ${X_PRE_LIBS} -lXext -lX11])
   fi fi fi
 fi
-
+AM_CONDITIONAL(BUILD_SKINS, [test "${enable_skins2}" = "yes"])
 
 dnl dnl
 dnl dnl  Gtk+ module
@@ -5032,6 +5038,7 @@ then
     NEED_GTK2_MAIN=yes
   fi
 fi
+AM_CONDITIONAL(BUILD_PDA, [test "${enable_pda}" = "yes"])
 
 dnl dnl
 dnl dnl  Gnome module
@@ -5208,9 +5215,9 @@ AS_IF([test "${enable_qt4}" != "no" &&
       AC_PATH_PROGS(UIC, [uic-qt4 uic], uic,`$PKG_CONFIG --variable=exec_prefix QtCore`/bin)
       ],
       AS_IF([test "${enable_qt4}" = "yes"],[
-    AC_MSG_ERROR(QT4 library not found)
+        AC_MSG_ERROR(QT4 library not found)
       ],[
-    AC_MSG_WARN(QT4 library not found)
+        AC_MSG_WARN(QT4 library not found)
       ])
     )
 ])
@@ -5219,17 +5226,21 @@ AM_CONDITIONAL(ENABLE_QT4, test "$enableqt4" = "true")
 dnl
 dnl  WinCE GUI module
 dnl
-if test "${SYS}" = "mingwce"; then
-  VLC_ADD_BUILTINS([wince])
-  VLC_ADD_CXXFLAGS([wince],[])
-  VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
-  dnl Gross hack
-  VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
-elif test "${SYS}" = "mingw32"; then
-  VLC_ADD_CXXFLAGS([wince],[])
-  VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
-  dnl Gross hack
-  VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+AC_ARG_ENABLE(wince,
+  [  --enable-wince          Windows CE interface (default enabled with MinGW)])
+if test "${enable_wince}" != "no"; then
+  if test "${SYS}" = "mingwce"; then
+    VLC_ADD_BUILTINS([wince])
+    VLC_ADD_CXXFLAGS([wince],[])
+    VLC_ADD_LIBS([wince],[-lcommctrl -lcommdlg -laygshell])
+    dnl Gross hack
+    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+  elif test "${SYS}" = "mingw32"; then
+    VLC_ADD_CXXFLAGS([wince],[])
+    VLC_ADD_LIBS([wince],[-lcomctl32 -lcomdlg32 -lgdi32 -lole32])
+    dnl Gross hack
+    VLC_ADD_LIBS([wince],[\\\${top_builddir}modules/gui/wince/wince_rc.o])
+  fi
 fi
 
 dnl
@@ -5390,11 +5401,26 @@ AC_ARG_ENABLE(ncurses,
         VLC_ADD_LIBS([ncurses],[-lncursesw])
         ALIASES="${ALIASES} nvlc"
         AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
+        AC_CHECK_LIB(ncursesw, tgetent, [],
+          AC_CHECK_LIB(tinfow, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfow])],
+            [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
+              [AS_IF([test "x${enable_ncurses}" != "x"],
+                [AC_MSG_ERROR([tgetent not found in ncursesw tinfow tinfo]
+               )])])
+            ]
+          )
+        )
         ],
         [AC_CHECK_LIB( ncurses, mvprintw,
           [VLC_ADD_PLUGINS([ncurses])
           ALIASES="${ALIASES} nvlc"
-          VLC_ADD_LIBS([ncurses],[-lncurses])],
+          VLC_ADD_LIBS([ncurses],[-lncurses])
+          AC_CHECK_LIB(ncurses, tgetent, [],
+            [AC_CHECK_LIB(tinfo, tgetent, [VLC_ADD_LIBS([ncurses],[-ltinfo])],
+              [AS_IF([test "x${enable_ncurses}" != "x"],
+                [AC_MSG_ERROR([tgetent not found in ncurses tinfo])])]
+            )]
+          )],
           [AS_IF([test "x${enable_ncurses}" != "x"], [
             AC_MSG_ERROR([libncurses not found])])]
         )]
@@ -5719,6 +5745,15 @@ AS_IF([test "${enable_loader}" = "yes"],
     VLC_ADD_LIBS([realaudio],[../../libs/loader/libloader.la])
   ])
 
+AC_ARG_WITH(,[Components:])
+
+dnl
+dnl  the VLC binary
+dnl
+AC_ARG_ENABLE(vlc,
+  [  --enable-vlc            build the VLC media player (default enabled)])
+AM_CONDITIONAL(BUILD_VLC, [test "${enable_vlc}" != "no"])
+
 dnl
 dnl  Microsoft ActiveX support
 dnl
@@ -5971,11 +6006,17 @@ dnl  Mediacontrol Python bindings
 dnl
 AC_ARG_ENABLE(python-bindings,
   [  --enable-python-bindings Enable Python bindings (default disabled)])
-dnl TODO: look for python dev headers
-AS_IF([test "${enable_python_bindings}" = "yes"],
-      PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python"
-     ) 
 
+if test "${enable_python_bindings}" = "yes"; then
+  AC_PATH_PROG(PYTHON_CONFIG, python-config, no)
+  CFLAGS="${CFLAGS_save} `${PYTHON_CONFIG} --cflags`"
+  AC_CHECK_HEADER([Python.h],
+    PLUGINS_BINDINGS="${PLUGINS_BINDINGS} python",
+    AC_MSG_ERROR([You have to install python-dev to build the bindings]),
+    []
+  )
+  CFLAGS="${CFLAGS_save}"
+fi
 AM_CONDITIONAL(BUILD_PYTHON, [test "${enable_python_bindings}" = "yes"])
 
 dnl
@@ -6089,7 +6130,6 @@ AS_IF([test "${enable_shared}" = "no"], [
 AS_IF([test "${plugin_support}" != "no"], [
   AC_DEFINE(HAVE_DYNAMIC_PLUGINS, 1, Define if we have support for dynamic plugins)
 ])
-
 AM_CONDITIONAL(HAVE_PLUGINS, [test "${plugin_support}" != "no"])
 
 dnl Temporary(?) hack for plugins/builtins transition
@@ -6184,6 +6224,7 @@ AC_CONFIG_FILES([
   po/Makefile.in
   share/Makefile
   src/Makefile
+  test/Makefile
 ])
 
 AC_CONFIG_FILES([
@@ -6254,6 +6295,7 @@ AC_CONFIG_FILES([
   modules/video_chroma/Makefile
   modules/video_filter/Makefile
   modules/video_filter/atmo/Makefile
+  modules/video_filter/dynamicoverlay/Makefile
   modules/video_output/Makefile
   modules/video_output/msw/Makefile
   modules/video_output/qte/Makefile
@@ -6291,9 +6333,9 @@ echo exit \$ERROR >>compile
 chmod a+x compile
 
 printf "
-vlc configuration
+libvlc configuration
 --------------------
-vlc version           : ${VERSION}
+version               : ${VERSION}
 system                : ${SYS}
 architecture          : ${ARCH}
 build flavour         : "
@@ -6302,9 +6344,13 @@ test "${enable_cprof}" = "yes" && printf "cprof "
 test "${enable_gprof}" = "yes" && printf "gprof "
 test "${enable_optimizations}" = "yes" && printf "optim "
 test "${enable_release}" = "yes" && printf "release " || printf "devel "
-echo "
-vlc aliases           :${ALIASES}
-plugins/bindings      :${PLUGINS_BINDINGS}
+echo ""
+if test "${enable_vlc}" != "no"; then
+echo "vlc aliases           :${ALIASES}"
+else
+echo "build vlc executable  : no"
+fi
+echo "plugins/bindings      :${PLUGINS_BINDINGS}
 
 You can check which modules have been enabled 
 with \`./vlc-config --list plugin'.