configure

changeset 1661
a389bf17eaaa
parent 1660
802ab24f67aa
--- a/configure	Tue Dec 23 10:14:13 2025 +0100
+++ b/configure	Tue Dec 23 14:31:56 2025 +0100
@@ -160,6 +160,7 @@
   --disable-cxx-tests     the check-cxx makefile target
   --disable-szmul-builtin use custom implementation, instead
   --disable-memrchr
+  --disable-mkstemp
   --disable-qsort_r
 
 __EOF__
@@ -283,6 +284,7 @@
 FEATURE_CXX_TESTS=auto
 FEATURE_SZMUL_BUILTIN=auto
 FEATURE_MEMRCHR=auto
+FEATURE_MKSTEMP=auto
 FEATURE_QSORT_R=auto
 
 #
@@ -315,6 +317,8 @@
         "--disable-szmul-builtin") unset FEATURE_SZMUL_BUILTIN ;;
         "--enable-memrchr") FEATURE_MEMRCHR=on ;;
         "--disable-memrchr") unset FEATURE_MEMRCHR ;;
+        "--enable-mkstemp") FEATURE_MKSTEMP=on ;;
+        "--disable-mkstemp") unset FEATURE_MKSTEMP ;;
         "--enable-qsort_r") FEATURE_QSORT_R=on ;;
         "--disable-qsort_r") unset FEATURE_QSORT_R ;;
         "-"*) echo "unknown option: $ARG"; abort_configure ;;
@@ -498,6 +502,27 @@
     dep_checked_coverage=1
     return 0
 }
+dependency_error_mkstemp()
+{
+    print_check_msg "$dep_checked_mkstemp" "checking for mkstemp... "
+    # dependency mkstemp
+    while true
+    do
+        if $TOOLCHAIN_CC $CFLAGS $LDFLAGS -o /dev/null make/test_mkstemp.c > /dev/null 2>&1 ; then
+            :
+        else
+            break
+        fi
+        TEMP_CFLAGS="$TEMP_CFLAGS -DWITH_MKSTEMP"
+        print_check_msg "$dep_checked_mkstemp" "yes\n"
+        dep_checked_mkstemp=1
+        return 1
+    done
+
+    print_check_msg "$dep_checked_mkstemp" "no\n"
+    dep_checked_mkstemp=1
+    return 0
+}
 dependency_error_asan()
 {
     print_check_msg "$dep_checked_asan" "checking for asan... "
@@ -935,6 +960,26 @@
 else
     :
 fi
+if [ -n "$FEATURE_MKSTEMP" ]; then
+    # check dependency
+    if dependency_error_mkstemp ; then
+        # "auto" features can fail and are just disabled in this case
+        if [ "$FEATURE_MKSTEMP" = "auto" ]; then
+            DISABLE_FEATURE_MKSTEMP=1
+        else
+            DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED mkstemp "
+            ERROR=1
+        fi
+    fi
+    if [ -n "$DISABLE_FEATURE_MKSTEMP" ]; then
+        unset FEATURE_MKSTEMP
+    fi
+fi
+if [ -n "$FEATURE_MKSTEMP" ]; then
+    :
+else
+    :
+fi
 if [ -n "$FEATURE_QSORT_R" ]; then
     # check dependency
     if dependency_error_qsort_r ; then
@@ -1050,6 +1095,12 @@
 else
     echo 'off'
 fi
+printf '  %-16s' 'mkstemp:'
+if [ -n "$FEATURE_MKSTEMP" ]; then
+    echo 'on'
+else
+    echo 'off'
+fi
 printf '  %-16s' 'qsort_r:'
 if [ -n "$FEATURE_QSORT_R" ]; then
     echo 'on'

mercurial