[meson] Fix handling of HarfBuzz library. * meson.build (harfbuzz_dep): Do not fall back to HarfBuzz by default. Otherwise it causes a dependency cycle: cairo => fontconfig => freetype2 => harfbuzz => cairo Meson will still fall back to HarfBuzz subprojects if the `harfbuzz` option is set to `enabled` instead of `auto` and a `subprojects/harfbuzz.wrap` file is present. In that case it is the responsibility of the main project to set the proper options on each subproject to break the dependency cycle. Fixes: #1028.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
diff --git a/ChangeLog b/ChangeLog
index 6c37127..18d2261 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,24 @@
2021-02-09 Xavier Claessens <xavier.claessens@collabora.com>
+ [meson] Fix handling of HarfBuzz library.
+
+ * meson.build (harfbuzz_dep): Do not fall back to HarfBuzz by
+ default.
+
+ Otherwise it causes a dependency cycle:
+
+ cairo => fontconfig => freetype2 => harfbuzz => cairo
+
+ Meson will still fall back to HarfBuzz subprojects if the `harfbuzz`
+ option is set to `enabled` instead of `auto` and a
+ `subprojects/harfbuzz.wrap` file is present. In that case it is the
+ responsibility of the main project to set the proper options on each
+ subproject to break the dependency cycle.
+
+ Fixes: #1028.
+
+2021-02-09 Xavier Claessens <xavier.claessens@collabora.com>
+
[meson] Fix dependency lookup and generate `ftconfig.h`.
- zlib: If not found on the system, meson can build it as a
diff --git a/meson.build b/meson.build
index 0116572..c2c8f7b 100644
--- a/meson.build
+++ b/meson.build
@@ -260,10 +260,7 @@ endif
# Harfbuzz support
harfbuzz_dep = dependency('harfbuzz',
version: '>= 2.0.0',
- required: get_option('harfbuzz'),
- fallback: ['harfbuzz', 'libharfbuzz_dep'],
- default_options : ['freetype=disabled',
- 'fontconfig=disabled'])
+ required: get_option('harfbuzz'))
if harfbuzz_dep.found()
ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']
ft2_deps += [harfbuzz_dep]