Check for header only Boost libraries.
diff --git a/mesonbuild/dependencies/boost.py b/mesonbuild/dependencies/boost.py
index 662f985..82985c7 100644
--- a/mesonbuild/dependencies/boost.py
+++ b/mesonbuild/dependencies/boost.py
@@ -462,7 +462,7 @@
                 mlog.debug(f'    - {j}')
 
             #   3. Select the libraries matching the requested modules
-            not_found: T.List[str] = []
+            not_found_as_libs: T.List[str] = []
             selected_modules: T.List[BoostLibraryFile] = []
             for mod in modules:
                 found = False
@@ -472,7 +472,21 @@
                         found = True
                         break
                 if not found:
-                    not_found += [mod]
+                    not_found_as_libs += [mod]
+
+            # If a lib is not found, but an include directory exists,
+            # assume it is a header only module.
+            not_found: T.List[str] = []
+            for boost_modulename in not_found_as_libs:
+                assert boost_modulename.startswith('boost_')
+                include_subdir = boost_modulename.replace('boost_', 'boost/', 1)
+                headerdir_found = False
+                for inc_dir in inc_dirs:
+                    if (inc_dir.path / include_subdir).is_dir():
+                        headerdir_found = True
+                        break
+                if not headerdir_found:
+                    not_found.append(boost_modulename)
 
             # log the result
             mlog.debug('  - found:')