I'm building the latest release version 8.4.0 of harfbuzz using meson 1.4.0 using the ninja backend. The setup and build works fine, but the utilities (hb-shape, etc.) aren't build for some reason. They do not get installed either. meson configure reports "utilities -> enabled". There's no indication why the utilities aren't build. I assume they may need another of the optional dependencies? But which one? Chafa? Glib? Ragel? Or does the meson build doesn't support the utilities yet? I'm a bit out of ideas.
The Meson build system
Version: 1.4.0
Source dir: /Volumes/Temporary/harfbuzz-8.4.0
Build dir: /Volumes/Temporary/harfbuzz-8.4.0/mybuilddir
Build type: native build
Project name: harfbuzz
Project version: 8.4.0
C compiler for the host machine: cc (clang 7.0.2 "Apple LLVM version 7.0.2 (clang-700.1.81)")
C linker for the host machine: cc ld64 253.9
C++ compiler for the host machine: c++ (clang 7.0.2 "Apple LLVM version 7.0.2 (clang-700.1.81)")
C++ linker for the host machine: c++ ld64 253.9
Host machine cpu family: x86_64
Host machine cpu: x86_64
Fetching value of define "_MSC_FULL_VER" : (undefined)
Compiler for C++ supports link arguments -Bsymbolic-functions: YES
Compiler for C++ supports arguments -fno-exceptions: YES
Compiler for C++ supports arguments -fno-rtti: YES
Compiler for C++ supports arguments -fno-threadsafe-statics: YES
Compiler for C++ supports arguments -fvisibility-inlines-hidden: YES
Library m found: YES
Found pkg-config: YES (/usr/local/bin/pkg-config) 0.29.2
Run-time dependency freetype2 found: YES 26.0.20
Dependency glib-2.0 skipped: feature glib disabled
Dependency gobject-2.0 skipped: feature gobject disabled
Dependency graphite2 skipped: feature graphite2 disabled
Run-time dependency graphite2 found: YES 3.0.1
Library iwasm skipped: feature wasm disabled
Run-time dependency icu-uc found: YES 73.2
Run-time dependency cairo found: YES 1.18.0
Run-time dependency cairo-ft found: YES 1.18.0
Dependency chafa skipped: feature chafa disabled
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Run-time dependency appleframeworks found: YES (ApplicationServices)
Checking for type "CTFontRef" with dependency appleframeworks: YES
Run-time dependency threads found: YES
Has header "unistd.h" : YES
Has header "sys/mman.h" : YES
Has header "stdbool.h" : YES
Has header "xlocale.h" : YES
Checking for function "atexit" : YES
Checking for function "mprotect" : YES
Checking for function "sysconf" : YES
Checking for function "getpagesize" : YES
Checking for function "mmap" : YES
Checking for function "isatty" : YES
Checking for function "uselocale" : NO
Checking for function "newlocale" : NO
Checking for function "sincosf" : NO
Checking for function "cairo_user_font_face_set_render_color_glyph_func" with dependency cairo: YES
Checking for function "cairo_font_options_get_custom_palette_color" with dependency cairo: YES
Checking for function "cairo_user_scaled_font_get_foreground_source" with dependency cairo: YES
Checking for function "FT_Get_Var_Blend_Coordinates" with dependency freetype2: YES
Checking for function "FT_Set_Var_Blend_Coordinates" with dependency freetype2: YES
Checking for function "FT_Done_MM_Var" with dependency freetype2: YES
Checking for function "FT_Get_Transform" with dependency freetype2: YES
Program gen-hb-version.py found: YES (/Volumes/Temporary/harfbuzz-8.4.0/src/gen-hb-version.py)
Configuring hb-version.h with command
Program ragel found: NO
src/meson.build:416: WARNING: You have to install ragel if you are going to develop HarfBuzz itself
Program gen-harfbuzzcc.py found: YES (/Volumes/Temporary/harfbuzz-8.4.0/src/gen-harfbuzzcc.py)
Configuring hb-features.h using configuration
Configuring hb-supported-features.h using configuration
Program gen-def.py found: YES (/Volumes/Temporary/harfbuzz-8.4.0/src/gen-def.py)
Fetching value of define "_MSC_FULL_VER" : (undefined) (cached)
Program gen-harfbuzzcc.py found: YES (/Volumes/Temporary/harfbuzz-8.4.0/src/gen-harfbuzzcc.py)
Dependency cairo found: YES 1.18.0 (cached)
src/meson.build:812: WARNING: Project targets '>= 0.55.0' but uses feature introduced in '1.3.0': fs.relative_to.
Configuring harfbuzz-config.cmake using configuration
Program gtkdoc-scan found: NO
Message: Not building documentation as gtk-doc was not found
Configuring config.h using configuration
Build targets in project: 12
WARNING: Project specifies a minimum meson_version '>= 0.55.0' but uses features which were added in newer versions:
* 1.3.0: {'fs.relative_to'}
harfbuzz 8.4.0
Directories
prefix : /usr/local/silo/harfbuzz/8.4.0
bindir : bin
libdir : lib
includedir : include
datadir : share
cmakepackagedir : lib/cmake
Unicode callbacks (you want at least one)
Builtin : YES
Glib : NO
ICU : YES
Font callbacks (the more the merrier)
Builtin : YES
FreeType : YES
Dependencies used for command-line utilities
Cairo : YES
Chafa : NO
Additional shapers
Graphite2 : YES
WebAssembly (experimental): NO
Platform shapers (not normally needed)
CoreText : YES
DirectWrite (experimental): NO
GDI/Uniscribe : NO
Other features
Documentation : NO
GObject bindings : NO
Cairo integration : YES
Introspection : NO
Experimental APIs : NO
Testing
Tests : NO
Benchmark : NO
User defined options
buildtype : release
prefix : /usr/local/silo/harfbuzz/8.4.0
strip : true
c_link_args : -Wl,-headerpad_max_install_names -Wl,-dead_strip_dylibs -Wl,-dead_strip
cairo : enabled
chafa : disabled
coretext : enabled
freetype : enabled
glib : disabled
gobject : disabled
graphite : enabled
icu : enabled
introspection : disabled
tests : disabled
Found ninja-1.11.1 at /usr/local/bin/ninja
(Note: same happens with a vanilla meson mybuilddir build: no utilities. 😢)
The build system somehow should give a clear indication that the build of the utilities is skipped, and also give the reason why it is skipped.
I'm building the latest release version 8.4.0 of harfbuzz using meson 1.4.0 using the ninja backend. The setup and build works fine, but the utilities (hb-shape, etc.) aren't build for some reason. They do not get installed either.
meson configure
reports "utilities -> enabled". There's no indication why the utilities aren't build. I assume they may need another of the optional dependencies? But which one? Chafa? Glib? Ragel? Or does the meson build doesn't support the utilities yet? I'm a bit out of ideas.(Note: same happens with a vanilla
meson mybuilddir
build: no utilities. 😢)The build system somehow should give a clear indication that the build of the utilities is skipped, and also give the reason why it is skipped.