From 60ee556217c97c56a2676f8f9f8a5e19e80d94ed Mon Sep 17 00:00:00 2001 From: Jan Schmidt Date: Sat, 6 Jun 2009 15:14:45 +0100 Subject: [PATCH] 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. --- autogen.sh | 18 ++++++++++++++---- ffmpegrev | 7 ++++--- gst-libs/ext/Makefile.am | 4 +++- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/autogen.sh b/autogen.sh index 2a2e364..8a096a0 100755 --- a/autogen.sh +++ b/autogen.sh @@ -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 diff --git a/ffmpegrev b/ffmpegrev index f1ad70b..4d2f8cd 100644 --- a/ffmpegrev +++ b/ffmpegrev @@ -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= diff --git a/gst-libs/ext/Makefile.am b/gst-libs/ext/Makefile.am index cbafe3a..d11bc96 100644 --- a/gst-libs/ext/Makefile.am +++ b/gst-libs/ext/Makefile.am @@ -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) -- 2.7.4