nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | # Enable large files on systems where this is not the default. |
2 | |||
3 | # Copyright 1992-1996, 1998-2016 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 | # The following implementation works around a problem in autoconf <= 2.69; |
||
9 | # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5, |
||
10 | # or configures them incorrectly in some cases. |
||
11 | m4_version_prereq([2.70], [] ,[ |
||
12 | |||
13 | # _AC_SYS_LARGEFILE_TEST_INCLUDES |
||
14 | # ------------------------------- |
||
15 | m4_define([_AC_SYS_LARGEFILE_TEST_INCLUDES], |
||
16 | [@%:@include <sys/types.h> |
||
17 | /* Check that off_t can represent 2**63 - 1 correctly. |
||
18 | We can't simply define LARGE_OFF_T to be 9223372036854775807, |
||
19 | since some C++ compilers masquerading as C compilers |
||
20 | incorrectly reject 9223372036854775807. */ |
||
21 | @%:@define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) |
||
22 | int off_t_is_large[[(LARGE_OFF_T % 2147483629 == 721 |
||
23 | && LARGE_OFF_T % 2147483647 == 1) |
||
24 | ? 1 : -1]];[]dnl |
||
25 | ]) |
||
26 | |||
27 | |||
28 | # _AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, VALUE, |
||
29 | # CACHE-VAR, |
||
30 | # DESCRIPTION, |
||
31 | # PROLOGUE, [FUNCTION-BODY]) |
||
32 | # -------------------------------------------------------- |
||
33 | m4_define([_AC_SYS_LARGEFILE_MACRO_VALUE], |
||
34 | [AC_CACHE_CHECK([for $1 value needed for large files], [$3], |
||
35 | [while :; do |
||
36 | m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( |
||
37 | [AC_LANG_PROGRAM([$5], [$6])], |
||
38 | [$3=no; break]) |
||
39 | m4_ifval([$6], [AC_LINK_IFELSE], [AC_COMPILE_IFELSE])( |
||
40 | [AC_LANG_PROGRAM([@%:@define $1 $2 |
||
41 | $5], [$6])], |
||
42 | [$3=$2; break]) |
||
43 | $3=unknown |
||
44 | break |
||
45 | done]) |
||
46 | case $$3 in #( |
||
47 | no | unknown) ;; |
||
48 | *) AC_DEFINE_UNQUOTED([$1], [$$3], [$4]);; |
||
49 | esac |
||
50 | rm -rf conftest*[]dnl |
||
51 | ])# _AC_SYS_LARGEFILE_MACRO_VALUE |
||
52 | |||
53 | |||
54 | # AC_SYS_LARGEFILE |
||
55 | # ---------------- |
||
56 | # By default, many hosts won't let programs access large files; |
||
57 | # one must use special compiler options to get large-file access to work. |
||
58 | # For more details about this brain damage please see: |
||
59 | # http://www.unix-systems.org/version2/whatsnew/lfs20mar.html |
||
60 | AC_DEFUN([AC_SYS_LARGEFILE], |
||
61 | [AC_ARG_ENABLE(largefile, |
||
62 | [ --disable-largefile omit support for large files]) |
||
63 | if test "$enable_largefile" != no; then |
||
64 | |||
65 | AC_CACHE_CHECK([for special C compiler options needed for large files], |
||
66 | ac_cv_sys_largefile_CC, |
||
67 | [ac_cv_sys_largefile_CC=no |
||
68 | if test "$GCC" != yes; then |
||
69 | ac_save_CC=$CC |
||
70 | while :; do |
||
71 | # IRIX 6.2 and later do not support large files by default, |
||
72 | # so use the C compiler's -n32 option if that helps. |
||
73 | AC_LANG_CONFTEST([AC_LANG_PROGRAM([_AC_SYS_LARGEFILE_TEST_INCLUDES])]) |
||
74 | AC_COMPILE_IFELSE([], [break]) |
||
75 | CC="$CC -n32" |
||
76 | AC_COMPILE_IFELSE([], [ac_cv_sys_largefile_CC=' -n32'; break]) |
||
77 | break |
||
78 | done |
||
79 | CC=$ac_save_CC |
||
80 | rm -f conftest.$ac_ext |
||
81 | fi]) |
||
82 | if test "$ac_cv_sys_largefile_CC" != no; then |
||
83 | CC=$CC$ac_cv_sys_largefile_CC |
||
84 | fi |
||
85 | |||
86 | _AC_SYS_LARGEFILE_MACRO_VALUE(_FILE_OFFSET_BITS, 64, |
||
87 | ac_cv_sys_file_offset_bits, |
||
88 | [Number of bits in a file offset, on hosts where this is settable.], |
||
89 | [_AC_SYS_LARGEFILE_TEST_INCLUDES]) |
||
90 | if test $ac_cv_sys_file_offset_bits = unknown; then |
||
91 | _AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES, 1, |
||
92 | ac_cv_sys_large_files, |
||
93 | [Define for large files, on AIX-style hosts.], |
||
94 | [_AC_SYS_LARGEFILE_TEST_INCLUDES]) |
||
95 | fi |
||
96 | |||
97 | AC_DEFINE([_DARWIN_USE_64_BIT_INODE], [1], |
||
98 | [Enable large inode numbers on Mac OS X 10.5.]) |
||
99 | fi |
||
100 | ])# AC_SYS_LARGEFILE |
||
101 | ])# m4_version_prereq 2.70 |
||
102 | |||
103 | # Enable large files on systems where this is implemented by Gnulib, not by the |
||
104 | # system headers. |
||
105 | # Set the variables WINDOWS_64_BIT_OFF_T, WINDOWS_64_BIT_ST_SIZE if Gnulib |
||
106 | # overrides ensure that off_t or 'struct size.st_size' are 64-bit, respectively. |
||
107 | AC_DEFUN([gl_LARGEFILE], |
||
108 | [ |
||
109 | AC_REQUIRE([AC_CANONICAL_HOST]) |
||
110 | case "$host_os" in |
||
111 | mingw*) |
||
112 | dnl Native Windows. |
||
113 | dnl mingw64 defines off_t to a 64-bit type already, if |
||
114 | dnl _FILE_OFFSET_BITS=64, which is ensured by AC_SYS_LARGEFILE. |
||
115 | AC_CACHE_CHECK([for 64-bit off_t], [gl_cv_type_off_t_64], |
||
116 | [AC_COMPILE_IFELSE( |
||
117 | [AC_LANG_PROGRAM( |
||
118 | [[#include <sys/types.h> |
||
119 | int verify_off_t_size[sizeof (off_t) >= 8 ? 1 : -1]; |
||
120 | ]], |
||
121 | [[]])], |
||
122 | [gl_cv_type_off_t_64=yes], [gl_cv_type_off_t_64=no]) |
||
123 | ]) |
||
124 | if test $gl_cv_type_off_t_64 = no; then |
||
125 | WINDOWS_64_BIT_OFF_T=1 |
||
126 | else |
||
127 | WINDOWS_64_BIT_OFF_T=0 |
||
128 | fi |
||
129 | dnl But all native Windows platforms (including mingw64) have a 32-bit |
||
130 | dnl st_size member in 'struct stat'. |
||
131 | WINDOWS_64_BIT_ST_SIZE=1 |
||
132 | ;; |
||
133 | *) |
||
134 | dnl Nothing to do on gnulib's side. |
||
135 | dnl A 64-bit off_t is |
||
136 | dnl - already the default on Mac OS X, FreeBSD, NetBSD, OpenBSD, IRIX, |
||
137 | dnl OSF/1, Cygwin, |
||
138 | dnl - enabled by _FILE_OFFSET_BITS=64 (ensured by AC_SYS_LARGEFILE) on |
||
139 | dnl glibc, HP-UX, Solaris, |
||
140 | dnl - enabled by _LARGE_FILES=1 (ensured by AC_SYS_LARGEFILE) on AIX, |
||
141 | dnl - impossible to achieve on Minix 3.1.8. |
||
142 | WINDOWS_64_BIT_OFF_T=0 |
||
143 | WINDOWS_64_BIT_ST_SIZE=0 |
||
144 | ;; |
||
145 | esac |
||
146 | ]) |