On 02.02.2016 17:13, Clément Bœsch wrote: > On Mon, Jan 25, 2016 at 08:51:32PM +0100, Andreas Cadhalpun wrote: >> ffmpeg | branch: master | Andreas Cadhalpun >> <andreas.cadhal...@googlemail.com> | Mon Jan 25 01:42:23 2016 +0100| >> [b46aae093634271931395d65f422f4b2a23112d3] | committer: Andreas Cadhalpun >> >> build: use a link instead of changing current directory when compiling >> >> If links don't work, fall back to using the full source path as was >> previously done. >> >> This should fix build failures with MSVC. >> > > This commit seems to break coverage. > > [~/ffbuild/lcov]☭ make lcov > LCOV coverage.info > Cannot open source file src/ffmpeg_vdpau.c > [...]
I see, it passes '-b $(SRC_PATH)' to lcov, which is now unnecessary/harmful for out-of-tree builds using the src link. The first attached patch changes it to simply use the current directory in that case. The second patch was necessary to fix the following error: lcov: ERROR: cannot write to coverage.info! Does it work for you without that patch? > http://coverage.ffmpeg.org is broken because of this. It would be great if that site would have a more meaningful error message than '404 Not Found'. Best regards, Andreas
>From ac789e76bd28ac067591b58165094788a376fd6c Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> Date: Wed, 3 Feb 2016 00:24:21 +0100 Subject: [PATCH 1/2] build: fix lcov with src link When out-of-tree builds now use a relative path, the '-b' option of lcov is not needed, so just pass the current directory to it in this case. Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> --- tests/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Makefile b/tests/Makefile index ac524ac..db2bc61 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -216,7 +216,7 @@ fate-list: coverage.info: TAG = LCOV coverage.info: - $(M)lcov -q -d $(CURDIR) -b $(SRC_PATH) --capture | \ + $(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \ sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@ $(M)lcov -q --remove $@ "/usr*" -o $@ -- 2.7.0
>From a61f724079be9b0193ab7f917f13f1b4e5c10eeb Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> Date: Wed, 3 Feb 2016 00:24:26 +0100 Subject: [PATCH 2/2] build: use intermediate lcov coverage file Otherwise the 'lcov -q --remove' run fails with the following error: lcov: ERROR: cannot write to coverage.info! Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> --- tests/Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index db2bc61..6e5dfa6 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -217,8 +217,9 @@ fate-list: coverage.info: TAG = LCOV coverage.info: $(M)lcov -q -d $(CURDIR) -b $(patsubst src%,./,$(SRC_LINK)) --capture | \ - sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@ - $(M)lcov -q --remove $@ "/usr*" -o $@ + sed "s,$(CURDIR)/\./,$(CURDIR)/," > $@.in + $(M)lcov -q --remove $@.in "/usr*" > $@ + $(Q)$(RM) $@.in lcov: TAG = GENHTML lcov: coverage.info -- 2.7.0
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel