config_host.mk.in                       |    1 +
 configure.ac                            |   14 +++++++++++++-
 solenv/gbuild/platform/com_GCC_class.mk |    4 ++--
 3 files changed, 16 insertions(+), 3 deletions(-)

New commits:
commit 966076d8410f24488200a5ee0406cf74cb84fad6
Author:     Stephan Bergmann <stephan.bergm...@collabora.com>
AuthorDate: Mon Jul 28 16:25:11 2025 +0200
Commit:     Stephan Bergmann <stephan.bergm...@collabora.com>
CommitDate: Tue Jul 29 09:57:27 2025 +0200

    Add an --enable-dependency-tracking=sysincludes option
    
    (Which I find useful when working on the C++ code of the Emscripten that is 
used
    to build LO and having ccache's depend mode, CCACHE_DEPEND=1, enabled:
    Otherwise, ccache would generally not rebuild our code when included
    emscripten/*.h include files have changed.)
    
    Change-Id: Ic513934f81c72232653b5e4c423611571e63ebc6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188479
    Reviewed-by: Stephan Bergmann <stephan.bergm...@collabora.com>
    Tested-by: Jenkins

diff --git a/config_host.mk.in b/config_host.mk.in
index c89ee21a0351..33ae1a855f9c 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -131,6 +131,7 @@ export DBUS_LAUNCH=@DBUS_LAUNCH@
 export DCONF_CFLAGS=@DCONF_CFLAGS@
 export DCONF_LIBS=@DCONF_LIBS@
 export DEFAULT_BRAND_IMAGES=@DEFAULT_BRAND_IMAGES@
+DEPS_SYSINCLUDES=@DEPS_SYSINCLUDES@
 export DICT_SYSTEM_DIR=@DICT_SYSTEM_DIR@
 export DISABLE_CVE_TESTS=@DISABLE_CVE_TESTS@
 DISABLE_NAN_TESTS=@DISABLE_NAN_TESTS@
diff --git a/configure.ac b/configure.ac
index f8433c6655a2..a5bd967b0c74 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1975,7 +1975,9 @@ AC_ARG_ENABLE(build-opensymbol,
 
 AC_ARG_ENABLE(dependency-tracking,
     AS_HELP_STRING([--enable-dependency-tracking],
-        [Do not reject slow dependency extractors.])[
+        [Do not reject slow dependency extractors.  
--enable-dependency-tracking=sysincludes enables
+         dependency tracking also of system include files; currently only 
implemented for GCC-like
+         compilers.])[
   --disable-dependency-tracking
                           Disables generation of dependency information.
                           Speed up one-time builds.],
@@ -15357,13 +15359,23 @@ dnl Hook up LibreOffice's nodep environmental 
variable to automake's equivalent
 dnl --enable-dependency-tracking configure option
 dnl ===================================================================
 AC_MSG_CHECKING([whether to enable dependency tracking])
+DEPS_SYSINCLUDES=
 if test "$enable_dependency_tracking" = "no"; then
     nodep=TRUE
     AC_MSG_RESULT([no])
+elif test "$enable_dependency_tracking" = sysincludes; then
+    if test "$COM" != GCC; then
+        AC_MSG_ERROR(
+            [--enable-dependency-tracking=sysincludes is currently only 
implemented for GCC-like compilers])
+    else
+        AC_MSG_RESULT([yes, including system include files])
+        DEPS_SYSINCLUDES=TRUE
+    fi
 else
     AC_MSG_RESULT([yes])
 fi
 AC_SUBST(nodep)
+AC_SUBST([DEPS_SYSINCLUDES])
 
 dnl ===================================================================
 dnl Number of CPUs to use during the build
diff --git a/solenv/gbuild/platform/com_GCC_class.mk 
b/solenv/gbuild/platform/com_GCC_class.mk
index 089399fa07be..02f0196e359d 100644
--- a/solenv/gbuild/platform/com_GCC_class.mk
+++ b/solenv/gbuild/platform/com_GCC_class.mk
@@ -12,13 +12,13 @@ ifneq (,$(CCACHE_HARDLINK))
 # cannot move hardlink over itself, so create dep file directly, even if that
 # might leave a broken file behind in case the build is interrupted forcefully
 define gb_cxx_dep_generation_options
--MMD -MT $(1) -MP -MF $(2)
+$(if $(DEPS_SYSINCLUDES),-MD,-MMD) -MT $(1) -MP -MF $(2)
 endef
 define gb_cxx_dep_copy
 endef
 else
 define gb_cxx_dep_generation_options
--MMD -MT $(1) -MP -MF $(2)_
+$(if $(DEPS_SYSINCLUDES),-MD,-MMD) -MT $(1) -MP -MF $(2)_
 endef
 define gb_cxx_dep_copy
 && mv $(1)_ $(1)

Reply via email to