#==================================================================================================
# Fix defintion of HAVE_UNISTD_H, which must be a number for some older Clang versions
#
# Author: Christopher Nielsen @ MacPorts
# Date:   2024-11-29
#==================================================================================================
--- meson.build.orig	2024-11-29 12:46:39.000000000 -0500
+++ meson.build	2024-11-29 13:07:03.000000000 -0500
@@ -272,7 +272,19 @@
 ################################################################################
 # Required Dependencies
 
-config.set('HAVE_UNISTD_H',    cc.has_header('unistd.h'))
+# Some older Clang versions have difficulty when 'HAVE_UNISTD_H' isn't a number.
+# Equivalent to using '#cmakedefine01' in 'config.h.in', for CMake builds:
+#   #if defined(__APPLE__) && !defined(__IOS__)
+#   #cmakedefine01 HAVE_UNISTD_H
+#   #else
+#   #cmakedefine HAVE_UNISTD_H
+#   #endif
+if os_osx
+  config.set('HAVE_UNISTD_H',    cc.has_header('unistd.h').to_int())
+else
+  config.set('HAVE_UNISTD_H',    cc.has_header('unistd.h'))
+endif
+
 config.set('HAVE_EXECINFO_H',  cc.has_header('execinfo.h'))
 config.set('HAVE_FSYNC',       cc.has_function('fsync'))
 config.set('HAVE_MALLOC_TRIM', cc.has_function('malloc_trim'))
