Apply __TIZEN__ definition in spec file
[platform/upstream/gst-plugins-good.git] / m4 / as-slurp-ffmpeg.m4
index f520a2e..fd54b42 100644 (file)
@@ -1,42 +1,59 @@
-dnl slurp-ffmpeg.m4 0.1.0
+dnl slurp-ffmpeg.m4 0.1.1
 dnl a macro to slurp in ffmpeg's cvs source inside a project tree
 dnl taken from Autostar Sandbox, http://autostars.sourceforge.net/
 
 dnl Usage:
-dnl AS_SLURP_FFMPEG(DIRECTORY, DATE, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl AS_SLURP_FFMPEG(DIRECTORY, DATE, [ACTION-IF-WORKED [, ACTION-IF-NOT-WORKED]]])
 dnl
 dnl Example:
-dnl AM_PATH_FFMPEG(lib/ffmpeg, "2002-12-14 12:00 GMT")
-nl
+dnl AM_PATH_FFMPEG(lib/ffmpeg, 2002-12-14 12:00 GMT)
+dnl
+dnl make sure you have a Tag file in the dir where you check out that
+dnl is the Tag of CVS you want to have checked out
+dnl it should correspond to the DATE argument you supply, ie resolve to
+dnl the same date
+dnl (in an ideal world, cvs would understand it's own Tag file format as
+dnl a date spec)
 
-AC_DEFUN(AS_SLURP_FFMPEG,
+AC_DEFUN([AS_SLURP_FFMPEG],
 [
   # save original dir
+  FAILED=""
   DIRECTORY=`pwd`
   # get/update cvs
   if test ! -d $1; then mkdir -p $1; fi
-  cd $1
+  dnl we need to check $srcdir/$1 or it will always checkout ffmpeg even if it is there
+  dnl at least when top_srcdir != top_builddir.
+  dnl FIXME: unfortunately this makes the checkout go into top_srcdir
+  cd $srcdir/$1
 
-  if test ! -d ffmpeg; then
+  if test ! -e ffmpeg/README; then
     # check out cvs code
     AC_MSG_NOTICE(checking out ffmpeg cvs code from $2 into $1)
-    cvs -Q -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co -D $2 ffmpeg || FAILED=yes
-    cd ffmpeg
+    cvs -Q -z4 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -D '$2' ffmpeg || FAILED=yes
   else
-    cd ffmpeg 
-    AC_MSG_NOTICE(updating ffmpeg cvs code)
-    cvs -Q update -dP -D $2 || FAILED=yes
+    # compare against Tag file and see if it needs updating
+    if test "`cat Tag`" == "$2"; then
+      AC_MSG_NOTICE(ffmpeg cvs code in sync)
+    else
+      cd ffmpeg 
+      AC_MSG_NOTICE(updating ffmpeg cvs code to $2)
+      cvs -Q -z4 update -dP -D '$2' || FAILED=yes
+      cd ..
+    fi
+  fi
+  if test "x$FAILED" != "xyes"; then
+    echo "$2" > Tag 
   fi
   
-  # now configure it
-  ./configure
-
   # now go back
   cd $DIRECTORY
 
   if test "x$FAILED" == "xyes"; then
     [$4]
+    false
   else
     [$3]
+    true
   fi
 ])