config_host.mk.in                       |    1 +
 configure.ac                            |   12 ++++++++++++
 solenv/gbuild/LinkTarget.mk             |    1 +
 solenv/gbuild/platform/com_MSC_class.mk |    2 ++
 4 files changed, 16 insertions(+)

New commits:
commit 1bb248fa3670ac11d4623ba14d1e914554fb6971
Author:     Jan-Marek Glogowski <glo...@fbihome.de>
AuthorDate: Fri Dec 31 22:52:47 2021 +0100
Commit:     Jan-Marek Glogowski <glo...@fbihome.de>
CommitDate: Sat Jan 1 11:50:02 2022 +0100

    gbuild: silence Windows Skia clang builds
    
    When building Skia on Windows in an non-English environment, the
    console is filled with "Note: including file:" output. That's
    because cl.exe has some translated output, but clang.exe has not.
    
    So detect the clang usage and its "showIncludes" output and
    override that setting for the compiler call.
    
    Change-Id: I19b403aa79a8dde70616865aef051aa365f79de6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127822
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de>

diff --git a/config_host.mk.in b/config_host.mk.in
index dfcd2f169b1c..578926500b48 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -418,6 +418,7 @@ export 
LO_CLANG_CXXFLAGS_INTRINSICS_AVX512=@LO_CLANG_CXXFLAGS_INTRINSICS_AVX512@
 export 
LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F=@LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F@
 export LO_CLANG_CXXFLAGS_INTRINSICS_F16C=@LO_CLANG_CXXFLAGS_INTRINSICS_F16C@
 export LO_CLANG_CXXFLAGS_INTRINSICS_FMA=@LO_CLANG_CXXFLAGS_INTRINSICS_FMA@
+export LO_CLANG_SHOWINCLUDES_PREFIX=@LO_CLANG_SHOWINCLUDES_PREFIX@
 @x_LO_ELFCHECK_ALLOWLIST@ export LO_ELFCHECK_ALLOWLIST=@LO_ELFCHECK_ALLOWLIST@
 @x_Cygwin@ export LS=@WIN_LS@
 export MACOSX_BUNDLE_IDENTIFIER=@MACOSX_BUNDLE_IDENTIFIER@
diff --git a/configure.ac b/configure.ac
index 7d3df0f0b3d4..fb8d85a01f71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12041,6 +12041,17 @@ if test "$ENABLE_SKIA" = TRUE -a "$COM_IS_CLANG" != 
TRUE; then
             else
                 AC_MSG_RESULT([no])
             fi
+
+            AC_MSG_CHECKING([the dependency generation prefix (clang.exe 
-showIncludes)])
+            echo "#include <stdlib.h>" > conftest.c
+            LO_CLANG_SHOWINCLUDES_PREFIX=`$LO_CLANG_CC $CFLAGS -c 
-showIncludes conftest.c 2>/dev/null | \
+                grep 'stdlib\.h' | head -n1 | sed 's/ [[[:alpha:]]]:.*//'`
+            rm -f conftest.c conftest.obj
+            if test -z "$LO_CLANG_SHOWINCLUDES_PREFIX"; then
+                AC_MSG_ERROR([cannot determine the -showIncludes prefix])
+            else
+                AC_MSG_RESULT(["$LO_CLANG_SHOWINCLUDES_PREFIX"])
+            fi
         else
             AC_CHECK_PROG(LO_CLANG_CC,clang,clang,[])
             AC_CHECK_PROG(LO_CLANG_CXX,clang++,clang++,[])
@@ -12348,6 +12359,7 @@ AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512)
 AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_AVX512F)
 AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_F16C)
 AC_SUBST(LO_CLANG_CXXFLAGS_INTRINSICS_FMA)
+AC_SUBST(LO_CLANG_SHOWINCLUDES_PREFIX)
 AC_SUBST(CLANG_USE_LD)
 AC_SUBST([HAVE_LO_CLANG_DLLEXPORTINLINES])
 
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index 7f72ab131ac8..3f4e329587b8 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -2085,6 +2085,7 @@ endef
 define gb_LinkTarget_use_clang
 $(call gb_LinkTarget_get_target,$(1)) : T_CC := $(LO_CLANG_CC)
 $(call gb_LinkTarget_get_target,$(1)) : T_CXX := $(LO_CLANG_CXX)
+$(call gb_LinkTarget_get_target,$(1)) : T_USE_CLANG := $(true)
 $(call gb_LinkTarget_get_target,$(1)) : T_USE_LD := $(or 
$(CLANG_USE_LD),$(USE_LD))
 $(call gb_LinkTarget_get_target,$(1)) : T_LTOFLAGS := $(or 
$(gb_CLANG_LTOFLAGS),$(gb_LTOFLAGS))
 endef
diff --git a/solenv/gbuild/platform/com_MSC_class.mk 
b/solenv/gbuild/platform/com_MSC_class.mk
index dd4a550b7512..28657adb6aae 100644
--- a/solenv/gbuild/platform/com_MSC_class.mk
+++ b/solenv/gbuild/platform/com_MSC_class.mk
@@ -65,6 +65,7 @@ define gb_CObject__command_pattern
 $(call gb_Helper_abbreviate_dirs,\
        mkdir -p $(dir $(1)) $(dir $(4)) && \
        unset INCLUDE && \
+       $(if $(and $(gb_COMPILERDEPFLAGS),$(T_USE_CLANG)), export 
SHOWINCLUDES_PREFIX="${LO_CLANG_SHOWINCLUDES_PREFIX}" &&) \
        $(gb_COMPILER_SETUP) \
        $(call gb_CObject__compiler,$(2),$(3),$(6)) \
                $(call gb_Helper_remove_overridden_flags, \
@@ -108,6 +109,7 @@ $(call gb_Output_announce,$(2),$(true),PCH,1)
 $(call gb_Helper_abbreviate_dirs,\
        mkdir -p $(dir $(1)) $(dir $(call 
gb_PrecompiledHeader_get_dep_target,$(2),$(6))) && \
        unset INCLUDE && \
+       $(if $(and $(gb_COMPILERDEPFLAGS),$(T_USE_CLANG)), export 
SHOWINCLUDES_PREFIX="${LO_CLANG_SHOWINCLUDES_PREFIX}" &&) \
        CCACHE_DISABLE=1 $(gb_COMPILER_SETUP) \
        $(call gb_CObject__compiler,$(4),$(3),$(7)) \
                $(call gb_Helper_remove_overridden_flags, \

Reply via email to