solenv/gbuild/LinkTarget.mk            |   22 +++++++++++++++++-----
 solenv/gbuild/platform/com_GCC_defs.mk |   13 +++++++------
 solenv/gbuild/platform/com_MSC_defs.mk |   13 +++++++------
 3 files changed, 31 insertions(+), 17 deletions(-)

New commits:
commit 43939d0b3286266217a2625d5a7a3de1a2cdd303
Author:     Stephan Bergmann <[email protected]>
AuthorDate: Wed Aug 23 22:11:30 2023 +0200
Commit:     Stephan Bergmann <[email protected]>
CommitDate: Mon Aug 28 14:50:13 2023 +0200

    Do a real compile after a successful COMPILER_PLUGIN_TOOL=... compile
    
    ...so that object files are generated after all, even though the
    COMPILER_PLUGIN_TOOL=... compile itself doesn't generate them.
    
    (This required the existing gb_COMPILER_PLUGIN variable to be 
disambiguated, by
    splitting off a new gb_COMPILER_PLUGINS_TOOL variable.)
    
    Change-Id: I652c98c9ef2a6120a6e3f809af5ab2ccf09dabc6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156194
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <[email protected]>

diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 9bf4cacf2b8a..85139659c634 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -98,7 +98,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(T_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))
 \
-               $(if $(3),$(gb_COMPILER_PLUGINS)) \
+               $(if $(3),$(gb_COMPILER_PLUGINS_TOOL)) \
                $(T_CFLAGS) $(T_CFLAGS_APPEND) \
                $(if 
$(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \
                -c $(2) \
@@ -113,7 +113,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(T_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))
 \
-               $(if $(3),$(gb_COMPILER_PLUGINS)) \
+               $(if $(3),$(gb_COMPILER_PLUGINS_TOOL)) \
                $(T_OBJCFLAGS) $(T_OBJCFLAGS_APPEND) \
                $(if 
$(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \
                -c $(2) \
@@ -128,7 +128,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(T_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))
 \
-               $(if $(3),$(gb_COMPILER_PLUGINS)) \
+               $(if $(3),$(gb_COMPILER_PLUGINS_TOOL)) \
                $(T_CXXFLAGS) $(T_CXXFLAGS_APPEND) \
                $(if 
$(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \
                -c $(2) \
@@ -143,7 +143,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(T_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))
 \
-               $(if $(3),$(gb_COMPILER_PLUGINS)) \
+               $(if $(3),$(gb_COMPILER_PLUGINS_TOOL)) \
                $(T_OBJCXXFLAGS) $(T_OBJCXXFLAGS_APPEND) \
                $(if 
$(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \
                -c $(2) \
@@ -158,7 +158,7 @@ $(call gb_Helper_abbreviate_dirs,\
                $(T_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))
 \
-               $(if $(3),$(gb_COMPILER_PLUGINS)) \
+               $(if $(3),$(gb_COMPILER_PLUGINS_TOOL)) \
                $(T_CXXCLRFLAGS) $(T_CXXCLRFLAGS_APPEND) \
                $(if 
$(EXTERNAL_CODE),$(gb_CXXFLAGS_Wundef),$(gb_DEFS_INTERNAL)) \
                -c $(2) \
@@ -266,6 +266,7 @@ $(call gb_CObject_get_target,%) : $(call 
gb_CObject_get_source,$(SRCDIR),%) $(gb
        $(call gb_Output_announce,$*.c,$(true),C  ,3)
        $(call gb_Trace_StartRange,$*.c,C  )
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CObject__tool_command,$*,$<,$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) 
$(T_CFLAGS_APPEND),$<,$(call 
gb_CObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_CC))))
        $(call gb_Trace_EndRange,$*.c,C  )
 else
 $(call gb_CObject_get_target,%) : $(call gb_CObject_get_source,$(SRCDIR),%)
@@ -328,6 +329,8 @@ $(call gb_CxxObject_get_target,%) : $(call 
gb_CxxObject_get_source,$(SRCDIR),%)
        $(call gb_Output_announce,$*.cxx,$(true),CXX,3)
        $(call gb_Trace_StartRange,$*.cxx,CXX)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CxxObject__tool_command,$*,$<,$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(eval $(gb_CxxObject__set_pchflags))))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CXXFLAGS) 
