Commit Graph

156 Commits

Author SHA1 Message Date
Khaled Hosny 6add69a6ec [hb-view] Allow building without cairo-ft
Fixes https://github.com/harfbuzz/harfbuzz/issues/3925
2022-12-16 21:10:15 +02:00
Eli Schwartz 604fe80707 meson: fix regression in detecting freetype2/icu-uc when explicitly disabled
In #3811 / commit 53a194aa3f a broken and
half-implemented approach to kind of sort of handling the detection of
both pkg-config and cmake names for dependencies, was implemented. It
just checked for both versions with required: false, but when the build
was configured with *disabled* options, it was still found because it
was treated as auto.

Really, the problem here is trying to outsmart Meson, which handles a
lot of edge cases correctly. But it's possible, albeit very wordy, to
manually implement Meson's internal logic via if/else fallbacks. Do so
here.
2022-11-08 18:32:41 -07:00
Khaled Hosny 970321db7b 5.3.1 2022-10-19 22:06:46 +02:00
Khaled Hosny 3ce4b8f5c9 5.3.0 2022-10-08 19:10:07 +02:00
Khaled Hosny 4a1d891c63 5.2.0 2022-09-17 03:19:29 +02:00
Xavier Claessens 53a194aa3f meson: Fix freetype and icu dependency lookup
It is wrong to search for a different name depending on the compiler. If
anything, cmake name could be available on systems that uses GCC too.

This also fix regression in the usage of freetype subproject fallback as
its name is "freetype2" and was previously used even when the
"freetype" option was set to "auto".
2022-09-08 09:43:41 -06:00
Khaled Hosny 16bfe6536b [meson] use cpp.get_argument_syntax not cpp.get_id
To account for both MSVC and clang-cl.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3756
2022-08-03 00:07:40 +02:00
Khaled Hosny f1f2be776b 5.1.0 2022-07-31 15:48:32 +02:00
Khaled Hosny cbccadba8d 5.0.1 2022-07-23 22:09:06 +02:00
Khaled Hosny 40b21edf48 5.0.0 2022-07-23 19:53:14 +02:00
Khaled Hosny e294200dac [ft] Check for FT_Get_Transform at build time 2022-07-15 21:59:33 +02:00
Luca Bacci 1abc14b463 Do not link with the DWrite lib
It's loaded dynamically now
2022-07-06 17:55:39 +02:00
Khaled Hosny 096aaa62a6 4.4.1 2022-06-29 07:30:05 +02:00
Khaled Hosny 8537d68172 4.4.0 2022-06-27 20:51:16 +02:00
Khaled Hosny aee123fc83 4.3.0 2022-05-20 21:07:25 +02:00
Khaled Hosny f7aee78e90 4.2.1 2022-04-24 05:47:57 +02:00
Khaled Hosny 9d5730b958 4.2.0 2022-03-30 15:08:34 +02:00
Khaled Hosny c36844d6d9 4.1.0 2022-03-23 07:20:59 +02:00
Khaled Hosny 1f79ba9407 4.0.1 2022-03-11 20:19:04 +02:00
Khaled Hosny 8d1b000a3e 4.0.0 2022-03-01 21:27:32 +02:00
James Hilliard 256dcde149 [meson] handle multiple element ICU DEFS 2022-02-21 00:07:03 -07:00
Chun-wei Fan f0573d8462 meson: Clean up finding ICU-UC on Visual Studio
Nowadays Meson has much better CMake support which we can use to find
dependencies on Visual Studio builds (and Visual Studio 2017 and later provides
CMake as an optional install item), so we can use it to help us find ICU-UC
on Visual Studio builds, since CMake has built-in support for finding it by
the components we need for some time.
2022-02-17 15:06:49 +08:00
Chun-wei Fan 561e8ba887 meson: Cleanup finding FreeType on Visual Studio
Nowadays, CMake is much better supported with Meson and is a common tool on
Windows (it is even an optionally-installed item for Visual Studio 2017+), so
make use of that to find FreeType.  The package to search for, however, is
`freetype` instead of `freetype2`.
2022-02-17 14:19:35 +08:00
Khaled Hosny 74ebfc646a [meson] Update cairo subproject
Update to the current master branch so that is has
cairo_user_font_face_set_render_color_glyph_func().

