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