src/meson.build


Log

Author Commit Date CI Message
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
Ebrahim Byagowi 411b426c 2020-08-13T01:23:46 [meson] minor
Ebrahim Byagowi 6e32145d 2020-08-13T00:13:06 [meson] Make compatbile with 0.47.0
Ebrahim Byagowi 58209c86 2020-08-12T23:04:26 [meson] Make compatbile with 0.49.0 Contains a just put together summary feature polyfill and workaround to broken ternary operator.
Tom Schoonjans eea9b59f 2020-08-12T06:40:23 [meson] fix generating introspection Only libharfbuzz_gobject is introspectable, not libharfbuzz. Therefore, it makes no sense to target the latter for introspection: it should instead be listed as a dependency.
David Corbett 7bffb5d7 2020-08-11T19:24:46 Generate `has_arabic_joining`
Ebrahim Byagowi ef2e3803 2020-08-12T00:50:33 Revert "Remove cmake-config support of HarfBuzz" This reverts commit 75efa893433b6f352c28bda9d0a92683244900aa.
Ebrahim Byagowi 75efa893 2020-07-30T01:17:42 Remove cmake-config support of HarfBuzz Reverts d38f37b2 as discussed in #2316
Ebrahim Byagowi 11bb8aa8 2020-08-02T00:47:21 [meson] limit check-libstdc++ check to 0.55 library(..., link_language: 'c') is introduced in 0.55 but we were relying on this anyway assuming b_asneeded being true on meson. #2614
Ebrahim Byagowi 9d3fbe05 2020-07-30T14:54:00 [meson] Add darwin versions to library() We now have, $ otool -L src/libharfbuzz.dylib src/libharfbuzz.dylib: @rpath/libharfbuzz.0.dylib (compatibility version 0.0.0, current version 0.0.0) And with the change should we get $ otool -L src/libharfbuzz.dylib src/libharfbuzz.dylib: @rpath/libharfbuzz.0.dylib (compatibility version 20700.0.0, current version 20700.0.0)
Ebrahim Byagowi c33e8006 2020-07-14T19:29:58 [fuzz] Implement failing allocator
Ebrahim Byagowi 60959b08 2020-07-14T20:28:06 [meson] execute find_program('gen-ragel-artifacts.py') only once should rename the script also
Ebrahim Byagowi 5c8e1bd2 2020-07-14T17:47:10 [meson] Don't allow introspection on static library
Ebrahim Byagowi 122a2897 2020-07-05T22:45:11 [aat] Remove lcar support Very low use, only two distinct font files, Apple Chancery.ttf and Hoefler Text.ttc have it so it really doesn't worth the size addition and so, but one may argue that whole ligature caret is low use but guess we better to encourage GDEF one anyway.
Ebrahim Byagowi a3b9b94b 2020-07-06T00:05:21 [style] Remove fdsc support (#2541) It isn't exposed yet and low use between Apple fonts, 32 fdsc table vs 767 OS/2 tables, even Apple doesn't support it anymore per Ned.
Jan Alexander Steffens (heftig) 44444822 2020-07-02T17:46:56 meson: Pin harfbuzz in .pc files to the built version This ensures that we link -subset, -icu and -gobject with a matching version of the main library.
Jan Alexander Steffens (heftig) 3adcf398 2020-07-02T16:41:22 meson: Make Requires in .pc files match autotools Libreoffice tries to use only harfbuzz-icu.pc and assumes this includes -lharfbuzz.
Ebrahim Byagowi 359dbc97 2020-07-04T12:28:06 [meson] Use the recommended way to generate harfbuzz.cc As https://github.com/harfbuzz/harfbuzz/pull/2532
Ebrahim Byagowi a7e82e4f 2020-07-04T12:04:41 [meson] use the recommended way to generate hb-version.h As https://github.com/harfbuzz/harfbuzz/pull/2532
Ebrahim Byagowi 404ecc25 2020-07-04T03:13:32 [meson] use basename in check scripts now that meson passes dir also
Ebrahim Byagowi 785a9a8f 2020-07-04T02:08:30 [meson] use the recommended way to generate ragel headers As described in https://github.com/mesonbuild/meson/issues/7156#issuecomment-629622827
Ebrahim Byagowi 42d039cc 2020-07-03T04:32:32 [meson] minor
Ebrahim Byagowi f2a80ab2 2020-07-03T04:28:08 [meson] use null_dep idiom
Ebrahim Byagowi 53b0a183 2020-06-22T18:04:01 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.
Ebrahim Byagowi 47a0fbec 2020-06-21T02:34:59 [meson] Mark longer tests with slow So one can skip them easily by `meson test -Cbuild --no-suite slow`
Ebrahim Byagowi 4e7cb7e2 2020-06-12T01:38:16 minor, fix lists sorting
Nirbheek Chauhan b88f1096 2020-06-09T20:06:50 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.
Ebrahim Byagowi 0151da23 2020-06-06T01:48:23 [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.
Christoph Reiter 03bd6ead 2020-06-03T23:52:10 [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
Ebrahim Byagowi d54de568 2020-04-21T16:33:50 [style] Adopt with meson
Ebrahim Byagowi d67553d1 2020-06-04T12:31:57 [meson] fix with_libstdcxx effect oops
Ebrahim Byagowi 029ecf32 2020-06-04T03:31:15 [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.
Ebrahim Byagowi 870304df 2020-06-04T03:19:53 [meson] Remove amalgam build option Fixes #2444
Ebrahim Byagowi b8320340 2020-06-03T23:40:57 [meson] fix gen script input matters more when harfbuzz is a subproject
Ebrahim Byagowi a9d13463 2020-05-30T14:17:56 [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
Ebrahim Byagowi 7250adee 2020-05-29T12:34:30 [tests] Port check scripts to python
Ebrahim Byagowi e3af529e 2020-05-23T22:13:32 [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.
Ebrahim Byagowi 887aa021 2020-05-21T20:02:47 [meson] Use find_program for locating python script Apparently that is the simplest and supported way of finding python scripts.
Ebrahim Byagowi d9177a59 2020-05-21T19:34:56 [meson] Use a c linker for on Windows also Using a C linker was limited to non-Windows as 20a840c7, let's revisit this while transition to meson. Packagers easily override that via the option and use a C++ linker if needed.
Ebrahim Byagowi cc53fd15 2020-05-21T19:33:18 [meson] Normalize options names As https://github.com/harfbuzz/harfbuzz/pull/2412#discussion_r426275027
Ebrahim Byagowi a9e8328a 2020-05-21T16:28:24 [meson] Add build configuration summary just like autotools
Ebrahim Byagowi f7562672 2020-05-21T17:01:04 [meson] Use / instead join_paths We need some of the very recent features of meson, let's use the new features also
Ebrahim Byagowi 4fc6189a 2020-04-21T12:19:16 [meson] Generate harfbuzz.cc, hb-version.h and ragel artifacts
Christoph Reiter b19f927f 2020-05-16T09:27:05 meson: error out if introspection is enabled but gobject isn't In case a user passed -Dintrospection=enabled the build would just ignore it by default because gobject defaults to disabled and the introspection build gets skipped. Instead, if introspection is explicitly enabled but gobject is for some reason missing error out. Fixes #2404
Ebrahim Byagowi bb095e1b 2020-05-10T22:00:05 [meson] make -subset target dependent to deps to get libm dependency
Ebrahim Byagowi eea99d7b 2020-05-10T14:46:16 [meson] Let name_prefix of exported libraries the default meson complains about this and it is the default per #2256 Fixes #2256
Ebrahim Byagowi 2ac42220 2020-05-10T14:20:27 [meson] specify preferred linker to avoid stdc++ linking
Ebrahim Byagowi 15083c24 2020-05-10T14:12:20 [meson] Reenable make check-symbols compatible with gcov
Ebrahim Byagowi 68905542 2020-04-28T14:56:47 [ci/meson] temporarily disable check-symbols will enable again
Hugo Beauzée-Luyssen 6881939f 2020-04-23T10:08:45 src: meson: Reindent after last changes
Hugo Beauzée-Luyssen e18858c6 2020-04-23T10:06:20 src: Don't build tests when they are disabled
Ebrahim Byagowi 750bb73e 2020-04-21T01:13:13 [meson] Add an experimental-api option
Christoph Reiter fb3acdbc 2020-04-19T14:57:04 meson: only install gobject/icu headers if the features are enabled
Christoph Reiter ad5dcda0 2020-04-19T14:53:05 meson: install hb-icu.h header
Ebrahim Byagowi c6b3f73b 2020-04-19T00:54:24 [meson] Make harfbuzz-icu separate module optout-able
Christoph Reiter 8ae06c94 2020-04-18T20:22:45 meson: build a separate library for harfbuzz-icu This adds a seperate library like with autotools. This also fixes the ico feature option which was just set to required:false when disabled instead of really disabling it. Disabling is still broken with msvc because it then tries to find the library another way, but that's broken for all other deps as well so I left it as is. For tests only test-unicode.c is using icu specific functions so split it out into its own category which depends on harfbuzz-icu. Fixes #2338
Christoph Reiter dced2fbe 2020-04-18T14:37:03 meson: complete introspection build config Pass the same config to gobject-introspection as with cmake/autotools. This makes sure the c-include and package name is included in the gir and also fixes the build because of the missing HB_AAT_H* defines. Fixes #2336
Ebrahim Byagowi 18fc9197 2020-03-26T13:34:28 [meson] Run check-symbols.sh and check-static-inits.sh correctly * Search src/ build directory for objects in check-static-inits.sh * Find .def files in src/ build directory in src/check-symbols.sh * Pass builddir also in autotools also, we may just remove libs passing after autotools removal * Move harfbuzz_subset_def target so can be referenced as a check-static-inits.sh dependency
Ebrahim Byagowi f0ce56bb 2020-03-24T22:53:38 [meson] Don't compile test-bimap on msvc either MSVC doens't like its NullPool, test-bimap.cc.obj : error LNK2019: unresolved external symbol "unsigned __int64 const * const _hb_NullPool" (?_hb_NullPool@@3QB_KB) referenced in function
Ebrahim Byagowi 22f311e1 2020-03-24T22:43:02 [meson] Don't compile noinst_programs in msvc for now
Ebrahim Byagowi 7054b122 2020-03-24T22:35:41 [meson] Mark rest of non-install executables explicitly
Ebrahim Byagowi e8808c1c 2020-03-24T19:15:09 [meson] Minor, replace tabs with spaces
Ebrahim Byagowi 2db82791 2020-03-24T18:55:56 [meson] Don't compile test-{algs,iter,meta} on msvc
Ebrahim Byagowi 3385afac 2020-03-24T18:55:01 [meson] Don't run check-includes if is amalgam build
Ebrahim Byagowi 6a8a1dc5 2020-03-24T16:04:33 [meson] Port src/ binary artifacts to meson
Tim-Philipp Müller 93b3e302 2020-03-14T11:27:50 [meson] fix icu-related linking errors in test with amalgam build test-unicode.c:960: undefined reference to `hb_icu_get_unicode_funcs' test-unicode.c:961: undefined reference to `hb_icu_get_unicode_funcs' For now add the icu sources to libharfbuzz also for the amalgam build, later we need to have a separate harfbuzz-icu module and link against that, and/or generate harfbuzz.cc.
Chun-wei Fan 838346c5 2020-03-13T18:01:17 meson: Support GDI integration ...and supersede the configuration option uniscribe with gdi, as Uniscribe is tightly tied to GDI. This means that enabling GDI would also mean enabling Uniscribe.
Chun-wei Fan 4b4d5c29 2020-03-13T16:00:09 src/meson.build: Some cleanups for Visual Studio builds We don't actually need the .def files (vs_module_defs) entry when we are building DLLs with Visual Studio as long as we have HB_DLL_EXPORT defined. Plus, to maintain compatibility with the CMake builds, for Visual Studio builds we do not prefix the libraries with 'lib', nor have a '-0' suffix for the DLL file name.
Chun-wei Fan 8d425ed4 2020-03-13T12:15:28 meson: Fix harfbuzz-gobject builds without introspection Make the `sources:` field reflect the items depending on whether introspection is being built
Chun-wei Fan 3341d534 2020-03-13T12:07:06 meson: Don't apply -DHB_DLL_EXPORT to all targets Only have it apply to the libraries when they are not built statically on Visual Studio