diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2004-12-15 20:51:47 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2004-12-15 20:51:47 +0000 |
commit | 6fff4bcdcf97412a6d1422991ea9fe5e8a203e75 (patch) | |
tree | 6494851815282f4b27829a7f10b8ca522aa7668e | |
parent | 82d1989d3245791c9fac22ca848f5497f261c10b (diff) | |
download | monitoring-plugins-6fff4bcdcf97412a6d1422991ea9fe5e8a203e75.tar.gz |
Moving m4 files from lib/
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1028 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r-- | m4/Makefile.am.in | 12 | ||||
-rw-r--r-- | m4/afs.m4 | 13 | ||||
-rw-r--r-- | m4/codeset.m4 | 23 | ||||
-rw-r--r-- | m4/error.m4 | 15 | ||||
-rw-r--r-- | m4/exitfail.m4 | 13 | ||||
-rw-r--r-- | m4/extensions.m4 | 29 | ||||
-rw-r--r-- | m4/fstypename.m4 | 32 | ||||
-rw-r--r-- | m4/fsusage.m4 | 246 | ||||
-rw-r--r-- | m4/getopt.m4 | 13 | ||||
-rw-r--r-- | m4/gettext.m4 | 587 | ||||
-rw-r--r-- | m4/glibc21.m4 | 32 | ||||
-rw-r--r-- | m4/iconv.m4 | 103 | ||||
-rw-r--r-- | m4/intdiv0.m4 | 72 | ||||
-rw-r--r-- | m4/inttypes-pri.m4 | 32 | ||||
-rw-r--r-- | m4/inttypes.m4 | 27 | ||||
-rw-r--r-- | m4/inttypes_h.m4 | 28 | ||||
-rw-r--r-- | m4/isc-posix.m4 | 26 | ||||
-rw-r--r-- | m4/lcmessage.m4 | 32 | ||||
-rw-r--r-- | m4/lib-ld.m4 | 97 | ||||
-rw-r--r-- | m4/lib-link.m4 | 554 | ||||
-rw-r--r-- | m4/lib-prefix.m4 | 148 | ||||
-rw-r--r-- | m4/ls-mntd-fs.m4 | 282 | ||||
-rw-r--r-- | m4/malloc.m4 | 25 | ||||
-rw-r--r-- | m4/mountlist.m4 | 26 | ||||
-rw-r--r-- | m4/np_coreutils.m4 | 17 | ||||
-rw-r--r-- | m4/onceonly.m4 | 63 | ||||
-rw-r--r-- | m4/progtest.m4 | 59 | ||||
-rw-r--r-- | m4/realloc.m4 | 25 | ||||
-rw-r--r-- | m4/stdint_h.m4 | 28 | ||||
-rw-r--r-- | m4/uintmax_t.m4 | 29 | ||||
-rw-r--r-- | m4/ulonglong.m4 | 23 | ||||
-rw-r--r-- | m4/unlocked-io.m4 | 22 | ||||
-rw-r--r-- | m4/xalloc.m4 | 32 |
33 files changed, 2765 insertions, 0 deletions
diff --git a/m4/Makefile.am.in b/m4/Makefile.am.in new file mode 100644 index 00000000..f5e1931d --- /dev/null +++ b/m4/Makefile.am.in | |||
@@ -0,0 +1,12 @@ | |||
1 | ## This is a template from which Makefile.am is generated. -*-Makefile-*- | ||
2 | |||
3 | Makefile.am: Makefile.am.in | ||
4 | rm -f $@ $@t | ||
5 | (echo "## Process this file with automake to produce Makefile.in."; \ | ||
6 | echo EXTRA_DIST =; \ | ||
7 | echo "EXTRA_DIST += Makefile.am.in"; \ | ||
8 | ls -1 *.m4 | sed 's/^/EXTRA_DIST += /'; echo ) \ | ||
9 | >> $@t | ||
10 | sed -n '/^Makefile\.am:/,$$p' $@.in >> $@t | ||
11 | chmod a-w $@t | ||
12 | mv $@t $@ | ||
diff --git a/m4/afs.m4 b/m4/afs.m4 new file mode 100644 index 00000000..9e7d7731 --- /dev/null +++ b/m4/afs.m4 | |||
@@ -0,0 +1,13 @@ | |||
1 | #serial 5 | ||
2 | |||
3 | AC_DEFUN([jm_AFS], | ||
4 | [ | ||
5 | AC_MSG_CHECKING(for AFS) | ||
6 | if test -d /afs; then | ||
7 | AC_DEFINE(AFS, 1, [Define if you have the Andrew File System.]) | ||
8 | ac_result=yes | ||
9 | else | ||
10 | ac_result=no | ||
11 | fi | ||
12 | AC_MSG_RESULT($ac_result) | ||
13 | ]) | ||
diff --git a/m4/codeset.m4 b/m4/codeset.m4 new file mode 100644 index 00000000..59535ebc --- /dev/null +++ b/m4/codeset.m4 | |||
@@ -0,0 +1,23 @@ | |||
1 | # codeset.m4 serial AM1 (gettext-0.10.40) | ||
2 | dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | AC_DEFUN([AM_LANGINFO_CODESET], | ||
12 | [ | ||
13 | AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, | ||
14 | [AC_TRY_LINK([#include <langinfo.h>], | ||
15 | [char* cs = nl_langinfo(CODESET);], | ||
16 | am_cv_langinfo_codeset=yes, | ||
17 | am_cv_langinfo_codeset=no) | ||
18 | ]) | ||
19 | if test $am_cv_langinfo_codeset = yes; then | ||
20 | AC_DEFINE(HAVE_LANGINFO_CODESET, 1, | ||
21 | [Define if you have <langinfo.h> and nl_langinfo(CODESET).]) | ||
22 | fi | ||
23 | ]) | ||
diff --git a/m4/error.m4 b/m4/error.m4 new file mode 100644 index 00000000..0bc2e689 --- /dev/null +++ b/m4/error.m4 | |||
@@ -0,0 +1,15 @@ | |||
1 | #serial 9 | ||
2 | |||
3 | AC_DEFUN([gl_ERROR], | ||
4 | [ | ||
5 | AC_FUNC_ERROR_AT_LINE | ||
6 | dnl Note: AC_FUNC_ERROR_AT_LINE does AC_LIBSOURCES([error.h, error.c]). | ||
7 | jm_PREREQ_ERROR | ||
8 | ]) | ||
9 | |||
10 | # Prerequisites of lib/error.c. | ||
11 | AC_DEFUN([jm_PREREQ_ERROR], | ||
12 | [ | ||
13 | AC_REQUIRE([AC_FUNC_STRERROR_R]) | ||
14 | : | ||
15 | ]) | ||
diff --git a/m4/exitfail.m4 b/m4/exitfail.m4 new file mode 100644 index 00000000..fa5b1493 --- /dev/null +++ b/m4/exitfail.m4 | |||
@@ -0,0 +1,13 @@ | |||
1 | # exitfail.m4 serial 3 | ||
2 | dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | AC_DEFUN([gl_EXITFAIL], | ||
10 | [ | ||
11 | dnl No prerequisites of lib/exitfail.c. | ||
12 | : | ||
13 | ]) | ||
diff --git a/m4/extensions.m4 b/m4/extensions.m4 new file mode 100644 index 00000000..58bc0beb --- /dev/null +++ b/m4/extensions.m4 | |||
@@ -0,0 +1,29 @@ | |||
1 | # Enable extensions on systems that normally disable them. | ||
2 | |||
3 | # Copyright (C) 2003 Free Software Foundation, Inc. | ||
4 | |||
5 | # This file is free software, distributed under the terms of the GNU | ||
6 | # General Public License. As a special exception to the GNU General | ||
7 | # Public License, this file may be distributed as part of a program | ||
8 | # that contains a configuration script generated by Autoconf, under | ||
9 | # the same distribution terms as the rest of that program. | ||
10 | |||
11 | # gl_USE_SYSTEM_EXTENSIONS | ||
12 | # ------------------------ | ||
13 | # Enable extensions on systems that normally disable them, | ||
14 | # typically due to standards-conformance issues. | ||
15 | AC_DEFUN([gl_USE_SYSTEM_EXTENSIONS], [ | ||
16 | AC_BEFORE([$0], [AC_COMPILE_IFELSE]) | ||
17 | AC_BEFORE([$0], [AC_RUN_IFELSE]) | ||
18 | |||
19 | AC_REQUIRE([AC_GNU_SOURCE]) | ||
20 | AC_REQUIRE([AC_AIX]) | ||
21 | AC_REQUIRE([AC_MINIX]) | ||
22 | |||
23 | AH_VERBATIM([__EXTENSIONS__], | ||
24 | [/* Enable extensions on Solaris. */ | ||
25 | #ifndef __EXTENSIONS__ | ||
26 | # undef __EXTENSIONS__ | ||
27 | #endif]) | ||
28 | AC_DEFINE([__EXTENSIONS__]) | ||
29 | ]) | ||
diff --git a/m4/fstypename.m4 b/m4/fstypename.m4 new file mode 100644 index 00000000..75723a14 --- /dev/null +++ b/m4/fstypename.m4 | |||
@@ -0,0 +1,32 @@ | |||
1 | #serial 3 | ||
2 | |||
3 | dnl From Jim Meyering. | ||
4 | dnl | ||
5 | dnl See if struct statfs has the f_fstypename member. | ||
6 | dnl If so, define HAVE_F_FSTYPENAME_IN_STATFS. | ||
7 | dnl | ||
8 | |||
9 | AC_DEFUN([jm_FSTYPENAME], | ||
10 | [ | ||
11 | AC_CACHE_CHECK([for f_fstypename in struct statfs], | ||
12 | fu_cv_sys_f_fstypename_in_statfs, | ||
13 | [ | ||
14 | AC_TRY_COMPILE( | ||
15 | [ | ||
16 | #include <sys/param.h> | ||
17 | #include <sys/types.h> | ||
18 | #include <sys/mount.h> | ||
19 | ], | ||
20 | [struct statfs s; int i = sizeof s.f_fstypename;], | ||
21 | fu_cv_sys_f_fstypename_in_statfs=yes, | ||
22 | fu_cv_sys_f_fstypename_in_statfs=no | ||
23 | ) | ||
24 | ] | ||
25 | ) | ||
26 | |||
27 | if test $fu_cv_sys_f_fstypename_in_statfs = yes; then | ||
28 | AC_DEFINE(HAVE_F_FSTYPENAME_IN_STATFS, 1, | ||
29 | [Define if struct statfs has the f_fstypename member.]) | ||
30 | fi | ||
31 | ] | ||
32 | ) | ||
diff --git a/m4/fsusage.m4 b/m4/fsusage.m4 new file mode 100644 index 00000000..a0ab1e15 --- /dev/null +++ b/m4/fsusage.m4 | |||
@@ -0,0 +1,246 @@ | |||
1 | #serial 11 | ||
2 | |||
3 | # From fileutils/configure.in | ||
4 | |||
5 | AC_DEFUN([gl_FSUSAGE], | ||
6 | [ | ||
7 | AC_CHECK_HEADERS_ONCE(sys/param.h) | ||
8 | AC_CHECK_HEADERS(sys/mount.h sys/vfs.h sys/fs_types.h) | ||
9 | jm_FILE_SYSTEM_USAGE([gl_cv_fs_space=yes], [gl_cv_fs_space=no]) | ||
10 | if test $gl_cv_fs_space = yes; then | ||
11 | AC_LIBOBJ(fsusage) | ||
12 | gl_PREREQ_FSUSAGE_EXTRA | ||
13 | fi | ||
14 | ]) | ||
15 | |||
16 | # Try to determine how a program can obtain filesystem usage information. | ||
17 | # If successful, define the appropriate symbol (see fsusage.c) and | ||
18 | # execute ACTION-IF-FOUND. Otherwise, execute ACTION-IF-NOT-FOUND. | ||
19 | # | ||
20 | # jm_FILE_SYSTEM_USAGE([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | ||
21 | |||
22 | AC_DEFUN([jm_FILE_SYSTEM_USAGE], | ||
23 | [ | ||
24 | |||
25 | echo "checking how to get filesystem space usage..." | ||
26 | ac_fsusage_space=no | ||
27 | |||
28 | # Perform only the link test since it seems there are no variants of the | ||
29 | # statvfs function. This check is more than just AC_CHECK_FUNCS(statvfs) | ||
30 | # because that got a false positive on SCO OSR5. Adding the declaration | ||
31 | # of a `struct statvfs' causes this test to fail (as it should) on such | ||
32 | # systems. That system is reported to work fine with STAT_STATFS4 which | ||
33 | # is what it gets when this test fails. | ||
34 | if test $ac_fsusage_space = no; then | ||
35 | # SVR4 | ||
36 | AC_CACHE_CHECK([for statvfs function (SVR4)], fu_cv_sys_stat_statvfs, | ||
37 | [AC_TRY_LINK([#include <sys/types.h> | ||
38 | #ifdef __GLIBC__ | ||
39 | Do not use statvfs on systems with GNU libc, because that function stats | ||
40 | all preceding entries in /proc/mounts, and that makes df hang if even | ||
41 | one of the corresponding file systems is hard-mounted, but not available. | ||
42 | #endif | ||
43 | #include <sys/statvfs.h>], | ||
44 | [struct statvfs fsd; statvfs (0, &fsd);], | ||
45 | fu_cv_sys_stat_statvfs=yes, | ||
46 | fu_cv_sys_stat_statvfs=no)]) | ||
47 | if test $fu_cv_sys_stat_statvfs = yes; then | ||
48 | ac_fsusage_space=yes | ||
49 | AC_DEFINE(STAT_STATVFS, 1, | ||
50 | [ Define if there is a function named statvfs. (SVR4)]) | ||
51 | fi | ||
52 | fi | ||
53 | |||
54 | if test $ac_fsusage_space = no; then | ||
55 | # DEC Alpha running OSF/1 | ||
56 | AC_MSG_CHECKING([for 3-argument statfs function (DEC OSF/1)]) | ||
57 | AC_CACHE_VAL(fu_cv_sys_stat_statfs3_osf1, | ||
58 | [AC_TRY_RUN([ | ||
59 | #include <sys/param.h> | ||
60 | #include <sys/types.h> | ||
61 | #include <sys/mount.h> | ||
62 | main () | ||
63 | { | ||
64 | struct statfs fsd; | ||
65 | fsd.f_fsize = 0; | ||
66 | exit (statfs (".", &fsd, sizeof (struct statfs))); | ||
67 | }], | ||
68 | fu_cv_sys_stat_statfs3_osf1=yes, | ||
69 | fu_cv_sys_stat_statfs3_osf1=no, | ||
70 | fu_cv_sys_stat_statfs3_osf1=no)]) | ||
71 | AC_MSG_RESULT($fu_cv_sys_stat_statfs3_osf1) | ||
72 | if test $fu_cv_sys_stat_statfs3_osf1 = yes; then | ||
73 | ac_fsusage_space=yes | ||
74 | AC_DEFINE(STAT_STATFS3_OSF1, 1, | ||
75 | [ Define if statfs takes 3 args. (DEC Alpha running OSF/1)]) | ||
76 | fi | ||
77 | fi | ||
78 | |||
79 | if test $ac_fsusage_space = no; then | ||
80 | # AIX | ||
81 | AC_MSG_CHECKING([for two-argument statfs with statfs.bsize dnl | ||
82 | member (AIX, 4.3BSD)]) | ||
83 | AC_CACHE_VAL(fu_cv_sys_stat_statfs2_bsize, | ||
84 | [AC_TRY_RUN([ | ||
85 | #ifdef HAVE_SYS_PARAM_H | ||
86 | #include <sys/param.h> | ||
87 | #endif | ||
88 | #ifdef HAVE_SYS_MOUNT_H | ||
89 | #include <sys/mount.h> | ||
90 | #endif | ||
91 | #ifdef HAVE_SYS_VFS_H | ||
92 | #include <sys/vfs.h> | ||
93 | #endif | ||
94 | main () | ||
95 | { | ||
96 | struct statfs fsd; | ||
97 | fsd.f_bsize = 0; | ||
98 | exit (statfs (".", &fsd)); | ||
99 | }], | ||
100 | fu_cv_sys_stat_statfs2_bsize=yes, | ||
101 | fu_cv_sys_stat_statfs2_bsize=no, | ||
102 | fu_cv_sys_stat_statfs2_bsize=no)]) | ||
103 | AC_MSG_RESULT($fu_cv_sys_stat_statfs2_bsize) | ||
104 | if test $fu_cv_sys_stat_statfs2_bsize = yes; then | ||
105 | ac_fsusage_space=yes | ||
106 | AC_DEFINE(STAT_STATFS2_BSIZE, 1, | ||
107 | [ Define if statfs takes 2 args and struct statfs has a field named f_bsize. | ||
108 | (4.3BSD, SunOS 4, HP-UX, AIX PS/2)]) | ||
109 | fi | ||
110 | fi | ||
111 | |||
112 | if test $ac_fsusage_space = no; then | ||
113 | # SVR3 | ||
114 | AC_MSG_CHECKING([for four-argument statfs (AIX-3.2.5, SVR3)]) | ||
115 | AC_CACHE_VAL(fu_cv_sys_stat_statfs4, | ||
116 | [AC_TRY_RUN([#include <sys/types.h> | ||
117 | #include <sys/statfs.h> | ||
118 | main () | ||
119 | { | ||
120 | struct statfs fsd; | ||
121 | exit (statfs (".", &fsd, sizeof fsd, 0)); | ||
122 | }], | ||
123 | fu_cv_sys_stat_statfs4=yes, | ||
124 | fu_cv_sys_stat_statfs4=no, | ||
125 | fu_cv_sys_stat_statfs4=no)]) | ||
126 | AC_MSG_RESULT($fu_cv_sys_stat_statfs4) | ||
127 | if test $fu_cv_sys_stat_statfs4 = yes; then | ||
128 | ac_fsusage_space=yes | ||
129 | AC_DEFINE(STAT_STATFS4, 1, | ||
130 | [ Define if statfs takes 4 args. (SVR3, Dynix, Irix, Dolphin)]) | ||
131 | fi | ||
132 | fi | ||
133 | |||
134 | if test $ac_fsusage_space = no; then | ||
135 | # 4.4BSD and NetBSD | ||
136 | AC_MSG_CHECKING([for two-argument statfs with statfs.fsize dnl | ||
137 | member (4.4BSD and NetBSD)]) | ||
138 | AC_CACHE_VAL(fu_cv_sys_stat_statfs2_fsize, | ||
139 | [AC_TRY_RUN([#include <sys/types.h> | ||
140 | #ifdef HAVE_SYS_PARAM_H | ||
141 | #include <sys/param.h> | ||
142 | #endif | ||
143 | #ifdef HAVE_SYS_MOUNT_H | ||
144 | #include <sys/mount.h> | ||
145 | #endif | ||
146 | main () | ||
147 | { | ||
148 | struct statfs fsd; | ||
149 | fsd.f_fsize = 0; | ||
150 | exit (statfs (".", &fsd)); | ||
151 | }], | ||
152 | fu_cv_sys_stat_statfs2_fsize=yes, | ||
153 | fu_cv_sys_stat_statfs2_fsize=no, | ||
154 | fu_cv_sys_stat_statfs2_fsize=no)]) | ||
155 | AC_MSG_RESULT($fu_cv_sys_stat_statfs2_fsize) | ||
156 | if test $fu_cv_sys_stat_statfs2_fsize = yes; then | ||
157 | ac_fsusage_space=yes | ||
158 | AC_DEFINE(STAT_STATFS2_FSIZE, 1, | ||
159 | [ Define if statfs takes 2 args and struct statfs has a field named f_fsize. | ||
160 | (4.4BSD, NetBSD)]) | ||
161 | fi | ||
162 | fi | ||
163 | |||
164 | if test $ac_fsusage_space = no; then | ||
165 | # Ultrix | ||
166 | AC_MSG_CHECKING([for two-argument statfs with struct fs_data (Ultrix)]) | ||
167 | AC_CACHE_VAL(fu_cv_sys_stat_fs_data, | ||
168 | [AC_TRY_RUN([#include <sys/types.h> | ||
169 | #ifdef HAVE_SYS_PARAM_H | ||
170 | #include <sys/param.h> | ||
171 | #endif | ||
172 | #ifdef HAVE_SYS_MOUNT_H | ||
173 | #include <sys/mount.h> | ||
174 | #endif | ||
175 | #ifdef HAVE_SYS_FS_TYPES_H | ||
176 | #include <sys/fs_types.h> | ||
177 | #endif | ||
178 | main () | ||
179 | { | ||
180 | struct fs_data fsd; | ||
181 | /* Ultrix's statfs returns 1 for success, | ||
182 | 0 for not mounted, -1 for failure. */ | ||
183 | exit (statfs (".", &fsd) != 1); | ||
184 | }], | ||
185 | fu_cv_sys_stat_fs_data=yes, | ||
186 | fu_cv_sys_stat_fs_data=no, | ||
187 | fu_cv_sys_stat_fs_data=no)]) | ||
188 | AC_MSG_RESULT($fu_cv_sys_stat_fs_data) | ||
189 | if test $fu_cv_sys_stat_fs_data = yes; then | ||
190 | ac_fsusage_space=yes | ||
191 | AC_DEFINE(STAT_STATFS2_FS_DATA, 1, | ||
192 | [ Define if statfs takes 2 args and the second argument has | ||
193 | type struct fs_data. (Ultrix)]) | ||
194 | fi | ||
195 | fi | ||
196 | |||
197 | if test $ac_fsusage_space = no; then | ||
198 | # SVR2 | ||
199 | AC_TRY_CPP([#include <sys/filsys.h> | ||
200 | ], | ||
201 | AC_DEFINE(STAT_READ_FILSYS, 1, | ||
202 | [Define if there is no specific function for reading filesystems usage | ||
203 | information and you have the <sys/filsys.h> header file. (SVR2)]) | ||
204 | ac_fsusage_space=yes) | ||
205 | fi | ||
206 | |||
207 | AS_IF([test $ac_fsusage_space = yes], [$1], [$2]) | ||
208 | |||
209 | ]) | ||
210 | |||
211 | |||
212 | # Check for SunOS statfs brokenness wrt partitions 2GB and larger. | ||
213 | # If <sys/vfs.h> exists and struct statfs has a member named f_spare, | ||
214 | # enable the work-around code in fsusage.c. | ||
215 | AC_DEFUN([jm_STATFS_TRUNCATES], | ||
216 | [ | ||
217 | AC_MSG_CHECKING([for statfs that truncates block counts]) | ||
218 | AC_CACHE_VAL(fu_cv_sys_truncating_statfs, | ||
219 | [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ | ||
220 | #if !defined(sun) && !defined(__sun) | ||
221 | choke -- this is a workaround for a Sun-specific problem | ||
222 | #endif | ||
223 | #include <sys/types.h> | ||
224 | #include <sys/vfs.h>]], | ||
225 | [[struct statfs t; long c = *(t.f_spare);]])], | ||
226 | [fu_cv_sys_truncating_statfs=yes], | ||
227 | [fu_cv_sys_truncating_statfs=no])]) | ||
228 | if test $fu_cv_sys_truncating_statfs = yes; then | ||
229 | AC_DEFINE(STATFS_TRUNCATES_BLOCK_COUNTS, 1, | ||
230 | [Define if the block counts reported by statfs may be truncated to 2GB | ||
231 | and the correct values may be stored in the f_spare array. | ||
232 | (SunOS 4.1.2, 4.1.3, and 4.1.3_U1 are reported to have this problem. | ||
233 | SunOS 4.1.1 seems not to be affected.)]) | ||
234 | fi | ||
235 | AC_MSG_RESULT($fu_cv_sys_truncating_statfs) | ||
236 | ]) | ||
237 | |||
238 | |||
239 | # Prerequisites of lib/fsusage.c not done by jm_FILE_SYSTEM_USAGE. | ||
240 | AC_DEFUN([gl_PREREQ_FSUSAGE_EXTRA], | ||
241 | [ | ||
242 | AC_REQUIRE([jm_AC_TYPE_UINTMAX_T]) | ||
243 | AC_CHECK_HEADERS_ONCE(fcntl.h) | ||
244 | AC_CHECK_HEADERS(dustat.h sys/fs/s5param.h sys/filsys.h sys/statfs.h sys/statvfs.h) | ||
245 | jm_STATFS_TRUNCATES | ||
246 | ]) | ||
diff --git a/m4/getopt.m4 b/m4/getopt.m4 new file mode 100644 index 00000000..df602b98 --- /dev/null +++ b/m4/getopt.m4 | |||
@@ -0,0 +1,13 @@ | |||
1 | # getopt.m4 serial 2 | ||
2 | dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | AC_DEFUN([gl_GETOPT], | ||
10 | [ | ||
11 | dnl Prerequisites of lib/getopt.c. | ||
12 | : | ||
13 | ]) | ||
diff --git a/m4/gettext.m4 b/m4/gettext.m4 new file mode 100644 index 00000000..45cad855 --- /dev/null +++ b/m4/gettext.m4 | |||
@@ -0,0 +1,587 @@ | |||
1 | # gettext.m4 serial 17 (gettext-0.11.5) | ||
2 | dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | dnl | ||
9 | dnl This file can can be used in projects which are not available under | ||
10 | dnl the GNU General Public License or the GNU Library General Public | ||
11 | dnl License but which still want to provide support for the GNU gettext | ||
12 | dnl functionality. | ||
13 | dnl Please note that the actual code of the GNU gettext library is covered | ||
14 | dnl by the GNU Library General Public License, and the rest of the GNU | ||
15 | dnl gettext package package is covered by the GNU General Public License. | ||
16 | dnl They are *not* in the public domain. | ||
17 | |||
18 | dnl Authors: | ||
19 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995-2000. | ||
20 | dnl Bruno Haible <haible@clisp.cons.org>, 2000-2002. | ||
21 | |||
22 | dnl Macro to add for using GNU gettext. | ||
23 | |||
24 | dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). | ||
25 | dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The | ||
26 | dnl default (if it is not specified or empty) is 'no-libtool'. | ||
27 | dnl INTLSYMBOL should be 'external' for packages with no intl directory, | ||
28 | dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. | ||
29 | dnl If INTLSYMBOL is 'use-libtool', then a libtool library | ||
30 | dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, | ||
31 | dnl depending on --{enable,disable}-{shared,static} and on the presence of | ||
32 | dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library | ||
33 | dnl $(top_builddir)/intl/libintl.a will be created. | ||
34 | dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext | ||
35 | dnl implementations (in libc or libintl) without the ngettext() function | ||
36 | dnl will be ignored. If NEEDSYMBOL is specified and is | ||
37 | dnl 'need-formatstring-macros', then GNU gettext implementations that don't | ||
38 | dnl support the ISO C 99 <inttypes.h> formatstring macros will be ignored. | ||
39 | dnl INTLDIR is used to find the intl libraries. If empty, | ||
40 | dnl the value `$(top_builddir)/intl/' is used. | ||
41 | dnl | ||
42 | dnl The result of the configuration is one of three cases: | ||
43 | dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled | ||
44 | dnl and used. | ||
45 | dnl Catalog format: GNU --> install in $(datadir) | ||
46 | dnl Catalog extension: .mo after installation, .gmo in source tree | ||
47 | dnl 2) GNU gettext has been found in the system's C library. | ||
48 | dnl Catalog format: GNU --> install in $(datadir) | ||
49 | dnl Catalog extension: .mo after installation, .gmo in source tree | ||
50 | dnl 3) No internationalization, always use English msgid. | ||
51 | dnl Catalog format: none | ||
52 | dnl Catalog extension: none | ||
53 | dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. | ||
54 | dnl The use of .gmo is historical (it was needed to avoid overwriting the | ||
55 | dnl GNU format catalogs when building on a platform with an X/Open gettext), | ||
56 | dnl but we keep it in order not to force irrelevant filename changes on the | ||
57 | dnl maintainers. | ||
58 | dnl | ||
59 | AC_DEFUN([AM_GNU_GETTEXT], | ||
60 | [ | ||
61 | dnl Argument checking. | ||
62 | ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , | ||
63 | [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT | ||
64 | ])])])])]) | ||
65 | ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , | ||
66 | [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT | ||
67 | ])])])]) | ||
68 | define(gt_included_intl, ifelse([$1], [external], [no], [yes])) | ||
69 | define(gt_libtool_suffix_prefix, ifelse([$1], [use-libtool], [l], [])) | ||
70 | |||
71 | AC_REQUIRE([AM_PO_SUBDIRS])dnl | ||
72 | ifelse(gt_included_intl, yes, [ | ||
73 | AC_REQUIRE([AM_INTL_SUBDIR])dnl | ||
74 | ]) | ||
75 | |||
76 | dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. | ||
77 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
78 | AC_REQUIRE([AC_LIB_RPATH]) | ||
79 | |||
80 | dnl Sometimes libintl requires libiconv, so first search for libiconv. | ||
81 | dnl Ideally we would do this search only after the | ||
82 | dnl if test "$USE_NLS" = "yes"; then | ||
83 | dnl if test "$gt_cv_func_gnugettext_libc" != "yes"; then | ||
84 | dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT | ||
85 | dnl the configure script would need to contain the same shell code | ||
86 | dnl again, outside any 'if'. There are two solutions: | ||
87 | dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. | ||
88 | dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. | ||
89 | dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not | ||
90 | dnl documented, we avoid it. | ||
91 | ifelse(gt_included_intl, yes, , [ | ||
92 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | ||
93 | ]) | ||
94 | |||
95 | AC_MSG_CHECKING([whether NLS is requested]) | ||
96 | dnl Default is enabled NLS | ||
97 | AC_ARG_ENABLE(nls, | ||
98 | [ --disable-nls do not use Native Language Support], | ||
99 | USE_NLS=$enableval, USE_NLS=yes) | ||
100 | AC_MSG_RESULT($USE_NLS) | ||
101 | AC_SUBST(USE_NLS) | ||
102 | |||
103 | ifelse(gt_included_intl, yes, [ | ||
104 | BUILD_INCLUDED_LIBINTL=no | ||
105 | USE_INCLUDED_LIBINTL=no | ||
106 | ]) | ||
107 | LIBINTL= | ||
108 | LTLIBINTL= | ||
109 | POSUB= | ||
110 | |||
111 | dnl If we use NLS figure out what method | ||
112 | if test "$USE_NLS" = "yes"; then | ||
113 | gt_use_preinstalled_gnugettext=no | ||
114 | ifelse(gt_included_intl, yes, [ | ||
115 | AC_MSG_CHECKING([whether included gettext is requested]) | ||
116 | AC_ARG_WITH(included-gettext, | ||
117 | [ --with-included-gettext use the GNU gettext library included here], | ||
118 | nls_cv_force_use_gnu_gettext=$withval, | ||
119 | nls_cv_force_use_gnu_gettext=no) | ||
120 | AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) | ||
121 | |||
122 | nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" | ||
123 | if test "$nls_cv_force_use_gnu_gettext" != "yes"; then | ||
124 | ]) | ||
125 | dnl User does not insist on using GNU NLS library. Figure out what | ||
126 | dnl to use. If GNU gettext is available we use this. Else we have | ||
127 | dnl to fall back to GNU NLS library. | ||
128 | |||
129 | dnl Add a version number to the cache macros. | ||
130 | define([gt_api_version], ifelse([$2], [need-formatstring-macros], 3, ifelse([$2], [need-ngettext], 2, 1))) | ||
131 | define([gt_cv_func_gnugettext_libc], [gt_cv_func_gnugettext]gt_api_version[_libc]) | ||
132 | define([gt_cv_func_gnugettext_libintl], [gt_cv_func_gnugettext]gt_api_version[_libintl]) | ||
133 | |||
134 | AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc, | ||
135 | [AC_TRY_LINK([#include <libintl.h> | ||
136 | ]ifelse([$2], [need-formatstring-macros], | ||
137 | [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
138 | #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) | ||
139 | #endif | ||
140 | changequote(,)dnl | ||
141 | typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; | ||
142 | changequote([,])dnl | ||
143 | ], [])[extern int _nl_msg_cat_cntr; | ||
144 | extern int *_nl_domain_bindings;], | ||
145 | [bindtextdomain ("", ""); | ||
146 | return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_domain_bindings], | ||
147 | gt_cv_func_gnugettext_libc=yes, | ||
148 | gt_cv_func_gnugettext_libc=no)]) | ||
149 | |||
150 | if test "$gt_cv_func_gnugettext_libc" != "yes"; then | ||
151 | dnl Sometimes libintl requires libiconv, so first search for libiconv. | ||
152 | ifelse(gt_included_intl, yes, , [ | ||
153 | AM_ICONV_LINK | ||
154 | ]) | ||
155 | dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL | ||
156 | dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) | ||
157 | dnl because that would add "-liconv" to LIBINTL and LTLIBINTL | ||
158 | dnl even if libiconv doesn't exist. | ||
159 | AC_LIB_LINKFLAGS_BODY([intl]) | ||
160 | AC_CACHE_CHECK([for GNU gettext in libintl], | ||
161 | gt_cv_func_gnugettext_libintl, | ||
162 | [gt_save_CPPFLAGS="$CPPFLAGS" | ||
163 | CPPFLAGS="$CPPFLAGS $INCINTL" | ||
164 | gt_save_LIBS="$LIBS" | ||
165 | LIBS="$LIBS $LIBINTL" | ||
166 | dnl Now see whether libintl exists and does not depend on libiconv. | ||
167 | AC_TRY_LINK([#include <libintl.h> | ||
168 | ]ifelse([$2], [need-formatstring-macros], | ||
169 | [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
170 | #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) | ||
171 | #endif | ||
172 | changequote(,)dnl | ||
173 | typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; | ||
174 | changequote([,])dnl | ||
175 | ], [])[extern int _nl_msg_cat_cntr; | ||
176 | extern | ||
177 | #ifdef __cplusplus | ||
178 | "C" | ||
179 | #endif | ||
180 | const char *_nl_expand_alias ();], | ||
181 | [bindtextdomain ("", ""); | ||
182 | return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], | ||
183 | gt_cv_func_gnugettext_libintl=yes, | ||
184 | gt_cv_func_gnugettext_libintl=no) | ||
185 | dnl Now see whether libintl exists and depends on libiconv. | ||
186 | if test "$gt_cv_func_gnugettext_libintl" != yes && test -n "$LIBICONV"; then | ||
187 | LIBS="$LIBS $LIBICONV" | ||
188 | AC_TRY_LINK([#include <libintl.h> | ||
189 | ]ifelse([$2], [need-formatstring-macros], | ||
190 | [#ifndef __GNU_GETTEXT_SUPPORTED_REVISION | ||
191 | #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) | ||
192 | #endif | ||
193 | changequote(,)dnl | ||
194 | typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; | ||
195 | changequote([,])dnl | ||
196 | ], [])[extern int _nl_msg_cat_cntr; | ||
197 | extern | ||
198 | #ifdef __cplusplus | ||
199 | "C" | ||
200 | #endif | ||
201 | const char *_nl_expand_alias ();], | ||
202 | [bindtextdomain ("", ""); | ||
203 | return (int) gettext ("")]ifelse([$2], [need-ngettext], [ + (int) ngettext ("", "", 0)], [])[ + _nl_msg_cat_cntr + *_nl_expand_alias (0)], | ||
204 | [LIBINTL="$LIBINTL $LIBICONV" | ||
205 | LTLIBINTL="$LTLIBINTL $LTLIBICONV" | ||
206 | gt_cv_func_gnugettext_libintl=yes | ||
207 | ]) | ||
208 | fi | ||
209 | CPPFLAGS="$gt_save_CPPFLAGS" | ||
210 | LIBS="$gt_save_LIBS"]) | ||
211 | fi | ||
212 | |||
213 | dnl If an already present or preinstalled GNU gettext() is found, | ||
214 | dnl use it. But if this macro is used in GNU gettext, and GNU | ||
215 | dnl gettext is already preinstalled in libintl, we update this | ||
216 | dnl libintl. (Cf. the install rule in intl/Makefile.in.) | ||
217 | if test "$gt_cv_func_gnugettext_libc" = "yes" \ | ||
218 | || { test "$gt_cv_func_gnugettext_libintl" = "yes" \ | ||
219 | && test "$PACKAGE" != gettext; }; then | ||
220 | gt_use_preinstalled_gnugettext=yes | ||
221 | else | ||
222 | dnl Reset the values set by searching for libintl. | ||
223 | LIBINTL= | ||
224 | LTLIBINTL= | ||
225 | INCINTL= | ||
226 | fi | ||
227 | |||
228 | ifelse(gt_included_intl, yes, [ | ||
229 | if test "$gt_use_preinstalled_gnugettext" != "yes"; then | ||
230 | dnl GNU gettext is not found in the C library. | ||
231 | dnl Fall back on included GNU gettext library. | ||
232 | nls_cv_use_gnu_gettext=yes | ||
233 | fi | ||
234 | fi | ||
235 | |||
236 | if test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
237 | dnl Mark actions used to generate GNU NLS library. | ||
238 | INTLOBJS="\$(GETTOBJS)" | ||
239 | BUILD_INCLUDED_LIBINTL=yes | ||
240 | USE_INCLUDED_LIBINTL=yes | ||
241 | LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV" | ||
242 | LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV" | ||
243 | LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` | ||
244 | fi | ||
245 | |||
246 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | ||
247 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
248 | dnl Mark actions to use GNU gettext tools. | ||
249 | CATOBJEXT=.gmo | ||
250 | fi | ||
251 | ]) | ||
252 | |||
253 | if test "$gt_use_preinstalled_gnugettext" = "yes" \ | ||
254 | || test "$nls_cv_use_gnu_gettext" = "yes"; then | ||
255 | AC_DEFINE(ENABLE_NLS, 1, | ||
256 | [Define to 1 if translation of program messages to the user's native language | ||
257 | is requested.]) | ||
258 | else | ||
259 | USE_NLS=no | ||
260 | fi | ||
261 | fi | ||
262 | |||
263 | if test "$USE_NLS" = "yes"; then | ||
264 | |||
265 | if test "$gt_use_preinstalled_gnugettext" = "yes"; then | ||
266 | if test "$gt_cv_func_gnugettext_libintl" = "yes"; then | ||
267 | AC_MSG_CHECKING([how to link with libintl]) | ||
268 | AC_MSG_RESULT([$LIBINTL]) | ||
269 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) | ||
270 | fi | ||
271 | |||
272 | dnl For backward compatibility. Some packages may be using this. | ||
273 | AC_DEFINE(HAVE_GETTEXT, 1, | ||
274 | [Define if the GNU gettext() function is already present or preinstalled.]) | ||
275 | AC_DEFINE(HAVE_DCGETTEXT, 1, | ||
276 | [Define if the GNU dcgettext() function is already present or preinstalled.]) | ||
277 | fi | ||
278 | |||
279 | dnl We need to process the po/ directory. | ||
280 | POSUB=po | ||
281 | fi | ||
282 | |||
283 | ifelse(gt_included_intl, yes, [ | ||
284 | dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL | ||
285 | dnl to 'yes' because some of the testsuite requires it. | ||
286 | if test "$PACKAGE" = gettext; then | ||
287 | BUILD_INCLUDED_LIBINTL=yes | ||
288 | fi | ||
289 | |||
290 | dnl Make all variables we use known to autoconf. | ||
291 | AC_SUBST(BUILD_INCLUDED_LIBINTL) | ||
292 | AC_SUBST(USE_INCLUDED_LIBINTL) | ||
293 | AC_SUBST(CATOBJEXT) | ||
294 | AC_SUBST(INTLOBJS) | ||
295 | |||
296 | dnl For backward compatibility. Some configure.ins may be using this. | ||
297 | nls_cv_header_intl= | ||
298 | nls_cv_header_libgt= | ||
299 | |||
300 | dnl For backward compatibility. Some Makefiles may be using this. | ||
301 | DATADIRNAME=share | ||
302 | AC_SUBST(DATADIRNAME) | ||
303 | |||
304 | dnl For backward compatibility. Some Makefiles may be using this. | ||
305 | INSTOBJEXT=.mo | ||
306 | AC_SUBST(INSTOBJEXT) | ||
307 | |||
308 | dnl For backward compatibility. Some Makefiles may be using this. | ||
309 | GENCAT=gencat | ||
310 | AC_SUBST(GENCAT) | ||
311 | |||
312 | dnl Enable libtool support if the surrounding package wishes it. | ||
313 | INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix | ||
314 | AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) | ||
315 | ]) | ||
316 | |||
317 | dnl For backward compatibility. Some Makefiles may be using this. | ||
318 | INTLLIBS="$LIBINTL" | ||
319 | AC_SUBST(INTLLIBS) | ||
320 | |||
321 | dnl Make all documented variables known to autoconf. | ||
322 | AC_SUBST(LIBINTL) | ||
323 | AC_SUBST(LTLIBINTL) | ||
324 | AC_SUBST(POSUB) | ||
325 | ]) | ||
326 | |||
327 | |||
328 | dnl Checks for all prerequisites of the po subdirectory, | ||
329 | dnl except for USE_NLS. | ||
330 | AC_DEFUN([AM_PO_SUBDIRS], | ||
331 | [ | ||
332 | AC_REQUIRE([AC_PROG_MAKE_SET])dnl | ||
333 | AC_REQUIRE([AC_PROG_INSTALL])dnl | ||
334 | AC_REQUIRE([AM_MKINSTALLDIRS])dnl | ||
335 | |||
336 | dnl Perform the following tests also if --disable-nls has been given, | ||
337 | dnl because they are needed for "make dist" to work. | ||
338 | |||
339 | dnl Search for GNU msgfmt in the PATH. | ||
340 | dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. | ||
341 | dnl The second test excludes FreeBSD msgfmt. | ||
342 | AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, | ||
343 | [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && | ||
344 | (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], | ||
345 | :) | ||
346 | AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) | ||
347 | |||
348 | dnl Search for GNU xgettext 0.11 or newer in the PATH. | ||
349 | dnl The first test excludes Solaris xgettext and early GNU xgettext versions. | ||
350 | dnl The second test excludes FreeBSD xgettext. | ||
351 | AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, | ||
352 | [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && | ||
353 | (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], | ||
354 | :) | ||
355 | dnl Remove leftover from FreeBSD xgettext call. | ||
356 | rm -f messages.po | ||
357 | |||
358 | dnl Search for GNU msgmerge 0.11 or newer in the PATH. | ||
359 | AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, | ||
360 | [$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1], :) | ||
361 | |||
362 | dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. | ||
363 | dnl Test whether we really found GNU msgfmt. | ||
364 | if test "$GMSGFMT" != ":"; then | ||
365 | dnl If it is no GNU msgfmt we define it as : so that the | ||
366 | dnl Makefiles still can work. | ||
367 | if $GMSGFMT --statistics /dev/null >/dev/null 2>&1 && | ||
368 | (if $GMSGFMT --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then | ||
369 | : ; | ||
370 | else | ||
371 | GMSGFMT=`echo "$GMSGFMT" | sed -e 's,^.*/,,'` | ||
372 | AC_MSG_RESULT( | ||
373 | [found $GMSGFMT program is not GNU msgfmt; ignore it]) | ||
374 | GMSGFMT=":" | ||
375 | fi | ||
376 | fi | ||
377 | |||
378 | dnl This could go away some day; the PATH_PROG_WITH_TEST already does it. | ||
379 | dnl Test whether we really found GNU xgettext. | ||
380 | if test "$XGETTEXT" != ":"; then | ||
381 | dnl If it is no GNU xgettext we define it as : so that the | ||
382 | dnl Makefiles still can work. | ||
383 | if $XGETTEXT --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && | ||
384 | (if $XGETTEXT --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then | ||
385 | : ; | ||
386 | else | ||
387 | AC_MSG_RESULT( | ||
388 | [found xgettext program is not GNU xgettext; ignore it]) | ||
389 | XGETTEXT=":" | ||
390 | fi | ||
391 | dnl Remove leftover from FreeBSD xgettext call. | ||
392 | rm -f messages.po | ||
393 | fi | ||
394 | |||
395 | AC_OUTPUT_COMMANDS([ | ||
396 | for ac_file in $CONFIG_FILES; do | ||
397 | # Support "outfile[:infile[:infile...]]" | ||
398 | case "$ac_file" in | ||
399 | *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; | ||
400 | esac | ||
401 | # PO directories have a Makefile.in generated from Makefile.in.in. | ||
402 | case "$ac_file" in */Makefile.in) | ||
403 | # Adjust a relative srcdir. | ||
404 | ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` | ||
405 | ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" | ||
406 | ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` | ||
407 | # In autoconf-2.13 it is called $ac_given_srcdir. | ||
408 | # In autoconf-2.50 it is called $srcdir. | ||
409 | test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" | ||
410 | case "$ac_given_srcdir" in | ||
411 | .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; | ||
412 | /*) top_srcdir="$ac_given_srcdir" ;; | ||
413 | *) top_srcdir="$ac_dots$ac_given_srcdir" ;; | ||
414 | esac | ||
415 | if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then | ||
416 | rm -f "$ac_dir/POTFILES" | ||
417 | test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" | ||
418 | cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" | ||
419 | # ALL_LINGUAS, POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES depend | ||
420 | # on $ac_dir but don't depend on user-specified configuration | ||
421 | # parameters. | ||
422 | if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then | ||
423 | # The LINGUAS file contains the set of available languages. | ||
424 | if test -n "$ALL_LINGUAS"; then | ||
425 | test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" | ||
426 | fi | ||
427 | ALL_LINGUAS_=`sed -e "/^#/d" "$ac_given_srcdir/$ac_dir/LINGUAS"` | ||
428 | # Hide the ALL_LINGUAS assigment from automake. | ||
429 | eval 'ALL_LINGUAS''=$ALL_LINGUAS_' | ||
430 | fi | ||
431 | case "$ac_given_srcdir" in | ||
432 | .) srcdirpre= ;; | ||
433 | *) srcdirpre='$(srcdir)/' ;; | ||
434 | esac | ||
435 | POFILES= | ||
436 | GMOFILES= | ||
437 | UPDATEPOFILES= | ||
438 | DUMMYPOFILES= | ||
439 | for lang in $ALL_LINGUAS; do | ||
440 | POFILES="$POFILES $srcdirpre$lang.po" | ||
441 | GMOFILES="$GMOFILES $srcdirpre$lang.gmo" | ||
442 | UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" | ||
443 | DUMMYPOFILES="$DUMMYPOFILES $lang.nop" | ||
444 | done | ||
445 | # CATALOGS depends on both $ac_dir and the user's LINGUAS | ||
446 | # environment variable. | ||
447 | INST_LINGUAS= | ||
448 | if test -n "$ALL_LINGUAS"; then | ||
449 | for presentlang in $ALL_LINGUAS; do | ||
450 | useit=no | ||
451 | if test "%UNSET%" != "$LINGUAS"; then | ||
452 | desiredlanguages="$LINGUAS" | ||
453 | else | ||
454 | desiredlanguages="$ALL_LINGUAS" | ||
455 | fi | ||
456 | for desiredlang in $desiredlanguages; do | ||
457 | # Use the presentlang catalog if desiredlang is | ||
458 | # a. equal to presentlang, or | ||
459 | # b. a variant of presentlang (because in this case, | ||
460 | # presentlang can be used as a fallback for messages | ||
461 | # which are not translated in the desiredlang catalog). | ||
462 | case "$desiredlang" in | ||
463 | "$presentlang"*) useit=yes;; | ||
464 | esac | ||
465 | done | ||
466 | if test $useit = yes; then | ||
467 | INST_LINGUAS="$INST_LINGUAS $presentlang" | ||
468 | fi | ||
469 | done | ||
470 | fi | ||
471 | CATALOGS= | ||
472 | if test -n "$INST_LINGUAS"; then | ||
473 | for lang in $INST_LINGUAS; do | ||
474 | CATALOGS="$CATALOGS $lang.gmo" | ||
475 | done | ||
476 | fi | ||
477 | test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" | ||
478 | sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" | ||
479 | for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do | ||
480 | if test -f "$f"; then | ||
481 | case "$f" in | ||
482 | *.orig | *.bak | *~) ;; | ||
483 | *) cat "$f" >> "$ac_dir/Makefile" ;; | ||
484 | esac | ||
485 | fi | ||
486 | done | ||
487 | fi | ||
488 | ;; | ||
489 | esac | ||
490 | done], | ||
491 | [# Capture the value of obsolete ALL_LINGUAS because we need it to compute | ||
492 | # POFILES, GMOFILES, UPDATEPOFILES, DUMMYPOFILES, CATALOGS. But hide it | ||
493 | # from automake. | ||
494 | eval 'ALL_LINGUAS''="$ALL_LINGUAS"' | ||
495 | # Capture the value of LINGUAS because we need it to compute CATALOGS. | ||
496 | LINGUAS="${LINGUAS-%UNSET%}" | ||
497 | ]) | ||
498 | ]) | ||
499 | |||
500 | |||
501 | dnl Checks for all prerequisites of the intl subdirectory, | ||
502 | dnl except for INTL_LIBTOOL_SUFFIX_PREFIX (and possibly LIBTOOL), INTLOBJS, | ||
503 | dnl USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL. | ||
504 | AC_DEFUN([AM_INTL_SUBDIR], | ||
505 | [ | ||
506 | AC_REQUIRE([AC_PROG_INSTALL])dnl | ||
507 | AC_REQUIRE([AM_MKINSTALLDIRS])dnl | ||
508 | AC_REQUIRE([AC_PROG_CC])dnl | ||
509 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
510 | AC_REQUIRE([AC_PROG_RANLIB])dnl | ||
511 | AC_REQUIRE([AC_ISC_POSIX])dnl | ||
512 | AC_REQUIRE([AC_HEADER_STDC])dnl | ||
513 | AC_REQUIRE([AC_C_CONST])dnl | ||
514 | AC_REQUIRE([AC_C_INLINE])dnl | ||
515 | AC_REQUIRE([AC_TYPE_OFF_T])dnl | ||
516 | AC_REQUIRE([AC_TYPE_SIZE_T])dnl | ||
517 | AC_REQUIRE([AC_FUNC_ALLOCA])dnl | ||
518 | AC_REQUIRE([AC_FUNC_MMAP])dnl | ||
519 | AC_REQUIRE([jm_GLIBC21])dnl | ||
520 | AC_REQUIRE([gt_INTDIV0])dnl | ||
521 | AC_REQUIRE([jm_AC_TYPE_UINTMAX_T])dnl | ||
522 | AC_REQUIRE([gt_HEADER_INTTYPES_H])dnl | ||
523 | AC_REQUIRE([gt_INTTYPES_PRI])dnl | ||
524 | |||
525 | AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h stddef.h \ | ||
526 | stdlib.h string.h unistd.h sys/param.h]) | ||
527 | AC_CHECK_FUNCS([feof_unlocked fgets_unlocked getc_unlocked getcwd getegid \ | ||
528 | geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ | ||
529 | strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next]) | ||
530 | |||
531 | AM_ICONV | ||
532 | AM_LANGINFO_CODESET | ||
533 | if test $ac_cv_header_locale_h = yes; then | ||
534 | AM_LC_MESSAGES | ||
535 | fi | ||
536 | |||
537 | dnl intl/plural.c is generated from intl/plural.y. It requires bison, | ||
538 | dnl because plural.y uses bison specific features. It requires at least | ||
539 | dnl bison-1.26 because earlier versions generate a plural.c that doesn't | ||
540 | dnl compile. | ||
541 | dnl bison is only needed for the maintainer (who touches plural.y). But in | ||
542 | dnl order to avoid separate Makefiles or --enable-maintainer-mode, we put | ||
543 | dnl the rule in general Makefile. Now, some people carelessly touch the | ||
544 | dnl files or have a broken "make" program, hence the plural.c rule will | ||
545 | dnl sometimes fire. To avoid an error, defines BISON to ":" if it is not | ||
546 | dnl present or too old. | ||
547 | AC_CHECK_PROGS([INTLBISON], [bison]) | ||
548 | if test -z "$INTLBISON"; then | ||
549 | ac_verc_fail=yes | ||
550 | else | ||
551 | dnl Found it, now check the version. | ||
552 | AC_MSG_CHECKING([version of bison]) | ||
553 | changequote(<<,>>)dnl | ||
554 | ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` | ||
555 | case $ac_prog_version in | ||
556 | '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; | ||
557 | 1.2[6-9]* | 1.[3-9][0-9]* | [2-9].*) | ||
558 | changequote([,])dnl | ||
559 | ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; | ||
560 | *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; | ||
561 | esac | ||
562 | AC_MSG_RESULT([$ac_prog_version]) | ||
563 | fi | ||
564 | if test $ac_verc_fail = yes; then | ||
565 | INTLBISON=: | ||
566 | fi | ||
567 | ]) | ||
568 | |||
569 | |||
570 | AC_DEFUN([AM_MKINSTALLDIRS], | ||
571 | [ | ||
572 | dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly | ||
573 | dnl find the mkinstalldirs script in another subdir but $(top_srcdir). | ||
574 | dnl Try to locate is. | ||
575 | MKINSTALLDIRS= | ||
576 | if test -n "$ac_aux_dir"; then | ||
577 | MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" | ||
578 | fi | ||
579 | if test -z "$MKINSTALLDIRS"; then | ||
580 | MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" | ||
581 | fi | ||
582 | AC_SUBST(MKINSTALLDIRS) | ||
583 | ]) | ||
584 | |||
585 | |||
586 | dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) | ||
587 | AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) | ||
diff --git a/m4/glibc21.m4 b/m4/glibc21.m4 new file mode 100644 index 00000000..9c9f3db3 --- /dev/null +++ b/m4/glibc21.m4 | |||
@@ -0,0 +1,32 @@ | |||
1 | # glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) | ||
2 | dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | # Test for the GNU C Library, version 2.1 or newer. | ||
10 | # From Bruno Haible. | ||
11 | |||
12 | AC_DEFUN([jm_GLIBC21], | ||
13 | [ | ||
14 | AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, | ||
15 | ac_cv_gnu_library_2_1, | ||
16 | [AC_EGREP_CPP([Lucky GNU user], | ||
17 | [ | ||
18 | #include <features.h> | ||
19 | #ifdef __GNU_LIBRARY__ | ||
20 | #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) | ||
21 | Lucky GNU user | ||
22 | #endif | ||
23 | #endif | ||
24 | ], | ||
25 | ac_cv_gnu_library_2_1=yes, | ||
26 | ac_cv_gnu_library_2_1=no) | ||
27 | ] | ||
28 | ) | ||
29 | AC_SUBST(GLIBC21) | ||
30 | GLIBC21="$ac_cv_gnu_library_2_1" | ||
31 | ] | ||
32 | ) | ||
diff --git a/m4/iconv.m4 b/m4/iconv.m4 new file mode 100644 index 00000000..c5f35798 --- /dev/null +++ b/m4/iconv.m4 | |||
@@ -0,0 +1,103 @@ | |||
1 | # iconv.m4 serial AM4 (gettext-0.11.3) | ||
2 | dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], | ||
12 | [ | ||
13 | dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. | ||
14 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
15 | AC_REQUIRE([AC_LIB_RPATH]) | ||
16 | |||
17 | dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV | ||
18 | dnl accordingly. | ||
19 | AC_LIB_LINKFLAGS_BODY([iconv]) | ||
20 | ]) | ||
21 | |||
22 | AC_DEFUN([AM_ICONV_LINK], | ||
23 | [ | ||
24 | dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and | ||
25 | dnl those with the standalone portable GNU libiconv installed). | ||
26 | |||
27 | dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV | ||
28 | dnl accordingly. | ||
29 | AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) | ||
30 | |||
31 | dnl Add $INCICONV to CPPFLAGS before performing the following checks, | ||
32 | dnl because if the user has installed libiconv and not disabled its use | ||
33 | dnl via --without-libiconv-prefix, he wants to use it. The first | ||
34 | dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. | ||
35 | am_save_CPPFLAGS="$CPPFLAGS" | ||
36 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) | ||
37 | |||
38 | AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ | ||
39 | am_cv_func_iconv="no, consider installing GNU libiconv" | ||
40 | am_cv_lib_iconv=no | ||
41 | AC_TRY_LINK([#include <stdlib.h> | ||
42 | #include <iconv.h>], | ||
43 | [iconv_t cd = iconv_open("",""); | ||
44 | iconv(cd,NULL,NULL,NULL,NULL); | ||
45 | iconv_close(cd);], | ||
46 | am_cv_func_iconv=yes) | ||
47 | if test "$am_cv_func_iconv" != yes; then | ||
48 | am_save_LIBS="$LIBS" | ||
49 | LIBS="$LIBS $LIBICONV" | ||
50 | AC_TRY_LINK([#include <stdlib.h> | ||
51 | #include <iconv.h>], | ||
52 | [iconv_t cd = iconv_open("",""); | ||
53 | iconv(cd,NULL,NULL,NULL,NULL); | ||
54 | iconv_close(cd);], | ||
55 | am_cv_lib_iconv=yes | ||
56 | am_cv_func_iconv=yes) | ||
57 | LIBS="$am_save_LIBS" | ||
58 | fi | ||
59 | ]) | ||
60 | if test "$am_cv_func_iconv" = yes; then | ||
61 | AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) | ||
62 | fi | ||
63 | if test "$am_cv_lib_iconv" = yes; then | ||
64 | AC_MSG_CHECKING([how to link with libiconv]) | ||
65 | AC_MSG_RESULT([$LIBICONV]) | ||
66 | else | ||
67 | dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV | ||
68 | dnl either. | ||
69 | CPPFLAGS="$am_save_CPPFLAGS" | ||
70 | LIBICONV= | ||
71 | LTLIBICONV= | ||
72 | fi | ||
73 | AC_SUBST(LIBICONV) | ||
74 | AC_SUBST(LTLIBICONV) | ||
75 | ]) | ||
76 | |||
77 | AC_DEFUN([AM_ICONV], | ||
78 | [ | ||
79 | AM_ICONV_LINK | ||
80 | if test "$am_cv_func_iconv" = yes; then | ||
81 | AC_MSG_CHECKING([for iconv declaration]) | ||
82 | AC_CACHE_VAL(am_cv_proto_iconv, [ | ||
83 | AC_TRY_COMPILE([ | ||
84 | #include <stdlib.h> | ||
85 | #include <iconv.h> | ||
86 | extern | ||
87 | #ifdef __cplusplus | ||
88 | "C" | ||
89 | #endif | ||
90 | #if defined(__STDC__) || defined(__cplusplus) | ||
91 | size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); | ||
92 | #else | ||
93 | size_t iconv(); | ||
94 | #endif | ||
95 | ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") | ||
96 | am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) | ||
97 | am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` | ||
98 | AC_MSG_RESULT([$]{ac_t:- | ||
99 | }[$]am_cv_proto_iconv) | ||
100 | AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, | ||
101 | [Define as const if the declaration of iconv() needs const.]) | ||
102 | fi | ||
103 | ]) | ||
diff --git a/m4/intdiv0.m4 b/m4/intdiv0.m4 new file mode 100644 index 00000000..55dddcf1 --- /dev/null +++ b/m4/intdiv0.m4 | |||
@@ -0,0 +1,72 @@ | |||
1 | # intdiv0.m4 serial 1 (gettext-0.11.3) | ||
2 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | AC_DEFUN([gt_INTDIV0], | ||
12 | [ | ||
13 | AC_REQUIRE([AC_PROG_CC])dnl | ||
14 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
15 | |||
16 | AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], | ||
17 | gt_cv_int_divbyzero_sigfpe, | ||
18 | [ | ||
19 | AC_TRY_RUN([ | ||
20 | #include <stdlib.h> | ||
21 | #include <signal.h> | ||
22 | |||
23 | static void | ||
24 | #ifdef __cplusplus | ||
25 | sigfpe_handler (int sig) | ||
26 | #else | ||
27 | sigfpe_handler (sig) int sig; | ||
28 | #endif | ||
29 | { | ||
30 | /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ | ||
31 | exit (sig != SIGFPE); | ||
32 | } | ||
33 | |||
34 | int x = 1; | ||
35 | int y = 0; | ||
36 | int z; | ||
37 | int nan; | ||
38 | |||
39 | int main () | ||
40 | { | ||
41 | signal (SIGFPE, sigfpe_handler); | ||
42 | /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ | ||
43 | #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) | ||
44 | signal (SIGTRAP, sigfpe_handler); | ||
45 | #endif | ||
46 | /* Linux/SPARC yields signal SIGILL. */ | ||
47 | #if defined (__sparc__) && defined (__linux__) | ||
48 | signal (SIGILL, sigfpe_handler); | ||
49 | #endif | ||
50 | |||
51 | z = x / y; | ||
52 | nan = y / y; | ||
53 | exit (1); | ||
54 | } | ||
55 | ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, | ||
56 | [ | ||
57 | # Guess based on the CPU. | ||
58 | case "$host_cpu" in | ||
59 | alpha* | i[34567]86 | m68k | s390*) | ||
60 | gt_cv_int_divbyzero_sigfpe="guessing yes";; | ||
61 | *) | ||
62 | gt_cv_int_divbyzero_sigfpe="guessing no";; | ||
63 | esac | ||
64 | ]) | ||
65 | ]) | ||
66 | case "$gt_cv_int_divbyzero_sigfpe" in | ||
67 | *yes) value=1;; | ||
68 | *) value=0;; | ||
69 | esac | ||
70 | AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, | ||
71 | [Define if integer division by zero raises signal SIGFPE.]) | ||
72 | ]) | ||
diff --git a/m4/inttypes-pri.m4 b/m4/inttypes-pri.m4 new file mode 100644 index 00000000..fd007c31 --- /dev/null +++ b/m4/inttypes-pri.m4 | |||
@@ -0,0 +1,32 @@ | |||
1 | # inttypes-pri.m4 serial 1 (gettext-0.11.4) | ||
2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | # Define PRI_MACROS_BROKEN if <inttypes.h> exists and defines the PRI* | ||
12 | # macros to non-string values. This is the case on AIX 4.3.3. | ||
13 | |||
14 | AC_DEFUN([gt_INTTYPES_PRI], | ||
15 | [ | ||
16 | AC_REQUIRE([gt_HEADER_INTTYPES_H]) | ||
17 | if test $gt_cv_header_inttypes_h = yes; then | ||
18 | AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], | ||
19 | gt_cv_inttypes_pri_broken, | ||
20 | [ | ||
21 | AC_TRY_COMPILE([#include <inttypes.h> | ||
22 | #ifdef PRId32 | ||
23 | char *p = PRId32; | ||
24 | #endif | ||
25 | ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) | ||
26 | ]) | ||
27 | fi | ||
28 | if test "$gt_cv_inttypes_pri_broken" = yes; then | ||
29 | AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, | ||
30 | [Define if <inttypes.h> exists and defines unusable PRI* macros.]) | ||
31 | fi | ||
32 | ]) | ||
diff --git a/m4/inttypes.m4 b/m4/inttypes.m4 new file mode 100644 index 00000000..ab370ffe --- /dev/null +++ b/m4/inttypes.m4 | |||
@@ -0,0 +1,27 @@ | |||
1 | # inttypes.m4 serial 1 (gettext-0.11.4) | ||
2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Paul Eggert. | ||
10 | |||
11 | # Define HAVE_INTTYPES_H if <inttypes.h> exists and doesn't clash with | ||
12 | # <sys/types.h>. | ||
13 | |||
14 | AC_DEFUN([gt_HEADER_INTTYPES_H], | ||
15 | [ | ||
16 | AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, | ||
17 | [ | ||
18 | AC_TRY_COMPILE( | ||
19 | [#include <sys/types.h> | ||
20 | #include <inttypes.h>], | ||
21 | [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) | ||
22 | ]) | ||
23 | if test $gt_cv_header_inttypes_h = yes; then | ||
24 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, | ||
25 | [Define if <inttypes.h> exists and doesn't clash with <sys/types.h>.]) | ||
26 | fi | ||
27 | ]) | ||
diff --git a/m4/inttypes_h.m4 b/m4/inttypes_h.m4 new file mode 100644 index 00000000..400a1118 --- /dev/null +++ b/m4/inttypes_h.m4 | |||
@@ -0,0 +1,28 @@ | |||
1 | # inttypes_h.m4 serial 4 (gettext-0.11.4) | ||
2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Paul Eggert. | ||
10 | |||
11 | # Define HAVE_INTTYPES_H_WITH_UINTMAX if <inttypes.h> exists, | ||
12 | # doesn't clash with <sys/types.h>, and declares uintmax_t. | ||
13 | |||
14 | AC_DEFUN([jm_AC_HEADER_INTTYPES_H], | ||
15 | [ | ||
16 | AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, | ||
17 | [AC_TRY_COMPILE( | ||
18 | [#include <sys/types.h> | ||
19 | #include <inttypes.h>], | ||
20 | [uintmax_t i = (uintmax_t) -1;], | ||
21 | jm_ac_cv_header_inttypes_h=yes, | ||
22 | jm_ac_cv_header_inttypes_h=no)]) | ||
23 | if test $jm_ac_cv_header_inttypes_h = yes; then | ||
24 | AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, | ||
25 | [Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, | ||
26 | and declares uintmax_t. ]) | ||
27 | fi | ||
28 | ]) | ||
diff --git a/m4/isc-posix.m4 b/m4/isc-posix.m4 new file mode 100644 index 00000000..1319dd1c --- /dev/null +++ b/m4/isc-posix.m4 | |||
@@ -0,0 +1,26 @@ | |||
1 | # isc-posix.m4 serial 2 (gettext-0.11.2) | ||
2 | dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. | ||
10 | |||
11 | # This test replaces the one in autoconf. | ||
12 | # Currently this macro should have the same name as the autoconf macro | ||
13 | # because gettext's gettext.m4 (distributed in the automake package) | ||
14 | # still uses it. Otherwise, the use in gettext.m4 makes autoheader | ||
15 | # give these diagnostics: | ||
16 | # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX | ||
17 | # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX | ||
18 | |||
19 | undefine([AC_ISC_POSIX]) | ||
20 | |||
21 | AC_DEFUN([AC_ISC_POSIX], | ||
22 | [ | ||
23 | dnl This test replaces the obsolescent AC_ISC_POSIX kludge. | ||
24 | AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) | ||
25 | ] | ||
26 | ) | ||
diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4 new file mode 100644 index 00000000..ffd4008b --- /dev/null +++ b/m4/lcmessage.m4 | |||
@@ -0,0 +1,32 @@ | |||
1 | # lcmessage.m4 serial 3 (gettext-0.11.3) | ||
2 | dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | dnl | ||
9 | dnl This file can can be used in projects which are not available under | ||
10 | dnl the GNU General Public License or the GNU Library General Public | ||
11 | dnl License but which still want to provide support for the GNU gettext | ||
12 | dnl functionality. | ||
13 | dnl Please note that the actual code of the GNU gettext library is covered | ||
14 | dnl by the GNU Library General Public License, and the rest of the GNU | ||
15 | dnl gettext package package is covered by the GNU General Public License. | ||
16 | dnl They are *not* in the public domain. | ||
17 | |||
18 | dnl Authors: | ||
19 | dnl Ulrich Drepper <drepper@cygnus.com>, 1995. | ||
20 | |||
21 | # Check whether LC_MESSAGES is available in <locale.h>. | ||
22 | |||
23 | AC_DEFUN([AM_LC_MESSAGES], | ||
24 | [ | ||
25 | AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, | ||
26 | [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES], | ||
27 | am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) | ||
28 | if test $am_cv_val_LC_MESSAGES = yes; then | ||
29 | AC_DEFINE(HAVE_LC_MESSAGES, 1, | ||
30 | [Define if your <locale.h> file defines LC_MESSAGES.]) | ||
31 | fi | ||
32 | ]) | ||
diff --git a/m4/lib-ld.m4 b/m4/lib-ld.m4 new file mode 100644 index 00000000..ddb57323 --- /dev/null +++ b/m4/lib-ld.m4 | |||
@@ -0,0 +1,97 @@ | |||
1 | # lib-ld.m4 serial 1 (gettext-0.11) | ||
2 | dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl Subroutines of libtool.m4, | ||
10 | dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision | ||
11 | dnl with libtool.m4. | ||
12 | |||
13 | dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. | ||
14 | AC_DEFUN([AC_LIB_PROG_LD_GNU], | ||
15 | [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, | ||
16 | [# I'd rather use --version here, but apparently some GNU ld's only accept -v. | ||
17 | if $LD -v 2>&1 </dev/null | egrep '(GNU|with BFD)' 1>&5; then | ||
18 | acl_cv_prog_gnu_ld=yes | ||
19 | else | ||
20 | acl_cv_prog_gnu_ld=no | ||
21 | fi]) | ||
22 | with_gnu_ld=$acl_cv_prog_gnu_ld | ||
23 | ]) | ||
24 | |||
25 | dnl From libtool-1.4. Sets the variable LD. | ||
26 | AC_DEFUN([AC_LIB_PROG_LD], | ||
27 | [AC_ARG_WITH(gnu-ld, | ||
28 | [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], | ||
29 | test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) | ||
30 | AC_REQUIRE([AC_PROG_CC])dnl | ||
31 | AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
32 | ac_prog=ld | ||
33 | if test "$GCC" = yes; then | ||
34 | # Check if gcc -print-prog-name=ld gives a path. | ||
35 | AC_MSG_CHECKING([for ld used by GCC]) | ||
36 | case $host in | ||
37 | *-*-mingw*) | ||
38 | # gcc leaves a trailing carriage return which upsets mingw | ||
39 | ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
40 | *) | ||
41 | ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
42 | esac | ||
43 | case $ac_prog in | ||
44 | # Accept absolute paths. | ||
45 | [[\\/]* | [A-Za-z]:[\\/]*)] | ||
46 | [re_direlt='/[^/][^/]*/\.\./'] | ||
47 | # Canonicalize the path of ld | ||
48 | ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` | ||
49 | while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do | ||
50 | ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` | ||
51 | done | ||
52 | test -z "$LD" && LD="$ac_prog" | ||
53 | ;; | ||
54 | "") | ||
55 | # If it fails, then pretend we aren't using GCC. | ||
56 | ac_prog=ld | ||
57 | ;; | ||
58 | *) | ||
59 | # If it is relative, then search for the first ld in PATH. | ||
60 | with_gnu_ld=unknown | ||
61 | ;; | ||
62 | esac | ||
63 | elif test "$with_gnu_ld" = yes; then | ||
64 | AC_MSG_CHECKING([for GNU ld]) | ||
65 | else | ||
66 | AC_MSG_CHECKING([for non-GNU ld]) | ||
67 | fi | ||
68 | AC_CACHE_VAL(acl_cv_path_LD, | ||
69 | [if test -z "$LD"; then | ||
70 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" | ||
71 | for ac_dir in $PATH; do | ||
72 | test -z "$ac_dir" && ac_dir=. | ||
73 | if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
74 | acl_cv_path_LD="$ac_dir/$ac_prog" | ||
75 | # Check to see if the program is GNU ld. I'd rather use --version, | ||
76 | # but apparently some GNU ld's only accept -v. | ||
77 | # Break only if it was the GNU/non-GNU ld that we prefer. | ||
78 | if "$acl_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then | ||
79 | test "$with_gnu_ld" != no && break | ||
80 | else | ||
81 | test "$with_gnu_ld" != yes && break | ||
82 | fi | ||
83 | fi | ||
84 | done | ||
85 | IFS="$ac_save_ifs" | ||
86 | else | ||
87 | acl_cv_path_LD="$LD" # Let the user override the test with a path. | ||
88 | fi]) | ||
89 | LD="$acl_cv_path_LD" | ||
90 | if test -n "$LD"; then | ||
91 | AC_MSG_RESULT($LD) | ||
92 | else | ||
93 | AC_MSG_RESULT(no) | ||
94 | fi | ||
95 | test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
96 | AC_LIB_PROG_LD_GNU | ||
97 | ]) | ||
diff --git a/m4/lib-link.m4 b/m4/lib-link.m4 new file mode 100644 index 00000000..6b942510 --- /dev/null +++ b/m4/lib-link.m4 | |||
@@ -0,0 +1,554 @@ | |||
1 | # lib-link.m4 serial 3 (gettext-0.11.3) | ||
2 | dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and | ||
12 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
13 | dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and | ||
14 | dnl augments the CPPFLAGS variable. | ||
15 | AC_DEFUN([AC_LIB_LINKFLAGS], | ||
16 | [ | ||
17 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
18 | AC_REQUIRE([AC_LIB_RPATH]) | ||
19 | define([Name],[translit([$1],[./-], [___])]) | ||
20 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
21 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
22 | AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ | ||
23 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
24 | ac_cv_lib[]Name[]_libs="$LIB[]NAME" | ||
25 | ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" | ||
26 | ac_cv_lib[]Name[]_cppflags="$INC[]NAME" | ||
27 | ]) | ||
28 | LIB[]NAME="$ac_cv_lib[]Name[]_libs" | ||
29 | LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" | ||
30 | INC[]NAME="$ac_cv_lib[]Name[]_cppflags" | ||
31 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
32 | AC_SUBST([LIB]NAME) | ||
33 | AC_SUBST([LTLIB]NAME) | ||
34 | dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the | ||
35 | dnl results of this search when this library appears as a dependency. | ||
36 | HAVE_LIB[]NAME=yes | ||
37 | undefine([Name]) | ||
38 | undefine([NAME]) | ||
39 | ]) | ||
40 | |||
41 | dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) | ||
42 | dnl searches for libname and the libraries corresponding to explicit and | ||
43 | dnl implicit dependencies, together with the specified include files and | ||
44 | dnl the ability to compile and link the specified testcode. If found, it | ||
45 | dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and | ||
46 | dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and | ||
47 | dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs | ||
48 | dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. | ||
49 | AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], | ||
50 | [ | ||
51 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
52 | AC_REQUIRE([AC_LIB_RPATH]) | ||
53 | define([Name],[translit([$1],[./-], [___])]) | ||
54 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
55 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
56 | |||
57 | dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME | ||
58 | dnl accordingly. | ||
59 | AC_LIB_LINKFLAGS_BODY([$1], [$2]) | ||
60 | |||
61 | dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, | ||
62 | dnl because if the user has installed lib[]Name and not disabled its use | ||
63 | dnl via --without-lib[]Name-prefix, he wants to use it. | ||
64 | ac_save_CPPFLAGS="$CPPFLAGS" | ||
65 | AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) | ||
66 | |||
67 | AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ | ||
68 | ac_save_LIBS="$LIBS" | ||
69 | LIBS="$LIBS $LIB[]NAME" | ||
70 | AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) | ||
71 | LIBS="$ac_save_LIBS" | ||
72 | ]) | ||
73 | if test "$ac_cv_lib[]Name" = yes; then | ||
74 | HAVE_LIB[]NAME=yes | ||
75 | AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) | ||
76 | AC_MSG_CHECKING([how to link with lib[]$1]) | ||
77 | AC_MSG_RESULT([$LIB[]NAME]) | ||
78 | else | ||
79 | HAVE_LIB[]NAME=no | ||
80 | dnl If $LIB[]NAME didn't lead to a usable library, we don't need | ||
81 | dnl $INC[]NAME either. | ||
82 | CPPFLAGS="$ac_save_CPPFLAGS" | ||
83 | LIB[]NAME= | ||
84 | LTLIB[]NAME= | ||
85 | fi | ||
86 | AC_SUBST([HAVE_LIB]NAME) | ||
87 | AC_SUBST([LIB]NAME) | ||
88 | AC_SUBST([LTLIB]NAME) | ||
89 | undefine([Name]) | ||
90 | undefine([NAME]) | ||
91 | ]) | ||
92 | |||
93 | dnl Determine the platform dependent parameters needed to use rpath: | ||
94 | dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, | ||
95 | dnl hardcode_direct, hardcode_minus_L, | ||
96 | dnl sys_lib_search_path_spec, sys_lib_dlsearch_path_spec. | ||
97 | AC_DEFUN([AC_LIB_RPATH], | ||
98 | [ | ||
99 | AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS | ||
100 | AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld | ||
101 | AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host | ||
102 | AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir | ||
103 | AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ | ||
104 | CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ | ||
105 | ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh | ||
106 | . ./conftest.sh | ||
107 | rm -f ./conftest.sh | ||
108 | acl_cv_rpath=done | ||
109 | ]) | ||
110 | wl="$acl_cv_wl" | ||
111 | libext="$acl_cv_libext" | ||
112 | shlibext="$acl_cv_shlibext" | ||
113 | hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" | ||
114 | hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" | ||
115 | hardcode_direct="$acl_cv_hardcode_direct" | ||
116 | hardcode_minus_L="$acl_cv_hardcode_minus_L" | ||
117 | sys_lib_search_path_spec="$acl_cv_sys_lib_search_path_spec" | ||
118 | sys_lib_dlsearch_path_spec="$acl_cv_sys_lib_dlsearch_path_spec" | ||
119 | dnl Determine whether the user wants rpath handling at all. | ||
120 | AC_ARG_ENABLE(rpath, | ||
121 | [ --disable-rpath do not hardcode runtime library paths], | ||
122 | :, enable_rpath=yes) | ||
123 | ]) | ||
124 | |||
125 | dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and | ||
126 | dnl the libraries corresponding to explicit and implicit dependencies. | ||
127 | dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. | ||
128 | AC_DEFUN([AC_LIB_LINKFLAGS_BODY], | ||
129 | [ | ||
130 | define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], | ||
131 | [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) | ||
132 | dnl By default, look in $includedir and $libdir. | ||
133 | use_additional=yes | ||
134 | AC_LIB_WITH_FINAL_PREFIX([ | ||
135 | eval additional_includedir=\"$includedir\" | ||
136 | eval additional_libdir=\"$libdir\" | ||
137 | ]) | ||
138 | AC_ARG_WITH([lib$1-prefix], | ||
139 | [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib | ||
140 | --without-lib$1-prefix don't search for lib$1 in includedir and libdir], | ||
141 | [ | ||
142 | if test "X$withval" = "Xno"; then | ||
143 | use_additional=no | ||
144 | else | ||
145 | if test "X$withval" = "X"; then | ||
146 | AC_LIB_WITH_FINAL_PREFIX([ | ||
147 | eval additional_includedir=\"$includedir\" | ||
148 | eval additional_libdir=\"$libdir\" | ||
149 | ]) | ||
150 | else | ||
151 | additional_includedir="$withval/include" | ||
152 | additional_libdir="$withval/lib" | ||
153 | fi | ||
154 | fi | ||
155 | ]) | ||
156 | dnl Search the library and its dependencies in $additional_libdir and | ||
157 | dnl $LDFLAGS. Using breadth-first-seach. | ||
158 | LIB[]NAME= | ||
159 | LTLIB[]NAME= | ||
160 | INC[]NAME= | ||
161 | rpathdirs= | ||
162 | ltrpathdirs= | ||
163 | names_already_handled= | ||
164 | names_next_round='$1 $2' | ||
165 | while test -n "$names_next_round"; do | ||
166 | names_this_round="$names_next_round" | ||
167 | names_next_round= | ||
168 | for name in $names_this_round; do | ||
169 | already_handled= | ||
170 | for n in $names_already_handled; do | ||
171 | if test "$n" = "$name"; then | ||
172 | already_handled=yes | ||
173 | break | ||
174 | fi | ||
175 | done | ||
176 | if test -z "$already_handled"; then | ||
177 | names_already_handled="$names_already_handled $name" | ||
178 | dnl See if it was already located by an earlier AC_LIB_LINKFLAGS | ||
179 | dnl or AC_LIB_HAVE_LINKFLAGS call. | ||
180 | uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` | ||
181 | eval value=\"\$HAVE_LIB$uppername\" | ||
182 | if test -n "$value"; then | ||
183 | if test "$value" = yes; then | ||
184 | eval value=\"\$LIB$uppername\" | ||
185 | test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" | ||
186 | eval value=\"\$LTLIB$uppername\" | ||
187 | test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" | ||
188 | else | ||
189 | dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined | ||
190 | dnl that this library doesn't exist. So just drop it. | ||
191 | : | ||
192 | fi | ||
193 | else | ||
194 | dnl Search the library lib$name in $additional_libdir and $LDFLAGS | ||
195 | dnl and the already constructed $LIBNAME/$LTLIBNAME. | ||
196 | found_dir= | ||
197 | found_la= | ||
198 | found_so= | ||
199 | found_a= | ||
200 | if test $use_additional = yes; then | ||
201 | if test -n "$shlibext" && test -f "$additional_libdir/lib$name.$shlibext"; then | ||
202 | found_dir="$additional_libdir" | ||
203 | found_so="$additional_libdir/lib$name.$shlibext" | ||
204 | if test -f "$additional_libdir/lib$name.la"; then | ||
205 | found_la="$additional_libdir/lib$name.la" | ||
206 | fi | ||
207 | else | ||
208 | if test -f "$additional_libdir/lib$name.$libext"; then | ||
209 | found_dir="$additional_libdir" | ||
210 | found_a="$additional_libdir/lib$name.$libext" | ||
211 | if test -f "$additional_libdir/lib$name.la"; then | ||
212 | found_la="$additional_libdir/lib$name.la" | ||
213 | fi | ||
214 | fi | ||
215 | fi | ||
216 | fi | ||
217 | if test "X$found_dir" = "X"; then | ||
218 | for x in $LDFLAGS $LTLIB[]NAME; do | ||
219 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
220 | case "$x" in | ||
221 | -L*) | ||
222 | dir=`echo "X$x" | sed -e 's/^X-L//'` | ||
223 | if test -n "$shlibext" && test -f "$dir/lib$name.$shlibext"; then | ||
224 | found_dir="$dir" | ||
225 | found_so="$dir/lib$name.$shlibext" | ||
226 | if test -f "$dir/lib$name.la"; then | ||
227 | found_la="$dir/lib$name.la" | ||
228 | fi | ||
229 | else | ||
230 | if test -f "$dir/lib$name.$libext"; then | ||
231 | found_dir="$dir" | ||
232 | found_a="$dir/lib$name.$libext" | ||
233 | if test -f "$dir/lib$name.la"; then | ||
234 | found_la="$dir/lib$name.la" | ||
235 | fi | ||
236 | fi | ||
237 | fi | ||
238 | ;; | ||
239 | esac | ||
240 | if test "X$found_dir" != "X"; then | ||
241 | break | ||
242 | fi | ||
243 | done | ||
244 | fi | ||
245 | if test "X$found_dir" != "X"; then | ||
246 | dnl Found the library. | ||
247 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" | ||
248 | if test "X$found_so" != "X"; then | ||
249 | dnl Linking with a shared library. We attempt to hardcode its | ||
250 | dnl directory into the executable's runpath, unless it's the | ||
251 | dnl standard /usr/lib. | ||
252 | if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/lib"; then | ||
253 | dnl No hardcoding is needed. | ||
254 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
255 | else | ||
256 | dnl Use an explicit option to hardcode DIR into the resulting | ||
257 | dnl binary. | ||
258 | dnl Potentially add DIR to ltrpathdirs. | ||
259 | dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
260 | haveit= | ||
261 | for x in $ltrpathdirs; do | ||
262 | if test "X$x" = "X$found_dir"; then | ||
263 | haveit=yes | ||
264 | break | ||
265 | fi | ||
266 | done | ||
267 | if test -z "$haveit"; then | ||
268 | ltrpathdirs="$ltrpathdirs $found_dir" | ||
269 | fi | ||
270 | dnl The hardcoding into $LIBNAME is system dependent. | ||
271 | if test "$hardcode_direct" = yes; then | ||
272 | dnl Using DIR/libNAME.so during linking hardcodes DIR into the | ||
273 | dnl resulting binary. | ||
274 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
275 | else | ||
276 | if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then | ||
277 | dnl Use an explicit option to hardcode DIR into the resulting | ||
278 | dnl binary. | ||
279 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
280 | dnl Potentially add DIR to rpathdirs. | ||
281 | dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
282 | haveit= | ||
283 | for x in $rpathdirs; do | ||
284 | if test "X$x" = "X$found_dir"; then | ||
285 | haveit=yes | ||
286 | break | ||
287 | fi | ||
288 | done | ||
289 | if test -z "$haveit"; then | ||
290 | rpathdirs="$rpathdirs $found_dir" | ||
291 | fi | ||
292 | else | ||
293 | dnl Rely on "-L$found_dir". | ||
294 | dnl But don't add it if it's already contained in the LDFLAGS | ||
295 | dnl or the already constructed $LIBNAME | ||
296 | haveit= | ||
297 | for x in $LDFLAGS $LIB[]NAME; do | ||
298 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
299 | if test "X$x" = "X-L$found_dir"; then | ||
300 | haveit=yes | ||
301 | break | ||
302 | fi | ||
303 | done | ||
304 | if test -z "$haveit"; then | ||
305 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" | ||
306 | fi | ||
307 | if test "$hardcode_minus_L" != no; then | ||
308 | dnl FIXME: Not sure whether we should use | ||
309 | dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
310 | dnl here. | ||
311 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" | ||
312 | else | ||
313 | dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH | ||
314 | dnl here, because this doesn't fit in flags passed to the | ||
315 | dnl compiler. So give up. No hardcoding. This affects only | ||
316 | dnl very old systems. | ||
317 | dnl FIXME: Not sure whether we should use | ||
318 | dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" | ||
319 | dnl here. | ||
320 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
321 | fi | ||
322 | fi | ||
323 | fi | ||
324 | fi | ||
325 | else | ||
326 | if test "X$found_a" != "X"; then | ||
327 | dnl Linking with a static library. | ||
328 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" | ||
329 | else | ||
330 | dnl We shouldn't come here, but anyway it's good to have a | ||
331 | dnl fallback. | ||
332 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" | ||
333 | fi | ||
334 | fi | ||
335 | dnl Assume the include files are nearby. | ||
336 | additional_includedir= | ||
337 | case "$found_dir" in | ||
338 | */lib | */lib/) | ||
339 | basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e 's,/lib/*$,,'` | ||
340 | additional_includedir="$basedir/include" | ||
341 | ;; | ||
342 | esac | ||
343 | if test "X$additional_includedir" != "X"; then | ||
344 | dnl Potentially add $additional_includedir to $INCNAME. | ||
345 | dnl But don't add it | ||
346 | dnl 1. if it's the standard /usr/include, | ||
347 | dnl 2. if it's /usr/local/include and we are using GCC on Linux, | ||
348 | dnl 3. if it's already present in $CPPFLAGS or the already | ||
349 | dnl constructed $INCNAME, | ||
350 | dnl 4. if it doesn't exist as a directory. | ||
351 | if test "X$additional_includedir" != "X/usr/include"; then | ||
352 | haveit= | ||
353 | if test "X$additional_includedir" = "X/usr/local/include"; then | ||
354 | if test -n "$GCC"; then | ||
355 | case $host_os in | ||
356 | linux*) haveit=yes;; | ||
357 | esac | ||
358 | fi | ||
359 | fi | ||
360 | if test -z "$haveit"; then | ||
361 | for x in $CPPFLAGS $INC[]NAME; do | ||
362 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
363 | if test "X$x" = "X-I$additional_includedir"; then | ||
364 | haveit=yes | ||
365 | break | ||
366 | fi | ||
367 | done | ||
368 | if test -z "$haveit"; then | ||
369 | if test -d "$additional_includedir"; then | ||
370 | dnl Really add $additional_includedir to $INCNAME. | ||
371 | INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" | ||
372 | fi | ||
373 | fi | ||
374 | fi | ||
375 | fi | ||
376 | fi | ||
377 | dnl Look for dependencies. | ||
378 | if test -n "$found_la"; then | ||
379 | dnl Read the .la file. It defines the variables | ||
380 | dnl dlname, library_names, old_library, dependency_libs, current, | ||
381 | dnl age, revision, installed, dlopen, dlpreopen, libdir. | ||
382 | save_libdir="$libdir" | ||
383 | case "$found_la" in | ||
384 | */* | *\\*) . "$found_la" ;; | ||
385 | *) . "./$found_la" ;; | ||
386 | esac | ||
387 | libdir="$save_libdir" | ||
388 | dnl We use only dependency_libs. | ||
389 | for dep in $dependency_libs; do | ||
390 | case "$dep" in | ||
391 | -L*) | ||
392 | additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` | ||
393 | dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. | ||
394 | dnl But don't add it | ||
395 | dnl 1. if it's the standard /usr/lib, | ||
396 | dnl 2. if it's /usr/local/lib and we are using GCC on Linux, | ||
397 | dnl 3. if it's already present in $LDFLAGS or the already | ||
398 | dnl constructed $LIBNAME, | ||
399 | dnl 4. if it doesn't exist as a directory. | ||
400 | if test "X$additional_libdir" != "X/usr/lib"; then | ||
401 | haveit= | ||
402 | if test "X$additional_libdir" = "X/usr/local/lib"; then | ||
403 | if test -n "$GCC"; then | ||
404 | case $host_os in | ||
405 | linux*) haveit=yes;; | ||
406 | esac | ||
407 | fi | ||
408 | fi | ||
409 | if test -z "$haveit"; then | ||
410 | haveit= | ||
411 | for x in $LDFLAGS $LIB[]NAME; do | ||
412 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
413 | if test "X$x" = "X-L$additional_libdir"; then | ||
414 | haveit=yes | ||
415 | break | ||
416 | fi | ||
417 | done | ||
418 | if test -z "$haveit"; then | ||
419 | if test -d "$additional_libdir"; then | ||
420 | dnl Really add $additional_libdir to $LIBNAME. | ||
421 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" | ||
422 | fi | ||
423 | fi | ||
424 | haveit= | ||
425 | for x in $LDFLAGS $LTLIB[]NAME; do | ||
426 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
427 | if test "X$x" = "X-L$additional_libdir"; then | ||
428 | haveit=yes | ||
429 | break | ||
430 | fi | ||
431 | done | ||
432 | if test -z "$haveit"; then | ||
433 | if test -d "$additional_libdir"; then | ||
434 | dnl Really add $additional_libdir to $LTLIBNAME. | ||
435 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" | ||
436 | fi | ||
437 | fi | ||
438 | fi | ||
439 | fi | ||
440 | ;; | ||
441 | -R*) | ||
442 | dir=`echo "X$dep" | sed -e 's/^X-R//'` | ||
443 | if test "$enable_rpath" != no; then | ||
444 | dnl Potentially add DIR to rpathdirs. | ||
445 | dnl The rpathdirs will be appended to $LIBNAME at the end. | ||
446 | haveit= | ||
447 | for x in $rpathdirs; do | ||
448 | if test "X$x" = "X$dir"; then | ||
449 | haveit=yes | ||
450 | break | ||
451 | fi | ||
452 | done | ||
453 | if test -z "$haveit"; then | ||
454 | rpathdirs="$rpathdirs $dir" | ||
455 | fi | ||
456 | dnl Potentially add DIR to ltrpathdirs. | ||
457 | dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. | ||
458 | haveit= | ||
459 | for x in $ltrpathdirs; do | ||
460 | if test "X$x" = "X$dir"; then | ||
461 | haveit=yes | ||
462 | break | ||
463 | fi | ||
464 | done | ||
465 | if test -z "$haveit"; then | ||
466 | ltrpathdirs="$ltrpathdirs $dir" | ||
467 | fi | ||
468 | fi | ||
469 | ;; | ||
470 | -l*) | ||
471 | dnl Handle this in the next round. | ||
472 | names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` | ||
473 | ;; | ||
474 | *.la) | ||
475 | dnl Handle this in the next round. Throw away the .la's | ||
476 | dnl directory; it is already contained in a preceding -L | ||
477 | dnl option. | ||
478 | names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` | ||
479 | ;; | ||
480 | *) | ||
481 | dnl Most likely an immediate library name. | ||
482 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" | ||
483 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" | ||
484 | ;; | ||
485 | esac | ||
486 | done | ||
487 | fi | ||
488 | else | ||
489 | dnl Didn't find the library; assume it is in the system directories | ||
490 | dnl known to the linker and runtime loader. (All the system | ||
491 | dnl directories known to the linker should also be known to the | ||
492 | dnl runtime loader, otherwise the system is severely misconfigured.) | ||
493 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" | ||
494 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" | ||
495 | fi | ||
496 | fi | ||
497 | fi | ||
498 | done | ||
499 | done | ||
500 | if test "X$rpathdirs" != "X"; then | ||
501 | if test -n "$hardcode_libdir_separator"; then | ||
502 | dnl Weird platform: only the last -rpath option counts, the user must | ||
503 | dnl pass all path elements in one option. We can arrange that for a | ||
504 | dnl single library, but not when more than one $LIBNAMEs are used. | ||
505 | alldirs= | ||
506 | for found_dir in $rpathdirs; do | ||
507 | alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" | ||
508 | done | ||
509 | dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. | ||
510 | acl_save_libdir="$libdir" | ||
511 | libdir="$alldirs" | ||
512 | eval flag=\"$hardcode_libdir_flag_spec\" | ||
513 | libdir="$acl_save_libdir" | ||
514 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
515 | else | ||
516 | dnl The -rpath options are cumulative. | ||
517 | for found_dir in $rpathdirs; do | ||
518 | acl_save_libdir="$libdir" | ||
519 | libdir="$found_dir" | ||
520 | eval flag=\"$hardcode_libdir_flag_spec\" | ||
521 | libdir="$acl_save_libdir" | ||
522 | LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" | ||
523 | done | ||
524 | fi | ||
525 | fi | ||
526 | if test "X$ltrpathdirs" != "X"; then | ||
527 | dnl When using libtool, the option that works for both libraries and | ||
528 | dnl executables is -R. The -R options are cumulative. | ||
529 | for found_dir in $ltrpathdirs; do | ||
530 | LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" | ||
531 | done | ||
532 | fi | ||
533 | ]) | ||
534 | |||
535 | dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, | ||
536 | dnl unless already present in VAR. | ||
537 | dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes | ||
538 | dnl contains two or three consecutive elements that belong together. | ||
539 | AC_DEFUN([AC_LIB_APPENDTOVAR], | ||
540 | [ | ||
541 | for element in [$2]; do | ||
542 | haveit= | ||
543 | for x in $[$1]; do | ||
544 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
545 | if test "X$x" = "X$element"; then | ||
546 | haveit=yes | ||
547 | break | ||
548 | fi | ||
549 | done | ||
550 | if test -z "$haveit"; then | ||
551 | [$1]="${[$1]}${[$1]:+ }$element" | ||
552 | fi | ||
553 | done | ||
554 | ]) | ||
diff --git a/m4/lib-prefix.m4 b/m4/lib-prefix.m4 new file mode 100644 index 00000000..b8b79ab9 --- /dev/null +++ b/m4/lib-prefix.m4 | |||
@@ -0,0 +1,148 @@ | |||
1 | # lib-prefix.m4 serial 1 (gettext-0.11) | ||
2 | dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Bruno Haible. | ||
10 | |||
11 | dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed | ||
12 | dnl to access previously installed libraries. The basic assumption is that | ||
13 | dnl a user will want packages to use other packages he previously installed | ||
14 | dnl with the same --prefix option. | ||
15 | dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate | ||
16 | dnl libraries, but is otherwise very convenient. | ||
17 | AC_DEFUN([AC_LIB_PREFIX], | ||
18 | [ | ||
19 | AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) | ||
20 | AC_REQUIRE([AC_PROG_CC]) | ||
21 | AC_REQUIRE([AC_CANONICAL_HOST]) | ||
22 | AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) | ||
23 | dnl By default, look in $includedir and $libdir. | ||
24 | use_additional=yes | ||
25 | AC_LIB_WITH_FINAL_PREFIX([ | ||
26 | eval additional_includedir=\"$includedir\" | ||
27 | eval additional_libdir=\"$libdir\" | ||
28 | ]) | ||
29 | AC_ARG_WITH([lib-prefix], | ||
30 | [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib | ||
31 | --without-lib-prefix don't search for libraries in includedir and libdir], | ||
32 | [ | ||
33 | if test "X$withval" = "Xno"; then | ||
34 | use_additional=no | ||
35 | else | ||
36 | if test "X$withval" = "X"; then | ||
37 | AC_LIB_WITH_FINAL_PREFIX([ | ||
38 | eval additional_includedir=\"$includedir\" | ||
39 | eval additional_libdir=\"$libdir\" | ||
40 | ]) | ||
41 | else | ||
42 | additional_includedir="$withval/include" | ||
43 | additional_libdir="$withval/lib" | ||
44 | fi | ||
45 | fi | ||
46 | ]) | ||
47 | if test $use_additional = yes; then | ||
48 | dnl Potentially add $additional_includedir to $CPPFLAGS. | ||
49 | dnl But don't add it | ||
50 | dnl 1. if it's the standard /usr/include, | ||
51 | dnl 2. if it's already present in $CPPFLAGS, | ||
52 | dnl 3. if it's /usr/local/include and we are using GCC on Linux, | ||
53 | dnl 4. if it doesn't exist as a directory. | ||
54 | if test "X$additional_includedir" != "X/usr/include"; then | ||
55 | haveit= | ||
56 | for x in $CPPFLAGS; do | ||
57 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
58 | if test "X$x" = "X-I$additional_includedir"; then | ||
59 | haveit=yes | ||
60 | break | ||
61 | fi | ||
62 | done | ||
63 | if test -z "$haveit"; then | ||
64 | if test "X$additional_includedir" = "X/usr/local/include"; then | ||
65 | if test -n "$GCC"; then | ||
66 | case $host_os in | ||
67 | linux*) haveit=yes;; | ||
68 | esac | ||
69 | fi | ||
70 | fi | ||
71 | if test -z "$haveit"; then | ||
72 | if test -d "$additional_includedir"; then | ||
73 | dnl Really add $additional_includedir to $CPPFLAGS. | ||
74 | CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" | ||
75 | fi | ||
76 | fi | ||
77 | fi | ||
78 | fi | ||
79 | dnl Potentially add $additional_libdir to $LDFLAGS. | ||
80 | dnl But don't add it | ||
81 | dnl 1. if it's the standard /usr/lib, | ||
82 | dnl 2. if it's already present in $LDFLAGS, | ||
83 | dnl 3. if it's /usr/local/lib and we are using GCC on Linux, | ||
84 | dnl 4. if it doesn't exist as a directory. | ||
85 | if test "X$additional_libdir" != "X/usr/lib"; then | ||
86 | haveit= | ||
87 | for x in $LDFLAGS; do | ||
88 | AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) | ||
89 | if test "X$x" = "X-L$additional_libdir"; then | ||
90 | haveit=yes | ||
91 | break | ||
92 | fi | ||
93 | done | ||
94 | if test -z "$haveit"; then | ||
95 | if test "X$additional_libdir" = "X/usr/local/lib"; then | ||
96 | if test -n "$GCC"; then | ||
97 | case $host_os in | ||
98 | linux*) haveit=yes;; | ||
99 | esac | ||
100 | fi | ||
101 | fi | ||
102 | if test -z "$haveit"; then | ||
103 | if test -d "$additional_libdir"; then | ||
104 | dnl Really add $additional_libdir to $LDFLAGS. | ||
105 | LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" | ||
106 | fi | ||
107 | fi | ||
108 | fi | ||
109 | fi | ||
110 | fi | ||
111 | ]) | ||
112 | |||
113 | dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, | ||
114 | dnl acl_final_exec_prefix, containing the values to which $prefix and | ||
115 | dnl $exec_prefix will expand at the end of the configure script. | ||
116 | AC_DEFUN([AC_LIB_PREPARE_PREFIX], | ||
117 | [ | ||
118 | dnl Unfortunately, prefix and exec_prefix get only finally determined | ||
119 | dnl at the end of configure. | ||
120 | if test "X$prefix" = "XNONE"; then | ||
121 | acl_final_prefix="$ac_default_prefix" | ||
122 | else | ||
123 | acl_final_prefix="$prefix" | ||
124 | fi | ||
125 | if test "X$exec_prefix" = "XNONE"; then | ||
126 | acl_final_exec_prefix='${prefix}' | ||
127 | else | ||
128 | acl_final_exec_prefix="$exec_prefix" | ||
129 | fi | ||
130 | acl_save_prefix="$prefix" | ||
131 | prefix="$acl_final_prefix" | ||
132 | eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" | ||
133 | prefix="$acl_save_prefix" | ||
134 | ]) | ||
135 | |||
136 | dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the | ||
137 | dnl variables prefix and exec_prefix bound to the values they will have | ||
138 | dnl at the end of the configure script. | ||
139 | AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], | ||
140 | [ | ||
141 | acl_save_prefix="$prefix" | ||
142 | prefix="$acl_final_prefix" | ||
143 | acl_save_exec_prefix="$exec_prefix" | ||
144 | exec_prefix="$acl_final_exec_prefix" | ||
145 | $1 | ||
146 | exec_prefix="$acl_save_exec_prefix" | ||
147 | prefix="$acl_save_prefix" | ||
148 | ]) | ||
diff --git a/m4/ls-mntd-fs.m4 b/m4/ls-mntd-fs.m4 new file mode 100644 index 00000000..c28466bb --- /dev/null +++ b/m4/ls-mntd-fs.m4 | |||
@@ -0,0 +1,282 @@ | |||
1 | #serial 14 | ||
2 | |||
3 | dnl From Jim Meyering. | ||
4 | dnl | ||
5 | dnl This is not pretty. I've just taken the autoconf code and wrapped | ||
6 | dnl it in an AC_DEFUN. | ||
7 | dnl | ||
8 | |||
9 | # jm_LIST_MOUNTED_FILESYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) | ||
10 | AC_DEFUN([jm_LIST_MOUNTED_FILESYSTEMS], | ||
11 | [ | ||
12 | AC_CHECK_FUNCS(listmntent getmntinfo) | ||
13 | AC_CHECK_HEADERS_ONCE(sys/param.h) | ||
14 | |||
15 | # We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses | ||
16 | # NGROUPS (as the array dimension for a struct member) without a definition. | ||
17 | AC_CHECK_HEADERS(sys/ucred.h, [], [], [#include <grp.h>]) | ||
18 | |||
19 | AC_CHECK_HEADERS(mntent.h sys/mount.h sys/fs_types.h) | ||
20 | getfsstat_includes="\ | ||
21 | $ac_includes_default | ||
22 | #if HAVE_SYS_PARAM_H | ||
23 | # include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */ | ||
24 | #endif | ||
25 | #if HAVE_SYS_UCRED_H | ||
26 | # include <grp.h> /* needed for definition of NGROUPS */ | ||
27 | # include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */ | ||
28 | #endif | ||
29 | #if HAVE_SYS_MOUNT_H | ||
30 | # include <sys/mount.h> | ||
31 | #endif | ||
32 | #if HAVE_SYS_FS_TYPES_H | ||
33 | # include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */ | ||
34 | #endif | ||
35 | " | ||
36 | AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes]) | ||
37 | |||
38 | # Determine how to get the list of mounted filesystems. | ||
39 | ac_list_mounted_fs= | ||
40 | |||
41 | # If the getmntent function is available but not in the standard library, | ||
42 | # make sure LIBS contains -lsun (on Irix4) or -lseq (on PTX). | ||
43 | AC_FUNC_GETMNTENT | ||
44 | |||
45 | # This test must precede the ones for getmntent because Unicos-9 is | ||
46 | # reported to have the getmntent function, but its support is incompatible | ||
47 | # with other getmntent implementations. | ||
48 | |||
49 | # NOTE: Normally, I wouldn't use a check for system type as I've done for | ||
50 | # `CRAY' below since that goes against the whole autoconf philosophy. But | ||
51 | # I think there is too great a chance that some non-Cray system has a | ||
52 | # function named listmntent to risk the false positive. | ||
53 | |||
54 | if test -z "$ac_list_mounted_fs"; then | ||
55 | # Cray UNICOS 9 | ||
56 | AC_MSG_CHECKING([for listmntent of Cray/Unicos-9]) | ||
57 | AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent, | ||
58 | [fu_cv_sys_mounted_cray_listmntent=no | ||
59 | AC_EGREP_CPP(yes, | ||
60 | [#ifdef _CRAY | ||
61 | yes | ||
62 | #endif | ||
63 | ], [test $ac_cv_func_listmntent = yes \ | ||
64 | && fu_cv_sys_mounted_cray_listmntent=yes] | ||
65 | ) | ||
66 | ] | ||
67 | ) | ||
68 | AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent) | ||
69 | if test $fu_cv_sys_mounted_cray_listmntent = yes; then | ||
70 | ac_list_mounted_fs=found | ||
71 | AC_DEFINE(MOUNTED_LISTMNTENT, 1, | ||
72 | [Define if there is a function named listmntent that can be used to | ||
73 | list all mounted filesystems. (UNICOS)]) | ||
74 | fi | ||
75 | fi | ||
76 | |||
77 | if test -z "$ac_list_mounted_fs"; then | ||
78 | # AIX. | ||
79 | AC_MSG_CHECKING([for mntctl function and struct vmount]) | ||
80 | AC_CACHE_VAL(fu_cv_sys_mounted_vmount, | ||
81 | [AC_TRY_CPP([#include <fshelp.h>], | ||
82 | fu_cv_sys_mounted_vmount=yes, | ||
83 | fu_cv_sys_mounted_vmount=no)]) | ||
84 | AC_MSG_RESULT($fu_cv_sys_mounted_vmount) | ||
85 | if test $fu_cv_sys_mounted_vmount = yes; then | ||
86 | ac_list_mounted_fs=found | ||
87 | AC_DEFINE(MOUNTED_VMOUNT, 1, | ||
88 | [Define if there is a function named mntctl that can be used to read | ||
89 | the list of mounted filesystems, and there is a system header file | ||
90 | that declares `struct vmount.' (AIX)]) | ||
91 | fi | ||
92 | fi | ||
93 | |||
94 | if test $ac_cv_func_getmntent = yes; then | ||
95 | |||
96 | # This system has the getmntent function. | ||
97 | # Determine whether it's the one-argument variant or the two-argument one. | ||
98 | |||
99 | if test -z "$ac_list_mounted_fs"; then | ||
100 | # 4.3BSD, SunOS, HP-UX, Dynix, Irix | ||
101 | AC_MSG_CHECKING([for one-argument getmntent function]) | ||
102 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1, | ||
103 | [AC_TRY_COMPILE([ | ||
104 | /* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */ | ||
105 | #include <stdio.h> | ||
106 | |||
107 | #include <mntent.h> | ||
108 | #if !defined MOUNTED | ||
109 | # if defined _PATH_MOUNTED /* GNU libc */ | ||
110 | # define MOUNTED _PATH_MOUNTED | ||
111 | # endif | ||
112 | # if defined MNT_MNTTAB /* HP-UX. */ | ||
113 | # define MOUNTED MNT_MNTTAB | ||
114 | # endif | ||
115 | # if defined MNTTABNAME /* Dynix. */ | ||
116 | # define MOUNTED MNTTABNAME | ||
117 | # endif | ||
118 | #endif | ||
119 | ], | ||
120 | [ struct mntent *mnt = 0; char *table = MOUNTED; ], | ||
121 | fu_cv_sys_mounted_getmntent1=yes, | ||
122 | fu_cv_sys_mounted_getmntent1=no)]) | ||
123 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1) | ||
124 | if test $fu_cv_sys_mounted_getmntent1 = yes; then | ||
125 | ac_list_mounted_fs=found | ||
126 | AC_DEFINE(MOUNTED_GETMNTENT1, 1, | ||
127 | [Define if there is a function named getmntent for reading the list | ||
128 | of mounted filesystems, and that function takes a single argument. | ||
129 | (4.3BSD, SunOS, HP-UX, Dynix, Irix)]) | ||
130 | fi | ||
131 | fi | ||
132 | |||
133 | if test -z "$ac_list_mounted_fs"; then | ||
134 | # SVR4 | ||
135 | AC_MSG_CHECKING([for two-argument getmntent function]) | ||
136 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2, | ||
137 | [AC_EGREP_HEADER(getmntent, sys/mnttab.h, | ||
138 | fu_cv_sys_mounted_getmntent2=yes, | ||
139 | fu_cv_sys_mounted_getmntent2=no)]) | ||
140 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2) | ||
141 | if test $fu_cv_sys_mounted_getmntent2 = yes; then | ||
142 | ac_list_mounted_fs=found | ||
143 | AC_DEFINE(MOUNTED_GETMNTENT2, 1, | ||
144 | [Define if there is a function named getmntent for reading the list of | ||
145 | mounted filesystems, and that function takes two arguments. (SVR4)]) | ||
146 | fi | ||
147 | fi | ||
148 | |||
149 | fi | ||
150 | |||
151 | if test -z "$ac_list_mounted_fs"; then | ||
152 | # DEC Alpha running OSF/1, and Apple Darwin 1.3. | ||
153 | # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h | ||
154 | |||
155 | AC_MSG_CHECKING([for getfsstat function]) | ||
156 | AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat, | ||
157 | [AC_TRY_LINK([ | ||
158 | #include <sys/types.h> | ||
159 | #if HAVE_STRUCT_FSSTAT_F_FSTYPENAME | ||
160 | # define FS_TYPE(Ent) ((Ent).f_fstypename) | ||
161 | #else | ||
162 | # define FS_TYPE(Ent) mnt_names[(Ent).f_type] | ||
163 | #endif | ||
164 | ]$getfsstat_includes | ||
165 | , | ||
166 | [struct statfs *stats; | ||
167 | int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT); | ||
168 | char *t = FS_TYPE (*stats); ], | ||
169 | fu_cv_sys_mounted_getfsstat=yes, | ||
170 | fu_cv_sys_mounted_getfsstat=no)]) | ||
171 | AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat) | ||
172 | if test $fu_cv_sys_mounted_getfsstat = yes; then | ||
173 | ac_list_mounted_fs=found | ||
174 | AC_DEFINE(MOUNTED_GETFSSTAT, 1, | ||
175 | [Define if there is a function named getfsstat for reading the | ||
176 | list of mounted filesystems. (DEC Alpha running OSF/1)]) | ||
177 | fi | ||
178 | fi | ||
179 | |||
180 | if test -z "$ac_list_mounted_fs"; then | ||
181 | # SVR3 | ||
182 | AC_MSG_CHECKING([for FIXME existence of three headers]) | ||
183 | AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp, | ||
184 | [AC_TRY_CPP([ | ||
185 | #include <sys/statfs.h> | ||
186 | #include <sys/fstyp.h> | ||
187 | #include <mnttab.h>], | ||
188 | fu_cv_sys_mounted_fread_fstyp=yes, | ||
189 | fu_cv_sys_mounted_fread_fstyp=no)]) | ||
190 | AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp) | ||
191 | if test $fu_cv_sys_mounted_fread_fstyp = yes; then | ||
192 | ac_list_mounted_fs=found | ||
193 | AC_DEFINE(MOUNTED_FREAD_FSTYP, 1, | ||
194 | [Define if (like SVR2) there is no specific function for reading the | ||
195 | list of mounted filesystems, and your system has these header files: | ||
196 | <sys/fstyp.h> and <sys/statfs.h>. (SVR3)]) | ||
197 | fi | ||
198 | fi | ||
199 | |||
200 | if test -z "$ac_list_mounted_fs"; then | ||
201 | # 4.4BSD and DEC OSF/1. | ||
202 | AC_MSG_CHECKING([for getmntinfo function]) | ||
203 | AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo, | ||
204 | [ | ||
205 | test "$ac_cv_func_getmntinfo" = yes \ | ||
206 | && fu_cv_sys_mounted_getmntinfo=yes \ | ||
207 | || fu_cv_sys_mounted_getmntinfo=no | ||
208 | ]) | ||
209 | AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo) | ||
210 | if test $fu_cv_sys_mounted_getmntinfo = yes; then | ||
211 | ac_list_mounted_fs=found | ||
212 | AC_DEFINE(MOUNTED_GETMNTINFO, 1, | ||
213 | [Define if there is a function named getmntinfo for reading the | ||
214 | list of mounted filesystems. (4.4BSD, Darwin)]) | ||
215 | fi | ||
216 | fi | ||
217 | |||
218 | if test -z "$ac_list_mounted_fs"; then | ||
219 | # Ultrix | ||
220 | AC_MSG_CHECKING([for getmnt function]) | ||
221 | AC_CACHE_VAL(fu_cv_sys_mounted_getmnt, | ||
222 | [AC_TRY_CPP([ | ||
223 | #include <sys/fs_types.h> | ||
224 | #include <sys/mount.h>], | ||
225 | fu_cv_sys_mounted_getmnt=yes, | ||
226 | fu_cv_sys_mounted_getmnt=no)]) | ||
227 | AC_MSG_RESULT($fu_cv_sys_mounted_getmnt) | ||
228 | if test $fu_cv_sys_mounted_getmnt = yes; then | ||
229 | ac_list_mounted_fs=found | ||
230 | AC_DEFINE(MOUNTED_GETMNT, 1, | ||
231 | [Define if there is a function named getmnt for reading the list of | ||
232 | mounted filesystems. (Ultrix)]) | ||
233 | fi | ||
234 | fi | ||
235 | |||
236 | if test -z "$ac_list_mounted_fs"; then | ||
237 | # BeOS | ||
238 | AC_CHECK_FUNCS(next_dev fs_stat_dev) | ||
239 | AC_CHECK_HEADERS(fs_info.h) | ||
240 | AC_MSG_CHECKING([for BEOS mounted file system support functions]) | ||
241 | if test $ac_cv_header_fs_info_h = yes \ | ||
242 | && test $ac_cv_func_next_dev = yes \ | ||
243 | && test $ac_cv_func_fs_stat_dev = yes; then | ||
244 | fu_result=yes | ||
245 | else | ||
246 | fu_result=no | ||
247 | fi | ||
248 | AC_MSG_RESULT($fu_result) | ||
249 | if test $fu_result = yes; then | ||
250 | ac_list_mounted_fs=found | ||
251 | AC_DEFINE(MOUNTED_FS_STAT_DEV, 1, | ||
252 | [Define if there are functions named next_dev and fs_stat_dev for | ||
253 | reading the list of mounted filesystems. (BeOS)]) | ||
254 | fi | ||
255 | fi | ||
256 | |||
257 | if test -z "$ac_list_mounted_fs"; then | ||
258 | # SVR2 | ||
259 | AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab]) | ||
260 | AC_CACHE_VAL(fu_cv_sys_mounted_fread, | ||
261 | [AC_TRY_CPP([#include <mnttab.h>], | ||
262 | fu_cv_sys_mounted_fread=yes, | ||
263 | fu_cv_sys_mounted_fread=no)]) | ||
264 | AC_MSG_RESULT($fu_cv_sys_mounted_fread) | ||
265 | if test $fu_cv_sys_mounted_fread = yes; then | ||
266 | ac_list_mounted_fs=found | ||
267 | AC_DEFINE(MOUNTED_FREAD, 1, | ||
268 | [Define if there is no specific function for reading the list of | ||
269 | mounted filesystems. fread will be used to read /etc/mnttab. | ||
270 | (SVR2) ]) | ||
271 | fi | ||
272 | fi | ||
273 | |||
274 | if test -z "$ac_list_mounted_fs"; then | ||
275 | AC_MSG_ERROR([could not determine how to read list of mounted filesystems]) | ||
276 | # FIXME -- no need to abort building the whole package | ||
277 | # Can't build mountlist.c or anything that needs its functions | ||
278 | fi | ||
279 | |||
280 | AS_IF([test $ac_list_mounted_fs = found], [$1], [$2]) | ||
281 | |||
282 | ]) | ||
diff --git a/m4/malloc.m4 b/m4/malloc.m4 new file mode 100644 index 00000000..2452acf0 --- /dev/null +++ b/m4/malloc.m4 | |||
@@ -0,0 +1,25 @@ | |||
1 | # malloc.m4 serial 7 | ||
2 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Jim Meyering. | ||
10 | dnl Determine whether malloc accepts 0 as its argument. | ||
11 | dnl If it doesn't, arrange to use the replacement function. | ||
12 | |||
13 | AC_DEFUN([jm_FUNC_MALLOC], | ||
14 | [ | ||
15 | AC_REQUIRE([AC_FUNC_MALLOC]) | ||
16 | dnl autoconf < 2.57 used the symbol ac_cv_func_malloc_works. | ||
17 | if test X"$ac_cv_func_malloc_0_nonnull" = Xno || test X"$ac_cv_func_malloc_works" = Xno; then | ||
18 | gl_PREREQ_MALLOC | ||
19 | fi | ||
20 | ]) | ||
21 | |||
22 | # Prerequisites of lib/malloc.c. | ||
23 | AC_DEFUN([gl_PREREQ_MALLOC], [ | ||
24 | : | ||
25 | ]) | ||
diff --git a/m4/mountlist.m4 b/m4/mountlist.m4 new file mode 100644 index 00000000..6a6b38c3 --- /dev/null +++ b/m4/mountlist.m4 | |||
@@ -0,0 +1,26 @@ | |||
1 | # mountlist.m4 serial 2 | ||
2 | dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | AC_DEFUN([gl_MOUNTLIST], | ||
10 | [ | ||
11 | jm_LIST_MOUNTED_FILESYSTEMS([gl_cv_list_mounted_fs=yes], | ||
12 | [gl_cv_list_mounted_fs=no]) | ||
13 | if test $gl_cv_list_mounted_fs = yes; then | ||
14 | AC_LIBOBJ(mountlist) | ||
15 | gl_PREREQ_MOUNTLIST_EXTRA | ||
16 | fi | ||
17 | ]) | ||
18 | |||
19 | # Prerequisites of lib/mountlist.c not done by jm_LIST_MOUNTED_FILESYSTEMS. | ||
20 | AC_DEFUN([gl_PREREQ_MOUNTLIST_EXTRA], | ||
21 | [ | ||
22 | dnl Note jm_LIST_MOUNTED_FILESYSTEMS checks for mntent.h, not sys/mntent.h. | ||
23 | AC_CHECK_HEADERS_ONCE(fcntl.h unistd.h) | ||
24 | AC_CHECK_HEADERS(sys/mntent.h) | ||
25 | jm_FSTYPENAME | ||
26 | ]) | ||
diff --git a/m4/np_coreutils.m4 b/m4/np_coreutils.m4 new file mode 100644 index 00000000..3f87686f --- /dev/null +++ b/m4/np_coreutils.m4 | |||
@@ -0,0 +1,17 @@ | |||
1 | dnl These are for the libs and macros from coreutils | ||
2 | dnl Currently utilising v5.2.1 | ||
3 | |||
4 | dnl We use jm_ for non Autoconf macros. | ||
5 | m4_pattern_forbid([^np_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl | ||
6 | m4_pattern_forbid([^jm_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl | ||
7 | m4_pattern_forbid([^gl_[ABCDEFGHIJKLMNOPQRSTUVXYZ]])dnl | ||
8 | |||
9 | AC_DEFUN([np_COREUTILS], | ||
10 | [ | ||
11 | AC_REQUIRE([jm_AFS]) | ||
12 | AC_REQUIRE([gl_EXITFAIL]) | ||
13 | AC_REQUIRE([gl_XALLOC]) | ||
14 | AC_REQUIRE([gl_MOUNTLIST]) | ||
15 | AC_REQUIRE([gl_FSUSAGE]) | ||
16 | AC_REQUIRE([jm_FUNC_GLIBC_UNLOCKED_IO]) | ||
17 | ]) | ||
diff --git a/m4/onceonly.m4 b/m4/onceonly.m4 new file mode 100644 index 00000000..50b33f48 --- /dev/null +++ b/m4/onceonly.m4 | |||
@@ -0,0 +1,63 @@ | |||
1 | # onceonly.m4 serial 3 (gettext-0.12) | ||
2 | dnl Copyright (C) 2002, 2003 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl This file defines some "once only" variants of standard autoconf macros. | ||
10 | dnl AC_CHECK_HEADERS_ONCE like AC_CHECK_HEADERS | ||
11 | dnl AC_CHECK_FUNCS_ONCE like AC_CHECK_FUNCS | ||
12 | dnl AC_CHECK_DECLS_ONCE like AC_CHECK_DECLS | ||
13 | dnl AC_REQUIRE([AC_HEADER_STDC]) like AC_HEADER_STDC | ||
14 | dnl The advantage is that the check for each of the headers/functions/decls | ||
15 | dnl will be put only once into the 'configure' file. It keeps the size of | ||
16 | dnl the 'configure' file down, and avoids redundant output when 'configure' | ||
17 | dnl is run. | ||
18 | dnl The drawback is that the checks cannot be conditionalized. If you write | ||
19 | dnl if some_condition; then gl_CHECK_HEADERS(stdlib.h); fi | ||
20 | dnl inside an AC_DEFUNed function, the gl_CHECK_HEADERS macro call expands to | ||
21 | dnl empty, and the check will be inserted before the body of the AC_DEFUNed | ||
22 | dnl function. | ||
23 | |||
24 | dnl Autoconf version 2.57 or newer is recommended. | ||
25 | AC_PREREQ(2.54) | ||
26 | |||
27 | # AC_CHECK_HEADERS_ONCE(HEADER1 HEADER2 ...) is a once-only variant of | ||
28 | # AC_CHECK_HEADERS(HEADER1 HEADER2 ...). | ||
29 | AC_DEFUN([AC_CHECK_HEADERS_ONCE], [ | ||
30 | : | ||
31 | AC_FOREACH([gl_HEADER_NAME], [$1], [ | ||
32 | AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(m4_defn([gl_HEADER_NAME]), | ||
33 | [-./], [___])), [ | ||
34 | AC_CHECK_HEADERS(gl_HEADER_NAME) | ||
35 | ]) | ||
36 | AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME, | ||
37 | [-./], [___]))) | ||
38 | ]) | ||
39 | ]) | ||
40 | |||
41 | # AC_CHECK_FUNCS_ONCE(FUNC1 FUNC2 ...) is a once-only variant of | ||
42 | # AC_CHECK_FUNCS(FUNC1 FUNC2 ...). | ||
43 | AC_DEFUN([AC_CHECK_FUNCS_ONCE], [ | ||
44 | : | ||
45 | AC_FOREACH([gl_FUNC_NAME], [$1], [ | ||
46 | AC_DEFUN([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME]), [ | ||
47 | AC_CHECK_FUNCS(m4_defn([gl_FUNC_NAME])) | ||
48 | ]) | ||
49 | AC_REQUIRE([gl_CHECK_FUNC_]m4_defn([gl_FUNC_NAME])) | ||
50 | ]) | ||
51 | ]) | ||
52 | |||
53 | # AC_CHECK_DECLS_ONCE(DECL1 DECL2 ...) is a once-only variant of | ||
54 | # AC_CHECK_DECLS(DECL1, DECL2, ...). | ||
55 | AC_DEFUN([AC_CHECK_DECLS_ONCE], [ | ||
56 | : | ||
57 | AC_FOREACH([gl_DECL_NAME], [$1], [ | ||
58 | AC_DEFUN([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME]), [ | ||
59 | AC_CHECK_DECLS(m4_defn([gl_DECL_NAME])) | ||
60 | ]) | ||
61 | AC_REQUIRE([gl_CHECK_DECL_]m4_defn([gl_DECL_NAME])) | ||
62 | ]) | ||
63 | ]) | ||
diff --git a/m4/progtest.m4 b/m4/progtest.m4 new file mode 100644 index 00000000..443c8e30 --- /dev/null +++ b/m4/progtest.m4 | |||
@@ -0,0 +1,59 @@ | |||
1 | # progtest.m4 serial 2 (gettext-0.10.40) | ||
2 | dnl Copyright (C) 1996-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | dnl | ||
9 | dnl This file can can be used in projects which are not available under | ||
10 | dnl the GNU General Public License or the GNU Library General Public | ||
11 | dnl License but which still want to provide support for the GNU gettext | ||
12 | dnl functionality. | ||
13 | dnl Please note that the actual code of the GNU gettext library is covered | ||
14 | dnl by the GNU Library General Public License, and the rest of the GNU | ||
15 | dnl gettext package package is covered by the GNU General Public License. | ||
16 | dnl They are *not* in the public domain. | ||
17 | |||
18 | dnl Authors: | ||
19 | dnl Ulrich Drepper <drepper@cygnus.com>, 1996. | ||
20 | |||
21 | # Search path for a program which passes the given test. | ||
22 | |||
23 | dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, | ||
24 | dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) | ||
25 | AC_DEFUN([AM_PATH_PROG_WITH_TEST], | ||
26 | [# Extract the first word of "$2", so it can be a program name with args. | ||
27 | set dummy $2; ac_word=[$]2 | ||
28 | AC_MSG_CHECKING([for $ac_word]) | ||
29 | AC_CACHE_VAL(ac_cv_path_$1, | ||
30 | [case "[$]$1" in | ||
31 | /*) | ||
32 | ac_cv_path_$1="[$]$1" # Let the user override the test with a path. | ||
33 | ;; | ||
34 | *) | ||
35 | IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" | ||
36 | for ac_dir in ifelse([$5], , $PATH, [$5]); do | ||
37 | test -z "$ac_dir" && ac_dir=. | ||
38 | if test -f $ac_dir/$ac_word; then | ||
39 | if [$3]; then | ||
40 | ac_cv_path_$1="$ac_dir/$ac_word" | ||
41 | break | ||
42 | fi | ||
43 | fi | ||
44 | done | ||
45 | IFS="$ac_save_ifs" | ||
46 | dnl If no 4th arg is given, leave the cache variable unset, | ||
47 | dnl so AC_PATH_PROGS will keep looking. | ||
48 | ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" | ||
49 | ])dnl | ||
50 | ;; | ||
51 | esac])dnl | ||
52 | $1="$ac_cv_path_$1" | ||
53 | if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then | ||
54 | AC_MSG_RESULT([$]$1) | ||
55 | else | ||
56 | AC_MSG_RESULT(no) | ||
57 | fi | ||
58 | AC_SUBST($1)dnl | ||
59 | ]) | ||
diff --git a/m4/realloc.m4 b/m4/realloc.m4 new file mode 100644 index 00000000..9f746f19 --- /dev/null +++ b/m4/realloc.m4 | |||
@@ -0,0 +1,25 @@ | |||
1 | # realloc.m4 serial 7 | ||
2 | dnl Copyright (C) 2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Jim Meyering. | ||
10 | dnl Determine whether realloc works when both arguments are 0. | ||
11 | dnl If it doesn't, arrange to use the replacement function. | ||
12 | |||
13 | AC_DEFUN([jm_FUNC_REALLOC], | ||
14 | [ | ||
15 | AC_REQUIRE([AC_FUNC_REALLOC]) | ||
16 | dnl autoconf < 2.57 used the symbol ac_cv_func_realloc_works. | ||
17 | if test X"$ac_cv_func_realloc_0_nonnull" = Xno || test X"$ac_cv_func_realloc_works" = Xno; then | ||
18 | gl_PREREQ_REALLOC | ||
19 | fi | ||
20 | ]) | ||
21 | |||
22 | # Prerequisites of lib/realloc.c. | ||
23 | AC_DEFUN([gl_PREREQ_REALLOC], [ | ||
24 | : | ||
25 | ]) | ||
diff --git a/m4/stdint_h.m4 b/m4/stdint_h.m4 new file mode 100644 index 00000000..4b5a4ac6 --- /dev/null +++ b/m4/stdint_h.m4 | |||
@@ -0,0 +1,28 @@ | |||
1 | # stdint_h.m4 serial 2 (gettext-0.11.4) | ||
2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Paul Eggert. | ||
10 | |||
11 | # Define HAVE_STDINT_H_WITH_UINTMAX if <stdint.h> exists, | ||
12 | # doesn't clash with <sys/types.h>, and declares uintmax_t. | ||
13 | |||
14 | AC_DEFUN([jm_AC_HEADER_STDINT_H], | ||
15 | [ | ||
16 | AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, | ||
17 | [AC_TRY_COMPILE( | ||
18 | [#include <sys/types.h> | ||
19 | #include <stdint.h>], | ||
20 | [uintmax_t i = (uintmax_t) -1;], | ||
21 | jm_ac_cv_header_stdint_h=yes, | ||
22 | jm_ac_cv_header_stdint_h=no)]) | ||
23 | if test $jm_ac_cv_header_stdint_h = yes; then | ||
24 | AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, | ||
25 | [Define if <stdint.h> exists, doesn't clash with <sys/types.h>, | ||
26 | and declares uintmax_t. ]) | ||
27 | fi | ||
28 | ]) | ||
diff --git a/m4/uintmax_t.m4 b/m4/uintmax_t.m4 new file mode 100644 index 00000000..ec3a8b92 --- /dev/null +++ b/m4/uintmax_t.m4 | |||
@@ -0,0 +1,29 @@ | |||
1 | # uintmax_t.m4 serial 6 (gettext-0.11) | ||
2 | dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Paul Eggert. | ||
10 | |||
11 | AC_PREREQ(2.13) | ||
12 | |||
13 | # Define uintmax_t to `unsigned long' or `unsigned long long' | ||
14 | # if <inttypes.h> does not exist. | ||
15 | |||
16 | AC_DEFUN([jm_AC_TYPE_UINTMAX_T], | ||
17 | [ | ||
18 | AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) | ||
19 | AC_REQUIRE([jm_AC_HEADER_STDINT_H]) | ||
20 | if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then | ||
21 | AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) | ||
22 | test $ac_cv_type_unsigned_long_long = yes \ | ||
23 | && ac_type='unsigned long long' \ | ||
24 | || ac_type='unsigned long' | ||
25 | AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, | ||
26 | [Define to unsigned long or unsigned long long | ||
27 | if <inttypes.h> and <stdint.h> don't define.]) | ||
28 | fi | ||
29 | ]) | ||
diff --git a/m4/ulonglong.m4 b/m4/ulonglong.m4 new file mode 100644 index 00000000..c375e474 --- /dev/null +++ b/m4/ulonglong.m4 | |||
@@ -0,0 +1,23 @@ | |||
1 | # ulonglong.m4 serial 2 (fileutils-4.0.32, gettext-0.10.40) | ||
2 | dnl Copyright (C) 1999-2002 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | dnl From Paul Eggert. | ||
10 | |||
11 | AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], | ||
12 | [ | ||
13 | AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, | ||
14 | [AC_TRY_LINK([unsigned long long ull = 1; int i = 63;], | ||
15 | [unsigned long long ullmax = (unsigned long long) -1; | ||
16 | return ull << i | ull >> i | ullmax / ull | ullmax % ull;], | ||
17 | ac_cv_type_unsigned_long_long=yes, | ||
18 | ac_cv_type_unsigned_long_long=no)]) | ||
19 | if test $ac_cv_type_unsigned_long_long = yes; then | ||
20 | AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, | ||
21 | [Define if you have the unsigned long long type.]) | ||
22 | fi | ||
23 | ]) | ||
diff --git a/m4/unlocked-io.m4 b/m4/unlocked-io.m4 new file mode 100644 index 00000000..f8e98f1d --- /dev/null +++ b/m4/unlocked-io.m4 | |||
@@ -0,0 +1,22 @@ | |||
1 | #serial 8 -*- autoconf -*- | ||
2 | |||
3 | dnl From Jim Meyering. | ||
4 | dnl | ||
5 | dnl See if the glibc *_unlocked I/O macros or functions are available. | ||
6 | dnl Use only those *_unlocked macros or functions that are declared | ||
7 | dnl (because some of them were declared in Solaris 2.5.1 but were removed | ||
8 | dnl in Solaris 2.6, whereas we want binaries built on Solaris 2.5.1 to run | ||
9 | dnl on Solaris 2.6). | ||
10 | |||
11 | AC_DEFUN([jm_FUNC_GLIBC_UNLOCKED_IO], | ||
12 | [ | ||
13 | dnl Persuade glibc and Solaris <stdio.h> to declare | ||
14 | dnl fgets_unlocked(), fputs_unlocked() etc. | ||
15 | AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) | ||
16 | |||
17 | AC_CHECK_DECLS_ONCE( | ||
18 | [clearerr_unlocked feof_unlocked ferror_unlocked | ||
19 | fflush_unlocked fgets_unlocked fputc_unlocked fputs_unlocked | ||
20 | fread_unlocked fwrite_unlocked getc_unlocked | ||
21 | getchar_unlocked putc_unlocked putchar_unlocked]) | ||
22 | ]) | ||
diff --git a/m4/xalloc.m4 b/m4/xalloc.m4 new file mode 100644 index 00000000..dec84177 --- /dev/null +++ b/m4/xalloc.m4 | |||
@@ -0,0 +1,32 @@ | |||
1 | # xalloc.m4 serial 8 | ||
2 | dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. | ||
3 | dnl This file is free software, distributed under the terms of the GNU | ||
4 | dnl General Public License. As a special exception to the GNU General | ||
5 | dnl Public License, this file may be distributed as part of a program | ||
6 | dnl that contains a configuration script generated by Autoconf, under | ||
7 | dnl the same distribution terms as the rest of that program. | ||
8 | |||
9 | AC_DEFUN([gl_XALLOC], | ||
10 | [ | ||
11 | gl_PREREQ_XALLOC | ||
12 | gl_PREREQ_XMALLOC | ||
13 | gl_PREREQ_XSTRDUP | ||
14 | ]) | ||
15 | |||
16 | # Prerequisites of lib/xalloc.h. | ||
17 | AC_DEFUN([gl_PREREQ_XALLOC], [ | ||
18 | : | ||
19 | ]) | ||
20 | |||
21 | # Prerequisites of lib/xmalloc.c. | ||
22 | AC_DEFUN([gl_PREREQ_XMALLOC], [ | ||
23 | AC_REQUIRE([AC_C_INLINE]) | ||
24 | AC_REQUIRE([jm_FUNC_MALLOC]) | ||
25 | AC_REQUIRE([jm_FUNC_REALLOC]) | ||
26 | : | ||
27 | ]) | ||
28 | |||
29 | # Prerequisites of lib/xstrdup.c. | ||
30 | AC_DEFUN([gl_PREREQ_XSTRDUP], [ | ||
31 | : | ||
32 | ]) | ||