From 17d6e4da5e8df02cbaff3d4c0e4ca2ce630ad513 Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Sun, 5 Jan 2003 11:31:42 +0000 Subject: changing ffmpeg to only update when required Original commit message from CVS: changing ffmpeg to only update when required --- m4/as-slurp-ffmpeg.m4 | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) (limited to 'm4') diff --git a/m4/as-slurp-ffmpeg.m4 b/m4/as-slurp-ffmpeg.m4 index eb1b88b4..9108edbf 100644 --- a/m4/as-slurp-ffmpeg.m4 +++ b/m4/as-slurp-ffmpeg.m4 @@ -1,13 +1,19 @@ -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, [ @@ -20,24 +26,30 @@ AC_DEFUN(AS_SLURP_FFMPEG, if test ! -d ffmpeg/CVS; 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 + cvs -Q -d:pserver:anonymous@cvs.ffmpeg.sourceforge.net:/cvsroot/ffmpeg co -D '$2' ffmpeg || FAILED=yes cd ffmpeg 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 diff -q Tag ffmpeg/CVS/Tag > /dev/null 2> /dev/null + then + # diff returned no problem + AC_MSG_NOTICE(ffmpeg cvs code in sync) + else + # diff says they differ + cd ffmpeg + AC_MSG_NOTICE(updating ffmpeg cvs code) + cvs -Q update -dP -D '$2' || FAILED=yes + fi fi - # now configure it - AC_MSG_NOTICE(configuring ffmpeg cvs code) - ./configure - # now go back cd $DIRECTORY if test "x$FAILED" == "xyes"; then [$4] + false else [$3] + true fi ]) -- cgit