annotate m4/tmpfile.m4 @ 19595:beb2ad957aca

Simplify code. Drop support for Borland C++ on Windows. Reported by Gisle Vanem <gisle.vanem@gmail.com>. * lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just 'defined _WIN32'. * lib/canonicalize-lgpl.c: Likewise. * lib/classpath.c: Likewise. * lib/clean-temp.c: Likewise. * lib/csharpexec.c: Likewise. * lib/ctime.c: Likewise. * lib/dosname.h: Likewise. * lib/dup2.c: Likewise. * lib/errno.in.h: Likewise. * lib/error.c: Likewise. * lib/euidaccess.c: Likewise. * lib/execute.c: Likewise. * lib/fcntl.in.h: Likewise. * lib/fcntl.c: Likewise. * lib/filename.h: Likewise. * lib/findprog.c: Likewise. * lib/flock.c: Likewise. * lib/fopen.c: Likewise. * lib/freopen.c: Likewise. * lib/fstat.c: Likewise. * lib/fsync.c: Likewise. * lib/gc-gnulib.c: Likewise. * lib/get-rusage-data.c: Likewise. * lib/getaddrinfo.c: Likewise. * lib/getdelim.c: Likewise. * lib/getdtablesize.c: Likewise. * lib/gethostname.c: Likewise. * lib/getlogin.c: Likewise. * lib/getlogin_r.c: Likewise. * lib/getopt.c: Likewise. * lib/getpagesize.c: Likewise. * lib/getpass.c: Likewise. * lib/getrusage.c: Likewise. * lib/gettimeofday.c: Likewise. * lib/glob.c: Likewise. * lib/inttypes.in.h: Likewise. * lib/isapipe.c: Likewise. * lib/javaexec.c: Likewise. * lib/link.c: Likewise. * lib/localcharset.c: Likewise. * lib/localename.h: Likewise. * lib/localename.c: Likewise. * lib/localtime.c: Likewise. * lib/lseek.c: Likewise. * lib/mbsinit.c: Likewise. * lib/mkdir.c: Likewise. * lib/msvc-nothrow.h: Likewise. * lib/nanosleep.c: Likewise. * lib/nl_langinfo.c: Likewise. * lib/nonblocking.c: Likewise. * lib/nproc.c: Likewise. * lib/open.c: Likewise. * lib/openpty.c: Likewise. * lib/pathmax.h: Likewise. * lib/pipe-filter-aux.c: Likewise. * lib/pipe-filter-gi.c: Likewise. * lib/pipe-filter-ii.c: Likewise. * lib/pipe.c: Likewise. * lib/pipe2.c: Likewise. * lib/poll.c: Likewise. * lib/popen.c: Likewise. * lib/posix_openpt.c: Likewise. * lib/printf-parse.c: Likewise. * lib/progreloc.c: Likewise. * lib/putenv.c: Likewise. * lib/read.c: Likewise. * lib/relocatable.c: Likewise. * lib/rename.c: Likewise. * lib/same-inode.h: Likewise. * lib/secure_getenv.c: Likewise. * lib/select.c: Likewise. * lib/sethostname.c: Likewise. * lib/setlocale.c: Likewise. * lib/sigaction.c: Likewise. * lib/sigprocmask.c: Likewise. * lib/sleep.c: Likewise. * lib/spawn-pipe.h: Likewise. * lib/spawn-pipe.c: Likewise. * lib/spawni.c: Likewise. * lib/stat-time.h: Likewise. * lib/stat-w32.c: Likewise. * lib/stat.c: Likewise. * lib/stdio.in.h: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdio-read.c: Likewise. * lib/stdio-write.c: Likewise. * lib/stdlib.in.h: Likewise. * lib/strerror_r.c: Likewise. * lib/strftime-fixes.c: Likewise. * lib/sys_stat.in.h: Likewise. * lib/sys_types.in.h: Likewise. * lib/sys_wait.in.h : Likewise. * lib/system-quote.h: Likewise. * lib/system-quote.c: Likewise. * lib/tmpdir.c: Likewise. * lib/tzset.c: Likewise. * lib/uname.c: Likewise. * lib/unistd.in.h: Likewise. * lib/utime.in.h: Likewise. * lib/utime.c: Likewise. * lib/utimecmp.c: Likewise. * lib/utimens.c: Likewise. * lib/vasnprintf.c: Likewise. * lib/vma-iter.h: Likewise. * lib/vma-iter.c: Likewise. * lib/wait-process.c: Likewise. * lib/wcsftime.c: Likewise. * lib/wctype.in.h: Likewise. * lib/write.c: Likewise. * tests/nap.h: Likewise. * tests/test-cloexec.c: Likewise. * tests/test-dup-safer.c: Likewise. * tests/test-dup2.c: Likewise. * tests/test-dup3.c: Likewise. * tests/test-fcntl.c: Likewise. * tests/test-get-rusage-data.c: Likewise. * tests/test-getaddrinfo.c: Likewise. * tests/test-getlogin.h: Likewise. * tests/test-isatty.c: Likewise. * tests/test-localename.c: Likewise. * tests/test-mbrtowc-w32.c: Likewise. * tests/test-nonblocking.c: Likewise. * tests/test-nonblocking-pipe-main.c: Likewise. * tests/test-nonblocking-socket-main.c: Likewise. * tests/test-nonblocking-socket.h: Likewise. * tests/test-pipe.c: Likewise. * tests/test-pipe2.c: Likewise. * tests/test-poll.c: Likewise. * tests/test-pthread_sigmask1.c: Likewise. * tests/test-select.h: Likewise. * tests/test-sethostname2.c: Likewise. * tests/test-sigprocmask.c: Likewise. * tests/test-spawn-pipe-child.c: Likewise. * tests/test-stat-time.c: Likewise. * tests/test-system-quote-main.c: Likewise. * tests/test-utimens-common.h: Likewise. * tests/test-wcrtomb-w32.c: Likewise. * m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise. * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise. * m4/javacomp.m4 (gt_JAVACOMP): Likewise. * m4/javaexec.m4 (gt_JAVAEXEC): Likewise. * m4/locale-ar.m4 (gt_LOCALE_AR): Likewise. * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise. * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise. * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise. * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise. * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise. * m4/nocrash.m4 (GL_NOCRASH): Likewise. * m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise. * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise. * m4/stdio_h.m4 (gl_STDIO_H): Likewise. * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise. * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
author Bruno Haible <bruno@clisp.org>
date Thu, 03 May 2018 23:09:42 +0200
parents 10eb9086bea0
children b06060465f09
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19595
beb2ad957aca Simplify code. Drop support for Borland C++ on Windows.
Bruno Haible <bruno@clisp.org>
parents: 19484
diff changeset
1 # tmpfile.m4 serial 3
19484
10eb9086bea0 maint: Run 'make update-copyright'
Paul Eggert <eggert@cs.ucla.edu>
parents: 18626
diff changeset
2 # Copyright (C) 2007, 2009-2018 Free Software Foundation, Inc.
8162
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
3 # This file is free software; the Free Software Foundation
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
4 # gives unlimited permission to copy and/or distribute it,
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
5 # with or without modifications, as long as this notice is preserved.
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
6
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
7 # Written by Ben Pfaff.
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
8
13137
fd3c9fa89efe tmpfile: Fix C++ test error on mingw.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
9 # Check whether to use a replacement tmpfile() function.
fd3c9fa89efe tmpfile: Fix C++ test error on mingw.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
10
8162
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
11 # The native Windows tmpfile function always tries to put the temporary
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
12 # file in the root directory. (This behaviour is even documented in
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
13 # Microsoft's documentation!) This often fails for ordinary users who
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
14 # don't have the permissions to write in the root directory.
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
15 #
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
16 # We can't test for tmpfile even at runtime, since our test program
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
17 # might be running with privileges that allow it to write to the root
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
18 # directory, even though tmpfile wouldn't work in general. Instead,
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
19 # just test for a Windows platform (excluding Cygwin).
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
20
13138
0ea8feb1eb60 Rename gl_TMPFILE.
Bruno Haible <bruno@clisp.org>
parents: 13137
diff changeset
21 AC_DEFUN([gl_FUNC_TMPFILE], [
13137
fd3c9fa89efe tmpfile: Fix C++ test error on mingw.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
22 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
8162
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
23 AC_CACHE_CHECK([whether tmpfile should be overridden],
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
24 [gl_cv_func_tmpfile_unusable],
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
25 [AC_EGREP_CPP([choke me], [
19595
beb2ad957aca Simplify code. Drop support for Borland C++ on Windows.
Bruno Haible <bruno@clisp.org>
parents: 19484
diff changeset
26 #if defined _WIN32 && !defined __CYGWIN__
8162
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
27 choke me
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
28 #endif
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
29 ],
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
30 [gl_cv_func_tmpfile_unusable=yes],
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
31 [gl_cv_func_tmpfile_unusable=no])])
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
32 if test $gl_cv_func_tmpfile_unusable = yes; then
13137
fd3c9fa89efe tmpfile: Fix C++ test error on mingw.
Bruno Haible <bruno@clisp.org>
parents: 12559
diff changeset
33 REPLACE_TMPFILE=1
8162
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
34 fi
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
35 ])
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
36
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
37 # Prerequisites of lib/tmpfile.c.
46995f2e94ca New module 'tmpfile'.
Bruno Haible <bruno@clisp.org>
parents:
diff changeset
38 AC_DEFUN([gl_PREREQ_TMPFILE], [:])