summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@noraisin.net>2009-06-06 15:14:45 +0100
committerJan Schmidt <thaytan@noraisin.net>2009-06-06 15:14:45 +0100
commit60ee556217c97c56a2676f8f9f8a5e19e80d94ed (patch)
tree435f3b86dcabe7042b989c2d981a4c2f9193ca11
parent8e961ec5efe86e037e60e84be9d9bac029007aee (diff)
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.
-rwxr-xr-xautogen.sh18
-rw-r--r--ffmpegrev7
-rw-r--r--gst-libs/ext/Makefile.am4
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)