src/meson.build


Log

Author Commit Date CI Message
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 f2a80ab2 2020-07-03T04:28:08 [meson] use null_dep idiom
Ebrahim Byagowi 42d039cc 2020-07-03T04:32:32 [meson] minor
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
Ebrahim Byagowi f8c8be05 2020-03-11T20:51:40 [meson] Add amalgam build option
Aaron Boxer 68f98241 2019-07-22T12:12:02 meson: update to latest master
Tim-Philipp Müller 535186fd 2018-12-03T20:51:06 meson: provide a harfbuzz-config for use from CMake See #822 and #1437.
Tim-Philipp Müller 7eaf3754 2018-11-16T16:26:06 meson: update for changes in master And remove header files from sources list, Meson figures out header dependencies by itself (via the compiler).
Khaled Hosny 04438554 2018-11-15T00:25:41 meson: Update build files after rebase
Tim-Philipp Müller 618584e9 2018-11-14T20:19:36 meson: rename incbase to incconfig Makes it clearer what it's for: config.h. See #4.
Khaled Hosny 14b5c774 2018-11-14T21:05:47 meson: Fix include directory when used as subproject HarfBuzz headers are under src/ not the root directory, without using incsrc no headers will be found by the dependent project. I think incbase is superfluous, it should be replaced by incsrc or dropped.
Tim-Philipp Müller 6abe7983 2018-11-14T13:49:03 meson: add g-i introspection
Tim-Philipp Müller d230a020 2018-11-12T19:41:39 meson: generate .def file for MSVC symbol export on the fly Fix symbol export with MSVC when features are disabled, such as GLib. We need to generate the list of exported symbols on the fly to make sure we only export symbols that are actually available. Needs some minor modifications to the gen-def.py script: - accept header list also via command line args; we can't pass things to a configure_file() command via the environment in Meson. - strip any leading 'src/' from library filename. This might be there because in Meson the script might be called from the top-level directory and not the current source directory. Remove .def files again which had been checked in for earlier versions of the Meson port.
Tim-Philipp Müller 4840c823 2018-11-12T16:56:56 meson: add option and build system plumbing for CoreText on macOS/iOS Untested though.
Tim-Philipp Müller 83ebbe4a 2018-11-12T16:56:56 meson: add option and build system plumbing for DirectWrite on Windows Untested though.
Tim-Philipp Müller b7796a5d 2018-11-12T16:56:56 meson: add option and build system plumbing for uniscribe on Windows Untested though.
Tim-Philipp Müller c81290b0 2018-11-12T15:58:09 meson: add feature option for internal ucdn lib
Nirbheek Chauhan f65def4d 2018-10-12T19:41:49 meson: Declare dependencies for use as a subproject Also use fallbacks for dependencies that have meson build files
Mathieu Duponchelle 29c47d8e 2018-06-05T18:19:29 meson: pass subdirs to pkgconfig.generate()
Mathieu Duponchelle 484313ff 2018-06-05T02:15:43 meson: install
Mathieu Duponchelle 99b26789 2018-05-17T14:53:20 meson: more windows fixes
Mathieu Duponchelle 920efc0e 2018-05-17T01:28:53 Add Meson build definitions Fixes #490 http://mesonbuild.com