1 #serial 17 2 3 # Copyright (C) 2001, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. 4 # This file is free software; the Free Software Foundation 5 # gives unlimited permission to copy and/or distribute it, 6 # with or without modifications, as long as this notice is preserved. 7 8 # On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a 9 # silly limit that it can create no more than 26 files from a given template. 10 # Other systems lack mkstemp altogether. 11 # On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create 12 # only 32 files per process. 13 # On systems like the above, arrange to use the replacement function. 14 AC_DEFUN([gl_FUNC_MKSTEMP], 15 [ 16 AC_REQUIRE([gl_STDLIB_H_DEFAULTS]) 17 AC_REQUIRE([AC_SYS_LARGEFILE]) 18 19 AC_CACHE_CHECK([for working mkstemp], 20 [gl_cv_func_working_mkstemp], 21 [ 22 mkdir conftest.mkstemp 23 AC_RUN_IFELSE( 24 [AC_LANG_PROGRAM( 25 [AC_INCLUDES_DEFAULT], 26 [[int i; 27 off_t large = (off_t) 4294967295u; 28 if (large < 0) 29 large = 2147483647; 30 for (i = 0; i < 70; i++) 31 { 32 char templ[] = "conftest.mkstemp/coXXXXXX"; 33 int (*mkstemp_function) (char *) = mkstemp; 34 int fd = mkstemp_function (templ); 35 if (fd < 0 || lseek (fd, large, SEEK_SET) != large) 36 return 1; 37 close (fd); 38 } 39 return 0;]])], 40 [gl_cv_func_working_mkstemp=yes], 41 [gl_cv_func_working_mkstemp=no], 42 [gl_cv_func_working_mkstemp=no]) 43 rm -rf conftest.mkstemp 44 ]) 45 46 if test $gl_cv_func_working_mkstemp != yes; then 47 REPLACE_MKSTEMP=1 48 AC_LIBOBJ([mkstemp]) 49 gl_PREREQ_MKSTEMP 50 fi 51 ]) 52 53 # Prerequisites of lib/mkstemp.c. 54 AC_DEFUN([gl_PREREQ_MKSTEMP], 55 [ 56 ]) 57