]> git.sesse.net Git - vlc/blobdiff - configure.ac
Happy new year
[vlc] / configure.ac
index 649510ae24e99ca617d4e2c4b82ed3270b3ef556..b589b5a2de94d78b65cbe4fb3ae1f8b8d0fe134c 100644 (file)
@@ -8,6 +8,7 @@ VERSION_EXTRA="svn"
 
 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_CONFIG_SRCDIR(src/libvlc.c)
@@ -93,17 +94,13 @@ AC_ARG_WITH(contrib,
     OBJCFLAGS="${OBJCFLAGS} -I${topdir}/extras/contrib/include"
     OBJCFLAGS_save="${OBJCFLAGS_save} -I${topdir}/extras/contrib/include"
     if test $build = $host -o "$PKG_CONFIG_LIBDIR"; then
-       export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
+        export PKG_CONFIG_PATH=${topdir}/extras/contrib/lib/pkgconfig:$PKG_CONFIG_PATH
     else
-       export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
+        export PKG_CONFIG_LIBDIR=${topdir}/extras/contrib/lib/pkgconfig
     fi
     LDFLAGS="${LDFLAGS} -L${topdir}/extras/contrib/lib"
     LDFLAGS_save="${LDFLAGS_save} -L${topdir}/extras/contrib/lib"
 
-dnl kludge because only the debian package provides a ffmpeg-config
-    if test -z $with_ffmpeg_config_path; then 
-       with_ffmpeg_config_path=${topdir}/extras/contrib/bin;
-    fi
     if test -z $with_live555_tree; then
        with_live555_tree=${topdir}/extras/contrib/src/live
     fi
@@ -187,6 +184,8 @@ case "${host_os}" in
     then
         echo ""
         echo "Building with Mac OS X defaults:"
+        enable_macosx="yes"
+        echo "  Assuming --enable-macosx"
         enable_faad="yes"
         echo "  Assuming --enable-faad"
         enable_flac="yes"
@@ -218,6 +217,9 @@ case "${host_os}" in
         echo "  Assuming --disable-glx"
         enable_xvideo="no"
         echo "  Assuming --disable-xvideo"
+
+        with_macosx_sdk="no"
+        echo "  Compiling without SDK usage"
     fi
     if test ".`uname -p`" = ".i386"; then
         dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
@@ -225,7 +227,7 @@ case "${host_os}" in
         dnl (that bug is about ld being unable to handle
         dnl text relocation)
         save_cflags="$CFLAGS"
-        CFLAGS="$CFLAGS -dynamiclib"
+        CFLAGS="$CFLAGS -dynamiclib -single_module -read_only_relocs suppress"
         AC_TRY_LINK(
             [int a;], [asm("movq _a,%mm0\n");],
             ac_ld_does_not_support_text_reloc=no,
@@ -237,8 +239,6 @@ case "${host_os}" in
             echo "  Assuming --disable-mmx (due to a bug in ld)"
             enable_sse="no"
             echo "  Assuming --disable-sse (due to a bug in ld)"
-            enable_ffmpeg="no"
-            echo "  Assuming --disable-ffmpeg (due to a bug in ld)"
         fi
     fi
     ;;
@@ -369,12 +369,15 @@ if test "${with_macosx_sdk}" != "no" ; then
     CC="${CC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
     CXX="${CXX} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
     OBJC="${OBJC} -isysroot /Developer/SDKs/MacOSX10.4u.sdk" 
-    LD="${LD} -syslibroot /Developer/SDKs/MacOSX10.4u.sdk"
+    LD="${LD} -syslibroot/Developer/SDKs/MacOSX10.4u.sdk"
     CFLAGS_save="${CFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CFLAGS="${CFLAGS_save}"
     CXXFLAGS_save="${CXXFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; CXXFLAGS="${CXXFLAGS_save}"
     OBJCFLAGS_save="${OBJCFLAGS_save} -DMACOSX_DEPLOYMENT_TARGET=10.4 -mmacosx-version-min=10.4"; OBJCFLAGS="${OBJCFLAGS_save}"
     MACOSX_DEPLOYMENT_TARGET="10.4"
     export MACOSX_DEPLOYMENT_TARGET
+else
+    MACOSX_DEPLOYMENT_TARGET="10.4"
+    export MACOSX_DEPLOYMENT_TARGET
 fi
 
 dnl
@@ -1253,6 +1256,8 @@ VLC_ADD_PLUGINS([packetizer_mpegvideo packetizer_h264])
 VLC_ADD_PLUGINS([packetizer_mpeg4video packetizer_mpeg4audio])
 VLC_ADD_PLUGINS([packetizer_vc1])
 
+ALIASES="${ALIASES} cvlc"
+
 dnl
 dnl default modules that need g++
 dnl
@@ -1264,11 +1269,12 @@ if test "${SYS}" != "mingwce"; then
   VLC_ADD_PLUGINS([access_fake access_filter_timeshift access_filter_record access_filter_dump])
   VLC_ADD_PLUGINS([gestures rc telnet hotkeys showintf marq podcast shout sap fake folder])
   VLC_ADD_PLUGINS([rss mosaic wall motiondetect clone crop erase bluescreen alphamask gaussianblur])
-  VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga])
+  VLC_ADD_PLUGINS([i420_yuy2 i422_yuy2 i420_ymga i422_i420 yuy2_i422 yuy2_i420 chroma_chain])
   VLC_ADD_PLUGINS([aout_file linear_resampler bandlimited_resampler])
   VLC_ADD_PLUGINS([float32_mixer spdif_mixer simple_channel_mixer])
   VLC_ADD_PLUGINS([dolby_surround_decoder headphone_channel_mixer normvol equalizer param_eq])
   VLC_ADD_PLUGINS([converter_float a52tospdif dtstospdif audio_format])
