Commit Graph

93 Commits

Author SHA1 Message Date
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
Ebrahim Byagowi
749e2754c8
[meson] remove useless note about -fvisibility-inlines-hidden
It was put there as current situation of autotools but msys2 is ok
with the flag, if something like is needed for other it can handled
as a local patch.
2020-08-02 12:21:51 +04:30
Ebrahim Byagowi
a01c7a380b 2.7.0 2020-07-25 12:40:57 +04:30
Ebrahim Byagowi
f9ac6ddbef
[meson] Rename 'gtk_doc' option to 'docs' 2020-07-22 17:53:04 +04:30
Ebrahim Byagowi
8cbdb6fa41 [meson] Don't enable benchmark under the conditions ever
As we don't want to make headache for packagers as we don't want to
enable it when --auto-features=enabled is used.
2020-07-15 13:33:00 +04:30
Ebrahim Byagowi
dc981fe951
[meson] Merge gdi and uniscribe
They are the same thing obviously
2020-07-15 13:15:27 +04:30
Ebrahim Byagowi
f62f4e388b [meson] minor on gdi, dwrite and icu 2020-07-08 03:12:32 +04:30
Ebrahim Byagowi
69a1e07acb
[meson] don't enable benchmark if is in nodownload wrap mode
Fixes #2551
2020-07-08 03:12:09 +04:30
Ebrahim Byagowi
747f65f9ef
[meson] Remove HAVE_OT and HAVE_FALLBACK
No need as 1e8fdd2 and 23768a9
2020-07-07 11:37:16 +04:30
Ebrahim Byagowi
e1c35ca581
[meson] rename the section
As Behdad's comment
2020-07-06 22:29:11 +04:30
Ebrahim Byagowi
ddb103ea1a
[meson] minor 2020-07-06 22:27:39 +04:30
Khaled Hosny
dc684103d4 [meson] Set the default wrap mode to nofallback
This, I believe, will prevent any automatic use of subprojects be
default and will only look for dependencies on the system.
https://mesonbuild.com/Subprojects.html#commandline-options
2020-07-06 21:15:44 +04:30
Ebrahim Byagowi
52199349aa
[meson] mark meson as tested
tested in a CI bot that in a `-Dcoretext=enabled` build, `build/util/hb-shape --shaper=ot` works fine.
2020-07-06 16:30:59 +04:30
Ebrahim Byagowi
a08ba46d86 [meson] move meson version so can be referenced easier 2020-07-06 11:48:59 +04:30
Ebrahim Byagowi
6d3d0ebba3 Remove .tarball-revision generation from meson dist
Toward making release tarball identical to git checkout now that we are moving to meson.
2020-07-06 11:48:59 +04:30
Ebrahim Byagowi
38fa924904 [meson] revert 020b182 as meson fails when there is cyclic dependency 2020-07-03 15:47:13 +04:30
Ebrahim Byagowi
42d039cc99 [meson] minor 2020-07-03 04:49:12 +04:30
Ebrahim Byagowi
f2a80ab2c2 [meson] use null_dep idiom 2020-07-03 04:49:12 +04:30
Ebrahim Byagowi
05ab073d9b [meson] Improve the way cairo-ft availability is checked 2020-07-03 03:10:00 +04:30
Ebrahim Byagowi
aadcd3ed8a [meson] use dependency's has_headers to make pulled cairo has ft support 2020-07-01 17:47:20 +04:30
Ebrahim Byagowi
020b182c79 [meson] try freetype without harfbuzz just as a last resort 2020-07-01 17:47:20 +04:30
Xavier Claessens
01fa55e88f meson: Allow freetype and cairo subprojects to fail
If their respective option is set to 'auto' configuration of the
fallback subproject should be allowed to fail for any reason.
2020-07-01 14:11:11 +04:30
Xavier Claessens
00c652adab meson: Fallback to cairo subproject when option is 'auto' 2020-07-01 14:11:11 +04:30
Xavier Claessens
571365df33 meson: Simplify check for cairo library and headers 2020-07-01 14:11:11 +04:30
Xavier Claessens
c4bbe89b53 meson: Fallback to freetype2 subproject when option is 'auto'
But disable harfbuzz support when configuring freetype2 subproject to
avoid dependency cycle.
2020-07-01 14:11:11 +04:30
Xavier Claessens
33252ce576 meson: Simplify check for freetype2 library and headers 2020-07-01 14:11:11 +04:30
Ebrahim Byagowi
f3f9205fac [meson] Assume cairo_ft always available when cairo isn't from pkgconfig 2020-07-01 03:21:39 +04:30
Ebrahim Byagowi
702847aadd [meson] Turn benchmark to a feature 2020-06-29 12:54:58 +04:30
Ebrahim Byagowi
1536271f6b Don't check roundf availability in cmake and meson 2020-06-28 13:35:28 +04:30
Ebrahim Byagowi
95b1081be4 Add performance benchmark for shaping, get extents and draw 2020-06-25 01:30:07 +04:30
Ebrahim Byagowi
53b0a183c7 Remove concept of stable/unstable from build tools
We never practiced the concept of stable and unstable releases, let's
remove the code and always use the stable scheme.
2020-06-23 14:46:47 +04:30
Ebrahim Byagowi
e4203c1469 2.6.8 2020-06-22 12:51:22 +04:30
Ebrahim Byagowi
8c84fee2e5 Update build systems status messages 2020-06-22 04:32:59 +04:30
Ebrahim Byagowi
a6bcc577a9
[meson] don't add_dist_script when we are subproject
Happens when harfbuzz is used as a meson subproject,
  `ERROR: add_dist_script may not be used in a subproject.`
2020-06-20 14:19:12 +04:30
Ebrahim Byagowi
03bd3efaa7
[meson] Write git revision to .tarball-revision on dist tarball 2020-06-19 10:32:46 +04:30
Ebrahim Byagowi
62de2f749c [meson] Remove spaces before named parameter colons
meson documentations sometimes adds the space and sometimes don't and we
aren't adding it most of the times unconsciously so let's the cases and
be consistent.
2020-06-12 01:11:06 +04:30
Ebrahim Byagowi
b8454c3d61 [meson] use if blocks to separate different dependencies 2020-06-12 01:11:06 +04:30
Ebrahim Byagowi
ebab4b8658 [meson] Implement disabled state for cairo/freetype/icu
'disabled' wasn't implemented for some of the features so they were
getting found even with explicit -Dfeature=disabled, this implements it.

Run the following command to test this change and check whether 'disabled'
was actually effective,
  meson build -Dglib=disabled -Dgobject=disabled -Dcairo=disabled -Dfontconfig=disabled -Dicu=disabled -Dfreetype=disabled -Dintrospection=disabled -Dgtk_doc=disabled

This is useful when one wants to integrate harfbuzz into another project via
meson's subproject mechanism.
2020-06-10 20:15:42 +04:30
Ebrahim Byagowi
22048d55aa [meson] Add -Bsymbolic-functions 2020-06-05 12:00:44 +04:30
Ebrahim Byagowi
65462c4b0b minor, improve the need for graphite comment 2020-06-05 01:23:15 +04:30
Christoph Reiter
03bd6ead44 [meson] Only pass required dependencies to everything
Instead of passing dependencies as required we used one giant shared
dependency list containing all dependencies for every library/executable.
While this kinda works, the specified deps are also used for generating
the pkg-config files and this leads to lots of Requires.private and Libs.private
entries which aren't really needed.

This removes the "deps" array and replaces it with a few smaller ones and
makes sure the public libraries only get passed the dependencies actually
needed.

Fixes #2441
2020-06-04 23:28:57 +04:30