$(T_CXXFLAGS_APPEND) $(if $(COMPILER_TEST),$(gb_COMPILER_TEST_FLAGS)),$<,$(call 
gb_CxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_CXX))))
        $(call gb_Trace_EndRange,$*.cxx,CXX)
 else
 $(call gb_CxxObject_get_target,%) : $(call gb_CxxObject_get_source,$(SRCDIR),%)
@@ -361,6 +364,7 @@ $(call gb_GenCObject_get_target,%) : 
$(gb_FORCE_COMPILE_TARGET)
        $(call gb_Trace_StartRange,$*.c,C  )
        test -f $(call gb_GenCObject_get_source,$*) || (echo "Missing generated 
source file $(call gb_GenCObject_get_source,$*)" && false)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CObject__tool_command,$*,$(call 
gb_GenCObject_get_source,$*),$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CFLAGS) 
$(T_CFLAGS_APPEND),$(call gb_GenCObject_get_source,$*),$(call 
gb_GenCObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_CC))))
        $(call gb_Trace_EndRange,$*.c,C  )
 else
 $(call gb_GenCObject_get_target,%) :
@@ -394,6 +398,8 @@ $(call gb_GenCxxObject_get_target,%) : 
$(gb_FORCE_COMPILE_TARGET)
        $(call gb_Trace_StartRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX)
        test -f $(GEN_CXX_SOURCE) || (echo "Missing generated source file 
$(GEN_CXX_SOURCE)" && false)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CxxObject__tool_command,$*,$(GEN_CXX_SOURCE),$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(eval $(gb_CxxObject__set_pchflags))))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CXXFLAGS) 
$(T_CXXFLAGS_APPEND),$(GEN_CXX_SOURCE),$(call 
gb_GenCxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),$(T_CXX))))
        $(call gb_Trace_EndRange,$(subst $(BUILDDIR)/,,$(GEN_CXX_SOURCE)),CXX)
 else
 $(call gb_GenCxxObject_get_target,%) :
