diff options
Diffstat (limited to 'meson.build')
-rw-r--r-- | meson.build | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/meson.build b/meson.build index 73b5da2b..13d9bbff 100644 --- a/meson.build +++ b/meson.build @@ -229,23 +229,32 @@ harfbuzz_pc='' freetype2_pc='' fontconfig_pc='' harfbuzz_lib='' -freetype2_lib='' fontconfig_lib='' -harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req_version, required: false, - fallback: ['harfbuzz', 'libharfbuzz_dep']) +harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req_version, required: false) if harfbuzz_dep.found() harfbuzz_pc = 'harfbuzz' else if cc.get_id() == 'msvc' and cc.has_header('hb.h') # The CMake build files for HarfBuzz (which is used for MSVC builds) do not - # generate pkg-config files, so look for harfbuzz.lib - harfbuzz_dep = cc.find_library('harfbuzz', required: false) - if harfbuzz_dep.found() - harfbuzz_lib = '-lharfbuzz' + # generate pkg-config files, so look for harfbuzz.lib. Ensure that we + # we look for HarfBuzz 2.0.0 or later. + harfbuzz_lib = cc.find_library('harfbuzz', required: false) + if harfbuzz_lib.found() + if cc.has_function('hb_ot_tags_from_script_and_language', dependencies: harfbuzz_lib) + harfbuzz_dep = harfbuzz_lib + endif endif endif endif + +# Remove when Meson acquires ability to declare deps declaratively, or +# when finding dependencies via CMake files is fixed. +if not harfbuzz_dep.found() + harfbuzz_dep = dependency('harfbuzz', version: harfbuzz_req_version, + fallback: ['harfbuzz', 'libharfbuzz_dep']) +endif + if harfbuzz_dep.found() pango_deps += harfbuzz_dep endif |