src/meson.build


Log

Author Commit Date CI Message
Matthias Clasen 2e897cc9 2022-12-25T20:03:59 Add a pc file for harfbuzz-cairo
Matthias Clasen 30664550 2022-12-25T19:03:50 Work on proper build integration Install hb-cairo.h and define HB_HAS_CAIRO.
Behdad Esfahbod 1ad24421 2022-12-25T15:55:14 [hb-cairo] Rename files to C++
Behdad Esfahbod c4f7563f 2022-12-25T19:40:44 [cairo] Fix build
Matthias Clasen 767bdd43 2022-12-25T10:32:33 wip: Add libharfbuzz-cairo This library will provide integration with cairo for font rendering.
Behdad Esfahbod ae208963 2022-12-26T12:30:39 Add hb-limits.hh
Behdad Esfahbod 11036ed7 2022-12-24T11:30:45 [paint] Add hb-paint-extents.cc
Behdad Esfahbod 268d8b7d 2022-12-23T14:45:56 [paint-extents] Start out
Matthias Clasen 8377341b 2022-12-14T22:03:52 wip: implement paint_glyph
Matthias Clasen 83d0a49f 2022-12-13T21:14:25 wip: hb-paint
Behdad Esfahbod e2546f5a 2022-12-22T15:50:43 [ft] Add hb-ft-colr.hh
Nirbheek Chauhan 7be06f63 2022-12-18T07:10:32 meson: Override dependencies to improve usage as a subproject With this change, harfbuzz can be consumed as a subproject without making any changes to the build files of a project. All you need to do is provide a wrap file with a `[provide]` section: https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section This is also necessary because otherwise projects need to hard-code the subproject name, which might be `harfbuzz` when using `wrap-git` or `harfbuzz-6.0.0` when using `wrap-file` (to build from a release tarball). This can cause conflicts between different subprojects that consume harfbuzz differently. Other projects like glib, cairo, pango, etc already do this.
Behdad Esfahbod 2c0abf02 2022-12-04T15:03:36 Revert "[harfbuzz-subset.cc] Trim down!" This reverts commit a335458d5776135f8672bfc98681b8862f657d5c. While this can be vastly trimmed down, what I did is not right. It still depends on hb-face, hb-font, hb-blob, hb-set, and hb-map.
Behdad Esfahbod a335458d 2022-12-04T14:56:20 [harfbuzz-subset.cc] Trim down!
Behdad Esfahbod 9704f835 2022-12-04T13:58:52 Merge branch 'config-header'
Behdad Esfahbod 10c8fc55 2022-12-02T15:34:34 [multimap] Add a multimap datastructure
Matthias Clasen c6d616cc 2022-10-17T22:41:51 Generate and install hb-features.h This header has defines for all the optional dependendencies that come with their own Harfbuzz headers, so you can do: #include <hb-features.h> #ifdef HB_HAS_DIRECTWRITE #include <hb-directwrite.h> #endif
Marco Rebhan db292f6f 2022-10-26T20:49:52 Pass through absolute paths to cmake config directly The previous code concatenates includedir to _harfbuzz_prefix verbatim, which results in a wrong final include path in case includedir is an absolute path. Instead, we can let meson determine the absolute include and lib paths in advance and save them in the cmake config. This is an issue in nixpkgs, where includedir is set to the final (absolute) path of the built library in the Nix store, which causes CMake projects depending on harfbuzz to not configure. See https://github.com/NixOS/nixpkgs/issues/180054.
Garret Rieger 4ec5eb95 2022-10-13T19:40:31 [subset] add a subset accelerator. Can be optionally attached to the face during subsetting. Contains data which can accelerate future subsets.
Garret Rieger 4418beac 2022-08-11T19:08:04 [repacker] start implmenting MarkBasePos splitting.
Behdad Esfahbod f4f7d691 2022-08-09T22:23:23 Merge pull request #3779 from harfbuzz/split_pair_pos_2 [repacker] Add PairPosFormat2 table splitting in the repacker.
Garret Rieger 2264df6d 2022-08-05T18:33:03 [repacker] add utility that can calculate the size of Coverage+ClassDef via incremental class inclusion.
Garret Rieger b154b1e4 2022-08-04T01:37:21 [repacker] pull out PairPosFormat1,2::do_split() into a common helper method.
Khaled Hosny 16bfe653 2022-08-02T23:46:04 [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
Garret Rieger 68b90153 2022-08-02T20:58:35 [repacker] Add class def sanitize and range cloning.
Behdad Esfahbod 826639fa 2022-08-02T12:18:18 [src] Add test-use-table Fixes https://github.com/harfbuzz/harfbuzz/issues/3758
Garret Rieger a0b8893e 2022-07-29T19:58:51 [repacker] add Coverage sanitize.
Garret Rieger f6a242b6 2022-07-27T18:58:41 [repacker] begin adding PairPos splitting support.
Garret Rieger ce03c353 2022-07-21T19:07:55 [repacker] add make_extension_context_t.
Khaled Hosny 605bb1ee 2022-07-19T21:15:21 [subset] Add amalgam harfbuzz-subset.cc Fixes https://github.com/harfbuzz/harfbuzz/issues/3733
Garret Rieger 5363e40d 2022-07-13T23:03:54 [reorg] update build files.
Behdad Esfahbod ea11029a 2022-07-08T11:58:43 [GPOS] Split LigatureArray.hh
Behdad Esfahbod aa686574 2022-07-07T14:07:45 [Makefile.sources/meson.build] Sort file names
Behdad Esfahbod 0b0e3b30 2022-07-07T14:06:44 [GPOS] Break down PairPosFormat1 into new layout
Luca Bacci 1abc14b4 2022-07-06T17:52:29 Do not link with the DWrite lib It's loaded dynamically now
Garret Rieger 900476c6 2022-06-30T19:21:23 Move GSUB.hh GPOS.hh back into the GPOS/GSUB sub directories.
Garret Rieger 5fdae684 2022-06-29T23:52:08 [reorg] Move GSUB.hh up one level and change GSUB namespace to GSUB_impl.
Garret Rieger 3fbf2dec 2022-06-28T23:55:32 [reorg] Move OT::Layout::GPOS_impl::GPOS to OT::Layout::GPOS.
Behdad Esfahbod 11d26706 2022-06-25T18:19:09 [glyf] Split off glyf-helpers.hh
Behdad Esfahbod 499c6379 2022-06-25T18:07:49 [glyf] Split off path-builder.hh
Behdad Esfahbod 13aadc89 2022-06-25T18:03:15 [glyf] Split off CompositeGlyph.hh
Behdad Esfahbod f0ec2b72 2022-06-25T17:55:16 [glyf] Split off SimpleGlyph.hh
Behdad Esfahbod 8ed78627 2022-06-25T17:53:13 [glyf] Split off GlyphHeader.hh
Behdad Esfahbod ae75f066 2022-06-25T17:11:04 [glyf] Split SubsetGlyph
Behdad Esfahbod e4f2bc93 2022-06-25T16:38:50 [glyf] Split Glyph.hh
Behdad Esfahbod 852985da 2022-06-25T14:41:51 [glyf] Split loca.hh
Behdad Esfahbod 100576b7 2022-06-25T14:38:43 [glyf] Start splitting file
Khaled Hosny c3f590bb 2022-06-16T11:04:13 [arabic] Support legacy PUA shaping Support legacy pre-OpenType Windows 3.1-era fonts, by remapping PUA code points in cmap table and letting our fallback shaper build the GSUB table. Uniscribe applies also mset-like substitution, but our fallback mark positioning gives better results, so this is not implemented.
Behdad Esfahbod 899ca243 2022-06-05T01:52:31 [myanmar] Remove duplication of categories in the Myanmar shaper
Behdad Esfahbod ce0528c0 2022-06-05T01:34:10 [khmer] Remove duplication of categories in the Khmer shaper
Xavier Claessens 4266f4e2 2022-06-03T12:06:56 Fix check-* scripts when harfbuzz is a subproject When harfbuzz is a subproject paths are in the form "subprojects/harfbuzz/src/...". Instead of removing "src/" prefix, take the absolute path and make it relative to current source dir. This fix regression introduced in https://github.com/harfbuzz/harfbuzz/pull/3394.
Behdad Esfahbod 5bfb0b72 2022-06-03T02:56:41 Rename s/shape-complex/shaper/g
Behdad Esfahbod e0f3cab2 2022-06-01T11:51:43 [cplusplus] Add hb-cplusplus.hh Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
Xavier Claessens 334bd013 2022-05-30T11:46:08 Skip warning when building as subproject and ragel is missing It is unlikely to be a developer build in that case.
Khaled Hosny 34275119 2022-05-30T04:46:02 [gi] Add freetype2-2.0 for g-i-r includes Fixes the warnings: ../src/hb-ft.cc:810: Warning: HarfBuzz: hb_ft_face_create: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:886: Warning: HarfBuzz: hb_ft_face_create_cached: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:855: Warning: HarfBuzz: hb_ft_face_create_referenced: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:920: Warning: HarfBuzz: hb_ft_font_create: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:1029: Warning: HarfBuzz: hb_ft_font_create_referenced: argument ft_face: Unresolved type: 'FT_Face' ../src/hb-ft.cc:240: Warning: HarfBuzz: hb_ft_font_get_face: return value: Unresolved type: 'FT_Face' ../src/hb-ft.cc:262: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Unresolved type: 'FT_Face'
Garret Rieger a9910e25 2022-03-23T16:09:41 [reorg] Move SubstLookup and GSUB into the new layout.
Garret Rieger 90af2143 2022-03-23T15:28:29 [reorg] Move ReverseChainSingleSubst to new layout.
Garret Rieger 403feb38 2022-03-23T15:19:04 [reorg] Move LigatureSubst to new layout.
Garret Rieger 6a369389 2022-03-23T15:04:11 [reorg] Move AlternateSubst to new layout.
Garret Rieger dea0681d 2022-03-23T14:48:58 [reorg] Move MultipleSubst into new layout.
Garret Rieger 7dfd9e70 2022-01-13T14:17:51 [reorganization] WIP move single substitution into separate files.
Qunxin Liu a35757c6 2022-02-02T10:30:34 [repacker] expose hb_subset_repack() API, hb_object_t and hb_link_t structs
Behdad Esfahbod 8b4f4290 2022-02-03T01:14:47 [draw] Virtualize hb_font_draw_glyph() into hb_font_get_glyph_shape() To be implemented in hb-ft.
Behdad Esfahbod ddc36df3 2022-02-02T16:15:04 [draw] Move hb_font_draw_glyph() to hb-draw-glyph.cc
Behdad Esfahbod b263371b 2022-02-12T15:06:47 Merge pull request #3398 from harfbuzz/buffer-verify Add HB_BUFFER_FLAG_VERIFY
Behdad Esfahbod 68937238 2022-02-11T13:16:25 [machinery] Allow using lazy-loader with void* Fixes https://github.com/harfbuzz/harfbuzz/issues/3427
Behdad Esfahbod 61823838 2022-01-28T13:45:25 [buffer] Add HB_BUFFER_FLAG_VERIFY Move buffer verification code inside the library, from util/. Part of https://github.com/harfbuzz/harfbuzz/issues/3010
Behdad Esfahbod 76c6f416 2022-01-23T10:43:37 [test] Add test-serialize
Behdad Esfahbod ac109c93 2022-01-19T12:11:58 [ms-feature-ranges] Inline code in header file Fixes https://github.com/harfbuzz/harfbuzz/issues/3387
Khaled Hosny 549e2b70 2021-12-01T03:16:26 Revert "Remove direct link to dwrite from meson scripts" This reverts commit 6ea6c581edb3cecf1b4b42854e37b40d6d067cd3.
Khaled Hosny 69d8f27c 2021-11-20T17:09:15 [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.
Behdad Esfahbod 459e485b 2021-11-02T09:36:12 [meta] Remove otherwise-empty test-meta
Behdad Esfahbod c30f6834 2021-11-01T22:29:14 [map] Add 5 methods
Behdad Esfahbod dcd18da6 2021-11-01T20:55:30 [set] Add standard the 5 standard methods & tests
Behdad Esfahbod 11135150 2021-11-01T20:23:12 [vector] Move test code into separate file
Cameron Cawley 6ea6c581 2021-09-24T22:05:29 Remove direct link to dwrite from meson scripts
Qunxin Liu f55d8347 2021-10-14T13:39:45 [subset] Move struct DeltaSetIndexMap into hb-ot-var-common.hh Also fix naming issues in review comments
Khaled Hosny 792ca307 2021-10-05T19:00:29 [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
Khaled Hosny a59e7ec9 2021-09-15T14:02:52 [meson] Add ragel_subproject option Add an option to build fallback ragel subproject when no suitable ragel version is found, and make it off by default since most builder don’t need ragel at all. Fixes https://github.com/harfbuzz/harfbuzz/issues/3208 (hopefully)
Khaled Hosny 22cbd038 2021-09-14T12:34:25 [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).
Khaled Hosny 7e9ac8fe 2021-09-14T07:07:00 [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.
Behdad Esfahbod 9b390f8c 2021-08-15T12:34:55 [set] Move page_t into hb-bit-page.hh
Khaled Hosny 5f801da9 2021-07-27T20:54:19 [hb-ms-features] Move code out of header file
Garret Rieger 832f2b59 2020-11-10T16:15:37 [subset] Refactor _subset () to reduce nesting and eliminate the use of 'goto'.
Garret Rieger 5d3511e5 2020-11-05T10:34:26 [subset] Change compute_distances() to use a priority queue.
Khaled Hosny 7b9e23f2 2021-02-10T23:37:43 [introspection] Fix g-ir-scanner syntax errors Fixes https://github.com/harfbuzz/harfbuzz/issues/2851
josephshen d9e0244c 2021-02-02T16:04:44 remove duplicate file names
Behdad Esfahbod 59721c2f 2021-01-29T11:34:59 [use] Move data table into same compilation unit
Behdad Esfahbod d9b167da 2021-01-28T20:40:42 [use] Remove hb-ot-shape-complex-use.hh Inline into ragel machine.
Behdad Esfahbod 675b6c29 2021-01-28T20:17:33 [indic/khmer/myanmar/use] Remove unused dump-*-data programs In prep for streamlining tables.
Behdad Esfahbod e8e9fd95 2021-01-15T18:52:57 [syllabic] Add hb-ot-shape-complex-syllabic.cc/hh Empty for now. Part of https://github.com/harfbuzz/harfbuzz/issues/1810
Behdad Esfahbod 3c5b7886 2021-01-15T19:26:04 Revert "Avoid category duplication between C++ and Ragel" This reverts commit 67ea8133d3fa82b3365cd917fb266ba752f16169. Merged accidentally on https://github.com/harfbuzz/harfbuzz/pull/2726
David Corbett 67ea8133 2020-10-17T14:37:22 Avoid category duplication between C++ and Ragel
Myaamori 5f32fdff 2020-11-24T01:29:24 meson: use meson.current_source_dir() instead of @CURRENT_SOURCE_DIR@ @CURRENT_SOURCE_DIR@ is not listed as a valid string substitution for custom targets in the Meson reference, and in practice it does not get substituted when using the vs2019 backend.
Fabrice Fontaine 2604201a 2020-09-24T21:00:34 src/meson.build: allow introspection when cross-compiling introspection can be enabled when cross-compiling on certains conditions (for example it is supported by buildroot) so, as suggested by Tim-Philipp Müller, disable it by default for cross builds unless the option was explicitly enabled by the user Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Ross Burton 5aff8310 2020-09-07T10:55:33 [build] generate hb-version.h once at configure time with Meson Currently with Meson hb-version.h is generated during the build without any explicit dependencies which can result in build failures due races over the file. Change this to be generated at configure time, so that the file is always generated once before the build itself. Closes #2667
Ross Burton bc1c93fb 2020-09-07T17:11:17 [build] No need to pass source directory to gen-hb-version The input file is by definition in the source directory, so dirname() that instead of needing the directory to be passed. Needed because a follow-up commit will change when this is called, and the source directory isn't trivially available at that point.
Khaled Hosny fe6381d9 2020-09-01T03:44:01 [build] Minor
ebraminio a4f3a752 2020-09-01T03:21:12 [build] hb-directwrite needs a C++ linker
Ebrahim Byagowi 253a8f7a 2020-08-13T09:23:29 [meson] Another approach to skip tests incompatible with MSVC