~ubuntu-branches/ubuntu/maverick/texinfo/maverick

« back to all changes in this revision

Viewing changes to m4/mkstemp.m4

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2005-10-28 15:10:30 UTC
  • mto: (2.1.1 dapper) (3.1.4 hardy)
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20051028151030-9nsf2s2k2z3fktjt
Tags: upstream-4.8
ImportĀ upstreamĀ versionĀ 4.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#serial 6
 
2
 
 
3
# On some hosts (e.g., HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a
 
4
# silly limit that it can create no more than 26 files from a given template.
 
5
# Other systems lack mkstemp altogether.
 
6
# On OSF1/Tru64 V4.0F, the system-provided mkstemp function can create
 
7
# only 32 files per process.
 
8
# On systems like the above, arrange to use the replacement function.
 
9
AC_DEFUN([gl_FUNC_MKSTEMP],
 
10
[dnl
 
11
  AC_REPLACE_FUNCS(mkstemp)
 
12
  if test $ac_cv_func_mkstemp = no; then
 
13
    gl_cv_func_mkstemp_limitations=yes
 
14
  else
 
15
    AC_CACHE_CHECK([for mkstemp limitations],
 
16
      gl_cv_func_mkstemp_limitations,
 
17
      [
 
18
        AC_TRY_RUN([
 
19
#         include <stdlib.h>
 
20
          int main ()
 
21
          {
 
22
            int i;
 
23
            for (i = 0; i < 70; i++)
 
24
              {
 
25
                char template[] = "conftestXXXXXX";
 
26
                int fd = mkstemp (template);
 
27
                if (fd == -1)
 
28
                  exit (1);
 
29
                close (fd);
 
30
              }
 
31
            exit (0);
 
32
          }
 
33
          ],
 
34
        gl_cv_func_mkstemp_limitations=no,
 
35
        gl_cv_func_mkstemp_limitations=yes,
 
36
        gl_cv_func_mkstemp_limitations=yes
 
37
        )
 
38
      ]
 
39
    )
 
40
  fi
 
41
 
 
42
  if test $gl_cv_func_mkstemp_limitations = yes; then
 
43
    AC_LIBOBJ(mkstemp)
 
44
    AC_LIBOBJ(tempname)
 
45
    AC_DEFINE(mkstemp, rpl_mkstemp,
 
46
      [Define to rpl_mkstemp if the replacement function should be used.])
 
47
    gl_PREREQ_MKSTEMP
 
48
    gl_PREREQ_TEMPNAME
 
49
  fi
 
50
])
 
51
 
 
52
# Prerequisites of lib/mkstemp.c.
 
53
AC_DEFUN([gl_PREREQ_MKSTEMP],
 
54
[
 
55
])
 
56
 
 
57
# Prerequisites of lib/tempname.c.
 
58
AC_DEFUN([gl_PREREQ_TEMPNAME],
 
59
[
 
60
  AC_REQUIRE([AC_HEADER_STAT])
 
61
  AC_CHECK_HEADERS_ONCE(fcntl.h sys/time.h unistd.h)
 
62
  AC_CHECK_HEADERS(stdint.h)
 
63
  AC_CHECK_FUNCS(__secure_getenv gettimeofday)
 
64
  AC_CHECK_DECLS_ONCE(getenv)
 
65
  AC_REQUIRE([gl_AC_TYPE_UINTMAX_T])
 
66
])