]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blame - configure.ac
xfs_scrub: create infrastructure to read verify data blocks
[thirdparty/xfsprogs-dev.git] / configure.ac
CommitLineData
19ca9b0b 1AC_INIT([xfsprogs], [4.14.0], [linux-xfs@vger.kernel.org])
86b99f0a 2AC_PREREQ(2.50)
07c561fe
AG
3AC_CONFIG_AUX_DIR([.])
4AC_CONFIG_MACRO_DIR([m4])
f474cd4f 5AC_CONFIG_SRCDIR([include/libxfs.h])
9440d84d 6AC_CONFIG_HEADER(include/platform_defs.h)
521902a9 7AC_PREFIX_DEFAULT(/usr)
9440d84d 8
84322551 9AC_PROG_INSTALL
07c561fe
AG
10AC_PROG_LIBTOOL
11
e14913c1 12AC_PROG_CC
0a71e383
GG
13AC_ARG_VAR(BUILD_CC, [C compiler for build tools])
14if 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
20fi
21AC_ARG_VAR(BUILD_CFLAGS, [C compiler flags for build tools])
22if 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
28fi
29
534b0bfd 30AC_ARG_ENABLE(shared,
dfc13ce1 31[ --enable-shared=[yes/no] Enable use of shared libraries [default=yes]],,
d5dca43b
NS
32 enable_shared=yes)
33AC_SUBST(enable_shared)
34
16c44ed2
NS
35AC_ARG_ENABLE(gettext,
36[ --enable-gettext=[yes/no] Enable alternate language support [default=yes]],,
37 enable_gettext=yes)
38AC_SUBST(enable_gettext)
39
6635d6ab
JT
40AC_ARG_ENABLE(blkid,
41[ --enable-blkid=[yes/no] Enable use of block device id library [default=yes]],,
42 enable_blkid=yes)
43AC_SUBST(enable_blkid)
44
e246ba5f 45AC_ARG_ENABLE(readline,
16c44ed2 46[ --enable-readline=[yes/no] Enable readline command editing [default=no]],
541a1d4f 47 test $enable_readline = yes && libreadline="-lreadline",
e246ba5f 48 enable_readline=no)
e246ba5f
NS
49AC_SUBST(libreadline)
50AC_SUBST(enable_readline)
51
d4b9ebda 52AC_ARG_ENABLE(editline,
16c44ed2 53[ --enable-editline=[yes/no] Enable editline command editing [default=no]],
541a1d4f 54 test $enable_editline = yes && libeditline="-ledit",
d4b9ebda 55 enable_editline=no)
d4b9ebda
NS
56AC_SUBST(libeditline)
57AC_SUBST(enable_editline)
58
541a1d4f
NS
59AC_ARG_ENABLE(termcap,
60[ --enable-termcap=[yes/no] Enable terminal capabilities library [default=no]],
61 test $enable_termcap = yes && libtermcap="-ltermcap",)
62AC_SUBST(libtermcap)
63
e4da9941 64
82805b60 65AC_ARG_ENABLE(lib64,
595e27db
CH
66[ --enable-lib64=[yes/no] Enable lib64 support [default=yes]],,
67 enable_lib64=yes)
82805b60
TS
68AC_SUBST(enable_lib64)
69
1d43056b
JT
70AC_ARG_ENABLE(librt,
71[ --enable-librt=[yes/no] Enable librt support [default=yes]],,
72 enable_librt=yes)
73AC_SUBST(enable_librt)
0caa2bae 74
e99e3d7d
DW
75# Enable UBSAN; set enable_ubsan=probe below to enable autoprobe.
76AC_ARG_ENABLE(ubsan,
77[ --enable-ubsan=[yes/no] Enable Undefined Behavior Sanitizer (UBSAN) [default=no]],,
78 enable_ubsan=no)
79AC_SUBST(enable_ubsan)
80
de9c45b8
DW
81# Enable ADDRSAN; set enable_addrsan=probe below to enable autoprobe.
82AC_ARG_ENABLE(addrsan,
83[ --enable-addrsan=[yes/no] Enable Address Sanitizer (ADDRSAN) [default=no]],,
84 enable_addrsan=no)
85AC_SUBST(enable_addrsan)
86
30127fbf
DW
87# Enable THREADSAN; set enable_threadsan=probe to enable autoprobe.
88AC_ARG_ENABLE(threadsan,
89[ --enable-threadsan=[yes/no] Enable Thread Sanitizer (THREADSAN) [default=no]],,
90 enable_threadsan=no)
91AC_SUBST(enable_threadsan)
92
595e27db
CH
93#
94# If the user specified a libdir ending in lib64 do not append another
95# 64 to the library names.
96#
97base_libdir=`basename "$libdir"`
98case $base_libdir in
99lib64)
100 enable_lib64=no
101esac
102
103#
104# Some important tools should be installed into the root partitions.
105#
106# Check whether exec_prefix=/usr: and install them to /sbin in that
107# case. If the user choses a different prefix assume he just wants
108# a local install for testing and not a system install.
109#
110case $exec_prefix:$prefix in
111NONE:NONE | NONE:/usr | /usr:*)
112 root_sbindir='/sbin'
595e27db 113 root_libdir="/${base_libdir}"
2ccb8cf0
CH
114 ;;
115*)
116 root_sbindir="${sbindir}"
117 root_libdir="${libdir}"
118 ;;
595e27db
CH
119esac
120
2ccb8cf0
CH
121AC_SUBST([root_sbindir])
122AC_SUBST([root_libdir])
123
d9ee1c4c
AE
124# Find localized files. Don't descend into any "dot directories"
125# (like .git or .pc from quilt). Strangely, the "-print" argument
126# to "find" is required, to avoid including such directories in the
127# list.
8c053393 128LOCALIZED_FILES=""
d9ee1c4c 129for lfile in `find ${srcdir} -path './.??*' -prune -o -name '*.c' -type f -print || exit 1`; do
8c053393
AM
130 LOCALIZED_FILES="$LOCALIZED_FILES \$(TOPDIR)/$lfile"
131done
132AC_SUBST(LOCALIZED_FILES)
133
16c44ed2
NS
134AC_PACKAGE_GLOBALS(xfsprogs)
135AC_PACKAGE_UTILITIES(xfsprogs)
82805b60 136AC_MULTILIB($enable_lib64)
1d43056b 137AC_RT($enable_librt)
93d9f139 138
0686de0f 139AC_PACKAGE_NEED_UUID_H
7b9d2be9 140AC_PACKAGE_NEED_UUIDCOMPARE
fc49813f 141
949c0f10
NS
142AC_PACKAGE_NEED_PTHREAD_H
143AC_PACKAGE_NEED_PTHREADMUTEXINIT
144
0bba1a49
NS
145AC_HAVE_FADVISE
146AC_HAVE_MADVISE
147AC_HAVE_MINCORE
148AC_HAVE_SENDFILE
cfe6e3f0
NS
149AC_HAVE_GETMNTENT
150AC_HAVE_GETMNTINFO
c0b5232a 151AC_HAVE_FALLOCATE
8f0e0912 152AC_HAVE_FIEMAP
c5deeac9 153AC_HAVE_PWRITEV2
197d5828 154AC_HAVE_PREADV
628e112a 155AC_HAVE_COPY_FILE_RANGE
197d5828 156AC_HAVE_SYNC_FILE_RANGE
eb24bcff 157AC_HAVE_SYNCFS
5ae294ea 158AC_HAVE_MNTENT
5121281b 159AC_HAVE_FLS
3bc05641 160AC_HAVE_READDIR
c14c7b79 161AC_HAVE_FSETXATTR
a49984b3 162AC_HAVE_MREMAP
6529e656 163AC_NEED_INTERNAL_FSXATTR
71956d72 164AC_HAVE_GETFSMAP
ce9adab0 165AC_HAVE_STATFS_FLAGS
dad79683 166AC_HAVE_MAP_SYNC
851c5d11 167AC_HAVE_DEVMAPPER
173a0283 168AC_HAVE_MALLINFO
396cd022
DW
169AC_PACKAGE_WANT_ATTRIBUTES_H
170AC_HAVE_LIBATTR
4bbed4ec
DW
171AC_PACKAGE_WANT_UNINORM_H
172AC_HAVE_U8NORMALIZE
0bba1a49 173
6635d6ab
JT
174if test "$enable_blkid" = yes; then
175AC_HAVE_BLKID_TOPO
176fi
177
e99e3d7d
DW
178if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then
179 AC_PACKAGE_CHECK_UBSAN
180fi
181if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then
182 AC_MSG_ERROR([UBSAN not supported by compiler.])
183fi
184
de9c45b8
DW
185if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then
186 AC_PACKAGE_CHECK_ADDRSAN
187fi
188if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then
189 AC_MSG_ERROR([ADDRSAN not supported by compiler.])
190fi
191
30127fbf
DW
192if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then
193 AC_PACKAGE_CHECK_THREADSAN
194fi
195if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then
196 AC_MSG_ERROR([THREADSAN not supported by compiler.])
197fi
198
199if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then
200 AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.])
201fi
202
865f1075
JE
203AC_CHECK_SIZEOF([long])
204AC_CHECK_SIZEOF([char *])
cd960ece 205AC_TYPE_UMODE_T
16c44ed2 206AC_MANUAL_FORMAT
fc49813f 207
f474cd4f
JE
208AC_CONFIG_FILES([include/builddefs])
209AC_OUTPUT