Commit Graph

10793 Commits

Author SHA1 Message Date
Ebrahim Byagowi b8454c3d61 [meson] use if blocks to separate different dependencies 2020-06-12 01:11:06 +04:30
Ebrahim Byagowi 8571b3551c [releasing] Remove tar signing procedure
https://github.com/harfbuzz/harfbuzz/issues/2449#issuecomment-639898473
2020-06-10 20:16:00 +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
Nirbheek Chauhan b88f1096ad meson: Export symbols for a DLL when not building statically
`default_library` might be 'both', in which case we will fail to link
when building with MSVC.
2020-06-09 20:22:28 +04:30
Khaled Hosny 5c8900efe4 [coretext] Properly check for macOS 10.10
Fixes https://github.com/harfbuzz/harfbuzz/issues/2452
2020-06-08 03:20:54 +02:00
Ebrahim Byagowi 0151da23d6 [meson] Remove with_libstdcxx build option
This was done in #770 but no indication of anyone is using it,
let's remove it from our meson port and we can just don't care about
it in autotools port after the migration to meson.
2020-06-06 03:43:29 +04:30
Behdad Esfahbod 56719474c2 s/blacklist/blocklist/g 2020-06-05 12:57:23 -07:00
Ebrahim Byagowi 22048d55aa [meson] Add -Bsymbolic-functions 2020-06-05 12:00:44 +04:30
Ebrahim Byagowi e98aa0c897 [meson] Make gobject and introspection features automatic
Meson doesn't have DISTCHECK_CONFIGURE_FLAGS like concept IIUC
and enabling them is the main thing we are doing with
distcheck flags anyway so lets turn them to auto.
2020-06-05 11:10:51 +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
Ebrahim Byagowi 759df46575 [style] Hide behind HB_EXPERIMENTAL_API compile flag 2020-06-04 20:33:39 +04:30
Ebrahim Byagowi d54de56870 [style] Adopt with meson 2020-06-04 20:33:39 +04:30
Ebrahim Byagowi de0ec5f4fe [style] give ptem value when asked for opsz
ptem, used for AAT's tracking/`trak` table is equivalent to opsz of variable fonts.

For variable AAT fonts, such as SFNS, ideally variable axis of the hb_font_t
should be set and equivalent to ptem, https://crbug.com/1005969#c37
2020-06-04 20:33:39 +04:30
Ebrahim Byagowi 22037499b4 [style] New experimental API, hb_style_get_value
Searches variation axes of a hb_font_t object for a specific axis first,
if not set, then tries to get default style values from different
tables of the font.
2020-06-04 20:33:39 +04:30
Ebrahim Byagowi d67553d12f
[meson] fix with_libstdcxx effect
oops
2020-06-04 12:31:57 +04:30
Ebrahim Byagowi 6f7048b917
[meson] Update subset tests list from autotools 2020-06-04 10:18:35 +04:30
Ebrahim Byagowi 7e74aa6a78
[ci] fix meson-gcc-mingw bot
keep build folder for dist testing
2020-06-04 09:32:20 +04:30
Ebrahim Byagowi b35764334e
[ci] check workability of meson based dist 2020-06-04 04:10:11 +04:30
Ebrahim Byagowi 6bf5e8e7e6
[ci] Deploy only when there is something to push
Apparently the previous version of gtk-doc was doing weird changes like 1b40da99bb and d1d9bff14c
in order to make every to have something for pushing and
now that we don't have such changes it will fail.

