[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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
diff --git a/ChangeLog b/ChangeLog
index 6e90f40..a902e41 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/meson.build b/meson.build
index c398456..816c478 100644
--- a/meson.build
+++ b/meson.build
@@ -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