avmedia/IwyuFilter_avmedia.yaml             |    5 +++++
 codemaker/IwyuFilter_codemaker.yaml         |    3 +++
 connectivity/IwyuFilter_connectivity.yaml   |    9 +++++++++
 dbaccess/IwyuFilter_dbaccess.yaml           |    7 +++++++
 desktop/IwyuFilter_desktop.yaml             |    3 +++
 extensions/IwyuFilter_extensions.yaml       |    7 +++++++
 filter/IwyuFilter_filter.yaml               |    3 +++
 sc/IwyuFilter_sc.yaml                       |    3 +++
 sdext/IwyuFilter_sdext.yaml                 |    3 +++
 sw/IwyuFilter_sw.yaml                       |    4 ++++
 ucb/IwyuFilter_ucb.yaml                     |    5 +++++
 vcl/IwyuFilter_vcl.yaml                     |   12 ++++++++++++
 writerperfect/IwyuFilter_writerperfect.yaml |    2 ++
 13 files changed, 66 insertions(+)

New commits:
commit 2a9fd078ffc0ea573db8f4d43113b66558bfa559
Author:     Gabor Kelemen <[email protected]>
AuthorDate: Thu Dec 18 23:43:26 2025 +0100
Commit:     Gabor Kelemen <[email protected]>
CommitDate: Mon Jan 12 11:21:38 2026 +0100

    Add some customAssumeFilenames to yaml files
    
    After checking all modules with
    bin/find-unneeded-includes --finderrors --headers --recursive
    
    these subdirectories seemed to need custom assumes for an
    error free run of IWYU
    
    Change-Id: I8e0553355809e49e3ec3d06aa4404e6cd7b72aff
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196631
    Tested-by: Jenkins
    Reviewed-by: Gabor Kelemen <[email protected]>

diff --git a/avmedia/IwyuFilter_avmedia.yaml b/avmedia/IwyuFilter_avmedia.yaml
index 551e6c7255df..b082591f05e8 100644
--- a/avmedia/IwyuFilter_avmedia.yaml
+++ b/avmedia/IwyuFilter_avmedia.yaml
@@ -1,5 +1,10 @@
 ---
 assumeFilename: avmedia/source/gstreamer/gstplayer.cxx
+customAssumeFilenames:
+    # Needs -isystem /usr/include/x86_64-linux-gnu/qt5
+    avmedia/source/qt6: avmedia/source/qt6/QtFrameGrabber.cxx
+    # Needs mediacontrol.hxx to be available
+    avmedia/source/viewer/mediawindow_impl.hxx: 
avmedia/source/framework/mediacontrol.cxx
 excludelist:
     avmedia/source/gstreamer/gstframegrabber.hxx:
     # Keep catch-all main gstreamer header
diff --git a/codemaker/IwyuFilter_codemaker.yaml 
b/codemaker/IwyuFilter_codemaker.yaml
index 32f5eaf602e3..f63504266188 100644
--- a/codemaker/IwyuFilter_codemaker.yaml
+++ b/codemaker/IwyuFilter_codemaker.yaml
@@ -1,2 +1,5 @@
 ---
 assumeFilename: codemaker/source/cppumaker/cppumaker.cxx
+customAssumeFilenames:
+    # Needs frozen/unordered_set.h to be available
+    codemaker/source/pythonmaker/pythontype.hxx: 
codemaker/source/pythonmaker/pythontype.cxx
diff --git a/connectivity/IwyuFilter_connectivity.yaml 
b/connectivity/IwyuFilter_connectivity.yaml
index 1b5d4c6872f5..9b1cbd45a8a8 100644
--- a/connectivity/IwyuFilter_connectivity.yaml
+++ b/connectivity/IwyuFilter_connectivity.yaml
@@ -1,5 +1,14 @@
 ---
 assumeFilename: connectivity/source/commontools/dbtools.cxx
+customAssumeFilenames:
+    #  Needs  -isystem /usr/include/gtk-3.0
+    connectivity/source/drivers/evoab2: 
connectivity/source/drivers/evoab2/EApi.cxx
+    # Needs -I/.../workdir/UnpackedTarball/mariadb-connector-c/include
+    connectivity/source/drivers/mysqlc: 
connectivity/source/drivers/mysqlc/mysqlc_driver.cxx
+    # Needs -I/.../workdir/UnpackedTarball/postgresql/src/interfaces/libpq
+    connectivity/source/drivers/postgresql: 
connectivity/source/drivers/postgresql/pq_tools.cxx
+    # Needs -I/.../core/external/unixODBC/inc
+    connectivity/source/inc/odbc: connectivity/source/drivers/odbc/ODriver.cxx
 excludelist:
     connectivity/source/commontools/ConnectionWrapper.cxx:
     # Actually used