Alternatively we can go for `git commit --allow-empty`, guess better to
pollute history of https://github.com/harfbuzz/harfbuzz.github.io however.
2020-06-04 04:03:14 +04:30
Ebrahim Byagowi 029ecf326e [meson] Fix gen-hb-version.py run
It gets complicated apparently when executed in the dist process, let's use raw
names now that we are operating in the script folder anyway.
2020-06-04 03:35:28 +04:30
Ebrahim Byagowi 870304df76 [meson] Remove amalgam build option
Fixes #2444
2020-06-04 03:26:19 +04:30
Ebrahim Byagowi 5293fdba23
[ci] Move docs deployment from autotools to meson 2020-06-04 02:38:27 +04:30
Ebrahim Byagowi b8320340ce
[meson] fix gen script input
matters more when harfbuzz is a subproject
2020-06-03 23:40:57 +04:30
Ebrahim Byagowi 50d3f531ee
Use output names in update-unicode-tables.make 2020-06-03 17:59:41 +04:30
Ebrahim Byagowi fb46a32ed0 2.6.7 2020-06-03 12:56:07 +04:30
Ebrahim Byagowi 2309186468
Move unicode tables update script to its own make file
Also downloads things needed for unicode tables generators
2020-06-02 21:52:57 +04:30
Ebrahim Byagowi 19ecabed37
minor, fix hb-version.h generation for out-of-tree builds 2020-06-02 20:01:03 +04:30
Ebrahim Byagowi 9737170b6f minor fixes on src gen scripts 2020-06-02 19:18:35 +04:30
Ebrahim Byagowi 6058ede3ae
Build win32 artifacts using meson
As a part of meson migration, this builds hb-shape dependencies
using meson subprojects and removes different unrelated mingw
files we've put on source root about things that aren't really our
concern. This also simplifies all the instructions we've put in
README.mingw.md and makes it easy to build the project on
distros that no mingw libraries (such i686-win32-{freetype,glib,...}
are packaged. The known catch is however lack of hb-view as its need
for build of cairo which apparently isn't that straightforward.
2020-06-01 12:58:31 +04:30
Ebrahim Byagowi bb719915d9 [tests/aots] move the update script to update.py 2020-05-31 14:14:24 +04:30
Ebrahim Byagowi b318229993
[tests/test-rendering-tests] run git pull on correct dir 2020-05-31 12:52:53 +04:30
Ebrahim Byagowi 8a9a802636 minor, fix extra dist list 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi 419c2d0a00 [test/text-rendering-tests] Adopt the update script with meson 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi 2681656073 [test/text-rendering-tests] Update from upstream 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi ff89ba6e4d [tests] Port text-rendering-tests update script to python 2020-05-31 11:58:39 +04:30
Ebrahim Byagowi a9d13463b5 [meson] Categorize tests using `suite: [...]`
So one can run a category of interested tests like

  meson test -Cbuild --suite aots --suite src --print-errorlogs

Intead issuing particular tests which also is possible like

  meson test -Cbuild test-shape --print-errorlogs
2020-05-30 16:58:46 +04:30
Ebrahim Byagowi 9d13124cfd
[ci] fix alpine build issue 2020-05-30 14:45:22 +04:30
Ebrahim Byagowi 7250adee26 [tests] Port check scripts to python 2020-05-30 13:55:47 +04:30
Ebrahim Byagowi 5eb6cafd2e
[meson] reflect chosen linker update
As d9177a594b
2020-05-29 23:54:14 +04:30
Ebrahim Byagowi 0d8442a55f [meson] minor, find run-tests.py only once 2020-05-29 16:15:01 +04:30
Qunxin Liu 3c5bdd9bb8 [subset] GDEF AttachList subsetting support 2020-05-28 16:22:13 -07:00
Ebrahim Byagowi 368ca30641 minor on python scripts
* remove not needed imports
* remove semicolons
2020-05-29 00:48:32 +04:30
Ebrahim Byagowi ad87155fd0 minor, use py3's open(encoding=) 2020-05-29 00:11:19 +04:30
Ebrahim Byagowi cd5580e2d6 minor, enable printing to stderr in run-tests.py
As was originally intended https://github.com/harfbuzz/harfbuzz/blob/3ce6c7b/test/shaping/run-tests.sh
2020-05-28 23:43:58 +04:30
Ebrahim Byagowi 7554f618ec minor, use sys.exit print shorthand 2020-05-28 23:34:37 +04:30
Ebrahim Byagowi 08f1d95a50 minor, move scripts manuals to __doc__ 2020-05-28 15:13:12 +04:30
Qunxin Liu 593e58c842 [subset] ChainContext subsetting fix: add lookup index remapping 2020-05-27 16:58:15 -07:00
Ebrahim Byagowi e3af529e51 [meson] update generated headers only when the result is different
This way it won't ruin incremental builds.

We need a better way to declare source altering tasks
https://github.com/mesonbuild/meson/issues/7156
yet this is good enough despite being not idiomatic.

It is however not that smooth yet as the change may is detected on the
next meson run. One of course can issue ./gen-ragel-artifacts.py
manually for better experience before running meson.
2020-05-23 22:35:43 +04:30
Ebrahim Byagowi b32d169d22 [test] run aat APIs in shape fuzzer 2020-05-23 13:03:06 +04:30