From 3dbdb78a25850b8a7fe86ccc17987c9eacac1470 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 10 Feb 2021 09:25:42 -0500 Subject: [PATCH] [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. --- ChangeLog | 19 +++++++++++++++++++ meson.build | 5 +---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6c37127c4..18d226198 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2021-02-09 Xavier Claessens + + [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 [meson] Fix dependency lookup and generate `ftconfig.h`. diff --git a/meson.build b/meson.build index 0116572bd..c2c8f7bc3 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]