]>
Commit | Line | Data |
---|---|---|
7a7b09c2 | 1 | AC_INIT([xfsprogs],[6.6.0],[linux-xfs@vger.kernel.org]) |
1a35c8df | 2 | AC_PREREQ([2.69]) |
07c561fe AG |
3 | AC_CONFIG_AUX_DIR([.]) |
4 | AC_CONFIG_MACRO_DIR([m4]) | |
f474cd4f | 5 | AC_CONFIG_SRCDIR([include/libxfs.h]) |
69d66277 | 6 | AC_CONFIG_HEADERS([include/platform_defs.h]) |
521902a9 | 7 | AC_PREFIX_DEFAULT(/usr) |
9440d84d | 8 | |
84322551 | 9 | AC_PROG_INSTALL |
69d66277 | 10 | LT_INIT |
07c561fe | 11 | |
e14913c1 | 12 | AC_PROG_CC |
0a71e383 GG |
13 | AC_ARG_VAR(BUILD_CC, [C compiler for build tools]) |
14 | if test "${BUILD_CC+set}" != "set"; then | |
15 | if test $cross_compiling = no; then | |
16 | BUILD_CC="$CC" | |
17 | else | |
18 | AC_CHECK_PROGS(BUILD_CC, gcc cc) | |
19 | fi | |
20 | fi | |
21 | AC_ARG_VAR(BUILD_CFLAGS, [C compiler flags for build tools]) | |
22 | if test "${BUILD_CFLAGS+set}" != "set"; then | |
23 | if test $cross_compiling = no; then | |
24 | BUILD_CFLAGS="$CFLAGS" | |
25 | else | |
26 | BUILD_CFLAGS="-g -O2" | |
27 | fi | |
e14913c1 TT |
28 | fi |
29 | ||
534b0bfd | 30 | AC_ARG_ENABLE(shared, |
09c343eb | 31 | [ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],, |
d5dca43b NS |
32 | enable_shared=yes) |
33 | AC_SUBST(enable_shared) | |
34 | ||
16c44ed2 | 35 | AC_ARG_ENABLE(gettext, |
09c343eb | 36 | [ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],, |
16c44ed2 NS |
37 | enable_gettext=yes) |
38 | AC_SUBST(enable_gettext) | |
39 | ||
6635d6ab | 40 | AC_ARG_ENABLE(blkid, |
09c343eb | 41 | [ --enable-blkid=[yes/no] Enable use of block device id library [default=yes]],, |
6635d6ab JT |
42 | enable_blkid=yes) |
43 | AC_SUBST(enable_blkid) | |
44 | ||
d4b9ebda | 45 | AC_ARG_ENABLE(editline, |
09c343eb | 46 | [ --enable-editline=[yes/no] Enable editline command editing [default=no]], |
541a1d4f | 47 | test $enable_editline = yes && libeditline="-ledit", |
d4b9ebda | 48 | enable_editline=no) |
d4b9ebda NS |
49 | AC_SUBST(libeditline) |
50 | AC_SUBST(enable_editline) | |
51 | ||
541a1d4f | 52 | AC_ARG_ENABLE(termcap, |
09c343eb | 53 | [ --enable-termcap=[yes/no] Enable terminal capabilities library [default=no]], |
541a1d4f NS |
54 | test $enable_termcap = yes && libtermcap="-ltermcap",) |
55 | AC_SUBST(libtermcap) | |
56 | ||
e4da9941 | 57 | |
82805b60 | 58 | AC_ARG_ENABLE(lib64, |
09c343eb | 59 | [ --enable-lib64=[yes/no] Enable lib64 support [default=yes]],, |
595e27db | 60 | enable_lib64=yes) |
82805b60 TS |
61 | AC_SUBST(enable_lib64) |
62 | ||
e63257c0 DW |
63 | AC_ARG_WITH([multiarch], |
64 | [ --with-multiarch=ARCH Specify the multiarch triplet], | |
65 | multiarch=$withval) | |
66 | AC_SUBST(multiarch) | |
67 | ||
1d43056b | 68 | AC_ARG_ENABLE(librt, |
09c343eb | 69 | [ --enable-librt=[yes/no] Enable librt support [default=yes]],, |
1d43056b JT |
70 | enable_librt=yes) |
71 | AC_SUBST(enable_librt) | |
0caa2bae | 72 | |
e99e3d7d DW |
73 | # Enable UBSAN; set enable_ubsan=probe below to enable autoprobe. |
74 | AC_ARG_ENABLE(ubsan, | |
09c343eb | 75 | [ --enable-ubsan=[yes/no] Enable Undefined Behavior Sanitizer (UBSAN) [default=no]],, |
e99e3d7d DW |
76 | enable_ubsan=no) |
77 | AC_SUBST(enable_ubsan) | |
78 | ||
de9c45b8 DW |
79 | # Enable ADDRSAN; set enable_addrsan=probe below to enable autoprobe. |
80 | AC_ARG_ENABLE(addrsan, | |
09c343eb | 81 | [ --enable-addrsan=[yes/no] Enable Address Sanitizer (ADDRSAN) [default=no]],, |
de9c45b8 DW |
82 | enable_addrsan=no) |
83 | AC_SUBST(enable_addrsan) | |
84 | ||
30127fbf DW |
85 | # Enable THREADSAN; set enable_threadsan=probe to enable autoprobe. |
86 | AC_ARG_ENABLE(threadsan, | |
09c343eb | 87 | [ --enable-threadsan=[yes/no] Enable Thread Sanitizer (THREADSAN) [default=no]],, |
30127fbf DW |
88 | enable_threadsan=no) |
89 | AC_SUBST(enable_threadsan) | |
90 | ||
e61f1552 | 91 | AC_ARG_ENABLE(lto, |
09c343eb | 92 | [ --enable-lto=[yes/no] Enable link time optimization (LTO) [default=no]],, |
d18ae0e7 | 93 | enable_lto=no) |
e61f1552 DW |
94 | AC_SUBST(enable_lto) |
95 | ||
9fae859a ES |
96 | # Enable xfs_scrub build |
97 | AC_ARG_ENABLE(scrub, | |
09c343eb | 98 | [ --enable-scrub=[yes/no] Enable build of xfs_scrub utility [default=yes]],, |
9fae859a ES |
99 | enable_scrub=yes) |
100 | AC_SUBST(enable_scrub) | |
101 | ||
bff5d1a4 DW |
102 | # Enable libicu for xfs_scrubbing of malicious unicode sequences in names |
103 | AC_ARG_ENABLE(libicu, | |
09c343eb | 104 | [ --enable-libicu=[yes/no] Enable Unicode name scanning in xfs_scrub (libicu) [default=probe]],, |
bff5d1a4 DW |
105 | enable_libicu=probe) |
106 | ||
595e27db CH |
107 | # |
108 | # If the user specified a libdir ending in lib64 do not append another | |
109 | # 64 to the library names. | |
110 | # | |
111 | base_libdir=`basename "$libdir"` | |
112 | case $base_libdir in | |
113 | lib64) | |
114 | enable_lib64=no | |
115 | esac | |
116 | ||
e63257c0 DW |
117 | # |
118 | # If the user specified a multiarch path then disable lib64 | |
119 | # | |
120 | test -n "$multiarch" && enable_lib64=no | |
121 | ||
595e27db CH |
122 | # |
123 | # Some important tools should be installed into the root partitions. | |
124 | # | |
125 | # Check whether exec_prefix=/usr: and install them to /sbin in that | |
15ce5839 | 126 | # case. If the user chooses a different prefix assume they just want |
595e27db CH |
127 | # a local install for testing and not a system install. |
128 | # | |
129 | case $exec_prefix:$prefix in | |
130 | NONE:NONE | NONE:/usr | /usr:*) | |
131 | root_sbindir='/sbin' | |
595e27db | 132 | root_libdir="/${base_libdir}" |
2ccb8cf0 CH |
133 | ;; |
134 | *) | |
135 | root_sbindir="${sbindir}" | |
136 | root_libdir="${libdir}" | |
137 | ;; | |
595e27db CH |
138 | esac |
139 | ||
2ccb8cf0 CH |
140 | AC_SUBST([root_sbindir]) |
141 | AC_SUBST([root_libdir]) | |
142 | ||
d9ee1c4c AE |
143 | # Find localized files. Don't descend into any "dot directories" |
144 | # (like .git or .pc from quilt). Strangely, the "-print" argument | |
145 | # to "find" is required, to avoid including such directories in the | |
146 | # list. | |
8c053393 | 147 | LOCALIZED_FILES="" |
d9ee1c4c | 148 | for lfile in `find ${srcdir} -path './.??*' -prune -o -name '*.c' -type f -print || exit 1`; do |
8c053393 AM |
149 | LOCALIZED_FILES="$LOCALIZED_FILES \$(TOPDIR)/$lfile" |
150 | done | |
151 | AC_SUBST(LOCALIZED_FILES) | |
152 | ||
16c44ed2 NS |
153 | AC_PACKAGE_GLOBALS(xfsprogs) |
154 | AC_PACKAGE_UTILITIES(xfsprogs) | |
82805b60 | 155 | AC_MULTILIB($enable_lib64) |
e63257c0 | 156 | AC_MULTIARCH($multiarch) |
1d43056b | 157 | AC_RT($enable_librt) |
93d9f139 | 158 | |
50949a0f DC |
159 | AC_PACKAGE_NEED_INI_H |
160 | AC_PACKAGE_NEED_LIBINIH | |
161 | ||
0686de0f | 162 | AC_PACKAGE_NEED_UUID_H |
7b9d2be9 | 163 | AC_PACKAGE_NEED_UUIDCOMPARE |
fc49813f | 164 | |
949c0f10 NS |
165 | AC_PACKAGE_NEED_PTHREAD_H |
166 | AC_PACKAGE_NEED_PTHREADMUTEXINIT | |
167 | ||
e4da1b16 DC |
168 | AC_PACKAGE_NEED_URCU_H |
169 | AC_PACKAGE_NEED_RCU_INIT | |
170 | ||
0bba1a49 NS |
171 | AC_HAVE_FADVISE |
172 | AC_HAVE_MADVISE | |
173 | AC_HAVE_MINCORE | |
174 | AC_HAVE_SENDFILE | |
cfe6e3f0 | 175 | AC_HAVE_GETMNTENT |
c0b5232a | 176 | AC_HAVE_FALLOCATE |
8f0e0912 | 177 | AC_HAVE_FIEMAP |
c5deeac9 | 178 | AC_HAVE_PWRITEV2 |
197d5828 | 179 | AC_HAVE_PREADV |
628e112a | 180 | AC_HAVE_COPY_FILE_RANGE |
197d5828 | 181 | AC_HAVE_SYNC_FILE_RANGE |
eb24bcff | 182 | AC_HAVE_SYNCFS |
5ae294ea | 183 | AC_HAVE_MNTENT |
5121281b | 184 | AC_HAVE_FLS |
3bc05641 | 185 | AC_HAVE_READDIR |
c14c7b79 | 186 | AC_HAVE_FSETXATTR |
a49984b3 | 187 | AC_HAVE_MREMAP |
6529e656 | 188 | AC_NEED_INTERNAL_FSXATTR |
dfe209d8 | 189 | AC_NEED_INTERNAL_FSCRYPT_ADD_KEY_ARG |
e97caf71 | 190 | AC_NEED_INTERNAL_FSCRYPT_POLICY_V2 |
71956d72 | 191 | AC_HAVE_GETFSMAP |
ce9adab0 | 192 | AC_HAVE_STATFS_FLAGS |
dad79683 | 193 | AC_HAVE_MAP_SYNC |
851c5d11 | 194 | AC_HAVE_DEVMAPPER |
173a0283 | 195 | AC_HAVE_MALLINFO |
c74f0468 | 196 | AC_HAVE_MALLINFO2 |
396cd022 DW |
197 | AC_PACKAGE_WANT_ATTRIBUTES_H |
198 | AC_HAVE_LIBATTR | |
9fae859a ES |
199 | if test "$enable_scrub" = "yes"; then |
200 | if test "$enable_libicu" = "yes" || test "$enable_libicu" = "probe"; then | |
201 | AC_HAVE_LIBICU | |
202 | fi | |
203 | if test "$enable_libicu" = "yes" && test "$have_libicu" != "yes"; then | |
204 | AC_MSG_ERROR([libicu not found.]) | |
205 | fi | |
bff5d1a4 | 206 | fi |
b364a9c0 DW |
207 | AC_HAVE_OPENAT |
208 | AC_HAVE_FSTATAT | |
03c0cd8f DW |
209 | AC_HAVE_SG_IO |
210 | AC_HAVE_HDIO_GETGEO | |
824b5807 DW |
211 | AC_CONFIG_SYSTEMD_SYSTEM_UNIT_DIR |
212 | AC_CONFIG_CROND_DIR | |
8105f53e | 213 | AC_CONFIG_UDEV_RULE_DIR |
0bba1a49 | 214 | |
6635d6ab JT |
215 | if test "$enable_blkid" = yes; then |
216 | AC_HAVE_BLKID_TOPO | |
217 | fi | |
218 | ||
e99e3d7d DW |
219 | if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then |
220 | AC_PACKAGE_CHECK_UBSAN | |
221 | fi | |
222 | if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then | |
223 | AC_MSG_ERROR([UBSAN not supported by compiler.]) | |
224 | fi | |
225 | ||
de9c45b8 DW |
226 | if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then |
227 | AC_PACKAGE_CHECK_ADDRSAN | |
228 | fi | |
229 | if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then | |
230 | AC_MSG_ERROR([ADDRSAN not supported by compiler.]) | |
231 | fi | |
232 | ||
30127fbf DW |
233 | if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then |
234 | AC_PACKAGE_CHECK_THREADSAN | |
235 | fi | |
236 | if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then | |
237 | AC_MSG_ERROR([THREADSAN not supported by compiler.]) | |
238 | fi | |
239 | ||
240 | if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then | |
241 | AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.]) | |
242 | fi | |
243 | ||
e61f1552 DW |
244 | if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then |
245 | AC_PACKAGE_CHECK_LTO | |
246 | fi | |
247 | if test "$enable_lto" = "yes" && test "$have_lto" != "yes"; then | |
248 | AC_MSG_ERROR([LTO not supported by compiler.]) | |
249 | fi | |
250 | ||
865f1075 JE |
251 | AC_CHECK_SIZEOF([long]) |
252 | AC_CHECK_SIZEOF([char *]) | |
16c44ed2 | 253 | AC_MANUAL_FORMAT |
7448af58 | 254 | AC_HAVE_LIBURCU_ATOMIC64 |
fc49813f | 255 | |
f474cd4f JE |
256 | AC_CONFIG_FILES([include/builddefs]) |
257 | AC_OUTPUT |