+  ALIASES="${ALIASES} rvlc"
 fi
 
 dnl
@@ -2345,7 +2351,7 @@ then
 fi
 
 dnl
-dnl  Video4Linux plugin
+dnl  Video4Linux2 plugin
 dnl
 AC_ARG_ENABLE(v4l2,
   [  --enable-v4l2           Video4Linux2 input support (default disabled)])
@@ -2358,6 +2364,19 @@ then
     VLC_ADD_CPPFLAGS([v4l2],[-I${with_v4l2}/include])
   fi
 
+  AC_CHECK_HEADER(alsa/asoundlib.h, AC_CHECK_LIB(asound, main, have_v4l2_alsa="true", have_v4l2_alsa="false"),have_v4l2_alsa="false")
+  if test "${have_v4l2_alsa}" = "true"
+  then
+    CFLAGS="${CFLAGS_save}"
+    AC_TRY_COMPILE([#define ALSA_PCM_NEW_HW_PARAMS_API
+                    #define ALSA_PCM_NEW_SW_PARAMS_API
+                    #include <alsa/asoundlib.h>],
+       [snd_pcm_hw_params_get_period_time(0,0,0);],
+        AC_DEFINE(HAVE_ALSA_NEW_API, 1, Define if ALSA is at least rc4))
+    VLC_ADD_LDFLAGS([v4l2],[-lasound -lm -ldl])
+    AC_DEFINE(HAVE_ALSA, 1, Define if ALSA is present.)
+  fi
+
   CPPFLAGS="${CPPFLAGS_save} ${CPPFLAGS_v4l2}"
   AC_CHECK_HEADERS(linux/videodev2.h, [
     VLC_ADD_PLUGINS([v4l2])
@@ -2912,8 +2931,8 @@ AS_IF([test "${enable_id3tag}" != "no"], [
 dnl
 dnl  ffmpeg decoder/demuxer plugin
 dnl
-dnl we try to find ffmpeg using : 1- given tree 2- ffmpeg-config, 3- pkg-config
-dnl                               4- default place,
+dnl we try to find ffmpeg using : 1- given tree, 2- pkg-config
+dnl                               3- default place,
 
 AC_ARG_ENABLE(ffmpeg,
 [  --enable-ffmpeg         ffmpeg codec (default enabled)])
@@ -2990,7 +3009,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
      fi])
 
  AC_ARG_WITH(ffmpeg-x264,
-   [    --with-ffmpeg-x264 specify if ffmpeg has been compiled with libamrnb support],
+   [    --with-ffmpeg-x264 specify if ffmpeg has been compiled with libx264 support],
    [
      if test "$with_ffmpeg_x264" = "yes";      then
         VLC_ADD_LIBS([ffmpeg],[-lx264])
@@ -3052,7 +3071,7 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    ],[
         unset PKG_CONFIG_PATH
    ])
-   AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[   
+   AS_IF([test -n "${PKG_CONFIG_LIBDIR_save}"],[
         export PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR_save}"
    ],[
         unset PKG_CONFIG_LIBDIR
@@ -3068,32 +3087,14 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
      VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libswscale ${real_ffmpeg_tree}/libswscale/libswscale.a])
      VLC_ADD_CPPFLAGS([ffmpeg stream_out_switcher],[-I${real_ffmpeg_tree}/libswscale])
    fi
-else
-
-dnl Look for a ffmpeg-config (we are on debian )
 
-  FFMPEG_PATH="${PATH}"
-  AC_ARG_WITH(ffmpeg-config-path,
-    [    --with-ffmpeg-config-path=PATH ffmpeg-config path (default search in \$PATH)],
-    [ if test "${with_ffmpeg_config_path}" != "no"
-      then
-        FFMPEG_PATH="${with_ffmpeg_config_path}"
-      fi ])
-  AC_PATH_PROG(FFMPEG_CONFIG, ffmpeg-config, no, ${FFMPEG_PATH})
-  if test "${FFMPEG_CONFIG}" != "no"
-  then
-    AC_CHECK_HEADERS(ffmpeg/avcodec.h, [], [AC_MSG_ERROR([Missing header file ffmpeg/avcodec.h.])] )
-    AC_CHECK_HEADERS(ffmpeg/avformat.h)
-    AC_CHECK_HEADERS(ffmpeg/avutil.h)
-    AC_CHECK_HEADERS(postproc/postprocess.h, [], [AC_MSG_ERROR([Missing header file postproc/postprocess.h.])] )
-    VLC_ADD_PLUGINS([ffmpeg])
-    if test "${enable_sout}" != "no" -a "${enable_switcher}" = "yes"; then
-        VLC_ADD_PLUGINS([stream_out_switcher])
+    if test -f "${real_ffmpeg_tree}/libavformat/libavformat.a"; then
+      AC_DEFINE(HAVE_LIBAVFORMAT_TREE, 1, [Define if you have ffmpeg's libavformat.])
+      VLC_ADD_LIBS([ffmpeg],[-L${real_ffmpeg_tree}/libavformat -lavformat -lz])
+      VLC_ADD_CPPFLAGS([ffmpeg],[-I${real_ffmpeg_tree}/libavformat])
     fi
-    VLC_ADD_CFLAGS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --cflags`])
-    VLC_ADD_LIBS([ffmpeg stream_out_switcher],[`${FFMPEG_CONFIG} --plugin-libs avcodec avformat postproc`])
+else
 
- else
 
 dnl Trying with pkg-config
    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
@@ -3177,7 +3178,6 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
       CPPFLAGS="${CPPFLAGS_save}"
     ])
   fi
- fi 
 fi
 
 dnl
@@ -3763,7 +3763,7 @@ AC_CHECK_HEADERS(png.h, [
   AC_CHECK_LIB(png, png_set_rows, [
     VLC_ADD_LIBS([png],[-lpng -lz])
     VLC_ADD_PLUGINS([png])
-    VLC_ADD_PLUGINS([osdmenu])
+    VLC_ADD_PLUGINS([osdmenu osd_parser])
     AC_DEFINE(HAVE_LIBPNG, [], [Define if you have the PNG library: libpng])],
     [],[-lz])
   LDFLAGS="${LDFLAGS_save}"
@@ -5204,9 +5204,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)
       ])
     )
 ])
@@ -5334,32 +5334,31 @@ AC_ARG_ENABLE(opie,
    fi])
 
 dnl
-dnl  MacOS X module
+dnl  MacOS X video output/gui modules
 dnl
-ORIGCFLAGS=$CFLAGS
-CFLAGS="$CFLAGS -x objective-c"
-AC_ARG_ENABLE(macosx,
-  [  --enable-macosx         MacOS X support (default enabled on MacOS X)],
-  [if test "${enable_macosx}" = "yes"
-   then
-     VLC_ADD_PLUGINS([access_eyetv])
-     VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
-     VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
-     VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
-     VLC_ADD_OBJCFLAGS( [macosx],[-fobjc-exceptions] )
-     VLC_ADD_OBJCFLAGS( [minimal_macosx],[-fobjc-exceptions] )
-   fi],
-  [AC_CHECK_HEADERS(Cocoa/Cocoa.h,
-    [VLC_ADD_PLUGINS([access_eyetv])
-     VLC_ADD_LDFLAGS([access_eyetv], [-Wl,-framework,CoreFoundation])
-     VLC_ADD_BUILTINS([macosx])
-     VLC_ADD_BUILTINS([minimal_macosx])
-     VLC_ADD_LDFLAGS([minimal_macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL])
-     VLC_ADD_LDFLAGS([macosx],[-Wl,-framework,IOKit,-framework,Cocoa,-framework,Carbon,-framework,QuickTime,-lobjc,-ObjC,-framework,OpenGL,-framework,AGL,-framework,QTKit,-framework,WebKit])
-     VLC_ADD_OBJCFLAGS([macosx],[-fobjc-exceptions])
-     VLC_ADD_OBJCFLAGS([minimal_macosx],[-fobjc-exceptions])
-    ])])
-CFLAGS=$ORIGCFLAGS
+AC_ARG_ENABLE(macosx, [--enable-macosx MacOS X support (default enabled on MacOS X)])
+if test "x${enable_macosx}" = "xyes"
+then
+  VLC_ADD_LDFLAGS([access_eyetv],                     [-Wl,-framework,CoreFoundation])
+  VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,Cocoa])
+  VLC_ADD_LDFLAGS([macosx minimal_macosx opengllayer],[-Wl,-framework,OpenGL])
+  VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,Carbon])
+  VLC_ADD_LDFLAGS([macosx minimal_macosx],            [-Wl,-framework,AGL])
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,IOKit])
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QuickTime])
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,QTKit])
+  VLC_ADD_LDFLAGS([macosx],                           [-Wl,-framework,WebKit])
+  VLC_ADD_LDFLAGS([opengllayer],                      [-Wl,-framework,QuartzCore])
+  VLC_ADD_OBJCFLAGS([macosx minimal_macosx opengllayer], [-fobjc-exceptions] )
+
+  VLC_ADD_PLUGINS([access_eyetv])
+  VLC_ADD_BUILTINS([macosx minimal_macosx])
+  ORIGCFLAGS=$CFLAGS
+  CFLAGS="$CFLAGS -x objective-c"
+  AC_CHECK_HEADER(QuartzCore/CALayer.h, [VLC_ADD_BUILTINS([opengllayer])])
+  CFLAGS=$ORIGCFLAGS
+fi
 
 dnl
 dnl  QNX RTOS module
@@ -5384,10 +5383,12 @@ AC_ARG_ENABLE(ncurses,
       [AC_CHECK_LIB(ncursesw, mvprintw,
         [VLC_ADD_PLUGINS([ncurses])
         VLC_ADD_LIBS([ncurses],[-lncursesw])
+        ALIASES="${ALIASES} nvlc"
         AC_DEFINE([HAVE_NCURSESW], 1, [Define to 1 if you have libncursesw.])
         ],
         [AC_CHECK_LIB( ncurses, mvprintw,
           [VLC_ADD_PLUGINS([ncurses])
+          ALIASES="${ALIASES} nvlc"
           VLC_ADD_LIBS([ncurses],[-lncurses])],
           [AS_IF([test "x${enable_ncurses}" != "x"], [
             AC_MSG_ERROR([libncurses not found])])]
@@ -5581,7 +5582,7 @@ dnl libgcrypt
 dnl
 AC_ARG_ENABLE(libgcrypt,
   [  --enable-libgcrypt      libgcrypts support (default enabled)])
-if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"i
+if test "${enable_libgcrypt}" != "no" -a "${enable_gnutls}" != "no"
 then
   dnl Workaround for cross-compiling since AM_PATH_LIBGRYPT doesn't dectect
   dnl it and looks for libgcrypt headers in the wrong place.
@@ -5594,6 +5595,20 @@ then
 fi
 AM_CONDITIONAL([HAVE_LIBGCRYPT], [test "${have_libgcrypt}" = "yes"])
 
+dnl
+dnl update checking system
+dnl
+AC_ARG_ENABLE(update-check,
+  [  --enable-update-check   update checking system (default disabled)])
+if test "${enable_update_check}" = "yes"
+then
+  if test "${have_libgcrypt}" != "yes"
+  then
+    AC_MSG_ERROR([libgcrypt is required for update checking system])
+  fi
+  VLC_ADD_LIBS([libvlc], [-lgcrypt])
+  AC_DEFINE([UPDATE_CHECK], [1], [Define if you want to use the VLC update mechanism])
+fi
 
 dnl
 dnl  Endianness check, AC_C_BIGENDIAN doesn't work if we are cross-compiling
@@ -5900,7 +5915,7 @@ fi
 AC_LANG_POP(C++)
 AM_CONDITIONAL(BUILD_MOZILLA,${mozilla})
 
-   dnl Tests for Osso and Xsp
+dnl Tests for Osso and Xsp
 if test "${enable_x11}" != "no" &&
   (test "${SYS}" != "mingw32" -a "${SYS}" != "mingwce" ||
    test "${enable_x11}" = "yes"); then
@@ -6059,7 +6074,8 @@ dnl
 dnl  Stuff used by the program
 dnl
 AC_DEFINE_UNQUOTED(VERSION_MESSAGE, "${VERSION} ${CODENAME}", [Simple version string])
-AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) 1996-2007 the VideoLAN team", [Copyright string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_MESSAGE, "VLC media player - version ${VERSION} ${CODENAME} - (c) ${COPYRIGHT_YEARS} the VideoLAN team", [Copyright string])
+AC_DEFINE_UNQUOTED(COPYRIGHT_YEARS, "${COPYRIGHT_YEARS}", [The copyright years])
 AC_DEFINE_UNQUOTED(CONFIGURE_LINE, "${CONFIGURE_LINE}", [The ./configure command line])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MAJOR,"${VERSION_MAJOR}", [version major number])
 AC_DEFINE_UNQUOTED(PACKAGE_VERSION_MINOR,"${VERSION_MINOR}", [version minor number])
@@ -6073,13 +6089,6 @@ AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
 AC_DEFINE_UNQUOTED(VLC_COMPILE_DOMAIN, "`dnsdomainname 2>/dev/null || domainname 2>/dev/null || echo unknown`", [domain of the host which ran configure]) 
 AC_DEFINE_UNQUOTED(VLC_COMPILER, "`$CC -v 2>&1 | tail -n 1`", [compiler]) 
 
-dnl New definitions with value matching 0.9.0 release
-module_symbol="0_9_0b"
-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}"
-AC_SUBST(VLC_ENTRY)
-
 dnl
 dnl  Handle substvars that use $(top_srcdir)
 dnl
@@ -6194,6 +6203,7 @@ AC_CONFIG_FILES([
   modules/misc/notify/Makefile
   modules/misc/testsuite/Makefile
   modules/misc/playlist/Makefile
+  modules/misc/osd/Makefile
   modules/misc/xml/Makefile
   modules/misc/probe/Makefile
   modules/mux/Makefile
@@ -6261,7 +6271,7 @@ if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
    echo ""
    echo "Warning: Due to a bug in ld, mmx/sse support has been"
    echo "         turned off."
-   echo "         More over FFmpeg support has been disabled."
-   echo "         VLC WILL NOT BE ABLE TO PLAY MOST FILES."
+   echo "         FFmpeg will be REALLY slow."
+   echo "         VLC WILL NOT PERFORM AS EXPECTED."
    echo ""
 fi