freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2] master 5635d5e 34/68: * builds/unix/configure.raw [mmap supp


From: Werner Lemberg
Subject: [freetype2] master 5635d5e 34/68: * builds/unix/configure.raw [mmap support]: Correctly handle Windows.
Date: Fri, 5 Mar 2021 09:29:39 -0500 (EST)

branch: master
commit 5635d5edc489a19d8e6faef48c644942a4b3f777
Author: Werner Lemberg <wl@gnu.org>
Commit: Werner Lemberg <wl@gnu.org>

    * builds/unix/configure.raw [mmap support]: Correctly handle Windows.
    
    Fixes #1024.
---
 ChangeLog                 |  6 ++++++
 builds/unix/configure.raw | 36 ++++++++++++++++++++++++------------
 2 files changed, 30 insertions(+), 12 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 319a989..64bf771 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2021-01-31  Werner Lemberg  <wl@gnu.org>
 
+       * builds/unix/configure.raw [mmap support]: Correctly handle Windows.
+
+       Fixes #1024.
+
+2021-01-31  Werner Lemberg  <wl@gnu.org>
+
        * builds/windows/ftdebug.c: Synchronize with `src/base/ftdebug.c`.
 
 2021-01-31  Werner Lemberg  <wl@gnu.org>
diff --git a/builds/unix/configure.raw b/builds/unix/configure.raw
index e45769d..ce0c83f 100644
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -192,39 +192,51 @@ AC_SUBST(INSTALL_FT2_CONFIG, [$enable_freetype_config])
 AC_SYS_LARGEFILE
 
 # Here we check whether we can use our mmap file component.
+#
+# Note that `ftsystem.c` for Windows has its own mmap-like implementation
+# not covered by `AC_FUNC_MMAP` and/or `FT_UNMAP_PARAM`.
 
 AC_ARG_ENABLE([mmap],
   AS_HELP_STRING([--disable-mmap],
                  [do not check mmap() and do not use]),
   [enable_mmap="no"], [enable_mmap="yes"])
 if test "x${enable_mmap}" != "xno"; then
-  AC_FUNC_MMAP
-fi
-if test "x${enable_mmap}" = "xno" \
-   -o "$ac_cv_func_mmap_fixed_mapped" != "yes"; then
   case "$host" in
   *-*-mingw*)
-    FTSYS_SRC='$(PLATFORM_DIR)/ftsystem.c'
+    ac_cv_func_mmap_fixed_mapped="yes"
+    AC_MSG_CHECKING([for working mmap])
+    AC_MSG_RESULT([using Windows-specific equivalent])
     ;;
   *)
-    FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
+    AC_FUNC_MMAP
+    ;;
   esac
+fi
+if test "x${enable_mmap}" = "xno" \
+   -o "$ac_cv_func_mmap_fixed_mapped" != "yes"; then
+  FTSYS_SRC='$(BASE_DIR)/ftsystem.c'
 else
   FTSYS_SRC='$(PLATFORM_DIR)/ftsystem.c'
 
-  AC_CHECK_DECLS([munmap],
-    [],
-    [],
-    [
+  case "$host" in
+  *-*-mingw*)
+    ;;
+  *)
+    AC_CHECK_DECLS([munmap],
+      [],
+      [],
+      [
 
 #ifdef HAVE_UNISTD_H
 #include <unistd.h>
 #endif
 #include <sys/mman.h>
 
-    ])
+      ])
 
-  FT_MUNMAP_PARAM
+    FT_MUNMAP_PARAM
+    ;;
+  esac
 fi
 AC_SUBST([FTSYS_SRC])
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]