[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