I had to disable optimized builds on win[32|64] crossbuild setups
because they are now broken in the CI (something about cairo defining
_FORTIFY_SOURCE for optimized builds that MingW does not like).
2022-02-13 13:21:14 -06:00
Behdad Esfahbod 8f519d55ac [meson] Put back Experimental-API infrastructure
Just unused for now.
2022-02-13 13:21:14 -06:00
Khaled Hosny cf28821337 [meson] fix building with Cairo subproject
We can’t pass internal (subproject) dependency to cpp.has_function(), so
we manually hard-code the result.
2022-02-13 13:21:14 -06:00
Behdad Esfahbod cfc06c24d5 [util/draw] Render color glyphs if cairo API available 2022-02-13 13:21:14 -06:00
Behdad Esfahbod e0ac6c587b Remove remaining traces of HB_EXPERIMENTAL_API 2022-02-13 13:21:14 -06:00
Khaled Hosny 0a12996134 3.4.0 2022-02-13 00:30:50 +02:00
Chun-wei Fan 3d22dae5f8 meson.build: Only use get_variable() on icu_dep with pkgconfig
We might have found ICU via the .lib names, and get_variable() is only
available for pkg-config deps.
2022-02-10 14:42:08 -06:00
Khaled Hosny ac46c3248e 3.3.2 2022-02-06 15:41:18 +02:00
Khaled Hosny 45df259538 3.3.1 2022-01-31 23:06:10 +02:00
Khaled Hosny 98da330638 3.3.0 2022-01-31 18:39:06 +02:00
Hugo Beauzée-Luyssen 17cd4457b7 meson: Enable big objects support when building for windows
Fix cross compilation when targetting win64
2022-01-19 06:53:45 -08:00
James Hilliard daab4bf63a [meson] add icu DEFS required for compilation
In some cases we need to add additionl defs to build against icu if
icu has certain options configured.

ICU warns about this when building:

*** WARNING: You must set the following flags before code compiled against this ICU will function properly:

    -DU_DISABLE_RENAMING=1

We can fetch these flags from the icu pkgconfig and add them if
required.

This fixes symbol errors if ICU is built without renaming.
2022-01-18 11:36:40 -08:00
Jussi Pakkanen 726b1a8b2d Convert fallback kwargs to [provide] entries. 2022-01-13 13:25:16 -08:00
Behdad Esfahbod a45a630539
Fix unintentional locale dependency (#3358)
Avoid unintentional locale dependency

hb_variation_to_string uses sprintf with %g, which will produce
a locale-dependent decimal point, which is not desired here.

The output is supposed to be compatible with CSS syntax, and
that always uses '.' for the decimal point.

Fix this by changing the per-thread locale to "C" around sprintf call.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3355
Fixes https://github.com/harfbuzz/harfbuzz/pull/3357
Fixes https://github.com/harfbuzz/harfbuzz/pull/3358

Co-authored-by: Matthias Clasen <mclasen@redhat.com>
2022-01-08 16:47:33 -07:00
Khaled Hosny be91d2917d 3.2.0 2021-12-12 04:45:54 +02:00
Khaled Hosny 549e2b7038 Revert "Remove direct link to dwrite from meson scripts"
This reverts commit 6ea6c581ed.
2021-12-01 19:55:48 +02:00
Khaled Hosny 8aed5c21a3 3.1.2 2021-11-26 17:54:18 +02:00
Khaled Hosny 69d8f27c69 [meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
2021-11-22 03:11:36 +02:00
Khaled Hosny cd5c6cd041 3.1.1 2021-11-08 06:59:55 +02:00
Khaled Hosny 77eeec53a9 3.1.0 2021-11-03 23:31:03 +02:00
Cameron Cawley 6ea6c581ed Remove direct link to dwrite from meson scripts 2021-10-23 13:19:39 -07:00
Khaled Hosny 792ca307b0 [meson] Add graphite2 option and deprecate graphite
Fixes https://github.com/harfbuzz/harfbuzz/issues/3241

Should be better handled when we can use https://github.com/mesonbuild/meson/pull/9184
2021-10-23 10:59:02 -07:00
Khaled Hosny 9c387e20d6
3.0.0 2021-09-17 21:32:30 +02:00
Khaled Hosny 22cbd038d3 [meson] Add ragel subproject
If ragel 6.10 is not found, build it from source.

Seems to work, except that ragel uses exceptions and we configure
HarfBuzz build to not use exceptions, and I can’t find away to enable
exceptions only for the ragel subproject. I had to remove cpp_eh=none
from default options and try to disable exceptions in MSVC manually
(other compilers are already handled).
2021-09-14 18:46:33 -06:00
Khaled Hosny 7e9ac8fea2 [meson] Require ragel 6.10
Ragel 7 is also not stable from upstream's point of view.

This uses “version” argument find_program(), which was introduced in
meson 0.52.0, so I raised the minimum required meson version
accordingly.
2021-09-14 18:46:33 -06:00
Khaled Hosny 505df5abf8 2.9.1 2021-09-07 13:46:43 +02:00
Khaled Hosny 9aa6f8a93f 2.9.0 2021-08-18 09:32:04 +02:00