[SCM] ffmpeg/master: Add patch to make out-of-tree builds bit-identical to in-tree-builds.

aca-guest at users.alioth.debian.org aca-guest at users.alioth.debian.org
Fri Jan 15 22:16:05 UTC 2016


The following commit has been merged in the master branch:
commit 26af97e9c2a9b8356af641af9494cb63b373a60a
Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
Date:   Fri Jan 15 19:52:55 2016 +0100

    Add patch to make out-of-tree builds bit-identical to in-tree-builds.

diff --git a/debian/patches/build-make-out-of-tree-builds-bit-identical-to-in-tr.patch b/debian/patches/build-make-out-of-tree-builds-bit-identical-to-in-tr.patch
new file mode 100644
index 0000000..535e05c
--- /dev/null
+++ b/debian/patches/build-make-out-of-tree-builds-bit-identical-to-in-tr.patch
@@ -0,0 +1,92 @@
+From: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+Date: Mon, 28 Dec 2015 22:00:39 +0100
+Subject: build: make out-of-tree builds bit-identical to in-tree builds
+
+Previously the full source path was embedded inconsistently in the debug
+information between in-tree/out-of-tree builds.
+
+The 'vpath %.inc' becomes necessary for finding
+libavfilter/all_channel_layouts.inc in out-of-tree builds.
+
+The full source path is still embedded in the debug information, but
+it's now independent of whether building in-tree or out-of-tree.
+
+The biggest improvement of this patch is that gdb now always searches
+for the path relative to the source directory. It still also searches
+for the full path.
+Previously it searched only for the full path in out-of-tree builds,
+making the debug information generated by Debian's buildds rather hard
+to use.
+
+Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
+---
+ Makefile    | 1 +
+ common.mak  | 6 +++---
+ configure   | 1 +
+ library.mak | 2 +-
+ 4 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index b0ab3ed..0555a6c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,6 +4,7 @@ include config.mak
+ vpath %.c    $(SRC_PATH)
+ vpath %.cpp  $(SRC_PATH)
+ vpath %.h    $(SRC_PATH)
++vpath %.inc  $(SRC_PATH)
+ vpath %.m    $(SRC_PATH)
+ vpath %.S    $(SRC_PATH)
+ vpath %.asm  $(SRC_PATH)
+diff --git a/common.mak b/common.mak
+index 7569d35..b2d4b58 100644
+--- a/common.mak
++++ b/common.mak
+@@ -32,7 +32,7 @@ endif
+ ALLFFLIBS = avcodec avdevice avfilter avformat avresample avutil postproc swscale swresample
+ 
+ # NASM requires -I path terminated with /
+-IFLAGS     := -I. -I$(SRC_PATH)/
++IFLAGS     := -I$(DST_PATH)/ -I$(SRC_PATH)/
+ CPPFLAGS   := $(IFLAGS) $(CPPFLAGS)
+ CFLAGS     += $(ECFLAGS)
+ CCFLAGS     = $(CPPFLAGS) $(CFLAGS)
+@@ -41,11 +41,11 @@ CXXFLAGS   += $(CPPFLAGS) $(CFLAGS)
+ YASMFLAGS  += $(IFLAGS:%=%/) -Pconfig.asm
+ 
+ HOSTCCFLAGS = $(IFLAGS) $(HOSTCPPFLAGS) $(HOSTCFLAGS)
+-LDFLAGS    := $(ALLFFLIBS:%=$(LD_PATH)lib%) $(LDFLAGS)
++LDFLAGS    := $(ALLFFLIBS:%=$(LD_PATH)$(DST_PATH)/lib%) $(LDFLAGS)
+ 
+ define COMPILE
+        $(call $(1)DEP,$(1))
+-       $($(1)) $($(1)FLAGS) $($(1)_DEPFLAGS) $($(1)_C) $($(1)_O) $<
++       $(Q)cd $(SRC_PATH); $(subst @,,$($(1))) $($(1)FLAGS) $($(1)_DEPFLAGS:$(@:.o=.d)=$(DST_PATH)/$(@:.o=.d)) $($(1)_C) $($(1)_O:$@=$(DST_PATH)/$@) $(subst $(SRC_PATH)/,,$<)
+ endef
+ 
+ COMPILE_C = $(call COMPILE,CC)
+diff --git a/configure b/configure
+index ec4ff08..d6fc8c5 100755
+--- a/configure
++++ b/configure
+@@ -6012,6 +6012,7 @@ SRC_PATH=$source_path
+ ifndef MAIN_MAKEFILE
+ SRC_PATH:=\$(SRC_PATH:.%=..%)
+ endif
++DST_PATH=$(pwd)
+ CC_IDENT=$cc_ident
+ ARCH=$arch
+ INTRINSICS=$intrinsics
+diff --git a/library.mak b/library.mak
+index 6f95f63..0b23a28 100644
+--- a/library.mak
++++ b/library.mak
+@@ -28,7 +28,7 @@ $(SUBDIR)x86/%$(DEFAULT_YASMD).asm: $(SUBDIR)x86/%.asm
+ 
+ $(SUBDIR)x86/%.o: $(SUBDIR)x86/%$(YASMD).asm
+ 	$(DEPYASM) $(YASMFLAGS) -I $(<D)/ -M -o $@ $< > $(@:.o=.d)
+-	$(YASM) $(YASMFLAGS) -I $(<D)/ -o $@ $<
++	$(Q)cd $(SRC_PATH); $(subst @,,$(YASM)) $(YASMFLAGS) -I $(<D)/ -o $(DST_PATH)/$@ $(subst $(SRC_PATH)/,,$<)
+ 	-$(if $(ASMSTRIPFLAGS), $(STRIP) $(ASMSTRIPFLAGS) $@)
+ 
+ LIBOBJS := $(OBJS) $(SUBDIR)%.h.o $(TESTOBJS)
diff --git a/debian/patches/series b/debian/patches/series
index 4adb5e6..dcb90a7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 Change-symbol-versioning.patch
 doc-make-apidoc-output-independent-of-SRC_PATH.patch
+build-make-out-of-tree-builds-bit-identical-to-in-tr.patch

-- 
ffmpeg packaging



More information about the pkg-multimedia-commits mailing list