build: Fix the dist - libswscale isn't an external on the 0.5 branch

The 0.5 ffmpeg branch includes libswscale directly, not as an external,
breaking the dist (and warning in autogen.sh) about not being able to
update its revision.

Add some code to not update the svn external if the
FFMPEG_EXTERNALS_REVISION variable is empty.

Also, in autogen.sh check that the current FFmpeg checkout is from the
right branch according to ffmpegrev, and check it out again if
it's not.
This commit is contained in:
Jan Schmidt 2009-06-06 15:14:45 +01:00
parent 8e961ec5ef
commit 60ee556217
3 changed files with 21 additions and 8 deletions

View file

@ -18,18 +18,28 @@ git submodule update
if test -x $have_svn && [ $have_svn ];
then
if test ! -f $FFMPEG_CO_DIR/configure
then
co_ffmpeg=no
if test ! -f $FFMPEG_CO_DIR/configure; then
co_ffmpeg=yes
else
if ! svn info gst-libs/ext/ffmpeg | grep "URL: $FFMPEG_SVN" > /dev/null; then
echo "FFmpeg checkout is on the wrong branch. Re-fetching."
co_ffmpeg=yes
fi
fi
if [ "$co_ffmpeg" = "yes" ]; then
# checkout ffmpeg from its repository
rm -rf $FFMPEG_CO_DIR
echo "+ getting ffmpeg from svn"
svn -r $FFMPEG_REVISION co $FFMPEG_SVN $FFMPEG_CO_DIR
echo "+ updating externals"
svn update -r $FFMPEG_EXTERNALS_REVISION $FFMPEG_CO_DIR/libswscale
else
# update ffmpeg from its repository
echo "+ updating ffmpeg checkout"
svn -r $FFMPEG_REVISION up $FFMPEG_CO_DIR
fi
if [ "x$FFMPEG_EXTERNALS_REVISION" != "x" ]; then
echo "+ updating externals"
svn update -r $FFMPEG_EXTERNALS_REVISION $FFMPEG_CO_DIR/libswscale
fi

View file

@ -1,8 +1,9 @@
FFMPEG_REVISION=18939
FFMPEG_CO_DIR=gst-libs/ext/ffmpeg
FFMPEG_SVN=svn://svn.ffmpeg.org/ffmpeg/branches/0.5
# Because ffmpeg checks out libswscale via an svn:externals, checking
# Because ffmpeg trunk checks out libswscale via an svn:externals, checking
# out an old ffmpeg does not check out a corresponding libswscale.
# Keep the swscale checkout manually synchronized, then. Update this
# when you update FFMPEG_REVISION.
FFMPEG_EXTERNALS_REVISION=29320
# when you update FFMPEG_REVISION. Set it to empty if there's no
# external to update (as on ffmpeg 0.5 branch)
FFMPEG_EXTERNALS_REVISION=

View file

@ -29,7 +29,9 @@ distclean: dist-clean
dist-local:
svn -r $(FFMPEG_REVISION) co $(FFMPEG_SVN) $(TMP_DIST_DIR)
svn update -r $(FFMPEG_EXTERNALS_REVISION) $(TMP_DIST_DIR)/libswscale
@if [ "x$(FFMPEG_EXTERNALS_REVISION)" != x ]; then \
svn update -r $(FFMPEG_EXTERNALS_REVISION) $(TMP_DIST_DIR)/libswscale; \
fi
mkdir $(DIST_DIR)
pwd
cp $(TMP_DIST_DIR)/*.c $(TMP_DIST_DIR)/*.h $(TMP_DIST_DIR)/Makefile $(TMP_DIST_DIR)/configure $(TMP_DIST_DIR)/version.sh $(DIST_DIR)