|
|
|
@ -11,6 +11,17 @@ |
|
|
|
|
# indicate that you have read the license and understand and accept it |
|
|
|
|
# fully. |
|
|
|
|
|
|
|
|
|
# |
|
|
|
|
# Say |
|
|
|
|
# |
|
|
|
|
# meson configure |
|
|
|
|
# |
|
|
|
|
# to see all configuration options and their default values. For example, |
|
|
|
|
# to build only a shared version of FreeType, override the default value |
|
|
|
|
# with |
|
|
|
|
# |
|
|
|
|
# meson setup -Ddefault_library=shared |
|
|
|
|
# |
|
|
|
|
|
|
|
|
|
project('freetype2', 'c', |
|
|
|
|
meson_version: '>= 0.55.0', |
|
|
|
@ -19,12 +30,8 @@ project('freetype2', 'c', |
|
|
|
|
'include/freetype/freetype.h').stdout().strip(), |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
# |
|
|
|
|
# Rules to compile the FreeType 2 library itself |
|
|
|
|
# |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Apparently meson doesn't provide a read_file() function, so instead |
|
|
|
|
# Apparently meson doesn't provide a `read_file` function, so instead |
|
|
|
|
# running an external command is required. |
|
|
|
|
|
|
|
|
|
python = import('python') |
|
|
|
@ -101,7 +108,7 @@ endforeach |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# FreeType 2 base extensions. |
|
|
|
|
# Normally configured through `modules.cfg`. |
|
|
|
|
# To be configured in `modules.cfg`. |
|
|
|
|
|
|
|
|
|
base_extensions = run_command(python_exe, |
|
|
|
|
files('builds/meson/parse_modules_cfg.py'), |
|
|
|
@ -191,7 +198,7 @@ elif host_machine.system() == 'windows' |
|
|
|
|
ft2_sources += files(['builds/windows/ftsystem.c',]) |
|
|
|
|
else |
|
|
|
|
if has_unistd_h and has_fcntl_h and has_sys_mman_h |
|
|
|
|
# This version of ftsystem.c uses mmap() to read input font files. |
|
|
|
|
# This version of `ftsystem.c` uses `mmap` to read input font files. |
|
|
|
|
ft2_sources += files(['builds/unix/ftsystem.c',]) |
|
|
|
|
elif mmap_option.enabled() |
|
|
|
|
error('mmap was enabled via options but is not available,' |
|
|
|
@ -206,7 +213,7 @@ endif |
|
|
|
|
# |
|
|
|
|
# NOTE: Some specialized versions exist for other platforms not supported by |
|
|
|
|
# Meson. Most implementation differences are extremely minor, i.e., in the |
|
|
|
|
# implementation of FT_Message() and FT_Panic(), and getting the `FT2_DEBUG` |
|
|
|
|
# implementation of `FT_Message` and `FT_Panic`, and getting the `FT2_DEBUG` |
|
|
|
|
# value from the environment, when this is supported. A smaller refactor |
|
|
|
|
# might make these platform-specific files much smaller, and could be moved |
|
|
|
|
# into `ftsystem.c` as well. |
|
|
|
@ -303,7 +310,7 @@ if host_machine.system() == 'windows' |
|
|
|
|
endif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Generate `ftconfig.h` |
|
|
|
|
# Generate `ftconfig.h`. |
|
|
|
|
|
|
|
|
|
ftconfig_command = process_header_command |
|
|
|
|
if has_unistd_h |
|
|
|
@ -338,7 +345,7 @@ ft2_lib = library('freetype', |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# To be used by other projects including this one through subproject(). |
|
|
|
|
# To be used by other projects including this one through `subproject`. |
|
|
|
|
freetype_dep = declare_dependency( |
|
|
|
|
include_directories: ft2_includes, |
|
|
|
|
link_with: ft2_lib, |
|
|
|
|