@@ -428,6 +434,7 @@ $(call gb_GenCxxClrObject_get_target,%) : 
$(gb_FORCE_COMPILE_TARGET)
        $(call gb_Trace_StartRange,$(subst 
$(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR)
        test -f $(GEN_CXXCLR_SOURCE) || (echo "Missing generated source file 
$(GEN_CXXCLR_SOURCE)" && false)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CxxClrObject__tool_command,$*,$(GEN_CXXCLR_SOURCE),$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CXXCLRFLAGS) 
$(T_CXXCLRFLAGS_APPEND),$(GEN_CXXCLR_SOURCE),$(call 
gb_GenCxxClrObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$(subst 
$(BUILDDIR)/,,$(GEN_CXXCLR_SOURCE)),CLR)
 else
 $(call gb_GenCxxClrObject_get_target,%) :
@@ -519,6 +526,7 @@ $(call gb_ObjCxxObject_get_target,%) : $(call 
gb_ObjCxxObject_get_source,$(SRCDI
        $(call gb_Output_announce,$*.mm,$(true),OCX,3)
        $(call gb_Trace_StartRange,$*.mm,OCX)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_ObjCxxObject__tool_command,$*,$<,$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_OBJCXXFLAGS) 
$(T_OBJCXXFLAGS_APPEND),$<,$(call 
gb_ObjCxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$*.mm,OCX)
 else
 $(call gb_ObjCxxObject_get_target,%) : $(call 
gb_ObjCxxObject_get_source,$(SRCDIR),%)
@@ -551,6 +559,7 @@ $(call gb_ObjCObject_get_target,%) : $(call 
gb_ObjCObject_get_source,$(SRCDIR),%
        $(call gb_Output_announce,$*.m,$(true),OCC,3)
        $(call gb_Trace_StartRange,$*.m,OCC)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_ObjCObject__tool_command,$*,$<,$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_OBJCFLAGS) 
$(T_OBJCFLAGS_APPEND),$<,$(call 
gb_ObjCObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$*.m,OCC)
 else
 $(call gb_ObjCObject_get_target,%) : $(call 
gb_ObjCObject_get_source,$(SRCDIR),%)
@@ -583,6 +592,7 @@ $(call gb_GenObjCObject_get_target,%) : 
$(gb_FORCE_COMPILE_TARGET)
        $(call gb_Trace_StartRange,$*.m,OCC)
        test -f $(call gb_GenObjCObject_get_source,$*) || (echo "Missing 
generated source file $(call gb_GenObjCObject_get_source,$*)" && false)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_ObjCObject__tool_command,$*,$(call 
gb_GenObjCObject_get_source,$*),$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_OBJCFLAGS) 
$(T_OBJCFLAGS_APPEND),$(call gb_GenObjCObject_get_source,$*),$(call 
gb_GenObjCObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$*.m,OCC)
 else
 $(call gb_GenObjCObject_get_target,%) :
@@ -616,6 +626,7 @@ $(call gb_GenObjCxxObject_get_target,%) : 
$(gb_FORCE_COMPILE_TARGET)
        $(call gb_Trace_StartRange,$*.mm,OCX)
        test -f $(call gb_GenObjCxxObject_get_source,$*) || (echo "Missing 
generated source file $(call gb_GenObjCxxObject_get_source,$*)" && false)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_ObjCxxObject__tool_command,$*,$(call 
gb_GenObjCxxObject_get_source,$*),$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_OBJCXXFLAGS) 
$(T_OBJCXXFLAGS_APPEND),$(call gb_GenObjCxxObject_get_source,$*),$(call 
gb_GenObjCxxObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$*.mm,OCX)
 else
 $(call gb_GenObjCxxObject_get_target,%) :
@@ -675,6 +686,7 @@ $(call gb_CxxClrObject_get_target,%) : $(call 
gb_CxxClrObject_get_source,$(SRCDI
        $(call gb_Output_announce,$*.cxx,$(true),CLR,3)
        $(call gb_Trace_StartRange,$*.cxx,CLR)
        $(if $(call gb_LinkTarget__tool_compile_enabled),$(call 
gb_CxxClrObject__tool_command,$*,$<,$(COMPILER_PLUGINS)))
+       $(if $(call gb_LinkTarget__tool_compile_enabled),$(if 
$(COMPILER_PLUGIN_TOOL),$(call gb_CObject__command_pattern,$@,$(T_CXXCLRFLAGS) 
$(T_CXXCLRFLAGS_APPEND),$<,$(call 
gb_CxxClrObject_get_dep_target,$*),$(COMPILER_PLUGINS),)))
        $(call gb_Trace_EndRange,$*.cxx,CLR)
 else
 $(call gb_CxxClrObject_get_target,%) : $(call 
gb_CxxClrObject_get_source,$(SRCDIR),%)
diff --git a/solenv/gbuild/platform/com_GCC_defs.mk 
b/solenv/gbuild/platform/com_GCC_defs.mk
index 8f99e91f5f9b..7ea7a16461e3 100644
--- a/solenv/gbuild/platform/com_GCC_defs.mk
+++ b/solenv/gbuild/platform/com_GCC_defs.mk
@@ -260,20 +260,20 @@ gb_LinkTarget_INCLUDE :=\
 
 ifeq ($(COM_IS_CLANG),TRUE)
 gb_COMPILER_TEST_FLAGS := -Xclang -plugin-arg-loplugin -Xclang --unit-test-mode
-ifeq ($(COMPILER_PLUGIN_TOOL),)
 gb_COMPILER_PLUGINS := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.so -Xclang -add-plugin -Xclang loplugin
 ifneq ($(COMPILER_PLUGIN_WARNINGS_ONLY),)
 gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang \
     --warnings-only='$(COMPILER_PLUGIN_WARNINGS_ONLY)'
 endif
-else
-gb_COMPILER_PLUGINS := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.so -Xclang -plugin -Xclang loplugin 
$(foreach plugin,$(COMPILER_PLUGIN_TOOL), -Xclang -plugin-arg-loplugin -Xclang 
$(plugin))
-ifneq ($(UPDATE_FILES),)
-gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang 
--scope=$(UPDATE_FILES)
+ifeq ($(COMPILER_PLUGINS_DEBUG),TRUE)
+gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang --debug
 endif
+gb_COMPILER_PLUGINS_TOOL := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.so -Xclang -plugin -Xclang loplugin 
$(foreach plugin,$(COMPILER_PLUGIN_TOOL), -Xclang -plugin-arg-loplugin -Xclang 
$(plugin))
+ifneq ($(UPDATE_FILES),)
+gb_COMPILER_PLUGINS_TOOL += -Xclang -plugin-arg-loplugin -Xclang 
--scope=$(UPDATE_FILES)
 endif
 ifeq ($(COMPILER_PLUGINS_DEBUG),TRUE)
-gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang --debug
+gb_COMPILER_PLUGINS_TOOL += -Xclang -plugin-arg-loplugin -Xclang --debug
 endif
 
 # Set CCACHE_CPP2=1 to prevent Clang generating spurious warnings.
@@ -296,6 +296,7 @@ gb_COMPILER_SETUP += CCACHE_CPP2=1
 endif
 gb_COMPILER_TEST_FLAGS :=
 gb_COMPILER_PLUGINS :=
+gb_COMPILER_PLUGINS_TOOL :=
 gb_COMPILER_PLUGINS_SETUP :=
 gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS :=
 endif
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index 407ca991007d..63e618783e63 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -304,26 +304,27 @@ endif
 
 ifeq ($(COM_IS_CLANG),TRUE)
 gb_COMPILER_TEST_FLAGS := -Xclang -plugin-arg-loplugin -Xclang --unit-test-mode
-ifeq ($(COMPILER_PLUGIN_TOOL),)
 gb_COMPILER_PLUGINS := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.dll -Xclang -add-plugin -Xclang 
loplugin
 ifneq ($(COMPILER_PLUGIN_WARNINGS_ONLY),)
 gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang \
     --warnings-only='$(COMPILER_PLUGIN_WARNINGS_ONLY)'
 endif
-else
-gb_COMPILER_PLUGINS := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.dll -Xclang -plugin -Xclang loplugin 
$(foreach plugin,$(COMPILER_PLUGIN_TOOL), -Xclang -plugin-arg-loplugin -Xclang 
$(plugin))
-ifneq ($(UPDATE_FILES),)
-gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang 
--scope=$(UPDATE_FILES)
+ifeq ($(COMPILER_PLUGINS_DEBUG),TRUE)
+gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang --debug
 endif
+gb_COMPILER_PLUGINS_TOOL := -Xclang -load -Xclang 
$(BUILDDIR)/compilerplugins/clang/plugin.dll -Xclang -plugin -Xclang loplugin 
$(foreach plugin,$(COMPILER_PLUGIN_TOOL), -Xclang -plugin-arg-loplugin -Xclang 
$(plugin))
+ifneq ($(UPDATE_FILES),)
+gb_COMPILER_PLUGINS_TOOL += -Xclang -plugin-arg-loplugin -Xclang 
--scope=$(UPDATE_FILES)
 endif
 ifeq ($(COMPILER_PLUGINS_DEBUG),TRUE)
-gb_COMPILER_PLUGINS += -Xclang -plugin-arg-loplugin -Xclang --debug
+gb_COMPILER_PLUGINS_TOOL += -Xclang -plugin-arg-loplugin -Xclang --debug
 endif
 gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS := \
     -Xclang -plugin-arg-loplugin -Xclang --warnings-as-errors
 else
 gb_COMPILER_TEST_FLAGS :=
 gb_COMPILER_PLUGINS :=
+gb_COMPILER_PLUGINS_TOOL :=
 gb_COMPILER_PLUGINS_WARNINGS_AS_ERRORS :=
 endif
 

Reply via email to