[meson] Fix 'mmap' handling on Windows.

* meson.build (ft2_sources): Always use `windows/ftsystem.c` on
Windows unless mmap has been disabled.

  https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/5#note_829289
This commit is contained in:
Tim-Philipp Müller 2021-03-07 18:13:59 +00:00 committed by Werner Lemberg
parent e222932810
commit 7252e35ed2
2 changed files with 20 additions and 9 deletions

View File

@ -1,3 +1,12 @@
2021-03-08 Tim-Philipp Müller <tim@centricular.com>
[meson] Fix 'mmap' handling on Windows.
* meson.build (ft2_sources): Always use `windows/ftsystem.c` on
Windows unless mmap has been disabled.
https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests/5#note_829289
2021-03-07 Tim-Philipp Müller <tim@centricular.com>
[ci] Add basic support for Meson builds with MSVC on Windows.

View File

@ -183,18 +183,20 @@ has_fcntl_h = cc.has_header('fcntl.h')
has_sys_mman_h = cc.has_header('sys/mman.h')
mmap_option = get_option('mmap')
if mmap_option.auto()
use_mmap = has_unistd_h and has_fcntl_h and has_sys_mman_h
else
use_mmap = mmap_option.enabled()
endif
if use_mmap
# This version of ftsystem.c uses mmap() to read input font files.
ft2_sources += files(['builds/unix/ftsystem.c',])
if mmap_option.disabled()
ft2_sources += files(['src/base/ftsystem.c',])
elif host_machine.system() == 'windows'
ft2_sources += files(['builds/windows/ftsystem.c',])
else
ft2_sources += files(['src/base/ftsystem.c',])
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.
ft2_sources += files(['builds/unix/ftsystem.c',])
elif mmap_option.enabled()
error('mmap was enabled via options but is not available,'
+ ' required headers were not found!')
else
ft2_sources += files(['src/base/ftsystem.c',])
endif
endif