Commit Graph

133 Commits

Author SHA1 Message Date
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
Khaled Hosny 63e15eac4f 2.8.2 2021-07-08 23:02:49 +02:00
Khaled Hosny b37f03f16b 2.8.1 2021-05-04 02:07:06 +02:00
Hans Petter Jansson 8298c2f93b [hb-view] Use Chafa for terminal graphics if available
This produces high-quality terminal graphics using symbols or sixels
according to the detected terminal capabilities.

Fixes #2430.
2021-04-26 12:13:10 -06:00
Khaled Hosny 743baf3543 [build] Don’t look for FontConfig
We don’t currently use it anywhere. It was used briefly for the
hb-fc-list tool, but this tool have not been built since 2015:

commit cd042fc8c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jun 18 10:55:13 2015 -0700

    [util] Disable hb-fc-list for now

    Until I figure out what to do about the API, and finalize
    the tool.
2021-03-29 15:54:51 -06:00
Khaled Hosny 03538e872a 2.8.0 2021-03-16 19:28:35 +02:00
Behdad Esfahbod c2fc2aa44c [atomic] Remove Solaris intrinsics 2021-02-20 15:20:33 -07:00
Behdad Esfahbod 7099a6dca1 [atomic] Remove old Intel primitives implementation 2021-02-20 15:20:06 -07:00
Behdad Esfahbod 711c241f6c m[mutex] Remove busyloop mutex implemenation
Don't know why I ever added this. :)
2021-02-20 15:16:59 -07:00
Khaled Hosny 68d2e1b221 [meson] Disable benchmark feature by default
It downloads a dependency from the internet, and in the same time not
used anywhere (one needs to explicitly call ninja benchmark), not even
on the CI (not sure if it that would make much sense since it does not
seem to ever fail).
2021-02-09 22:10:20 +02:00
Khaled Hosny b6f47af555 [meson] Report more options in the summary 2021-02-09 22:10:20 +02:00
Khaled Hosny 7236c7e29c 2.7.4 2020-12-27 01:59:00 +02:00
Khaled Hosny 71a3b54f3c 2.7.3 2020-12-23 15:33:15 +02:00
Xavier Claessens e2ba0e009e meson: Fix check for cairo and cairo-ft dependencies
When cairo comes from a subproject fallback it should still take
cairo-ft dependency, otherwise it miss freetype2 cflags.

Also update wrap file to use upstream repository now that meson support
has been merged.

This requires Meson >= 0.54.0 because cairo itself requires that version
and we use the new `fallback: 'cairo'` syntax without specifying a
variable name because cairo does not provide a variable name for
cairo-ft.
2020-11-17 11:52:35 -05:00
Khaled Hosny 9c98b2b9a9 2.7.2 2020-08-29 00:39:42 +02:00
Ebrahim Byagowi 05ef75c553 2.7.1 2020-08-13 20:54:53 +04:30
Ebrahim Byagowi 0a02f1e760 [meson] Abort if GDI/Uniscribe headers couldn't be found 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 24b4200243 [meson] Avoid using has_headers as that has added in 0.50.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 6e32145dc9 [meson] Make compatbile with 0.47.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 58209c86a0 [meson] Make compatbile with 0.49.0
Contains a just put together summary feature polyfill and workaround
to broken ternary operator.
2020-08-13 18:28:42 +04:30
Ebrahim Byagowi ef2e380342 Revert "Remove cmake-config support of HarfBuzz"
This reverts commit 75efa89343.
2020-08-12 01:00:33 +04:30
Ebrahim Byagowi 34a0532092
[meson] minor note 2020-08-04 15:14:59 +04:30
Ebrahim Byagowi 75efa89343 Remove cmake-config support of HarfBuzz
Reverts d38f37b2 as discussed in #2316
2020-08-03 16:45:17 +04:30
Ebrahim Byagowi 97079a7c8f
[meson] Pass cpp_eh=none and cpp_rtti=false as default options
If we want to support a build with exception handling and RTTI
We should reflect that on library(..., link_language: 'c') also so for
now it is ok to just set it here to get MSVC support also and we
can remove hard coded flags later upon request.

One other concern over just relying on it is on when harfbuzz is used
as a subproject and the parent project hasn't provided the same options,
that should be resolved first I think.

Closes #2584
2020-08-02 12:34:21 +04:30