compilerplugins/Makefile-clang.mk | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)
New commits: commit db123abade41a54d34add4fae46b769cd863de7f Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Thu Sep 19 16:54:25 2019 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Fri Sep 20 10:48:02 2019 +0200 rebuild sharedvisitor.cxx if any of its sources disappears Testcase: Remove any reference to LO_CLANG_SHARED_PLUGINS from e.g. blockblock.cxx, sharedvisitor.cxx should get regenerated. Change-Id: Iddff3cf41c223cfdf161060d29bde9df1df7b702 Reviewed-on: https://gerrit.libreoffice.org/79194 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/compilerplugins/Makefile-clang.mk b/compilerplugins/Makefile-clang.mk index ac23edf6cb2b..1a2ceef369df 100644 --- a/compilerplugins/Makefile-clang.mk +++ b/compilerplugins/Makefile-clang.mk @@ -275,6 +275,28 @@ $(CLANGOUTDIR)/sharedvisitor: -include $(CLANGOUTDIR)/sharedvisitor/analyzer.d -include $(CLANGOUTDIR)/sharedvisitor/generator.d # TODO WNT version + +# Remember the sources that are shared and if they have changed, force sharedvisitor.cxx generating. +# Duplicated from CLANGSRCCHANGED above. +CLANGSRCSHAREDCHANGED= \ + $(shell mkdir -p $(CLANGOUTDIR) ; \ + echo $(SHARED_SOURCES) | sort > $(CLANGOUTDIR)/sources-shared-new.txt; \ + if diff $(CLANGOUTDIR)/sources-shared.txt $(CLANGOUTDIR)/sources-shared-new.txt >/dev/null 2>/dev/null; then \ + echo 0; \ + else \ + mv $(CLANGOUTDIR)/sources-shared-new.txt $(CLANGOUTDIR)/sources-shared.txt; \ + echo 1; \ + fi; \ + ) +ifeq ($(CLANGSRCSHAREDCHANGED),1) +.PHONY: CLANGFORCE +CLANGFORCE: +$(CLANGOUTDIR)/sharedvisitor/sharedvisitor.cxx: CLANGFORCE +endif +# Make sharedvisitor.cxx also explicitly depend on the sources list, to force update in case CLANGSRCSHAREDCHANGED was e.g. during 'make clean'. +$(CLANGOUTDIR)/sharedvisitor/sharedvisitor.cxx: $(CLANGOUTDIR)/sources-shared.txt +$(CLANGOUTDIR)/sources-shared.txt: + touch $@ endif ifdef LO_CLANG_USE_ANALYZER_PCH _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits