diff --git a/BUILD.md b/BUILD.md index aaa029adc..3247f8b16 100644 --- a/BUILD.md +++ b/BUILD.md @@ -16,10 +16,26 @@ then use meson to build the project like `meson build && meson test -Cbuild`. On macOS, `brew install pkg-config ragel gtk-doc freetype glib cairo meson` then use meson like above. -On Windows, meson builds the project like above if a working MSVC's cl.exe (`vcvarsall.bat`) -or gcc/clang is already on your path, it fetches and compiles most of the dependencies also. +On Windows, meson can build the project like above if a working MSVC's cl.exe (`vcvarsall.bat`) +or gcc/clang is already on your path, and if you use something like `meson build --wrap-mode=default` +it fetches and compiles most of the dependencies also. -Linux packagers are advised to at least use `--buildtype=release -Dauto_features=enabled --wrap-mode=nodownload` +There is also amalgam source provided with HarfBuzz which reduces whole process of building +HarfBuzz like `g++ src/harfbuzz.cc -fno-exceptions` but there is not guarantee provided +with buildability and reliability of features you get. + +Our CI is also good source of learning how to build HarfBuzz. + +Linux packagers are advised to at least use `--buildtype=release` (or any other way +to enable regular compiler optimization) and `-Dauto_features=enabled --wrap-mode=nodownload` and install any other needed packages (most distributions build harfbuzz with -graphite support which needed to enabled separately, `-Dgraphite=enabled`), +graphite support which needs to be enabled separately, `-Dgraphite=enabled`), and follow other best practices of packaging a meson project. + +Examples of meson built harfbuzz packages, +* https://git.archlinux.org/svntogit/packages.git/tree/trunk?h=packages/harfbuzz + Which uses https://git.archlinux.org/svntogit/packages.git/tree/trunk/arch-meson?h=packages/meson +* https://git.alpinelinux.org/aports/tree/main/harfbuzz + Which uses https://git.alpinelinux.org/aports/tree/main/meson/abuild-meson +* https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-harfbuzz/PKGBUILD +* (feel free to add you package source here)