diff --git a/dbaccess/IwyuFilter_dbaccess.yaml 
b/dbaccess/IwyuFilter_dbaccess.yaml
index 75a3f00a16ed..d3b8293739ad 100644
--- a/dbaccess/IwyuFilter_dbaccess.yaml
+++ b/dbaccess/IwyuFilter_dbaccess.yaml
@@ -1,5 +1,12 @@
 ---
 assumeFilename: dbaccess/source/ui/querydesign/QueryDesignView.cxx
+customAssumeFilenames:
+    # Needs dbaccess/source/core/inc/ headers
+    dbaccess/source/core/dataaccess/: 
dbaccess/source/core/dataaccess/ModelImpl.cxx
+    # Needs dbaccess/source/core/inc/ headers
+    dbaccess/source/core/api: dbaccess/source/core/dataaccess/ModelImpl.cxx
+    # Needs dbaccess/source/sdbtools/inc/ headers
+    dbaccess/source/sdbtools/connection: 
dbaccess/source/sdbtools/connection/connectiontools.cxx
 excludelist:
     dbaccess/inc/strings.hrc:
     # Needed for TranslateId macro to work
diff --git a/desktop/IwyuFilter_desktop.yaml b/desktop/IwyuFilter_desktop.yaml
index adcd3d62552c..2059b6376a4d 100644
--- a/desktop/IwyuFilter_desktop.yaml
+++ b/desktop/IwyuFilter_desktop.yaml
@@ -1,5 +1,8 @@
 ---
 assumeFilename: desktop/source/lib/init.cxx
+customAssumeFilenames:
+    # Needs desktop/source/deployment/registry/inc/ header
+    desktop/source/deployment/registry/: 
desktop/source/deployment/registry/dp_backenddb.cxx
 excludelist:
     desktop/inc/lib/init.hxx:
     # Complete type is needed
diff --git a/extensions/IwyuFilter_extensions.yaml 
b/extensions/IwyuFilter_extensions.yaml
index 524cf35d54cc..9a7c39c01133 100644
--- a/extensions/IwyuFilter_extensions.yaml
+++ b/extensions/IwyuFilter_extensions.yaml
@@ -1,5 +1,12 @@
 ---
 assumeFilename: extensions/source/propctrlr/formcomponenthandler.cxx
+customAssumeFilenames:
+    # Needs extensions/source/inc/ headers
+    extensions/source/abpilot/ : extensions/source/abpilot/abspilot.cxx
+    # Needs extensions/source/inc/ headers
+    extensions/source/dbpilots/ : extensions/source/dbpilots/commonpagesdbp.cxx
+    # Needs ldap.h
+    extensions/source/config/ldap : 
extensions/source/config/ldap/ldapuserprofilebe.cxx
 excludelist:
     extensions/inc/strings.hrc:
     # Needed for TranslateId macro
diff --git a/filter/IwyuFilter_filter.yaml b/filter/IwyuFilter_filter.yaml
index 2a3726efef8b..fdc3c9213480 100644
--- a/filter/IwyuFilter_filter.yaml
+++ b/filter/IwyuFilter_filter.yaml
@@ -1,5 +1,8 @@
 ---
 assumeFilename: filter/source/msfilter/msdffimp.cxx
+customAssumeFilenames:
+    # Needs libxml/parser.h
+    filter/source/xsltfilter: filter/source/xsltfilter/LibXSLTTransformer.cxx
 excludelist:
     filter/source/msfilter/mscodec.cxx:
     # Actually used
diff --git a/sc/IwyuFilter_sc.yaml b/sc/IwyuFilter_sc.yaml
index 5a52cbde8395..c8b696904869 100644
--- a/sc/IwyuFilter_sc.yaml
+++ b/sc/IwyuFilter_sc.yaml
@@ -1,5 +1,8 @@
 ---
 assumeFilename: sc/source/core/data/document.cxx
+customAssumeFilenames:
+    # Needs -I/...workdir/CustomTarget/oox/generated
+    sc/source/filter/inc/ : sc/source/filter/excel/excdoc.cxx
 excludelist:
     sc/sdi/scslots.hrc:
     # Needed for sdi files to compile
diff --git a/sdext/IwyuFilter_sdext.yaml b/sdext/IwyuFilter_sdext.yaml
index 2f0317d0ff97..f432d79e0bca 100644
--- a/sdext/IwyuFilter_sdext.yaml
+++ b/sdext/IwyuFilter_sdext.yaml
@@ -1,5 +1,8 @@
 ---
 assumeFilename: sdext/source/pdfimport/pdfiadaptor.cxx
