solenv/gbuild/LinkTarget.mk | 67 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 11 deletions(-)
New commits: commit 328c12a9a011c9a8ac74c89a493b1a75e853a638 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri Sep 17 13:02:03 2021 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Sat Sep 18 19:24:28 2021 +0200 make COMPILER_EXTERNAL_TOOL=1 work properly with generated sources The normal compile commands would fail if the tool standing in as the compiler would not generate e.g. the dependency files. Change-Id: I590a925d3562c9677cbd836095cd0b8cfeb9613b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122247 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 336c36362ff7..f7ecface2b89 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -325,12 +325,21 @@ endif gb_GenCObject_get_source = $(WORKDIR)/$(1).c +ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_GenCObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET) + $(call gb_Output_announce,$*.c,$(true),C ,3) + $(call gb_Trace_StartRange,$*.c,C ) + test -f $(call gb_GenCObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenCObject_get_source,$*)" && false) + $(call gb_CObject__tool_command,$*,$(call gb_GenCObject_get_source,$*),$(COMPILER_PLUGINS)) + $(call gb_Trace_EndRange,$*.c,C ) +else +$(call gb_GenCObject_get_target,%) : $(call gb_Output_announce,$*.c,$(true),C ,3) $(call gb_Trace_StartRange,$*.c,C ) test -f $(call gb_GenCObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenCObject_get_source,$*)" && false) $(call gb_CObject__command_pattern,$@,$(T_CFLAGS) $(T_CFLAGS_APPEND),$(call gb_GenCObject_get_source,$*),$(call gb_GenCObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_CC)) $(call gb_Trace_EndRange,$*.c,C ) +endif ifeq ($(gb_FULLDEPS),$(true)) $(dir $(call gb_GenCObject_get_dep_target,%)).dir : @@ -349,13 +358,22 @@ endif gb_GenCxxObject_get_source = $(WORKDIR)/$(1).$(gb_LinkTarget_CXX_SUFFIX_$(call gb_LinkTarget__get_workdir_linktargetname,$(2))) +ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_GenCxxObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET) + $(call gb_Output_announce,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),$(true),CXX,3) + $(call gb_Trace_StartRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX) + test -f $(GEN_CXX_SOURCE) || (echo "Missing generated source file $(GEN_CXX_SOURCE)" && false) + $(call gb_CxxObject__tool_command,$*,$(GEN_CXX_SOURCE),$(COMPILER_PLUGINS)) + $(call gb_Trace_EndRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX) +else +$(call gb_GenCxxObject_get_target,%) : $(call gb_Output_announce,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),$(true),CXX,3) $(call gb_Trace_StartRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX) test -f $(GEN_CXX_SOURCE) || (echo "Missing generated source file $(GEN_CXX_SOURCE)" && false) $(eval $(gb_CxxObject__set_pchflags)) $(call gb_CObject__command_pattern,$@,$(T_CXXFLAGS) $(T_CXXFLAGS_APPEND),$(GEN_CXX_SOURCE),$(call gb_GenCxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS),$(T_CXX)) $(call gb_Trace_EndRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX) +endif ifeq ($(gb_FULLDEPS),$(true)) $(dir $(call gb_GenCxxObject_get_dep_target,%)).dir : @@ -374,12 +392,21 @@ endif gb_GenCxxClrObject_get_source = $(WORKDIR)/$(1).$(gb_LinkTarget_CXX_SUFFIX_$(call gb_LinkTarget__get_workdir_linktargetname,$(2))) +ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_GenCxxClrObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET) + $(call gb_Output_announce,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),$(true),CLR,3) + $(call gb_Trace_StartRange,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR) + test -f $(GEN_CXXCLR_SOURCE) || (echo "Missing generated source file $(GEN_CXXCLR_SOURCE)" && false) + $(call gb_CxxClrObject__tool_command,$*,$(GEN_CXXCLR_SOURCE),$(COMPILER_PLUGINS)) + $(call gb_Trace_EndRange,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR) +else +$(call gb_GenCxxClrObject_get_target,%) : $(call gb_Output_announce,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),$(true),CLR,3) $(call gb_Trace_StartRange,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR) test -f $(GEN_CXXCLR_SOURCE) || (echo "Missing generated source file $(GEN_CXXCLR_SOURCE)" && false) $(call gb_CObject__command_pattern,$@,$(T_CXXCLRFLAGS) $(T_CXXCLRFLAGS_APPEND),$(GEN_CXXCLR_SOURCE),$(call gb_GenCxxClrObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS)) $(call gb_Trace_EndRange,$(subst $(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR) +endif ifeq ($(gb_FULLDEPS),$(true)) $(dir $(call gb_GenCxxClrObject_get_dep_target,%)).dir : @@ -520,12 +547,21 @@ endif gb_GenObjCObject_get_source = $(WORKDIR)/$(1).m +ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_GenObjCObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET) + $(call gb_Output_announce,$*.m,$(true),OCC,3) + $(call gb_Trace_StartRange,$*.m,OCC) + test -f $(call gb_GenObjCObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenObjCObject_get_source,$*)" && false) + $(call gb_ObjCObject__tool_command,$*,$(call gb_GenObjCObject_get_source,$*),$(COMPILER_PLUGINS)) + $(call gb_Trace_EndRange,$*.m,OCC) +else +$(call gb_GenObjCObject_get_target,%) : $(call gb_Output_announce,$*.m,$(true),OCC,3) $(call gb_Trace_StartRange,$*.m,OCC) test -f $(call gb_GenObjCObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenObjCObject_get_source,$*)" && false) $(call gb_CObject__command_pattern,$@,$(T_OBJCFLAGS) $(T_OBJCFLAGS_APPEND),$(call gb_GenObjCObject_get_source,$*),$(call gb_GenObjCObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS)) $(call gb_Trace_EndRange,$*.m,OCC) +endif ifeq ($(gb_FULLDEPS),$(true)) $(dir $(call gb_GenObjCObject_get_dep_target,%)).dir : @@ -544,12 +580,21 @@ endif gb_GenObjCxxObject_get_source = $(WORKDIR)/$(1).mm +ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_GenObjCxxObject_get_target,%) : $(gb_FORCE_COMPILE_ALL_TARGET) + $(call gb_Output_announce,$*.mm,$(true),OCX,3) + $(call gb_Trace_StartRange,$*.mm,OCX) + test -f $(call gb_GenObjCxxObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenObjCxxObject_get_source,$*)" && false) + $(call gb_ObjCxxObject__tool_command,$*,$(call gb_GenObjCxxObject_get_source,$*),$(COMPILER_PLUGINS)) + $(call gb_Trace_EndRange,$*.mm,OCX) +else +$(call gb_GenObjCxxObject_get_target,%) : $(call gb_Output_announce,$*.mm,$(true),OCX,3) $(call gb_Trace_StartRange,$*.mm,OCX) test -f $(call gb_GenObjCxxObject_get_source,$*) || (echo "Missing generated source file $(call gb_GenObjCxxObject_get_source,$*)" && false) $(call gb_CObject__command_pattern,$@,$(T_OBJCXXFLAGS) $(T_OBJCXXFLAGS_APPEND),$(call gb_GenObjCxxObject_get_source,$*),$(call gb_GenObjCxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_SYMBOLS)) $(call gb_Trace_EndRange,$*.mm,OCX) +endif ifeq ($(gb_FULLDEPS),$(true)) $(dir $(call gb_GenObjCxxObject_get_dep_target,%)).dir : commit 56c2562cc5cf33ea415ef14e4a8bfa41e44ad722 Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri Sep 17 12:04:58 2021 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Sat Sep 18 19:24:13 2021 +0200 don't force compiler plugins when COMPILER_EXTERNAL_TOOL=1 is used Change-Id: I741d4e5450ba66d4452ee2e5398eaac0643a371f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122246 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 60be7cfb68cc..336c36362ff7 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -85,7 +85,7 @@ gb_LinkTarget_LAYER_LINKPATHS := \ # it ever becomes necessary, they can be moved to e.g. # platform/com_{GCC,MSC}_class.mk and made different there. # -# $(call gb_CObject__tool_command,relative-source,source) +# $(call gb_CObject__tool_command,relative-source,source,compiler-plugins) define gb_CObject__tool_command $(call gb_Helper_abbreviate_dirs,\ ICECC=no CCACHE_DISABLE=1 \ @@ -94,7 +94,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_LTOFLAGS) \ $(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \ $(if $(WARNINGS_NOT_ERRORS),$(if $(ENABLE_WERROR),$(if $(PLUGIN_WARNINGS_AS_ERRORS),$(gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS))),$(gb_CFLAGS_WERROR)) \ - $(gb_COMPILER_PLUGINS) \ + $(if $(3),$(gb_COMPILER_PLUGINS)) \ $(T_CFLAGS) $(T_CFLAGS_APPEND) \ $(if $(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \ -c $(2) \ @@ -109,7 +109,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_LTOFLAGS) \ $(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \ $(if $(WARNINGS_NOT_ERRORS),$(if $(ENABLE_WERROR),$(if $(PLUGIN_WARNINGS_AS_ERRORS),$(gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS))),$(gb_CFLAGS_WERROR)) \ - $(gb_COMPILER_PLUGINS) \ + $(if $(3),$(gb_COMPILER_PLUGINS)) \ $(T_OBJCFLAGS) $(T_OBJCFLAGS_APPEND) \ $(if $(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \ -c $(2) \ @@ -124,7 +124,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_LTOFLAGS) \ $(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \ $(if $(WARNINGS_NOT_ERRORS),$(if $(ENABLE_WERROR),$(if $(PLUGIN_WARNINGS_AS_ERRORS),$(gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS))),$(gb_CFLAGS_WERROR)) \ - $(gb_COMPILER_PLUGINS) \ + $(if $(3),$(gb_COMPILER_PLUGINS)) \ $(T_CXXFLAGS) $(T_CXXFLAGS_APPEND) \ $(if $(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \ -c $(2) \ @@ -139,7 +139,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_LTOFLAGS) \ $(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \ $(if $(WARNINGS_NOT_ERRORS),$(if $(ENABLE_WERROR),$(if $(PLUGIN_WARNINGS_AS_ERRORS),$(gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS))),$(gb_CFLAGS_WERROR)) \ - $(gb_COMPILER_PLUGINS) \ + $(if $(3),$(gb_COMPILER_PLUGINS)) \ $(T_OBJCXXFLAGS) $(T_OBJCXXFLAGS_APPEND) \ $(if $(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \ -c $(2) \ @@ -154,7 +154,7 @@ $(call gb_Helper_abbreviate_dirs,\ $(gb_LTOFLAGS) \ $(if $(VISIBILITY),,$(gb_VISIBILITY_FLAGS)) \ $(if $(WARNINGS_NOT_ERRORS),$(if $(ENABLE_WERROR),$(if $(PLUGIN_WARNINGS_AS_ERRORS),$(gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS))),$(gb_CFLAGS_WERROR)) \ - $(gb_COMPILER_PLUGINS) \ + $(if $(3),$(gb_COMPILER_PLUGINS)) \ $(T_CXXCLRFLAGS) $(T_CXXCLRFLAGS_APPEND) \ $(if $(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \ -c $(2) \ @@ -235,7 +235,7 @@ ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_CObject_get_target,%) : $(call gb_CObject_get_source,$(SRCDIR),%) $(gb_FORCE_COMPILE_ALL_TARGET) $(call gb_Output_announce,$*.c,$(true),C ,3) $(call gb_Trace_StartRange,$*.c,C ) - $(call gb_CObject__tool_command,$*,$<) + $(call gb_CObject__tool_command,$*,$<,$(COMPILER_PLUGINS)) $(call gb_Trace_EndRange,$*.c,C ) else $(call gb_CObject_get_target,%) : $(call gb_CObject_get_source,$(SRCDIR),%) @@ -297,7 +297,7 @@ ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_CxxObject_get_target,%) : $(call gb_CxxObject_get_source,$(SRCDIR),%) $(gb_FORCE_COMPILE_ALL_TARGET) $(call gb_Output_announce,$*.cxx,$(true),CXX,3) $(call gb_Trace_StartRange,$*.cxx,CXX) - $(call gb_CxxObject__tool_command,$*,$<) + $(call gb_CxxObject__tool_command,$*,$<,$(COMPILER_PLUGINS)) $(call gb_Trace_EndRange,$*.cxx,CXX) else $(call gb_CxxObject_get_target,%) : $(call gb_CxxObject_get_source,$(SRCDIR),%) @@ -461,7 +461,7 @@ ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_ObjCxxObject_get_target,%) : $(call gb_ObjCxxObject_get_source,$(SRCDIR),%) $(gb_FORCE_COMPILE_ALL_TARGET) $(call gb_Output_announce,$*.mm,$(true),OCX,3) $(call gb_Trace_StartRange,$*.mm,OCX) - $(call gb_ObjCxxObject__tool_command,$*,$<) + $(call gb_ObjCxxObject__tool_command,$*,$<,$(COMPILER_PLUGINS)) $(call gb_Trace_EndRange,$*.mm,OCX) else $(call gb_ObjCxxObject_get_target,%) : $(call gb_ObjCxxObject_get_source,$(SRCDIR),%) @@ -493,7 +493,7 @@ ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_ObjCObject_get_target,%) : $(call gb_ObjCObject_get_source,$(SRCDIR),%) $(gb_FORCE_COMPILE_ALL_TARGET) $(call gb_Output_announce,$*.m,$(true),OCC,3) $(call gb_Trace_StartRange,$*.m,OCC) - $(call gb_ObjCObject__tool_command,$*,$<) + $(call gb_ObjCObject__tool_command,$*,$<,$(COMPILER_PLUGINS)) $(call gb_Trace_EndRange,$*.m,OCC) else $(call gb_ObjCObject_get_target,%) : $(call gb_ObjCObject_get_source,$(SRCDIR),%) @@ -573,7 +573,7 @@ ifneq ($(COMPILER_EXTERNAL_TOOL)$(COMPILER_PLUGIN_TOOL),) $(call gb_CxxClrObject_get_target,%) : $(call gb_CxxClrObject_get_source,$(SRCDIR),%) $(gb_FORCE_COMPILE_ALL_TARGET) $(call gb_Output_announce,$*.cxx,$(true),CLR,3) $(call gb_Trace_StartRange,$*.cxx,CLR) - $(call gb_CxxClrObject__tool_command,$*,$<) + $(call gb_CxxClrObject__tool_command,$*,$<,$(COMPILER_PLUGINS)) $(call gb_Trace_EndRange,$*.cxx,CLR) else $(call gb_CxxClrObject_get_target,%) : $(call gb_CxxClrObject_get_source,$(SRCDIR),%)