summaryrefslogtreecommitdiff
path: root/meson_options.txt
diff options
context:
space:
mode:
authorDavid Turner <david.turner.dev@gmail.com>2020-05-17 18:45:41 +0200
committerWerner Lemberg <wl@gnu.org>2020-09-21 07:53:02 +0200
commit66978a58874169c6a4f2f984a7461e2901901784 (patch)
treeb9f16dd4d56045507730ffa399353713c9310a03 /meson_options.txt
parentab6a21b73314ef302299b47b1707f5b2d03826cf (diff)
downloadfreetype2-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.txt47
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.')