+customAssumeFilenames:
+    # Needs -I/.../workdir/UnpackedTarball/poppler
+    sdext/source/pdfimport/xpdfwrapper: 
sdext/source/pdfimport/xpdfwrapper/pdfioutdev_gpl.cxx
 excludelist:
     sdext/source/pdfimport/odf/odfemitter.cxx:
     # Actually in use
diff --git a/sw/IwyuFilter_sw.yaml b/sw/IwyuFilter_sw.yaml
index b6aef2298de8..37d1669b1569 100644
--- a/sw/IwyuFilter_sw.yaml
+++ b/sw/IwyuFilter_sw.yaml
@@ -5,8 +5,12 @@ customAssumeFilenames:
     sw/source/writerfilter: sw/source/writerfilter/dmapper/DomainMapper.cxx
     # Need -I/.../workdir/UnpackedTarball/cppunit/include to work
     sw/qa/inc: sw/qa/core/test_ToxMiscTest.cxx
+    # Needs swmodeltestbase.hxx
+    sw/qa/extras/htmlexport: sw/qa/extras/htmlexport/htmlexport.cxx
     # Needs -I/...workdir/CustomTarget/oox/generated
     sw/source/filter/ww8: sw/source/filter/ww8/docxattributeoutput.cxx
+    # Needs -I/.../sw/source/ui/inc
+    sw/source/ui/: sw/source/ui/fldui/flddb.cxx
 excludelist:
     sw/sdi/swslots.hrc:
     # Needed for sdi files to compile
diff --git a/ucb/IwyuFilter_ucb.yaml b/ucb/IwyuFilter_ucb.yaml
index 81f9a31d2f56..45e7ebc5f7e4 100644
--- a/ucb/IwyuFilter_ucb.yaml
+++ b/ucb/IwyuFilter_ucb.yaml
@@ -1,5 +1,10 @@
 ---
 assumeFilename: ucb/source/core/ucb.cxx
+customAssumeFilenames:
+    # Needs -I/.../workdir/UnpackedTarball/libcmis/inc
+    ucb/source/ucp/cmis: ucb/source/ucp/cmis/cmis_content.cxx
+    # Needs -isystem /usr/include/glib-2.0
+    ucb/source/ucp/gio: ucb/source/ucp/gio/gio_content.cxx
 excludelist:
     ucb/source/core/ucb.cxx:
     # Needed for UnoType
diff --git a/vcl/IwyuFilter_vcl.yaml b/vcl/IwyuFilter_vcl.yaml
index 90bf28408d13..0da726dbec7b 100644
--- a/vcl/IwyuFilter_vcl.yaml
+++ b/vcl/IwyuFilter_vcl.yaml
@@ -5,6 +5,18 @@ customAssumeFilenames:
     vcl/inc/qt5: vcl/qt5/QtInstance.cxx
     # Needs -isystem /usr/include/x86_64-linux-gnu/qt6
     vcl/inc/qt6: vcl/qt6/QtInstance.cxx
+    # Needs -isystem /usr/include/x86_64-linux-gnu/qt5
+    vcl/unx/gtk3_kde5: vcl/qt5/QtInstance.cxx
+    # Needs -isystem /usr/include/gtk-3.0 -isystem /usr/include/gstreamer-1.0
+    vcl/inc/unx: vcl/unx/gtk3/gtkinst.cxx
+    # Needs -isystem /usr/include/x86_64-linux-gnu/qt5
+    vcl/unx/kf5: vcl/qt5/QtInstance.cxx
+    # Needs -isystem /usr/include/x86_64-linux-gnu/qt5
+    vcl/unx/kf6: vcl/qt5/QtInstance.cxx
+    # Needs -isystem /usr/include/atk-1.0
+    vcl/unx/gtk3/a11y: vcl/unx/gtk3/a11y/atkwrapper.cxx
+    # Needs -isystem /usr/include/gtk-4.0
+    vcl/unx/gtk4: vcl/unx/gtk4/gtkinst.cxx
 excludelist:
     vcl/inc/unx/saldisp.hxx:
     # Don't replace with generated header
diff --git a/writerperfect/IwyuFilter_writerperfect.yaml 
b/writerperfect/IwyuFilter_writerperfect.yaml
index 3660606f0c9d..bf8baf22cb39 100644
--- a/writerperfect/IwyuFilter_writerperfect.yaml
+++ b/writerperfect/IwyuFilter_writerperfect.yaml
@@ -1,5 +1,7 @@
 ---
 assumeFilename: writerperfect/source/common/WPXSvInputStream.cxx
+customAssumeFilenames:
+    writerperfect/source/writer/EPUBPackage.hxx: 
writerperfect/source/writer/EPUBPackage.cxx
 excludelist:
     writerperfect/inc/DocumentHandler.hxx:
     # Wrapper header for external library

Reply via email to