Hello!

Please cc me on replies, because I'm no longer subscribed to
ffmpeg-devel.

While trying to build an uncastrated Debian ffmpeg package I stubled
upon a problem when building ffmpeg outside the source tree:

1. The Makefile doesn't properly change to the libavcodex/libpostproc/
directory in the build tree, but changes to the directory in the source
tree. This is fixed by removing the '$(PATH)/' Prefix in
libavcode/Makefile.

2. Building the manual pages in a separate build tree also doesn't work,
since the doc/ directory isn't symlinked to the build tree. The
converted manual pages are also explicitely referenced in the source
tree, where they don't exist.

3. The quotation of "SRC_PATH='$source_path'" with single quotes is
wrong in a Makefile, since the single quotes are used verbatim and are
not shell meta characters.

I would appreciate it if somebody could please double check the patch
below and apply it to the repository.

BYtE
Philipp

--- ffmpeg-0.cvs20050108.orig/doc/Makefile
+++ ffmpeg-0.cvs20050108/doc/Makefile
@@ -1,3 +1,7 @@
+-include ../config.mak
+
+VPATH=$(SRC_PATH)/doc
+
 all: ffmpeg-doc.html faq.html ffserver-doc.html ffplay-doc.html hooks.html \
      ffmpeg.1 ffserver.1 ffplay.1
 
--- ffmpeg-0.cvs20050108.orig/configure
+++ ffmpeg-0.cvs20050108/configure
@@ -1453,9 +1453,9 @@
 
 # build tree in object directory if source path is different from current one
 if test "$source_path_used" = "yes" ; then
-    DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l 
libavcodec/i386 \
+    DIRS="libavformat libavcodec libavcodec/alpha libavcodec/armv4l 
libavcodec/i386 doc \
           libavcodec/ppc libavcodec/liba52 libavcodec/mlib 
libavcodec/libpostproc tests vhook"
-    FILES="Makefile libavformat/Makefile libavcodec/Makefile 
libavcodec/libpostproc/Makefile tests/Makefile vhook/Makefile"
+    FILES="Makefile libavformat/Makefile libavcodec/Makefile 
libavcodec/libpostproc/Makefile tests/Makefile vhook/Makefile doc/Makefile 
doc/texi2pod.pl"
     for dir in $DIRS ; do
             mkdir -p $dir
     done
@@ -1463,7 +1463,7 @@
         ln -sf "$source_path/$f" $f
     done
 fi
-echo "SRC_PATH='$source_path'" >> config.mak
+echo "SRC_PATH=$source_path" >> config.mak
 
 if test "$amr_wb" = "yes" ; then
   echo "#define AMR_WB 1" >> $TMPH
--- ffmpeg-0.cvs20050108.orig/libavcodec/Makefile
+++ ffmpeg-0.cvs20050108/libavcodec/Makefile
@@ -216,7 +216,7 @@
 
 $(SLIB): $(OBJS)
 ifeq ($(CONFIG_PP),yes)
-       $(MAKE) -C $(VPATH)/libpostproc
+       $(MAKE) -C libpostproc
 endif
 ifeq ($(CONFIG_WIN32),yes)
        $(CC) $(SHFLAGS) -Wl,--output-def,$(@:.dll=.def) -o $@ $(OBJS) 
$(EXTRALIBS) $(AMREXTRALIBS)
@@ -299,7 +299,7 @@
        ldconfig || true
 endif
 ifeq ($(CONFIG_PP),yes)
-       $(MAKE) -C $(VPATH)/libpostproc $@
+       $(MAKE) -C libpostproc $@
 endif
 else
 install:
--- ffmpeg-0.cvs20050108.orig/Makefile
+++ ffmpeg-0.cvs20050108/Makefile
@@ -14,18 +14,18 @@
 LDFLAGS+=-p
 endif
 
-MANPAGE=$(SRC_PATH)/doc/ffmpeg.1
+MANPAGE=doc/ffmpeg.1
 PROG=ffmpeg$(EXESUF)
 PROGTEST=output_example$(EXESUF)
 QTFASTSTART=qt-faststart$(EXESUF)
 
 ifeq ($(CONFIG_FFSERVER),yes)
-MANPAGE+=$(SRC_PATH)/doc/ffserver.1
+MANPAGE+=doc/ffserver.1
 PROG+=ffserver$(EXESUF)
 endif
 
 ifeq ($(CONFIG_FFPLAY),yes)
-MANPAGE+=$(SRC_PATH)/doc/ffplay.1
+MANPAGE+=doc/ffplay.1
 PROG+=ffplay$(EXESUF)
 FFPLAY_O=ffplay.o
 endif
@@ -146,7 +146,7 @@
 # install man from source dir if available
 install-man:
 ifneq ($(CONFIG_WIN32),yes)
-       if [ -f $(SRC_PATH)/doc/ffmpeg.1 ] ; then \
+       if [ -f doc/ffmpeg.1 ] ; then \
            install -d "$(mandir)/man1" ; \
            install -m 644 $(MANPAGE) "$(mandir)/man1" ; \
        fi
-- 
  / /  (_)__  __ ____  __ Philipp Hahn
 / /__/ / _ \/ // /\ \/ /
/____/_/_//_/\_,_/ /_/\_\ [EMAIL PROTECTED]


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to