mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 13:18:52 +00:00
59 lines
1.7 KiB
Text
59 lines
1.7 KiB
Text
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-WORKED [, ACTION-IF-NOT-WORKED]]])
|
|
dnl
|
|
dnl Example:
|
|
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],
|
|
[
|
|
# save original dir
|
|
FAILED=""
|
|
DIRECTORY=`pwd`
|
|
# get/update cvs
|
|
if test ! -d $1; then mkdir -p $1; fi
|
|
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 ! -e ffmpeg/README; then
|
|
# check out cvs code
|
|
AC_MSG_NOTICE(checking out ffmpeg cvs code from $2 into $1)
|
|
cvs -Q -z4 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/ffmpeg co -D '$2' ffmpeg || FAILED=yes
|
|
else
|
|
# 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 go back
|
|
cd $DIRECTORY
|
|
|
|
if test "x$FAILED" == "xyes"; then
|
|
[$4]
|
|
false
|
|
else
|
|
[$3]
|
|
true
|
|
fi
|
|
])
|