]> git.sesse.net Git - vlc/blobdiff - configure.ac
Fix compiler warnings in modules/codec/ffmpeg/mux.c. Please test.
[vlc] / configure.ac
index 5ac071186ea118f30c086b31e0949aacf46df4e5..4c62abbb59554313175f9c62997b659ff151e133 100644 (file)
@@ -93,17 +93,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
@@ -218,7 +214,28 @@ case "${host_os}" in
         echo "  Assuming --disable-glx"
         enable_xvideo="no"
         echo "  Assuming --disable-xvideo"
-
+    fi
+    if test ".`uname -p`" = ".i386"; then
+        dnl Due to a ld(64) bug in 10.5 we cannot use our mmx code
+        dnl without hacking it a lot, we disable mmx and sse.
+        dnl (that bug is about ld being unable to handle
+        dnl text relocation)
+        save_cflags="$CFLAGS"
+        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,
+            ac_ld_does_not_support_text_reloc=yes)
+        CFLAGS="$save_cflags"
+
+        if test "x$ac_ld_does_not_support_text_reloc" = "xyes"; then
+            enable_mmx="no"
+            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
     ;;
   *mingw32* | *cygwin* | *wince* | *mingwce* | *pe*)
@@ -248,7 +265,7 @@ case "${host_os}" in
         VLC_ADD_LDFLAGS([vlc],[-mwindows])
         VLC_ADD_LIBS([activex mozilla],[-lgdi32])
         VLC_ADD_LIBS([cdda vcdx cddax sdl_image],[-lwinmm])
-        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler],[-lws2_32])
+        VLC_ADD_LIBS([access_http access_mms access_udp access_tcp access_ftp access_output_udp access_output_shout sap slp http stream_out_standard stream_out_rtp vod_rtsp access_realrtsp telnet rc netsync gnutls growl flac ts audioscrobbler lua],[-lws2_32])
     fi
     if test "${SYS}" = "mingwce"; then
         # add ws2 for closesocket, select, recv
@@ -1526,16 +1543,20 @@ AS_IF([test "${CFLAGS_TUNING}"],
 dnl
 dnl  x86 accelerations
 dnl
-if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"
-then
+AC_ARG_ENABLE(mmx,
+[  --disable-mmx       disable MMX optimizations (default enabled on x86)],
+[ if test "${enable_mmx}" = "yes"; then ARCH="${ARCH} mmx";
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
+[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "i586" -o "${host_cpu}" = "x86" -o "${host_cpu}" = "i386" -o "${host_cpu}" = "i486" -o "${host_cpu}" = "x86_64"; then
     ARCH="${ARCH} mmx"
-    VLC_ADD_PLUGINS([${ACCEL_MODULES}])
-fi
-if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"
-then
-    ARCH="${ARCH} sse sse2"
-    VLC_ADD_PLUGINS([${ACCEL_MODULES}])
-fi
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
+
+AC_ARG_ENABLE(sse,
+[  --disable-sse       disable SSE (1 and 2) optimizations (default enabled on i686 and x86_64)],
+[ if test "${enable_sse}" = "yes"; then ARCH="${ARCH} sse sse2";
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ],
+[ if test "${host_cpu}" = "i686" -o "${host_cpu}" = "x86_64"; then ARCH="${ARCH} sse sse2";
+    VLC_ADD_PLUGINS([${ACCEL_MODULES}]) fi ])
 
 dnl
 dnl  Memory usage
@@ -2887,8 +2908,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)])
@@ -2965,7 +2986,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])
@@ -3027,7 +3048,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
@@ -3045,30 +3066,6 @@ dnl Those options have to be here because the .pc can be bogus for ffmpeg previo
    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])
-    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
 
 dnl Trying with pkg-config
    PKG_CHECK_MODULES(FFMPEG,[libavcodec, libavformat],
@@ -3152,7 +3149,6 @@ dnl    AC_CHECK_HEADERS(ffmpeg/swscale.h, [], [AC_MSG_ERROR([Missing header file
       CPPFLAGS="${CPPFLAGS_save}"
     ])
   fi
- fi 
 fi
 
 dnl
@@ -3738,7 +3734,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}"
@@ -6169,6 +6165,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
@@ -6232,4 +6229,11 @@ with \`./vlc-config --list plugin'.
 You can tune the compiler flags in vlc-config.
 To build vlc and its plugins, type \`./compile' or \`make'.
 "
-
+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 ""
+fi