Werner Lemberg pushed to branch master at FreeType / FreeType
Commits:
-
4cb8a88a
by Werner Lemberg at 2021-07-03T13:25:23+02:00
-
a399fb89
by Werner Lemberg at 2021-07-03T16:34:01+02:00
-
5e32a034
by Werner Lemberg at 2021-07-03T20:24:16+02:00
4 changed files:
Changes:
1 |
+2021-07-03 Werner Lemberg <wl@gnu.org>
|
|
2 |
+ |
|
3 |
+ * meson_options.txt: Sort alphabetically; no final full stops.
|
|
4 |
+ |
|
1 | 5 |
2021-07-01 Ben Wagner <bungeman@chromium.org>
|
2 | 6 |
|
3 | 7 |
* src/truetype/ttgxvar.c (tt_set_mm_blend): Test `coords`.
|
1 | 1 |
README.git
|
2 |
-----------
|
|
2 |
+==========
|
|
3 |
+ |
|
4 |
+ |
|
5 |
+repository issues
|
|
6 |
+-----------------
|
|
3 | 7 |
|
4 | 8 |
FreeType's official repository site is
|
5 | 9 |
|
... | ... | @@ -23,7 +27,10 @@ digit '2' for historical reasons. |
23 | 27 |
freetype-demos
|
24 | 28 |
|
25 | 29 |
|
26 |
-The git archive doesn't contain pre-built configuration scripts for
|
|
30 |
+standard builds with `configure`
|
|
31 |
+--------------------------------
|
|
32 |
+ |
|
33 |
+The git repository doesn't contain pre-built configuration scripts for
|
|
27 | 34 |
UNIXish platforms. To generate them say
|
28 | 35 |
|
29 | 36 |
sh autogen.sh
|
... | ... | @@ -38,33 +45,35 @@ The versions given in parentheses are known to work. Newer versions |
38 | 45 |
should work too, of course. Note that `autogen.sh` also sets up
|
39 | 46 |
proper file permissions for the `configure` and auxiliary scripts.
|
40 | 47 |
|
41 |
-The `autogen.sh` script now checks the versions of the above three
|
|
42 |
-packages whether they match the numbers above. Otherwise it will
|
|
43 |
-complain and suggest either upgrading or using an environment variable
|
|
44 |
-to point to a more recent version of the required tool(s).
|
|
48 |
+The `autogen.sh` script checks whether the versions of the above three
|
|
49 |
+tools match the numbers above. Otherwise it will complain and suggest
|
|
50 |
+either upgrading or using environment variables to point to more
|
|
51 |
+recent versions of the required tools.
|
|
45 | 52 |
|
46 | 53 |
Note that `aclocal` is provided by the 'automake' package on Linux,
|
47 | 54 |
and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
|
48 | 55 |
|
49 | 56 |
|
57 |
+alternative build methods
|
|
58 |
+-------------------------
|
|
59 |
+ |
|
50 | 60 |
For static builds that don't use platform-specific optimizations, no
|
51 | 61 |
configure script is necessary at all; saying
|
52 | 62 |
|
53 | 63 |
make setup ansi
|
54 | 64 |
make
|
55 | 65 |
|
56 |
-should work on all platforms that have GNU `make` (or `makepp`).
|
|
57 |
-Similarly, a build with `cmake` or `meson` can be done directly from
|
|
58 |
-the git repository.
|
|
59 |
- |
|
66 |
+should work on all platforms that have GNU `make` (or `makepp`).
|
|
60 | 67 |
|
61 |
-For using the `FT_DEBUG_LOGGING` macro while debugging (see file
|
|
62 |
-`docs/DEBUG` for more information) the following git commands are
|
|
63 |
-necessary to check out the 'dlg' library as a git submodule.
|
|
68 |
+A build with `cmake` or `meson` can be done directly from the git
|
|
69 |
+repository. However, if you want to use the `FT_DEBUG_LOGGING` macro
|
|
70 |
+(see file `docs/DEBUG` for more information) it is currently mandatory
|
|
71 |
+to execute `autogen.sh` in advance; this script clones the 'dlg' git
|
|
72 |
+submodule and copies some files into FreeType's source tree.
|
|
64 | 73 |
|
65 |
- git submodule init
|
|
66 |
- git submodule update
|
|
67 | 74 |
|
75 |
+contributing
|
|
76 |
+------------
|
|
68 | 77 |
|
69 | 78 |
If you want to contribute to FreeType it is recommended to install the
|
70 | 79 |
`git-merge-changelog` program – we use a `ChangeLog` file, which often
|
... | ... | @@ -11,6 +11,17 @@ |
11 | 11 |
# indicate that you have read the license and understand and accept it
|
12 | 12 |
# fully.
|
13 | 13 |
|
14 |
+#
|
|
15 |
+# Say
|
|
16 |
+#
|
|
17 |
+# meson configure
|
|
18 |
+#
|
|
19 |
+# to see all configuration options and their default values. For example,
|
|
20 |
+# to build only a shared version of FreeType, override the default value
|
|
21 |
+# with
|
|
22 |
+#
|
|
23 |
+# meson setup -Ddefault_library=shared
|
|
24 |
+#
|
|
14 | 25 |
|
15 | 26 |
project('freetype2', 'c',
|
16 | 27 |
meson_version: '>= 0.55.0',
|
... | ... | @@ -19,12 +30,8 @@ project('freetype2', 'c', |
19 | 30 |
'include/freetype/freetype.h').stdout().strip(),
|
20 | 31 |
)
|
21 | 32 |
|
22 |
-#
|
|
23 |
-# Rules to compile the FreeType 2 library itself
|
|
24 |
-#
|
|
25 |
- |
|
26 | 33 |
|
27 |
-# Apparently meson doesn't provide a read_file() function, so instead
|
|
34 |
+# Apparently meson doesn't provide a `read_file` function, so instead
|
|
28 | 35 |
# running an external command is required.
|
29 | 36 |
|
30 | 37 |
python = import('python')
|
... | ... | @@ -101,7 +108,7 @@ endforeach |
101 | 108 |
|
102 | 109 |
|
103 | 110 |
# FreeType 2 base extensions.
|
104 |
-# Normally configured through `modules.cfg`.
|
|
111 |
+# To be configured in `modules.cfg`.
|
|
105 | 112 |
|
106 | 113 |
base_extensions = run_command(python_exe,
|
107 | 114 |
files('builds/meson/parse_modules_cfg.py'),
|
... | ... | @@ -191,7 +198,7 @@ elif host_machine.system() == 'windows' |
191 | 198 |
ft2_sources += files(['builds/windows/ftsystem.c',])
|
192 | 199 |
else
|
193 | 200 |
if has_unistd_h and has_fcntl_h and has_sys_mman_h
|
194 |
- # This version of ftsystem.c uses mmap() to read input font files.
|
|
201 |
+ # This version of `ftsystem.c` uses `mmap` to read input font files.
|
|
195 | 202 |
ft2_sources += files(['builds/unix/ftsystem.c',])
|
196 | 203 |
elif mmap_option.enabled()
|
197 | 204 |
error('mmap was enabled via options but is not available,'
|
... | ... | @@ -206,7 +213,7 @@ endif |
206 | 213 |
#
|
207 | 214 |
# NOTE: Some specialized versions exist for other platforms not supported by
|
208 | 215 |
# Meson. Most implementation differences are extremely minor, i.e., in the
|
209 |
-# implementation of FT_Message() and FT_Panic(), and getting the `FT2_DEBUG`
|
|
216 |
+# implementation of `FT_Message` and `FT_Panic`, and getting the `FT2_DEBUG`
|
|
210 | 217 |
# value from the environment, when this is supported. A smaller refactor
|
211 | 218 |
# might make these platform-specific files much smaller, and could be moved
|
212 | 219 |
# into `ftsystem.c` as well.
|
... | ... | @@ -303,7 +310,7 @@ if host_machine.system() == 'windows' |
303 | 310 |
endif
|
304 | 311 |
|
305 | 312 |
|
306 |
-# Generate `ftconfig.h`
|
|
313 |
+# Generate `ftconfig.h`.
|
|
307 | 314 |
|
308 | 315 |
ftconfig_command = process_header_command
|
309 | 316 |
if has_unistd_h
|
... | ... | @@ -338,7 +345,7 @@ ft2_lib = library('freetype', |
338 | 345 |
)
|
339 | 346 |
|
340 | 347 |
|
341 |
-# To be used by other projects including this one through subproject().
|
|
348 |
+# To be used by other projects including this one through `subproject`.
|
|
342 | 349 |
freetype_dep = declare_dependency(
|
343 | 350 |
include_directories: ft2_includes,
|
344 | 351 |
link_with: ft2_lib,
|
... | ... | @@ -12,40 +12,42 @@ |
12 | 12 |
# fully.
|
13 | 13 |
|
14 | 14 |
|
15 |
-option('zlib',
|
|
15 |
+option('brotli',
|
|
16 | 16 |
type: 'feature',
|
17 | 17 |
value: 'auto',
|
18 |
- description: 'Support reading gzip-compressed font files.')
|
|
18 |
+ description: 'Use Brotli library to support decompressing WOFF2 fonts')
|
|
19 | 19 |
|
20 | 20 |
option('bzip2',
|
21 | 21 |
type: 'feature',
|
22 | 22 |
value: 'auto',
|
23 |
- description: 'Support reading bzip2-compressed font files.')
|
|
23 |
+ description: 'Support reading bzip2-compressed font files')
|
|
24 | 24 |
|
25 |
-option('png',
|
|
25 |
+option('harfbuzz',
|
|
26 | 26 |
type: 'feature',
|
27 | 27 |
value: 'auto',
|
28 |
- description: 'Support color bitmap glyph formats in the PNG format.'
|
|
29 |
- + 'Requires libpng.')
|
|
28 |
+ description: 'Use Harfbuzz library to improve auto-hinting;'
|
|
29 |
+ + ' if available, many glyphs not directly addressable'
|
|
30 |
+ + ' by a font\'s character map will be hinted also')
|
|
30 | 31 |
|
31 |
-option('harfbuzz',
|
|
32 |
+option('mmap',
|
|
32 | 33 |
type: 'feature',
|
33 | 34 |
value: 'auto',
|
34 |
- description: 'Use Harfbuzz library to improve auto-hinting.'
|
|
35 |
- + ' If available, many glyphs not directly addressable'
|
|
36 |
- + ' by a font\'s character map will be hinted also.')
|
|
35 |
+ description: 'Use mmap() to open font files for faster parsing')
|
|
36 |
+ |
|
37 |
+option('png',
|
|
38 |
+ type: 'feature',
|
|
39 |
+ value: 'auto',
|
|
40 |
+ description: 'Support color bitmap glyph formats in the PNG format;'
|
|
41 |
+ + ' requires libpng')
|
|
37 | 42 |
|
38 | 43 |
option('tests',
|
39 | 44 |
type: 'feature',
|
40 | 45 |
value: 'disabled',
|
41 |
- description: 'Enable FreeType unit and regression tests.')
|
|
46 |
+ description: 'Enable FreeType unit and regression tests')
|
|
42 | 47 |
|
43 |
-option('brotli',
|
|
48 |
+option('zlib',
|
|
44 | 49 |
type: 'feature',
|
45 | 50 |
value: 'auto',
|
46 |
- description: 'Use Brotli library to support decompressing WOFF2 fonts.')
|
|
51 |
+ description: 'Support reading gzip-compressed font files')
|
|
47 | 52 |
|
48 |
-option('mmap',
|
|
49 |
- type: 'feature',
|
|
50 |
- value: 'auto',
|
|
51 |
- description: 'Use mmap() to open font files for faster parsing.')
|
|
53 |
+# EOF
|