summaryrefslogtreecommitdiffstats
path: root/gl/m4/open.m4
diff options
context:
space:
mode:
Diffstat (limited to 'gl/m4/open.m4')
-rw-r--r--gl/m4/open.m466
1 files changed, 66 insertions, 0 deletions
diff --git a/gl/m4/open.m4 b/gl/m4/open.m4
new file mode 100644
index 00000000..6e286c96
--- /dev/null
+++ b/gl/m4/open.m4
@@ -0,0 +1,66 @@
1# open.m4 serial 5
2dnl Copyright (C) 2007-2009 Free Software Foundation, Inc.
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_FUNC_OPEN],
8[
9 AC_REQUIRE([AC_CANONICAL_HOST])
10 case "$host_os" in
11 mingw* | pw*)
12 gl_REPLACE_OPEN
13 ;;
14 *)
15 dnl open("foo/") should not create a file when the file name has a
16 dnl trailing slash.
17 AC_CACHE_CHECK([whether open recognizes a trailing slash],
18 [gl_cv_func_open_slash],
19 [
20 AC_TRY_RUN([
21#include <fcntl.h>
22#if HAVE_UNISTD_H
23# include <unistd.h>
24#endif
25int main ()
26{
27 return open ("conftest.sl/", O_CREAT, 0600) >= 0;
28}], [gl_cv_func_open_slash=yes], [gl_cv_func_open_slash=no],
29 [
30changequote(,)dnl
31 case "$host_os" in
32 solaris2.[0-9]*) gl_cv_func_open_slash="guessing no" ;;
33 hpux*) gl_cv_func_open_slash="guessing no" ;;
34 *) gl_cv_func_open_slash="guessing yes" ;;
35 esac
36changequote([,])dnl
37 ])
38 rm -f conftest.sl
39 ])
40 case "$gl_cv_func_open_slash" in
41 *no)
42 AC_DEFINE([OPEN_TRAILING_SLASH_BUG], [1],
43 [Define to 1 if open() fails to recognize a trailing slash.])
44 gl_REPLACE_OPEN
45 ;;
46 esac
47 ;;
48 esac
49])
50
51AC_DEFUN([gl_REPLACE_OPEN],
52[
53 AC_REQUIRE([gl_FCNTL_H_DEFAULTS])
54 if test $REPLACE_OPEN != 1; then
55 AC_LIBOBJ([open])
56 gl_PREREQ_OPEN
57 fi
58 REPLACE_OPEN=1
59])
60
61# Prerequisites of lib/open.c.
62AC_DEFUN([gl_PREREQ_OPEN],
63[
64 AC_REQUIRE([AC_C_INLINE])
65 :
66])