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