diff options
author | David Turner <david.turner.dev@gmail.com> | 2020-05-17 18:45:41 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2020-09-21 07:53:02 +0200 |
commit | 66978a58874169c6a4f2f984a7461e2901901784 (patch) | |
tree | b9f16dd4d56045507730ffa399353713c9310a03 /meson_options.txt | |
parent | ab6a21b73314ef302299b47b1707f5b2d03826cf (diff) | |
download | freetype2-66978a58874169c6a4f2f984a7461e2901901784.tar.gz |
Add Meson build project file.
Example usage:
# Configure Meson build in directory `build-meson` to generate
# release binaries comparable to to the ones from the
# autotools/make build system.
meson setup build-meson \
--prefix=/usr/local \
--buildtype=debugoptimized \
--strip \
-Db_ndebug=true
# After configuring the Meson build with the above command,
# compile and install to `/usr/local/`; this includes a pkg-config
# file.
ninja -C build-meson install
# Alternatively, compile and install to `/tmp/aa/usr/local/...`
# for packaging.
DESTDIR=/tmp/aa ninja -C build-meson install
# Generate documentation under `build-meson/docs`.
ninja -C build-meson docs
Library size comparison for stripped `libfreetype.so` generated by
all three build systems:
- Default build (autotools + libtool): 712 KiB
- CMake build (RelWithDebInfo): 712 KiB
- Meson build: 712 KiB
* meson.build: New top-level Meson build file for the library.
* meson_options.txt: New file. It holds user-selectable options for
the build, which can be printed with `meson configure`, and selected
at `meson setup` or `meson --reconfigure` time with
`-D<option>=<value>`.
* scripts/parse_modules_cfg.py: A script invoked by `meson.build` to
parse `modules.cfg` and extract important information out of it
(i.e., the list of modules).
* scripts/process_ftoption_h.py: New script invoked by `meson.build`
to process the original `ftoption.h` file. It enables or disables
configuration macro variables based on the available dependencies.
This is similar to what other build systems are using (i.e., Meson's
`configure_file()` command is not used here).
* scripts/extract_freetype_version.py: New script invoked by
`meson.build` to extract the FreeType version number from
`<freetype/freetype.h>`.
* scripts/extract_libtool_version.py: New script invoked by
`meson.build` to extract the libtool `revision_info` data from
`builds/unix/configure.raw`, and to generate the corresponding
shared library suffix.
* scripts/generate_reference_docs.py: New script invoked by
`meson.build` to generate the FreeType 2 reference documentation
(using the `docwriter` and `mkdocs` packages, which must be already
installed).
Diffstat (limited to 'meson_options.txt')
-rw-r--r-- | meson_options.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 000000000..74ed16baa --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,47 @@ +# +# meson_options.txt +# + +# Copyright (C) 2020 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. + + +option('zlib', + type: 'combo', + choices: ['disabled', 'auto', 'builtin', 'system'], + value: 'auto', + description: 'Support reading gzip-compressed font files.') + +option('bzip2', + type: 'feature', + value: 'auto', + description: 'Support reading bzip2-compressed font files.') + +option('png', + type: 'feature', + value: 'auto', + description: 'Support color bitmap glyph formats in the PNG format.' + + 'Requires libpng.') + +option('harfbuzz', + type: 'feature', + value: 'auto', + description: 'Use Harfbuzz library to improve auto-hinting.' + + ' If available, many glyphs not directly addressable' + + ' by a font\'s character map will be hinted also.') + +option('brotli', + type: 'feature', + value: 'auto', + description: 'Use Brotli library to support decompressing WOFF2 fonts.') + +option('mmap', + type: 'feature', + value: 'auto', + description: 'Use mmap() to open font files for faster parsing.') |