]> git.sesse.net Git - vlc/blobdiff - configure.ac.in
* ./configure.ac.in: Added --with-libmpeg2-tree
[vlc] / configure.ac.in
index 32c644ef0203517ea6f06b240de9124a4bc506b0..c5c3b05de1e03815014e64a1f1d9629d8015f7f0 100644 (file)
@@ -1818,23 +1818,50 @@ AC_ARG_ENABLE(libmpeg2,
   [  --enable-libmpeg2       libmpeg2 decoder support (default enabled)])
 if test "x${enable_libmpeg2}" != "xno"
 then
-  AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
-    AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
-    AC_EGREP_CPP(yes,
-      [#include <mpeg2dec/mpeg2.h>
-       #ifdef MPEG2_RELEASE
-       #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
-       yes
-       #endif
-       #endif],
-      [AC_MSG_RESULT([yes])
-        PLUGINS="${PLUGINS} libmpeg2"
-        LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2"],
-      [AC_MSG_RESULT([no])
-        AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
-
-    [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
-  )
+  AC_ARG_WITH(libmpeg2-tree,
+  [    --with-libmpeg2-tree=PATH libmpeg2 tree for static linking])
+  if test "x${with_libmpeg2_tree}" != "x"
+  then
+    AC_MSG_CHECKING(for libmpeg2.a in ${with_libmpeg2_tree})
+    real_libmpeg2_tree="`cd ${with_libmpeg2_tree} 2>/dev/null && pwd`"
+    if test "x${real_libmpeg2_tree}" = x
+    then
+      dnl  The given directory can't be found
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot cd to ${with_libmpeg2_tree}])
+    fi
+    if test -f "${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a"
+    then
+      dnl  Use a custom libmpeg2
+      AC_MSG_RESULT(${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a)
+      PLUGINS="${PLUGINS} libmpeg2"
+      LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -L${real_libmpeg2_tree}/libmpeg2/.libs -lmpeg2"
+      CFLAGS_libmpeg2="${CFLAGS_libmpeg2} -I${real_libmpeg2_tree}/include"
+      eval "`cd ${real_libmpeg2_tree}/include && ln -sf . mpeg2dec 2>/dev/null`"
+    else
+      dnl  The given libmpeg2 wasn't built
+      AC_MSG_RESULT(no)
+      AC_MSG_ERROR([cannot find ${real_libmpeg2_tree}/libmpeg2/.libs/libmpeg2.a, make sure you compiled libmpeg2 in ${with_libmpeg2_tree}])
+    fi
+  else
+    AC_CHECK_HEADERS(mpeg2dec/mpeg2.h, [
+      AC_MSG_CHECKING(for libmpeg2 version >= 0.3.2)
+      AC_EGREP_CPP(yes,
+        [#include <mpeg2dec/mpeg2.h>
+         #ifdef MPEG2_RELEASE
+         #if MPEG2_RELEASE >= MPEG2_VERSION(0,3,2)
+         yes
+         #endif
+         #endif],
+        [AC_MSG_RESULT([yes])
+          PLUGINS="${PLUGINS} libmpeg2"
+          LDFLAGS_libmpeg2="${LDFLAGS_libmpeg2} -lmpeg2"],
+        [AC_MSG_RESULT([no])
+          AC_MSG_ERROR([Your libmpeg2 is too old (you need the cvs version): you may get a more recent one from http://libmpeg2.sf.net/. Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])])],
+
+      [AC_MSG_ERROR([Could not find libmpeg2 on your system: you may get it from http://libmpeg2.sf.net/ (you need the cvs version). Alternatively you can use --disable-libmpeg2 to disable the libmpeg2 plugin.])]
+    )
+  fi
 fi
 
 dnl