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)