Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1 | AC_INIT(version.h) |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 2 | AC_PREREQ(2.69) |
Theodore Ts'o | b0cacab | 2004-11-30 19:00:19 -0500 | [diff] [blame] | 3 | AC_CONFIG_AUX_DIR(config) |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 4 | AC_CONFIG_HEADERS([lib/config.h]) |
Theodore Ts'o | c714d02 | 2014-01-30 18:48:23 -0500 | [diff] [blame] | 5 | AH_BOTTOM([#include <dirpaths.h>]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 6 | MCONFIG=./MCONFIG |
| 7 | AC_SUBST_FILE(MCONFIG) |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 8 | BINARY_TYPE=bin |
| 9 | dnl |
| 10 | dnl This is to figure out the version number and the date.... |
| 11 | dnl |
| 12 | E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \ |
| 13 | | awk '{print $3}' | tr \" " " | awk '{print $1}'` |
Darrick J. Wong | 5ce368f | 2018-03-23 18:57:09 -0700 | [diff] [blame] | 14 | E2FSPROGS_DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \ |
| 15 | | tr \" " " | awk '{print $1}'` |
| 16 | E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{print $1}' | sed -e '/^[[1-9]]$/s/^/0/') |
| 17 | MONTH=`echo $E2FSPROGS_DATE | awk -F- '{print $2}'` |
| 18 | YEAR=`echo $E2FSPROGS_DATE | awk -F- '{print $3}'` |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 19 | |
Theodore Ts'o | 40fa8cc | 1999-01-09 05:06:02 +0000 | [diff] [blame] | 20 | if expr $YEAR ">" 1900 > /dev/null ; then |
| 21 | E2FSPROGS_YEAR=$YEAR |
| 22 | elif expr $YEAR ">" 90 >/dev/null ; then |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 23 | E2FSPROGS_YEAR=19$YEAR |
| 24 | else |
| 25 | E2FSPROGS_YEAR=20$YEAR |
| 26 | fi |
| 27 | |
| 28 | case $MONTH in |
Andreas Dilger | 927566a | 2006-11-12 19:41:25 -0500 | [diff] [blame] | 29 | Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;; |
| 30 | Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;; |
| 31 | Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;; |
| 32 | Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;; |
| 33 | May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;; |
| 34 | Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;; |
| 35 | Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;; |
| 36 | Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;; |
| 37 | Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;; |
| 38 | Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;; |
| 39 | Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;; |
| 40 | Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;; |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 41 | *) AC_MSG_WARN([Unknown month $MONTH??]) ;; |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 42 | esac |
| 43 | |
Andreas Dilger | 927566a | 2006-11-12 19:41:25 -0500 | [diff] [blame] | 44 | base_ver=`echo $E2FSPROGS_VERSION | \ |
| 45 | sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'` |
Andreas Dilger | 927566a | 2006-11-12 19:41:25 -0500 | [diff] [blame] | 46 | |
| 47 | date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY} |
| 48 | |
| 49 | case $E2FSPROGS_VERSION in |
| 50 | *-WIP|pre-*) |
Theodore Ts'o | 2ab5382 | 2016-03-15 01:10:29 -0400 | [diff] [blame] | 51 | E2FSPROGS_PKGVER="$base_ver~WIP.$date_spec" |
Andreas Dilger | 927566a | 2006-11-12 19:41:25 -0500 | [diff] [blame] | 52 | ;; |
| 53 | *) |
| 54 | E2FSPROGS_PKGVER="$base_ver" |
| 55 | ;; |
| 56 | esac |
| 57 | |
| 58 | unset DATE MONTH YEAR base_ver pre_vers date_spec |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 59 | AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION]) |
| 60 | AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}]) |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 61 | AC_SUBST(E2FSPROGS_YEAR) |
| 62 | AC_SUBST(E2FSPROGS_MONTH) |
Theodore Ts'o | bff0cc9 | 2003-03-23 01:37:53 -0500 | [diff] [blame] | 63 | AC_SUBST(E2FSPROGS_DAY) |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 64 | AC_SUBST(E2FSPROGS_VERSION) |
Andreas Dilger | 927566a | 2006-11-12 19:41:25 -0500 | [diff] [blame] | 65 | AC_SUBST(E2FSPROGS_PKGVER) |
Darrick J. Wong | 5ce368f | 2018-03-23 18:57:09 -0700 | [diff] [blame] | 66 | AC_SUBST(E2FSPROGS_DATE) |
Theodore Ts'o | 57aa50d | 2009-11-26 10:38:04 -0500 | [diff] [blame] | 67 | dnl |
Theodore Ts'o | d21ae6c | 2003-05-05 09:00:24 -0400 | [diff] [blame] | 68 | dnl Use diet libc |
| 69 | dnl |
Theodore Ts'o | eafba6c | 2008-07-10 10:21:42 -0400 | [diff] [blame] | 70 | WITH_DIET_LIBC= |
Theodore Ts'o | d21ae6c | 2003-05-05 09:00:24 -0400 | [diff] [blame] | 71 | AC_ARG_WITH([diet-libc], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 72 | AS_HELP_STRING([--with-diet-libc],[use diet libc]), |
Theodore Ts'o | d21ae6c | 2003-05-05 09:00:24 -0400 | [diff] [blame] | 73 | CC="diet cc -nostdinc" |
Theodore Ts'o | eafba6c | 2008-07-10 10:21:42 -0400 | [diff] [blame] | 74 | WITH_DIET_LIBC=yes |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 75 | if test -z "$LIBS" |
| 76 | then |
| 77 | LIBS="-lcompat" |
| 78 | else |
| 79 | LIBS="$LIBS -lcompat" |
| 80 | fi |
Theodore Ts'o | d21ae6c | 2003-05-05 09:00:24 -0400 | [diff] [blame] | 81 | AC_MSG_RESULT(CC=$CC))dnl |
| 82 | dnl |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 83 | AC_CANONICAL_HOST |
| 84 | dnl |
| 85 | dnl Check to see if libdl exists for the sake of dlopen |
| 86 | dnl |
| 87 | DLOPEN_LIB='' |
Theodore Ts'o | 32179ce | 2016-06-07 00:14:35 -0400 | [diff] [blame] | 88 | AC_CHECK_LIB(dl, dlopen,DLOPEN_LIB=-ldl) |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 89 | AC_SUBST(DLOPEN_LIB) |
| 90 | dnl |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 91 | AC_ARG_WITH([cc], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 92 | AS_HELP_STRING([--with-cc],[no longer supported, use CC= instead]), |
Theodore Ts'o | 0b5b9f9 | 2009-09-06 21:28:47 -0400 | [diff] [blame] | 93 | AC_MSG_ERROR([--with-cc no longer supported; use CC= instead])) |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 94 | dnl |
| 95 | AC_ARG_WITH([ccopts], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 96 | AS_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]), |
Theodore Ts'o | 0b5b9f9 | 2009-09-06 21:28:47 -0400 | [diff] [blame] | 97 | AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead])) |
| 98 | dnl |
| 99 | AC_ARG_WITH([ldopts], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 100 | AS_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]), |
Theodore Ts'o | 0b5b9f9 | 2009-09-06 21:28:47 -0400 | [diff] [blame] | 101 | AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead])) |
| 102 | dnl |
| 103 | AC_PROG_CC |
Theodore Ts'o | 9b3018a | 2011-08-11 14:56:49 -0400 | [diff] [blame] | 104 | if test "$GCC" = yes; then |
| 105 | RDYNAMIC="-rdynamic" |
| 106 | AC_SUBST(RDYNAMIC) |
| 107 | fi |
Theodore Ts'o | 0b5b9f9 | 2009-09-06 21:28:47 -0400 | [diff] [blame] | 108 | AC_PROG_CPP |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 109 | dnl |
Matthias Andree | b1c92f9 | 2004-02-23 21:30:11 +0100 | [diff] [blame] | 110 | dnl Alpha computers use fast and imprecise floating point code that may |
| 111 | dnl miss exceptions by default. Force sane options if we're using GCC. |
| 112 | AC_MSG_CHECKING(for additional special compiler flags) |
| 113 | if test "$GCC" = yes |
| 114 | then |
| 115 | case "$host_cpu" in |
| 116 | alpha) addcflags="-mieee" ;; |
| 117 | esac |
| 118 | fi |
| 119 | if test "x$addcflags" != x |
| 120 | then |
| 121 | AC_MSG_RESULT($addcflags) |
| 122 | CFLAGS="$addcflags $CFLAGS" |
| 123 | else |
| 124 | AC_MSG_RESULT([[(none)]]) |
| 125 | fi |
Theodore Ts'o | 9361395 | 2014-07-03 23:44:13 -0400 | [diff] [blame] | 126 | AC_USE_SYSTEM_EXTENSIONS |
Matthias Andree | b1c92f9 | 2004-02-23 21:30:11 +0100 | [diff] [blame] | 127 | dnl |
Sebastian Rasmussen | 055866d | 2017-10-08 13:30:08 +0200 | [diff] [blame] | 128 | dnl Set default values for library extensions. Will be dealt with after |
| 129 | dnl parsing configuration options, which may modify these |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 130 | dnl |
| 131 | LIB_EXT=.a |
| 132 | STATIC_LIB_EXT=.a |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 133 | PROFILED_LIB_EXT=.a |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 134 | dnl |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 135 | dnl Allow separate `root_prefix' to be specified |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 136 | dnl |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 137 | AC_ARG_WITH([root-prefix], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 138 | AS_HELP_STRING([--with-root-prefix=PREFIX],[override prefix variable for files to be placed in the root]), |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 139 | root_prefix=$withval, |
| 140 | root_prefix=NONE)dnl |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 141 | dnl |
Theodore Ts'o | 98919bd | 2005-02-04 10:43:58 -0500 | [diff] [blame] | 142 | dnl handle --enable-maintainer-mode |
| 143 | dnl |
| 144 | AC_ARG_ENABLE([maintainer-mode], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 145 | AS_HELP_STRING([--enable-maintainer-mode],[enable makefile rules useful for maintainers]), |
Theodore Ts'o | 98919bd | 2005-02-04 10:43:58 -0500 | [diff] [blame] | 146 | if test "$enableval" = "no" |
| 147 | then |
| 148 | MAINTAINER_CMT=# |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 149 | AC_MSG_RESULT([Disabling maintainer mode]) |
Theodore Ts'o | 98919bd | 2005-02-04 10:43:58 -0500 | [diff] [blame] | 150 | else |
| 151 | MAINTAINER_CMT= |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 152 | AC_MSG_RESULT([Enabling maintainer mode]) |
Theodore Ts'o | 98919bd | 2005-02-04 10:43:58 -0500 | [diff] [blame] | 153 | fi |
| 154 | , |
| 155 | MAINTAINER_CMT=# |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 156 | AC_MSG_RESULT([Disabling maintainer mode by default]) |
Theodore Ts'o | 98919bd | 2005-02-04 10:43:58 -0500 | [diff] [blame] | 157 | ) |
| 158 | AC_SUBST(MAINTAINER_CMT) |
| 159 | dnl |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 160 | dnl handle --enable-symlink-install |
| 161 | dnl |
| 162 | AC_ARG_ENABLE([symlink-install], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 163 | AS_HELP_STRING([--enable-symlink-install],[use symlinks when installing instead of hard links]), |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 164 | if test "$enableval" = "no" |
| 165 | then |
| 166 | LINK_INSTALL_FLAGS=-f |
| 167 | AC_MSG_RESULT([Disabling symlinks for install]) |
| 168 | else |
| 169 | LINK_INSTALL_FLAGS=-sf |
| 170 | AC_MSG_RESULT([Enabling symlinks for install]) |
| 171 | fi |
| 172 | , |
| 173 | LINK_INSTALL_FLAGS=-f |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 174 | AC_MSG_RESULT([Disabling symlinks for install by default]) |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 175 | ) |
| 176 | AC_SUBST(LINK_INSTALL_FLAGS) |
| 177 | dnl |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 178 | dnl handle --enable-relative-symlinks |
| 179 | dnl |
Theodore Ts'o | 91d11da | 2012-09-06 23:01:14 -0400 | [diff] [blame] | 180 | relative_symlink_defined= |
| 181 | AC_ARG_ENABLE([relative-symlinks], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 182 | AS_HELP_STRING([--enable-relative-symlinks],[use relative symlinks when installing]), |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 183 | if test "$enableval" = "no" |
| 184 | then |
| 185 | SYMLINK_RELATIVE= |
Theodore Ts'o | 91d11da | 2012-09-06 23:01:14 -0400 | [diff] [blame] | 186 | relative_symlink_defined=yes |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 187 | AC_MSG_RESULT([Disabling relative symlinks for install]) |
| 188 | else |
| 189 | SYMLINK_RELATIVE=--relative |
Theodore Ts'o | 91d11da | 2012-09-06 23:01:14 -0400 | [diff] [blame] | 190 | relative_symlink_defined=yes |
| 191 | AC_MSG_RESULT([Enabling relative symlinks for install]) |
| 192 | fi) |
| 193 | AC_ARG_ENABLE([symlink-relative-symlinks],, |
| 194 | if test "$enableval" = "no" |
| 195 | then |
| 196 | SYMLINK_RELATIVE=yes |
| 197 | AC_MSG_RESULT([Disabling relative symlinks for install]) |
| 198 | else |
| 199 | SYMLINK_RELATIVE=--relative |
| 200 | AC_MSG_RESULT([Enabling relative symlinks for install]) |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 201 | fi |
| 202 | , |
Theodore Ts'o | 91d11da | 2012-09-06 23:01:14 -0400 | [diff] [blame] | 203 | if test -z "$relative_symlink_defined" |
| 204 | then |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 205 | SYMLINK_RELATIVE= |
| 206 | AC_MSG_RESULT([Disabling relative symlinks for install by default]) |
Theodore Ts'o | 91d11da | 2012-09-06 23:01:14 -0400 | [diff] [blame] | 207 | fi |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 208 | ) |
| 209 | AC_SUBST(SYMLINK_RELATIVE) |
| 210 | dnl |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 211 | dnl handle --enable-symlink-build |
| 212 | dnl |
| 213 | AC_ARG_ENABLE([symlink-build], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 214 | AS_HELP_STRING([--enable-symlink-build],[use symlinks while building instead of hard links]), |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 215 | if test "$enableval" = "no" |
| 216 | then |
| 217 | LINK_BUILD_FLAGS= |
| 218 | AC_MSG_RESULT([Disabling symlinks for build]) |
| 219 | else |
| 220 | LINK_BUILD_FLAGS=-s |
| 221 | AC_MSG_RESULT([Enabling symlinks for build]) |
| 222 | fi |
| 223 | , |
| 224 | LINK_BUILD_FLAGS= |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 225 | AC_MSG_RESULT([Disabling symlinks for build by default]) |
Theodore Ts'o | 5aa6c3f | 2010-05-17 19:21:42 -0400 | [diff] [blame] | 226 | ) |
| 227 | AC_SUBST(LINK_BUILD_FLAGS) |
| 228 | dnl |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 229 | dnl handle --enable-verbose-makecmds |
| 230 | dnl |
| 231 | AC_ARG_ENABLE([verbose-makecmds], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 232 | AS_HELP_STRING([--enable-verbose-makecmds],[enable verbose make command output]), |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 233 | if test "$enableval" = "no" |
| 234 | then |
| 235 | AC_MSG_RESULT([Disabling verbose make commands]) |
| 236 | E=@echo |
Theodore Ts'o | c1986ec | 2012-06-13 15:29:13 -0400 | [diff] [blame] | 237 | ES=echo |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 238 | Q=@ |
| 239 | else |
| 240 | AC_MSG_RESULT([Enabling verbose make commands]) |
| 241 | E=@\\# |
Theodore Ts'o | c1986ec | 2012-06-13 15:29:13 -0400 | [diff] [blame] | 242 | ES=\\# |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 243 | Q= |
| 244 | fi |
| 245 | , |
| 246 | AC_MSG_RESULT([Disabling verbose make commands]) |
| 247 | E=@echo |
Theodore Ts'o | c1986ec | 2012-06-13 15:29:13 -0400 | [diff] [blame] | 248 | ES=echo |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 249 | Q=@ |
| 250 | ) |
| 251 | AC_SUBST(E) |
Theodore Ts'o | c1986ec | 2012-06-13 15:29:13 -0400 | [diff] [blame] | 252 | AC_SUBST(ES) |
Theodore Ts'o | c13351f | 2009-07-02 00:11:17 -0400 | [diff] [blame] | 253 | AC_SUBST(Q) |
| 254 | dnl |
Theodore Ts'o | a4ece35 | 2008-01-01 20:05:04 -0500 | [diff] [blame] | 255 | dnl This needs to be before all of the --enable-*-shlibs options |
| 256 | dnl |
| 257 | E2_PKG_CONFIG_STATIC=--static |
Theodore Ts'o | 55da987 | 2008-09-02 23:12:38 -0400 | [diff] [blame] | 258 | LDFLAG_DYNAMIC= |
| 259 | PRIVATE_LIBS_CMT= |
Theodore Ts'o | a4ece35 | 2008-01-01 20:05:04 -0500 | [diff] [blame] | 260 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 261 | dnl handle --enable-elf-shlibs |
| 262 | dnl |
| 263 | AC_ARG_ENABLE([elf-shlibs], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 264 | AS_HELP_STRING([--enable-elf-shlibs],[select ELF shared libraries]), |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 265 | if test "$enableval" = "no" |
| 266 | then |
| 267 | ELF_CMT=# |
| 268 | MAKEFILE_ELF=/dev/null |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 269 | AC_MSG_RESULT([Disabling ELF shared libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 270 | else |
Theodore Ts'o | a4ece35 | 2008-01-01 20:05:04 -0500 | [diff] [blame] | 271 | E2_PKG_CONFIG_STATIC= |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 272 | ELF_CMT= |
| 273 | MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib |
Theodore Ts'o | f5955dd | 2000-10-25 02:38:39 +0000 | [diff] [blame] | 274 | [case "$host_os" in |
| 275 | solaris2.*) |
| 276 | MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib |
| 277 | ;; |
| 278 | esac] |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 279 | BINARY_TYPE=elfbin |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 280 | LIB_EXT=.so |
Theodore Ts'o | 55da987 | 2008-09-02 23:12:38 -0400 | [diff] [blame] | 281 | PRIVATE_LIBS_CMT=# |
| 282 | LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib'] |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 283 | AC_MSG_RESULT([Enabling ELF shared libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 284 | fi |
| 285 | , |
| 286 | MAKEFILE_ELF=/dev/null |
| 287 | ELF_CMT=# |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 288 | AC_MSG_RESULT([Disabling ELF shared libraries by default]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 289 | ) |
| 290 | AC_SUBST(ELF_CMT) |
| 291 | AC_SUBST_FILE(MAKEFILE_ELF) |
| 292 | dnl |
| 293 | dnl handle --enable-bsd-shlibs |
| 294 | dnl |
| 295 | AC_ARG_ENABLE([bsd-shlibs], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 296 | AS_HELP_STRING([--enable-bsd-shlibs],[select BSD shared libraries]), |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 297 | if test "$enableval" = "no" |
| 298 | then |
| 299 | BSDLIB_CMT=# |
| 300 | MAKEFILE_BSDLIB=/dev/null |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 301 | AC_MSG_RESULT([Disabling BSD shared libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 302 | else |
Theodore Ts'o | a4ece35 | 2008-01-01 20:05:04 -0500 | [diff] [blame] | 303 | E2_PKG_CONFIG_STATIC= |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 304 | BSDLIB_CMT= |
| 305 | MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 306 | LIB_EXT=.so |
Theodore Ts'o | e71d873 | 2003-03-14 02:13:48 -0500 | [diff] [blame] | 307 | [case "$host_os" in |
Theodore Ts'o | aa75ecc | 2003-03-17 10:01:22 -0500 | [diff] [blame] | 308 | darwin*) |
Theodore Ts'o | e71d873 | 2003-03-14 02:13:48 -0500 | [diff] [blame] | 309 | MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib |
| 310 | LIB_EXT=.dylib |
| 311 | ;; |
| 312 | esac] |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 313 | AC_MSG_RESULT([Enabling BSD shared libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 314 | fi |
| 315 | , |
| 316 | MAKEFILE_BSDLIB=/dev/null |
| 317 | BSDLIB_CMT=# |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 318 | AC_MSG_RESULT([Disabling BSD shared libraries by default]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 319 | ) |
| 320 | AC_SUBST(BSDLIB_CMT) |
| 321 | AC_SUBST_FILE(MAKEFILE_BSDLIB) |
| 322 | dnl |
| 323 | dnl handle --enable-profile |
| 324 | dnl |
| 325 | AC_ARG_ENABLE([profile], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 326 | AS_HELP_STRING([--enable-profile],[build profiling libraries]), |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 327 | if test "$enableval" = "no" |
| 328 | then |
| 329 | PROFILE_CMT=# |
| 330 | MAKEFILE_PROFILE=/dev/null |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 331 | AC_MSG_RESULT([Disabling profiling libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 332 | else |
| 333 | PROFILE_CMT= |
| 334 | MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 335 | PROFILED_LIB_EXT=_p.a |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 336 | AC_MSG_RESULT([Building profiling libraries]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 337 | fi |
| 338 | , |
| 339 | PROFILE_CMT=# |
| 340 | MAKEFILE_PROFILE=/dev/null |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 341 | AC_MSG_RESULT([Disabling profiling libraries by default]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 342 | ) |
| 343 | AC_SUBST(PROFILE_CMT) |
| 344 | AC_SUBST_FILE(MAKEFILE_PROFILE) |
| 345 | dnl |
Theodore Ts'o | fedfb27 | 2014-02-23 00:17:09 -0500 | [diff] [blame] | 346 | dnl handle --enable-gcov |
| 347 | dnl |
| 348 | AC_ARG_ENABLE([gcov], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 349 | AS_HELP_STRING([--enable-gcov],[build for coverage testing using gcov]), |
Theodore Ts'o | fedfb27 | 2014-02-23 00:17:09 -0500 | [diff] [blame] | 350 | if test "$enableval" = "yes" |
| 351 | then |
| 352 | CFLAGS="-g -fprofile-arcs -ftest-coverage" |
| 353 | LDFLAGS="-fprofile-arcs -ftest-coverage" |
| 354 | AC_MSG_RESULT([Enabling gcov support]) |
| 355 | fi |
| 356 | ) |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 357 | dnl |
| 358 | dnl handle --enable-hardening |
| 359 | dnl |
| 360 | CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}" |
| 361 | CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}" |
| 362 | LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} |
| 363 | LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS} |
| 364 | AC_ARG_ENABLE([hardening], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 365 | AS_HELP_STRING([--enable-hardening],[build for coverage testing using gcov]), |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 366 | if test "$enableval" = "yes" |
| 367 | then |
| 368 | HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong" |
| 369 | HARDEN_LDFLAGS=["-Wl,-z,relro -Wl,-z,now"] |
| 370 | CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE" |
| 371 | CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS" |
| 372 | CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE" |
| 373 | LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie" |
| 374 | LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS" |
| 375 | LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS" |
| 376 | AC_MSG_RESULT([Enabling hardening support]) |
| 377 | fi |
| 378 | ) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 379 | dnl |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 380 | dnl Substitute library extensions |
| 381 | dnl |
| 382 | AC_SUBST(LIB_EXT) |
| 383 | AC_SUBST(STATIC_LIB_EXT) |
| 384 | AC_SUBST(PROFILED_LIB_EXT) |
Theodore Ts'o | 55da987 | 2008-09-02 23:12:38 -0400 | [diff] [blame] | 385 | AC_SUBST(LDFLAG_DYNAMIC) |
| 386 | AC_SUBST(PRIVATE_LIBS_CMT) |
Theodore Ts'o | a4d0961 | 1997-04-29 14:28:00 +0000 | [diff] [blame] | 387 | dnl |
Theodore Ts'o | 782bebf | 2002-11-08 18:46:45 -0500 | [diff] [blame] | 388 | dnl handle --enable-jbd-debug |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 389 | dnl |
Theodore Ts'o | 782bebf | 2002-11-08 18:46:45 -0500 | [diff] [blame] | 390 | AC_ARG_ENABLE([jbd-debug], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 391 | AS_HELP_STRING([--enable-jbd-debug],[enable journal debugging]), |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 392 | if test "$enableval" = "no" |
| 393 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 394 | AC_MSG_RESULT([Disabling journal debugging]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 395 | else |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 396 | AC_DEFINE(CONFIG_JBD_DEBUG, 1, |
| 397 | [Define to 1 if debugging ext3/4 journal code]) |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 398 | AC_MSG_RESULT([Enabling journal debugging]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 399 | fi |
| 400 | , |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 401 | AC_MSG_RESULT([Disabling journal debugging by default]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 402 | ) |
| 403 | dnl |
Theodore Ts'o | f0a22d0 | 2003-02-22 13:19:53 -0500 | [diff] [blame] | 404 | dnl handle --enable-blkid-debug |
| 405 | dnl |
| 406 | AC_ARG_ENABLE([blkid-debug], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 407 | AS_HELP_STRING([--enable-blkid-debug],[enable blkid debugging]), |
Theodore Ts'o | f0a22d0 | 2003-02-22 13:19:53 -0500 | [diff] [blame] | 408 | if test "$enableval" = "no" |
| 409 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 410 | AC_MSG_RESULT([Disabling blkid debugging]) |
Theodore Ts'o | f0a22d0 | 2003-02-22 13:19:53 -0500 | [diff] [blame] | 411 | else |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 412 | AC_DEFINE(CONFIG_BLKID_DEBUG, 1, |
| 413 | [Define to 1 if debugging the blkid library]) |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 414 | AC_MSG_RESULT([Enabling blkid debugging]) |
Theodore Ts'o | f0a22d0 | 2003-02-22 13:19:53 -0500 | [diff] [blame] | 415 | fi |
| 416 | , |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 417 | AC_MSG_RESULT([Disabling blkid debugging by default]) |
Theodore Ts'o | f0a22d0 | 2003-02-22 13:19:53 -0500 | [diff] [blame] | 418 | ) |
| 419 | dnl |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 420 | dnl handle --enable-testio-debug |
| 421 | dnl |
| 422 | AC_ARG_ENABLE([testio-debug], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 423 | AS_HELP_STRING([--disable-testio-debug],[disable the use of the test I/O manager for debugging]), |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 424 | AH_TEMPLATE([CONFIG_TESTIO_DEBUG], |
| 425 | [Define to 1 if the testio I/O manager should be enabled]) |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 426 | if test "$enableval" = "no" |
| 427 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 428 | AC_MSG_RESULT([Disabling testio debugging]) |
Theodore Ts'o | af77365 | 2008-09-01 11:27:27 -0400 | [diff] [blame] | 429 | TEST_IO_CMT="#" |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 430 | else |
Theodore Ts'o | af77365 | 2008-09-01 11:27:27 -0400 | [diff] [blame] | 431 | TEST_IO_CMT= |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 432 | AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 433 | AC_MSG_RESULT([Enabling testio debugging]) |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 434 | fi |
| 435 | , |
Theodore Ts'o | af77365 | 2008-09-01 11:27:27 -0400 | [diff] [blame] | 436 | AC_MSG_RESULT([Enabling testio debugging by default]) |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 437 | AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) |
Theodore Ts'o | af77365 | 2008-09-01 11:27:27 -0400 | [diff] [blame] | 438 | TEST_IO_CMT= |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 439 | ) |
Theodore Ts'o | af77365 | 2008-09-01 11:27:27 -0400 | [diff] [blame] | 440 | AC_SUBST(TEST_IO_CMT) |
Theodore Ts'o | 2a29f13 | 2003-05-05 12:08:47 -0400 | [diff] [blame] | 441 | dnl |
Theodore Ts'o | b9e66a1 | 2019-08-05 12:47:18 -0400 | [diff] [blame] | 442 | dnl handle --enable-developer-features |
| 443 | dnl |
| 444 | AC_ARG_ENABLE([developer-features], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 445 | AS_HELP_STRING([--enable-developer-features],[enable features for use by ext4 developers]), |
Theodore Ts'o | b9e66a1 | 2019-08-05 12:47:18 -0400 | [diff] [blame] | 446 | AH_TEMPLATE([CONFIG_DEVELOPER_FEATURES], |
| 447 | [Define to 1 for features for use by ext4 developers]) |
| 448 | if test "$enableval" = "yes" |
| 449 | then |
| 450 | DEV_FEATURES_CMT= |
| 451 | AC_DEFINE(CONFIG_DEVELOPER_FEATURES, 1) |
| 452 | AC_MSG_RESULT([Enabling ext4 developer features]) |
| 453 | else |
| 454 | AC_MSG_RESULT([Disabling ext4 developer features]) |
| 455 | DEV_FEATURES_CMT="#" |
| 456 | fi |
| 457 | , |
| 458 | AC_MSG_RESULT([Disabling ext4 developer features by default]) |
| 459 | DEV_FEATURES_CMT= |
| 460 | ) |
| 461 | AC_SUBST(DEV_FEATURES_CMT) |
| 462 | dnl |
Scott James Remnant | 39fd3d4 | 2009-05-14 13:03:25 +0100 | [diff] [blame] | 463 | dnl handle --disable-libuuid |
| 464 | dnl |
| 465 | PKG_PROG_PKG_CONFIG |
| 466 | LIBUUID= |
| 467 | DEPLIBUUID= |
| 468 | STATIC_LIBUUID= |
| 469 | DEPSTATIC_LIBUUID= |
| 470 | PROFILED_LIBUUID= |
| 471 | DEPPROFILED_LIBUUID= |
| 472 | UUID_CMT= |
| 473 | AC_ARG_ENABLE([libuuid], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 474 | AS_HELP_STRING([--enable-libuuid],[build and use private uuid library]), |
Scott James Remnant | 39fd3d4 | 2009-05-14 13:03:25 +0100 | [diff] [blame] | 475 | if test "$enableval" = "no" |
| 476 | then |
| 477 | if test -z "$PKG_CONFIG"; then |
| 478 | AC_MSG_ERROR([pkg-config not installed; please install it.]) |
| 479 | fi |
| 480 | |
| 481 | AC_CHECK_LIB(uuid, uuid_generate, |
| 482 | [LIBUUID=`$PKG_CONFIG --libs uuid`; |
| 483 | STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`], |
Theodore Ts'o | 2d7583b | 2014-07-05 00:27:02 -0400 | [diff] [blame] | 484 | [AC_MSG_ERROR([external uuid library not found])]) |
Theodore Ts'o | 5afdf37 | 2014-09-18 21:11:33 -0400 | [diff] [blame] | 485 | PROFILED_LIBUUID=$LIBUUID |
Scott James Remnant | 39fd3d4 | 2009-05-14 13:03:25 +0100 | [diff] [blame] | 486 | UUID_CMT=# |
| 487 | AC_MSG_RESULT([Disabling private uuid library]) |
| 488 | else |
| 489 | LIBUUID='$(LIB)/libuuid'$LIB_EXT |
| 490 | DEPLIBUUID=$LIBUUID |
| 491 | STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT |
| 492 | DEPSTATIC_LIBUUID=$STATIC_LIBUUID |
| 493 | PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT |
| 494 | DEPPROFILED_LIBUUID=$PROFILED_LIBUUID |
| 495 | AC_MSG_RESULT([Enabling private uuid library]) |
| 496 | fi |
| 497 | , |
Theodore Ts'o | f5dffb8 | 2015-06-20 14:20:14 -0400 | [diff] [blame] | 498 | if test -n "$PKG_CONFIG"; then |
| 499 | AC_CHECK_LIB(uuid, uuid_generate, |
| 500 | [LIBUUID=`$PKG_CONFIG --libs uuid`; |
| 501 | STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`]) |
| 502 | fi |
| 503 | if test -n "$LIBUUID"; then |
| 504 | PROFILED_LIBUUID=$LIBUUID |
| 505 | UUID_CMT=# |
| 506 | AC_MSG_RESULT([Using system uuid by default]) |
| 507 | else |
| 508 | LIBUUID='$(LIB)/libuuid'$LIB_EXT |
| 509 | DEPLIBUUID=$LIBUUID |
| 510 | STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT |
| 511 | DEPSTATIC_LIBUUID=$STATIC_LIBUUID |
| 512 | PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT |
| 513 | DEPPROFILED_LIBUUID=$PROFILED_LIBUUID |
| 514 | AC_MSG_RESULT([Enabling private uuid library by default]) |
| 515 | fi |
Scott James Remnant | 39fd3d4 | 2009-05-14 13:03:25 +0100 | [diff] [blame] | 516 | ) |
| 517 | AC_SUBST(LIBUUID) |
| 518 | AC_SUBST(DEPLIBUUID) |
| 519 | AC_SUBST(STATIC_LIBUUID) |
| 520 | AC_SUBST(DEPSTATIC_LIBUUID) |
| 521 | AC_SUBST(PROFILED_LIBUUID) |
| 522 | AC_SUBST(DEPPROFILED_LIBUUID) |
| 523 | AC_SUBST(UUID_CMT) |
| 524 | dnl |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 525 | dnl handle --disable-libblkid |
| 526 | dnl |
| 527 | PKG_PROG_PKG_CONFIG |
| 528 | LIBBLKID= |
| 529 | DEPLIBBLKID= |
| 530 | STATIC_LIBBLKID= |
| 531 | DEPSTATIC_LIBBLKID= |
| 532 | PROFILED_LIBBLKID= |
| 533 | DEPPROFILED_LIBBLKID= |
| 534 | BLKID_CMT= |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 535 | AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs]) |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 536 | AC_ARG_ENABLE([libblkid], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 537 | AS_HELP_STRING([--enable-libblkid],[build and use private blkid library]), |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 538 | if test "$enableval" = "no" |
| 539 | then |
| 540 | if test -z "$PKG_CONFIG"; then |
| 541 | AC_MSG_ERROR([pkg-config not installed; please install it.]) |
| 542 | fi |
| 543 | |
| 544 | AC_CHECK_LIB(blkid, blkid_get_cache, |
| 545 | [LIBBLKID=`$PKG_CONFIG --libs blkid`; |
| 546 | STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`], |
Theodore Ts'o | 2d7583b | 2014-07-05 00:27:02 -0400 | [diff] [blame] | 547 | [AC_MSG_ERROR([external blkid library not found])], -luuid) |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 548 | BLKID_CMT=# |
Theodore Ts'o | 5afdf37 | 2014-09-18 21:11:33 -0400 | [diff] [blame] | 549 | PROFILED_LIBBLKID=$LIBBLKID |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 550 | AC_MSG_RESULT([Disabling private blkid library]) |
| 551 | else |
| 552 | LIBBLKID='$(LIB)/libblkid'$LIB_EXT |
| 553 | DEPLIBBLKID=$LIBBLKID |
| 554 | STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT |
| 555 | DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID |
| 556 | PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT |
| 557 | DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 558 | AC_DEFINE(CONFIG_BUILD_FINDFS, 1) |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 559 | AC_MSG_RESULT([Enabling private blkid library]) |
| 560 | fi |
| 561 | , |
Theodore Ts'o | f5dffb8 | 2015-06-20 14:20:14 -0400 | [diff] [blame] | 562 | if test -n "$PKG_CONFIG"; then |
| 563 | AC_CHECK_LIB(blkid, blkid_get_cache, |
| 564 | [LIBBLKID=`$PKG_CONFIG --libs blkid`; |
| 565 | STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`]) |
| 566 | fi |
| 567 | if test -n "$LIBBLKID"; then |
| 568 | BLKID_CMT=# |
| 569 | PROFILED_LIBBLKID=$LIBBLKID |
| 570 | AC_MSG_RESULT([Using system blkid library by default]) |
| 571 | else |
| 572 | LIBBLKID='$(LIB)/libblkid'$LIB_EXT |
| 573 | DEPLIBBLKID=$LIBBLKID |
| 574 | STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT |
| 575 | DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID |
| 576 | PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT |
| 577 | DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID |
| 578 | AC_DEFINE(CONFIG_BUILD_FINDFS, 1) |
| 579 | AC_MSG_RESULT([Enabling private blkid library by default]) |
| 580 | fi |
Theodore Ts'o | 14b596d | 2009-04-22 09:18:30 -0400 | [diff] [blame] | 581 | ) |
| 582 | AC_SUBST(LIBBLKID) |
| 583 | AC_SUBST(DEPLIBBLKID) |
| 584 | AC_SUBST(STATIC_LIBBLKID) |
| 585 | AC_SUBST(DEPSTATIC_LIBBLKID) |
| 586 | AC_SUBST(PROFILED_LIBBLKID) |
| 587 | AC_SUBST(DEPPROFILED_LIBBLKID) |
| 588 | AC_SUBST(BLKID_CMT) |
| 589 | dnl |
Theodore Ts'o | 0afb9be | 2018-08-18 11:19:25 -0400 | [diff] [blame] | 590 | dnl handle --enable-subset |
| 591 | dnl |
| 592 | ALL_CMT= |
Theodore Ts'o | feb235e | 2018-08-24 17:12:20 -0400 | [diff] [blame] | 593 | SUBSET_CMT= |
Theodore Ts'o | 0afb9be | 2018-08-18 11:19:25 -0400 | [diff] [blame] | 594 | AC_ARG_ENABLE([subset], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 595 | AS_HELP_STRING([--enable-subset],[enable subset-only build]), |
Theodore Ts'o | 0afb9be | 2018-08-18 11:19:25 -0400 | [diff] [blame] | 596 | if test "$enableval" = "no" |
| 597 | then |
Theodore Ts'o | feb235e | 2018-08-24 17:12:20 -0400 | [diff] [blame] | 598 | SUBSET_CMT=# |
Theodore Ts'o | 0afb9be | 2018-08-18 11:19:25 -0400 | [diff] [blame] | 599 | AC_MSG_RESULT([Disabling subset-only build]) |
| 600 | else |
| 601 | ALL_CMT=# |
| 602 | AC_MSG_RESULT([Enabling subset-only-build]) |
| 603 | fi |
| 604 | ,) |
| 605 | AC_SUBST(ALL_CMT) |
Theodore Ts'o | feb235e | 2018-08-24 17:12:20 -0400 | [diff] [blame] | 606 | AC_SUBST(SUBSET_CMT) |
Theodore Ts'o | 0afb9be | 2018-08-18 11:19:25 -0400 | [diff] [blame] | 607 | dnl |
Theodore Ts'o | 3df6014 | 2013-06-16 16:14:40 -0400 | [diff] [blame] | 608 | dnl handle --disable-backtrace |
| 609 | dnl |
| 610 | AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace]) |
| 611 | AC_ARG_ENABLE([backtrace], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 612 | AS_HELP_STRING([--disable-backtrace],[disable use backtrace]), |
Theodore Ts'o | 3df6014 | 2013-06-16 16:14:40 -0400 | [diff] [blame] | 613 | if test "$enableval" = "no" |
| 614 | then |
| 615 | AC_MSG_RESULT([Disabling use of backtrace]) |
| 616 | AC_DEFINE(DISABLE_BACKTRACE, 1) |
| 617 | else |
| 618 | AC_MSG_RESULT([Enabling use of backtrace]) |
| 619 | fi |
| 620 | , |
| 621 | AC_MSG_RESULT([Enabling use of backtrace by default]) |
| 622 | ) |
| 623 | dnl |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 624 | dnl handle --enable-debugfs |
| 625 | dnl |
| 626 | AC_ARG_ENABLE([debugfs], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 627 | AS_HELP_STRING([--disable-debugfs],[disable support of debugfs program]), |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 628 | if test "$enableval" = "no" |
| 629 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 630 | AC_MSG_RESULT([Disabling debugfs support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 631 | DEBUGFS_CMT="#" |
| 632 | else |
| 633 | DEBUGFS_CMT= |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 634 | AC_MSG_RESULT([Enabling debugfs support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 635 | fi |
| 636 | , |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 637 | AC_MSG_RESULT([Enabling debugfs support by default]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 638 | DEBUGFS_CMT= |
| 639 | ) |
| 640 | AC_SUBST(DEBUGFS_CMT) |
| 641 | dnl |
| 642 | dnl handle --enable-imager |
| 643 | dnl |
| 644 | AC_ARG_ENABLE([imager], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 645 | AS_HELP_STRING([--disable-imager],[disable support of e2image program]), |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 646 | if test "$enableval" = "no" |
| 647 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 648 | AC_MSG_RESULT([Disabling e2image support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 649 | IMAGER_CMT="#" |
| 650 | else |
| 651 | IMAGER_CMT= |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 652 | AC_MSG_RESULT([Enabling e2image support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 653 | fi |
| 654 | , |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 655 | AC_MSG_RESULT([Enabling e2image support by default]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 656 | IMAGER_CMT= |
| 657 | ) |
| 658 | AC_SUBST(IMAGER_CMT) |
| 659 | dnl |
| 660 | dnl handle --enable-resizer |
| 661 | dnl |
| 662 | AC_ARG_ENABLE([resizer], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 663 | AS_HELP_STRING([--disable-resizer],[disable support of e2resize program]), |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 664 | if test "$enableval" = "no" |
| 665 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 666 | AC_MSG_RESULT([Disabling e2resize support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 667 | RESIZER_CMT="#" |
| 668 | else |
| 669 | RESIZER_CMT= |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 670 | AC_MSG_RESULT([Enabling e2resize support]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 671 | fi |
| 672 | , |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 673 | AC_MSG_RESULT([Enabling e2resize support by default]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 674 | RESIZER_CMT= |
| 675 | ) |
| 676 | AC_SUBST(RESIZER_CMT) |
| 677 | dnl |
Theodore Ts'o | 8d9c50c | 2010-12-24 15:19:44 -0500 | [diff] [blame] | 678 | dnl handle --enable-defrag |
| 679 | dnl |
| 680 | AC_ARG_ENABLE([defrag], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 681 | AS_HELP_STRING([--disable-defrag],[disable support of e4defrag program]), |
Theodore Ts'o | 8d9c50c | 2010-12-24 15:19:44 -0500 | [diff] [blame] | 682 | if test "$enableval" = "no" |
| 683 | then |
| 684 | AC_MSG_RESULT([Disabling e4defrag support]) |
| 685 | DEFRAG_CMT="#" |
| 686 | else |
| 687 | DEFRAG_CMT= |
| 688 | AC_MSG_RESULT([Enabling e4defrag support]) |
| 689 | fi |
| 690 | , |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 691 | if test -z "$WITH_DIET_LIBC" |
| 692 | then |
| 693 | AC_MSG_RESULT([Enabling e4defrag support by default]) |
| 694 | DEFRAG_CMT= |
| 695 | else |
| 696 | AC_MSG_RESULT([Disabling e4defrag support by default]) |
| 697 | DEFRAG_CMT="#" |
| 698 | fi |
Theodore Ts'o | 8d9c50c | 2010-12-24 15:19:44 -0500 | [diff] [blame] | 699 | ) |
| 700 | AC_SUBST(DEFRAG_CMT) |
| 701 | dnl |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 702 | dnl See whether to install the `fsck' wrapper program (that calls e2fsck) |
| 703 | dnl |
| 704 | AC_ARG_ENABLE([fsck], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 705 | AS_HELP_STRING([--enable-fsck],[build fsck wrapper program]), |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 706 | [if test "$enableval" = "no" |
| 707 | then |
| 708 | FSCK_PROG='' FSCK_MAN='' |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 709 | AC_MSG_RESULT([Not building fsck wrapper]) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 710 | else |
| 711 | FSCK_PROG=fsck FSCK_MAN=fsck.8 |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 712 | AC_MSG_RESULT([Building fsck wrapper]) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 713 | fi] |
| 714 | , |
| 715 | [case "$host_os" in |
Theodore Ts'o | e363240 | 2004-05-04 19:39:54 -0400 | [diff] [blame] | 716 | gnu*) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 717 | FSCK_PROG='' FSCK_MAN='' |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 718 | AC_MSG_RESULT([Not building fsck wrapper by default]) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 719 | ;; |
| 720 | *) |
| 721 | FSCK_PROG=fsck FSCK_MAN=fsck.8 |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 722 | AC_MSG_RESULT([Building fsck wrapper by default]) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 723 | esac] |
| 724 | ) |
| 725 | AC_SUBST(FSCK_PROG) |
| 726 | AC_SUBST(FSCK_MAN) |
| 727 | dnl |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 728 | dnl See whether to install the `e2initrd-helper' program |
| 729 | dnl |
| 730 | AC_ARG_ENABLE([e2initrd-helper], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 731 | AS_HELP_STRING([--enable-e2initrd-helper],[build e2initrd-helper program]), |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 732 | [if test "$enableval" = "no" |
| 733 | then |
| 734 | E2INITRD_PROG='' E2INITRD_MAN='' |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 735 | AC_MSG_RESULT([Not building e2initrd helper]) |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 736 | else |
| 737 | E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 738 | AC_MSG_RESULT([Building e2initrd helper]) |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 739 | fi] |
| 740 | , |
| 741 | E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 742 | AC_MSG_RESULT([Building e2initrd helper by default]) |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 743 | ) |
| 744 | AC_SUBST(E2INITRD_PROG) |
| 745 | AC_SUBST(E2INITRD_MAN) |
Karel Zak | 4db2f59 | 2006-03-08 14:17:28 -0500 | [diff] [blame] | 746 | dnl |
Theodore Ts'o | 5d40773 | 2004-09-18 14:53:14 -0400 | [diff] [blame] | 747 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 748 | dnl |
Theodore Ts'o | 3249394 | 2007-12-31 10:45:01 -0500 | [diff] [blame] | 749 | AC_ARG_ENABLE([tls], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 750 | AS_HELP_STRING([--disable-tls],[disable use of thread local support]), |
Theodore Ts'o | 3249394 | 2007-12-31 10:45:01 -0500 | [diff] [blame] | 751 | [if test "$enableval" = "no" |
| 752 | then |
| 753 | try_tls="" |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 754 | AC_MSG_RESULT([Disabling thread local support]) |
Theodore Ts'o | 3249394 | 2007-12-31 10:45:01 -0500 | [diff] [blame] | 755 | else |
| 756 | try_tls="yes" |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 757 | AC_MSG_RESULT([Enabling thread local support]) |
Theodore Ts'o | 3249394 | 2007-12-31 10:45:01 -0500 | [diff] [blame] | 758 | fi] |
| 759 | , |
Theodore Ts'o | eafba6c | 2008-07-10 10:21:42 -0400 | [diff] [blame] | 760 | if test -n "$WITH_DIET_LIBC" |
| 761 | then |
| 762 | try_tls="" |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 763 | AC_MSG_RESULT([Diet libc does not support thread local support]) |
Theodore Ts'o | eafba6c | 2008-07-10 10:21:42 -0400 | [diff] [blame] | 764 | else |
| 765 | try_tls="yes" |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 766 | AC_MSG_RESULT([Try using thread local support by default]) |
Theodore Ts'o | eafba6c | 2008-07-10 10:21:42 -0400 | [diff] [blame] | 767 | fi |
Theodore Ts'o | 3249394 | 2007-12-31 10:45:01 -0500 | [diff] [blame] | 768 | ) |
| 769 | if test "$try_tls" = "yes" |
| 770 | then |
| 771 | AX_TLS |
| 772 | fi |
| 773 | dnl |
| 774 | dnl |
| 775 | dnl |
Theodore Ts'o | bdcd5f2 | 2021-01-13 16:27:19 -0800 | [diff] [blame] | 776 | AC_ARG_WITH([pthread], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 777 | AS_HELP_STRING([--without-pthread],[disable use of pthread support]), |
Theodore Ts'o | bdcd5f2 | 2021-01-13 16:27:19 -0800 | [diff] [blame] | 778 | [if test "$withval" = "no" |
| 779 | then |
| 780 | try_pthread="" |
| 781 | AC_MSG_RESULT([Disabling pthread support]) |
| 782 | else |
| 783 | try_pthread="yes" |
| 784 | AC_MSG_RESULT([Testing for pthread support]) |
| 785 | fi] |
| 786 | , |
| 787 | try_pthread="yes" |
| 788 | AC_MSG_RESULT([Try testing for pthread support by default]) |
| 789 | ) |
| 790 | if test "$try_pthread" = "yes" |
| 791 | then |
| 792 | AX_PTHREAD |
| 793 | else |
| 794 | test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" |
| 795 | AC_SUBST([PTHREAD_CC]) |
| 796 | fi |
| 797 | dnl |
| 798 | dnl |
| 799 | dnl |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 800 | AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd]) |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 801 | AC_ARG_ENABLE([uuidd], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 802 | AS_HELP_STRING([--disable-uuidd],[disable building the uuid daemon]), |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 803 | [if test "$enableval" = "no" |
| 804 | then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 805 | AC_MSG_RESULT([Not building uuidd]) |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 806 | UUIDD_CMT="#" |
| 807 | else |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 808 | AC_DEFINE(USE_UUIDD, 1) |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 809 | UUIDD_CMT="" |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 810 | AC_MSG_RESULT([Building uuidd]) |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 811 | fi] |
| 812 | , |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 813 | AC_DEFINE(USE_UUIDD, 1) |
Theodore Ts'o | e3d1015 | 2014-09-19 00:26:26 -0400 | [diff] [blame] | 814 | if test -z "$UUID_CMT" |
| 815 | then |
| 816 | UUIDD_CMT="" |
| 817 | AC_MSG_RESULT([Building uuidd by default]) |
| 818 | else |
| 819 | UUIDD_CMT="#" |
| 820 | AC_MSG_RESULT([Disabling uuidd by default]) |
| 821 | fi |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 822 | ) |
| 823 | AC_SUBST(UUIDD_CMT) |
| 824 | dnl |
Tony Breeds | d6a4bcb | 2012-06-26 11:42:15 +1000 | [diff] [blame] | 825 | dnl handle --disable-mmp |
| 826 | dnl |
| 827 | AH_TEMPLATE([CONFIG_MMP], [Define to 1 to enable mmp support]) |
| 828 | AC_ARG_ENABLE([mmp], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 829 | AS_HELP_STRING([--disable-mmp],[disable support mmp, Multi Mount Protection]), |
Tony Breeds | d6a4bcb | 2012-06-26 11:42:15 +1000 | [diff] [blame] | 830 | if test "$enableval" = "no" |
| 831 | then |
| 832 | AC_MSG_RESULT([Disabling mmp support]) |
| 833 | else |
| 834 | AC_MSG_RESULT([Enabling mmp support]) |
| 835 | AC_DEFINE(CONFIG_MMP, 1) |
| 836 | fi |
| 837 | , |
| 838 | AC_MSG_RESULT([Enabling mmp support by default]) |
| 839 | AC_DEFINE(CONFIG_MMP, 1) |
| 840 | ) |
| 841 | dnl |
Theodore Ts'o | 749f071 | 2016-05-29 20:48:54 -0400 | [diff] [blame] | 842 | dnl handle --disable-tdb |
| 843 | dnl |
| 844 | AH_TEMPLATE([CONFIG_TDB], [Define to 1 to enable tdb support]) |
| 845 | AC_ARG_ENABLE([tdb], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 846 | AS_HELP_STRING([--disable-tdb],[disable tdb support]), |
Theodore Ts'o | 749f071 | 2016-05-29 20:48:54 -0400 | [diff] [blame] | 847 | if test "$enableval" = "no" |
| 848 | then |
| 849 | AC_MSG_RESULT([Disabling tdb support]) |
| 850 | TDB_CMT="#" |
| 851 | TDB_MAN_COMMENT='.\"' |
| 852 | else |
| 853 | AC_MSG_RESULT([Enabling tdb support]) |
| 854 | AC_DEFINE(CONFIG_TDB, 1) |
| 855 | TDB_CMT="" |
| 856 | TDB_MAN_COMMENT="" |
| 857 | fi |
| 858 | , |
| 859 | AC_MSG_RESULT([Enabling mmp support by default]) |
| 860 | AC_DEFINE(CONFIG_TDB, 1) |
| 861 | TDB_CMT="" |
| 862 | TDB_MAN_COMMENT="" |
| 863 | ) |
| 864 | AC_SUBST(TDB_CMT) |
| 865 | AC_SUBST(TDB_MAN_COMMENT) |
| 866 | dnl |
Tony Breeds | 1625bf4 | 2012-07-30 14:44:12 -0400 | [diff] [blame] | 867 | dnl handle --disable-bmap-stats |
| 868 | dnl |
| 869 | AH_TEMPLATE([ENABLE_BMAP_STATS], [Define to 1 to enable bitmap stats.]) |
| 870 | AC_ARG_ENABLE([bmap-stats], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 871 | AS_HELP_STRING([--disable-bmap-stats],[disable collection of bitmap stats]), |
Tony Breeds | 1625bf4 | 2012-07-30 14:44:12 -0400 | [diff] [blame] | 872 | if test "$enableval" = "no" |
| 873 | then |
| 874 | AC_MSG_RESULT([Disabling bitmap statistics support]) |
| 875 | else |
| 876 | AC_MSG_RESULT([Enabling bitmap statistics support]) |
| 877 | AC_DEFINE(ENABLE_BMAP_STATS, 1) |
| 878 | fi |
| 879 | , |
| 880 | AC_MSG_RESULT([Enabling bitmap statistics support by default]) |
| 881 | AC_DEFINE(ENABLE_BMAP_STATS, 1) |
| 882 | ) |
| 883 | dnl |
| 884 | dnl handle --enable-bmap-stats-ops |
| 885 | dnl |
| 886 | AH_TEMPLATE([ENABLE_BMAP_STATS_OPS], [Define to 1 to enable bitmap stats.]) |
| 887 | AC_ARG_ENABLE([bmap-stats-ops], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 888 | AS_HELP_STRING([--enable-bmap-stats-ops],[enable collection of additional bitmap stats]), |
Tony Breeds | 1625bf4 | 2012-07-30 14:44:12 -0400 | [diff] [blame] | 889 | if test "$enableval" = "no" |
| 890 | then |
| 891 | AC_MSG_RESULT([Disabling additional bitmap statistics]) |
| 892 | else |
| 893 | dnl There has to be a better way! |
| 894 | AS_IF([test "x${enable_bmap_stats}" = "xno"], |
| 895 | AC_MSG_FAILURE([Error --enable-bmap-stats-ops requires bmap-stats])) |
| 896 | |
| 897 | AC_MSG_RESULT([Enabling additional bitmap statistics]) |
| 898 | AC_DEFINE(ENABLE_BMAP_STATS_OPS, 1) |
| 899 | fi |
| 900 | , |
| 901 | AC_MSG_RESULT([Disabling additional bitmap statistics by default]) |
| 902 | ) |
| 903 | dnl |
Theodore Ts'o | 5610f99 | 2007-12-31 11:16:56 -0500 | [diff] [blame] | 904 | dnl |
| 905 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 906 | MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library |
| 907 | AC_SUBST_FILE(MAKEFILE_LIBRARY) |
| 908 | dnl |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 909 | dnl Add internationalization support, using gettext. |
| 910 | dnl |
Theodore Ts'o | b0cacab | 2004-11-30 19:00:19 -0500 | [diff] [blame] | 911 | GETTEXT_PACKAGE=e2fsprogs |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 912 | PACKAGE=e2fsprogs |
| 913 | VERSION="$E2FSPROGS_VERSION" |
Theodore Ts'o | b0cacab | 2004-11-30 19:00:19 -0500 | [diff] [blame] | 914 | VERSION=0.14.1 |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 915 | AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext]) |
| 916 | AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext]) |
Theodore Ts'o | b0cacab | 2004-11-30 19:00:19 -0500 | [diff] [blame] | 917 | AC_SUBST(GETTEXT_PACKAGE) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 918 | AC_SUBST(PACKAGE) |
| 919 | AC_SUBST(VERSION) |
| 920 | |
Theodore Ts'o | e598c29 | 2020-11-24 23:00:57 -0500 | [diff] [blame] | 921 | AM_GNU_GETTEXT([external]) |
Theodore Ts'o | cdf186e | 2001-06-13 22:16:47 +0000 | [diff] [blame] | 922 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 923 | dnl End of configuration options |
| 924 | dnl |
Theodore Ts'o | 74becf3 | 1997-04-26 14:37:06 +0000 | [diff] [blame] | 925 | AC_SUBST(BINARY_TYPE) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 926 | AC_PROG_MAKE_SET |
Theodore Ts'o | bcb915b | 2009-07-02 18:19:10 -0400 | [diff] [blame] | 927 | CHECK_GNU_MAKE |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 928 | AC_PATH_PROG(LN, ln, ln) |
Ross Burton | 5abc041 | 2014-07-10 15:39:05 +0100 | [diff] [blame] | 929 | AC_PROG_MKDIR_P |
Theodore Ts'o | 3fb16e7 | 2021-01-28 23:16:46 -0500 | [diff] [blame] | 930 | dnl |
| 931 | dnl @mkdir_p@ is used by po's Makefile.in |
| 932 | dnl |
| 933 | mkdir_p=$MKDIR_P |
| 934 | AC_SUBST(mkdir_p) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 935 | AC_PROG_LN_S |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 936 | AC_PATH_PROG(MV, mv, mv) |
| 937 | AC_PATH_PROG(CP, cp, cp) |
| 938 | AC_PATH_PROG(RM, rm, rm) |
| 939 | AC_PATH_PROG(CHMOD, chmod, :) |
Theodore Ts'o | 3223701 | 2005-01-17 19:13:39 -0500 | [diff] [blame] | 940 | AC_PROG_AWK |
| 941 | AC_PROG_EGREP |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 942 | AC_PATH_PROG(SED, sed, sed) |
Theodore Ts'o | 9d564f7 | 1999-07-03 20:25:58 +0000 | [diff] [blame] | 943 | AC_PATH_PROG(PERL, perl, perl) |
Theodore Ts'o | 250f79f | 2001-05-19 22:02:22 +0000 | [diff] [blame] | 944 | AC_PATH_PROG(LDCONFIG, ldconfig, :) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 945 | AC_CHECK_TOOL(AR, ar, ar) |
| 946 | AC_CHECK_TOOL(RANLIB, ranlib, :) |
| 947 | AC_CHECK_TOOL(STRIP, strip, :) |
Manish Katiyar | 7321d94 | 2008-04-14 17:20:03 +0530 | [diff] [blame] | 948 | AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ) |
| 949 | if test "_$MAKEINFO" = "_"; then |
Theodore Ts'o | ca1de98 | 2016-09-11 23:30:25 -0400 | [diff] [blame] | 950 | MAKEINFO="echo Makeinfo is missing. Info documentation will not be built." |
Manish Katiyar | 7321d94 | 2008-04-14 17:20:03 +0530 | [diff] [blame] | 951 | else |
| 952 | case "$MAKEINFO" in |
| 953 | */missing.*) |
| 954 | AC_MSG_WARN([ |
| 955 | *** Makeinfo is missing. Info documentation will not be built.]) |
| 956 | ;; |
| 957 | *) |
| 958 | ;; |
| 959 | esac |
| 960 | fi |
| 961 | AC_SUBST(MAKEINFO) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 962 | AC_PROG_INSTALL |
Theodore Ts'o | 6c13352 | 1999-07-03 20:37:03 +0000 | [diff] [blame] | 963 | # See if we need a separate native compiler. |
| 964 | if test $cross_compiling = no; then |
| 965 | BUILD_CC="$CC" |
| 966 | AC_SUBST(BUILD_CC) |
| 967 | else |
| 968 | AC_CHECK_PROGS(BUILD_CC, gcc cc) |
| 969 | fi |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 970 | AC_CHECK_HEADERS(m4_flatten([ |
| 971 | dirent.h |
| 972 | errno.h |
| 973 | execinfo.h |
| 974 | getopt.h |
| 975 | malloc.h |
| 976 | mntent.h |
| 977 | paths.h |
Theodore Ts'o | 24487a7 | 2021-01-29 22:28:31 -0500 | [diff] [blame] | 978 | pthread.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 979 | semaphore.h |
| 980 | setjmp.h |
| 981 | signal.h |
| 982 | stdarg.h |
| 983 | stdint.h |
| 984 | stdlib.h |
| 985 | termios.h |
| 986 | termio.h |
| 987 | unistd.h |
| 988 | utime.h |
Ross Burton | c84da2e | 2014-07-10 17:44:38 +0100 | [diff] [blame] | 989 | attr/xattr.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 990 | linux/falloc.h |
| 991 | linux/fd.h |
Darrick J. Wong | 82424fc | 2017-05-15 11:37:11 -0700 | [diff] [blame] | 992 | linux/fsmap.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 993 | linux/major.h |
Kazuya Mio | fbabd5c | 2013-12-16 00:48:12 -0500 | [diff] [blame] | 994 | linux/loop.h |
Adrien Schildknecht | f47f319 | 2016-11-23 10:21:42 -0800 | [diff] [blame] | 995 | linux/types.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 996 | net/if_dl.h |
| 997 | netinet/in.h |
Darrick J. Wong | 81cbf1e | 2015-05-13 17:22:40 -0700 | [diff] [blame] | 998 | sys/acl.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 999 | sys/disklabel.h |
Andreas Dilger | 5105054 | 2014-06-11 12:59:05 -0600 | [diff] [blame] | 1000 | sys/disk.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1001 | sys/file.h |
| 1002 | sys/ioctl.h |
Theodore Ts'o | 74f2c4a | 2015-06-19 19:28:25 -0400 | [diff] [blame] | 1003 | sys/key.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1004 | sys/mkdev.h |
| 1005 | sys/mman.h |
Andreas Dilger | 5105054 | 2014-06-11 12:59:05 -0600 | [diff] [blame] | 1006 | sys/mount.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1007 | sys/prctl.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1008 | sys/resource.h |
| 1009 | sys/select.h |
| 1010 | sys/socket.h |
| 1011 | sys/sockio.h |
| 1012 | sys/stat.h |
| 1013 | sys/syscall.h |
| 1014 | sys/sysmacros.h |
| 1015 | sys/time.h |
| 1016 | sys/types.h |
| 1017 | sys/un.h |
| 1018 | sys/wait.h |
Dmitry V. Levin | d7de3f3 | 2017-05-18 17:46:49 +0000 | [diff] [blame] | 1019 | sys/xattr.h |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1020 | ])) |
Matthias Andree | ec3a69b | 2017-08-29 01:02:36 -0400 | [diff] [blame] | 1021 | dnl Check where to find a dd(1) that supports iflag=fullblock |
| 1022 | dnl and oflag=append |
| 1023 | AC_MSG_CHECKING([for a dd(1) program that supports iflag=fullblock]) |
| 1024 | DD= |
| 1025 | for i in dd gdd ; do |
| 1026 | if "$i" if=/dev/null of=/dev/null count=1 bs=10k 2>/dev/null iflag=fullblock oflag=append ; then |
| 1027 | DD=$i |
| 1028 | break |
| 1029 | fi |
| 1030 | done |
| 1031 | if test -n "$DD" ; then |
| 1032 | AC_MSG_RESULT([$DD]) |
| 1033 | else |
| 1034 | AC_MSG_RESULT([not found, using dd]) |
| 1035 | DD=dd |
| 1036 | AC_MSG_WARN([No GNU-compatible dd(1) program found, expect some self-test failures.]) |
| 1037 | fi |
| 1038 | AC_SUBST([DD]) |
| 1039 | |
Theodore Ts'o | da76d6b | 2005-01-18 23:29:01 -0500 | [diff] [blame] | 1040 | AC_CHECK_HEADERS(net/if.h,,, |
| 1041 | [[ |
| 1042 | #if HAVE_SYS_TYPES_H |
| 1043 | #include <sys/types.h> |
| 1044 | #endif |
| 1045 | #if HAVE_SYS_SOCKET |
| 1046 | #include <sys/socket.h> |
| 1047 | #endif |
| 1048 | ]]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1049 | AC_FUNC_VPRINTF |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1050 | dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen |
Sebastian Rasmussen | 055866d | 2017-10-08 13:30:08 +0200 | [diff] [blame] | 1051 | dnl is not declared. |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1052 | AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, |
| 1053 | [Define to 1 if dirent has d_reclen])],, |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1054 | [#include <dirent.h>]) |
Theodore Ts'o | 2873927 | 2014-01-03 00:26:43 -0500 | [diff] [blame] | 1055 | AC_CHECK_MEMBERS([struct stat.st_atim]) |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1056 | dnl Check to see if ssize_t was declared |
| 1057 | AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1, |
| 1058 | [Define to 1 if ssize_t declared])],, |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1059 | [#include <sys/types.h>]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1060 | dnl |
Theodore Ts'o | b0b9c4d | 1997-10-20 23:36:30 +0000 | [diff] [blame] | 1061 | dnl Check to see if llseek() is declared in unistd.h. On some libc's |
| 1062 | dnl it is, and on others it isn't..... Thank you glibc developers.... |
| 1063 | dnl |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1064 | AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, |
| 1065 | [Define to 1 if llseek declared in unistd.h])],, |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1066 | [#include <unistd.h>]) |
Theodore Ts'o | b0b9c4d | 1997-10-20 23:36:30 +0000 | [diff] [blame] | 1067 | dnl |
Theodore Ts'o | 6928adc | 2000-05-25 23:28:50 +0000 | [diff] [blame] | 1068 | dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files |
| 1069 | dnl are so convoluted that I can't tell whether it will always be defined, |
| 1070 | dnl and if it isn't defined while lseek64 is defined in the library, |
| 1071 | dnl disaster will strike. |
| 1072 | dnl |
| 1073 | dnl Warning! Use of --enable-gcc-wall may throw off this test. |
| 1074 | dnl |
| 1075 | dnl |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1076 | AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, |
| 1077 | [Define to 1 if lseek64 declared in unistd.h])],, |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1078 | [#define _LARGEFILE_SOURCE |
| 1079 | #define _LARGEFILE64_SOURCE |
| 1080 | #include <unistd.h>]) |
Theodore Ts'o | 6928adc | 2000-05-25 23:28:50 +0000 | [diff] [blame] | 1081 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1082 | dnl Word sizes... |
| 1083 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1084 | AC_CHECK_SIZEOF(short) |
| 1085 | AC_CHECK_SIZEOF(int) |
| 1086 | AC_CHECK_SIZEOF(long) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1087 | AC_CHECK_SIZEOF(long long) |
Phillip Susi | 274d46e | 2013-01-24 11:21:56 -0500 | [diff] [blame] | 1088 | AC_CHECK_SIZEOF(off_t) |
Theodore Ts'o | 2dd680f | 2016-05-29 01:07:40 -0400 | [diff] [blame] | 1089 | AC_CHECK_SIZEOF(time_t) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1090 | SIZEOF_SHORT=$ac_cv_sizeof_short |
| 1091 | SIZEOF_INT=$ac_cv_sizeof_int |
| 1092 | SIZEOF_LONG=$ac_cv_sizeof_long |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1093 | SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long |
Phillip Susi | 274d46e | 2013-01-24 11:21:56 -0500 | [diff] [blame] | 1094 | SIZEOF_OFF_T=$ac_cv_sizeof_off_t |
Theodore Ts'o | 2dd680f | 2016-05-29 01:07:40 -0400 | [diff] [blame] | 1095 | SIZEOF_TIME_T=$ac_cv_sizeof_time_t |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1096 | AC_SUBST(SIZEOF_SHORT) |
| 1097 | AC_SUBST(SIZEOF_INT) |
| 1098 | AC_SUBST(SIZEOF_LONG) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1099 | AC_SUBST(SIZEOF_LONG_LONG) |
Phillip Susi | 274d46e | 2013-01-24 11:21:56 -0500 | [diff] [blame] | 1100 | AC_SUBST(SIZEOF_OFF_T) |
Theodore Ts'o | 2dd680f | 2016-05-29 01:07:40 -0400 | [diff] [blame] | 1101 | AC_SUBST(SIZEOF_TIME_T) |
Theodore Ts'o | 877eb6d | 2001-06-11 06:54:13 +0000 | [diff] [blame] | 1102 | AC_C_BIGENDIAN |
Chen Qi | 91f0468 | 2014-05-05 21:08:42 -0400 | [diff] [blame] | 1103 | if test $cross_compiling = no; then |
| 1104 | BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh |
| 1105 | else |
| 1106 | CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh |
| 1107 | fi |
Theodore Ts'o | 4ea7ea0 | 2006-04-09 08:41:55 -0400 | [diff] [blame] | 1108 | ASM_TYPES_HEADER=./asm_types.h |
| 1109 | AC_SUBST_FILE(ASM_TYPES_HEADER) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1110 | dnl |
Theodore Ts'o | 488c75a | 2008-06-07 08:55:21 -0400 | [diff] [blame] | 1111 | dnl Save the configuration #defines needed for the public ext2fs.h |
| 1112 | dnl header file |
| 1113 | dnl |
| 1114 | echo "/* These defines are needed for the public ext2fs.h header file */" \ |
| 1115 | > public_config.h |
| 1116 | if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then |
| 1117 | uniq tmp_config.$$ >> public_config.h |
| 1118 | else |
| 1119 | echo "#undef HAVE_SYS_TYPES_H" >> public_config.h |
| 1120 | fi |
| 1121 | if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then |
| 1122 | uniq tmp_config.$$ >> public_config.h |
| 1123 | else |
| 1124 | echo "#undef WORDS_BIGENDIAN" >> public_config.h |
| 1125 | fi |
| 1126 | rm -f tmp_config.$$ |
| 1127 | PUBLIC_CONFIG_HEADER=./public_config.h |
| 1128 | AC_SUBST_FILE(PUBLIC_CONFIG_HEADER) |
| 1129 | dnl |
Theodore Ts'o | 0c193f8 | 2003-08-01 14:26:23 -0400 | [diff] [blame] | 1130 | dnl See if we have inttypes.h and if intptr_t is defined |
| 1131 | dnl |
| 1132 | AC_CHECK_HEADERS([inttypes.h]) |
Theodore Ts'o | d2ee56d | 2005-01-09 00:57:45 -0500 | [diff] [blame] | 1133 | AC_CHECK_TYPES(intptr_t) |
Theodore Ts'o | 0c193f8 | 2003-08-01 14:26:23 -0400 | [diff] [blame] | 1134 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1135 | dnl See if struct stat has a st_flags field, in which case we can get file |
| 1136 | dnl flags somewhat portably. Also check for the analogous setter, chflags(). |
| 1137 | dnl |
| 1138 | AC_MSG_CHECKING(whether struct stat has a st_flags field) |
| 1139 | AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags, |
| 1140 | AC_TRY_COMPILE([#include <sys/stat.h>], |
| 1141 | [struct stat stat; stat.st_flags = 0;], |
| 1142 | [e2fsprogs_cv_struct_st_flags=yes], |
| 1143 | [e2fsprogs_cv_struct_st_flags=no])) |
| 1144 | AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) |
| 1145 | if test "$e2fsprogs_cv_struct_st_flags" = yes; then |
Theodore Ts'o | c03bc4e | 1999-10-20 18:20:36 +0000 | [diff] [blame] | 1146 | AC_MSG_CHECKING(whether st_flags field is useful) |
| 1147 | AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut, |
| 1148 | AC_TRY_COMPILE([#include <sys/stat.h>], |
| 1149 | [struct stat stat; stat.st_flags |= UF_IMMUTABLE;], |
| 1150 | [e2fsprogs_cv_struct_st_flags_immut=yes], |
| 1151 | [e2fsprogs_cv_struct_st_flags_immut=no])) |
| 1152 | AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) |
| 1153 | if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1154 | AC_DEFINE(HAVE_STAT_FLAGS, 1, |
| 1155 | [Define to 1 if struct stat has st_flags]) |
Theodore Ts'o | c03bc4e | 1999-10-20 18:20:36 +0000 | [diff] [blame] | 1156 | fi |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1157 | fi |
Theodore Ts'o | 84ea6e7 | 2004-03-19 19:29:17 -0500 | [diff] [blame] | 1158 | dnl |
| 1159 | dnl Check for the presence of SA_LEN |
| 1160 | dnl |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1161 | AC_CHECK_MEMBER(struct sockaddr.sa_len, |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1162 | AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, |
| 1163 | [Define to 1 if if struct sockaddr contains sa_len]),, |
Theodore Ts'o | 6c65d25 | 2005-01-19 12:59:48 -0500 | [diff] [blame] | 1164 | [#include <sys/types.h> |
| 1165 | #include <sys/socket.h>]) |
Theodore Ts'o | 84ea6e7 | 2004-03-19 19:29:17 -0500 | [diff] [blame] | 1166 | dnl |
Theodore Ts'o | 7154d97 | 2019-02-10 21:44:05 -0500 | [diff] [blame] | 1167 | dnl If we are using the system-provided blkid library, check for |
| 1168 | dnl the functions added after migrating that library to util-linux |
Eric Sandeen | 9ed8e5f | 2009-10-02 11:32:42 -0500 | [diff] [blame] | 1169 | dnl |
| 1170 | if test -n "$BLKID_CMT"; then |
Theodore Ts'o | 7154d97 | 2019-02-10 21:44:05 -0500 | [diff] [blame] | 1171 | AC_CHECK_LIB(blkid, blkid_probe_get_topology, |
Dongyang Li | f72ea2d | 2019-03-06 22:59:55 +0000 | [diff] [blame] | 1172 | AC_DEFINE(HAVE_BLKID_PROBE_GET_TOPOLOGY, 1, |
| 1173 | [Define to 1 if blkid has blkid_probe_get_topology])) |
Jan Kara | f4979dd | 2020-07-09 16:40:57 +0200 | [diff] [blame] | 1174 | AC_CHECK_LIB(blkid, blkid_topology_get_dax, |
| 1175 | AC_DEFINE(HAVE_BLKID_TOPOLOGY_GET_DAX, 1, |
| 1176 | [Define to 1 if blkid has blkid_topology_get_dax])) |
Theodore Ts'o | 7154d97 | 2019-02-10 21:44:05 -0500 | [diff] [blame] | 1177 | AC_CHECK_LIB(blkid, blkid_probe_enable_partitions, |
Dongyang Li | f72ea2d | 2019-03-06 22:59:55 +0000 | [diff] [blame] | 1178 | AC_DEFINE(HAVE_BLKID_PROBE_ENABLE_PARTITIONS, 1, |
| 1179 | [Define to 1 if blkid has blkid_probe_enable_partitions])) |
Eric Sandeen | 9ed8e5f | 2009-10-02 11:32:42 -0500 | [diff] [blame] | 1180 | fi |
| 1181 | dnl |
Theodore Ts'o | 32179ce | 2016-06-07 00:14:35 -0400 | [diff] [blame] | 1182 | if test -n "$DLOPEN_LIB" ; then |
| 1183 | ac_cv_func_dlopen=yes |
| 1184 | fi |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1185 | AC_CHECK_FUNCS(m4_flatten([ |
| 1186 | __secure_getenv |
Theodore Ts'o | 74f2c4a | 2015-06-19 19:28:25 -0400 | [diff] [blame] | 1187 | add_key |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1188 | backtrace |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1189 | chflags |
Theodore Ts'o | 32179ce | 2016-06-07 00:14:35 -0400 | [diff] [blame] | 1190 | dlopen |
Baruch Siach | 9a39389 | 2014-01-02 13:05:37 -0500 | [diff] [blame] | 1191 | fadvise64 |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1192 | fallocate |
| 1193 | fallocate64 |
| 1194 | fchown |
Adrien Schildknecht | f47f319 | 2016-11-23 10:21:42 -0800 | [diff] [blame] | 1195 | fcntl |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1196 | fdatasync |
| 1197 | fstat64 |
Adrien Schildknecht | f47f319 | 2016-11-23 10:21:42 -0800 | [diff] [blame] | 1198 | fsync |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1199 | ftruncate64 |
Theodore Ts'o | 2873927 | 2014-01-03 00:26:43 -0500 | [diff] [blame] | 1200 | futimes |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 1201 | getcwd |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1202 | getdtablesize |
Shuichi Ihara | 32b8802 | 2018-05-01 22:26:06 -0600 | [diff] [blame] | 1203 | gethostname |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1204 | getmntinfo |
Theodore Ts'o | 25ff772 | 2012-04-05 15:16:50 -0700 | [diff] [blame] | 1205 | getpwuid_r |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1206 | getrlimit |
| 1207 | getrusage |
| 1208 | jrand48 |
Theodore Ts'o | 74f2c4a | 2015-06-19 19:28:25 -0400 | [diff] [blame] | 1209 | keyctl |
Ross Burton | c84da2e | 2014-07-10 17:44:38 +0100 | [diff] [blame] | 1210 | llistxattr |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1211 | llseek |
| 1212 | lseek64 |
| 1213 | mallinfo |
| 1214 | mbstowcs |
| 1215 | memalign |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 1216 | mempcpy |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1217 | mmap |
| 1218 | msync |
| 1219 | nanosleep |
| 1220 | open64 |
| 1221 | pathconf |
| 1222 | posix_fadvise |
Baruch Siach | 9a39389 | 2014-01-02 13:05:37 -0500 | [diff] [blame] | 1223 | posix_fadvise64 |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1224 | posix_memalign |
| 1225 | prctl |
Darrick J. Wong | baa3544 | 2014-08-02 19:18:03 -0400 | [diff] [blame] | 1226 | pread |
| 1227 | pwrite |
Theodore Ts'o | f00948a | 2014-08-08 16:42:05 -0400 | [diff] [blame] | 1228 | pread64 |
| 1229 | pwrite64 |
Theodore Ts'o | 1ad3174 | 2013-06-16 14:34:59 -0400 | [diff] [blame] | 1230 | secure_getenv |
Theodore Ts'o | b24efa2 | 2012-04-05 15:31:09 -0700 | [diff] [blame] | 1231 | setmntent |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1232 | setresgid |
| 1233 | setresuid |
Theodore Ts'o | c42de75 | 2014-07-08 20:02:48 -0400 | [diff] [blame] | 1234 | snprintf |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1235 | srandom |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 1236 | stpcpy |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1237 | strcasecmp |
| 1238 | strdup |
| 1239 | strnlen |
| 1240 | strptime |
| 1241 | strtoull |
| 1242 | sync_file_range |
| 1243 | sysconf |
| 1244 | usleep |
| 1245 | utime |
Theodore Ts'o | 441eb33 | 2014-10-19 22:02:48 -0400 | [diff] [blame] | 1246 | utimes |
Mike Frysinger | 677fc91 | 2012-03-06 20:13:54 -0500 | [diff] [blame] | 1247 | valloc |
| 1248 | ])) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1249 | dnl |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1250 | dnl Check to see if -lsocket is required (solaris) to make something |
| 1251 | dnl that uses socket() to compile; this is needed for the UUID library |
| 1252 | dnl |
| 1253 | SOCKET_LIB='' |
| 1254 | AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket]) |
| 1255 | AC_SUBST(SOCKET_LIB) |
| 1256 | dnl |
Darrick J. Wong | b291c11 | 2014-09-13 15:12:46 -0700 | [diff] [blame] | 1257 | dnl See if libmagic exists |
| 1258 | dnl |
| 1259 | AC_CHECK_LIB(magic, magic_file, [MAGIC_LIB=-lmagic |
| 1260 | AC_CHECK_HEADERS([magic.h])]) |
Theodore Ts'o | 32179ce | 2016-06-07 00:14:35 -0400 | [diff] [blame] | 1261 | if test "$ac_cv_func_dlopen" = yes ; then |
Theodore Ts'o | d2e3c0d | 2014-09-21 01:25:58 -0400 | [diff] [blame] | 1262 | MAGIC_LIB=$DLOPEN_LIB |
| 1263 | fi |
Darrick J. Wong | b291c11 | 2014-09-13 15:12:46 -0700 | [diff] [blame] | 1264 | AC_SUBST(MAGIC_LIB) |
| 1265 | dnl |
Gustavo Zacarias | 62bc243 | 2016-06-09 16:56:15 -0400 | [diff] [blame] | 1266 | dnl Check to see if librt is required for clock_gettime() (glibc < 2.17) |
| 1267 | dnl |
| 1268 | AC_CHECK_LIB(rt, clock_gettime, [CLOCK_GETTIME_LIB=-lrt]) |
| 1269 | AC_SUBST(CLOCK_GETTIME_LIB) |
| 1270 | dnl |
Darrick J. Wong | 81cbf1e | 2015-05-13 17:22:40 -0700 | [diff] [blame] | 1271 | dnl Check to see if the FUSE library is -lfuse or -losxfuse |
| 1272 | dnl |
| 1273 | FUSE_CMT= |
| 1274 | FUSE_LIB= |
| 1275 | dnl osxfuse.dylib supersedes fuselib.dylib |
| 1276 | AC_ARG_ENABLE([fuse2fs], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1277 | AS_HELP_STRING([--disable-fuse2fs],[do not build fuse2fs]), |
Darrick J. Wong | 81cbf1e | 2015-05-13 17:22:40 -0700 | [diff] [blame] | 1278 | if test "$enableval" = "no" |
| 1279 | then |
| 1280 | FUSE_CMT="#" |
| 1281 | AC_MSG_RESULT([Disabling fuse2fs]) |
| 1282 | else |
| 1283 | AC_CHECK_HEADERS([pthread.h fuse.h], [], |
| 1284 | [AC_MSG_FAILURE([Cannot find fuse2fs headers.])], |
| 1285 | [#define _FILE_OFFSET_BITS 64 |
| 1286 | #define FUSE_USE_VERSION 29]) |
| 1287 | |
| 1288 | AC_PREPROC_IFELSE( |
| 1289 | [AC_LANG_PROGRAM([[#define FUSE_USE_VERSION 29 |
| 1290 | #ifdef __linux__ |
| 1291 | #include <linux/fs.h> |
| 1292 | #include <linux/falloc.h> |
| 1293 | #include <linux/xattr.h> |
| 1294 | #endif |
| 1295 | ]], [])], [], [AC_MSG_FAILURE([Cannot find fuse2fs Linux headers.])]) |
| 1296 | |
| 1297 | AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], |
| 1298 | [AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], |
| 1299 | [AC_MSG_FAILURE([Cannot find fuse library.])])]) |
| 1300 | AC_MSG_RESULT([Enabling fuse2fs]) |
| 1301 | fi |
| 1302 | , |
| 1303 | AC_CHECK_HEADERS([pthread.h fuse.h], [], [FUSE_CMT="#"], |
| 1304 | [#define _FILE_OFFSET_BITS 64 |
| 1305 | #define FUSE_USE_VERSION 29 |
| 1306 | #ifdef __linux__ |
| 1307 | # include <linux/fs.h> |
| 1308 | # include <linux/falloc.h> |
| 1309 | # include <linux/xattr.h> |
| 1310 | #endif]) |
| 1311 | if test -z "$FUSE_CMT" |
| 1312 | then |
| 1313 | AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], |
| 1314 | [AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], [FUSE_CMT="#"])]) |
| 1315 | fi |
| 1316 | if test -z "$FUSE_CMT" |
| 1317 | then |
| 1318 | AC_MSG_RESULT([Enabling fuse2fs by default.]) |
| 1319 | fi |
| 1320 | ) |
| 1321 | AC_SUBST(FUSE_LIB) |
| 1322 | AC_SUBST(FUSE_CMT) |
| 1323 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1324 | dnl See if optreset exists |
| 1325 | dnl |
| 1326 | AC_MSG_CHECKING(for optreset) |
| 1327 | AC_CACHE_VAL(ac_cv_have_optreset, |
| 1328 | [AC_EGREP_HEADER(optreset, unistd.h, |
| 1329 | ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl |
| 1330 | AC_MSG_RESULT($ac_cv_have_optreset) |
| 1331 | if test $ac_cv_have_optreset = yes; then |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1332 | AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1333 | fi |
| 1334 | dnl |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1335 | dnl Test for sem_init, and which library it might require: |
| 1336 | dnl |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1337 | AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1338 | SEM_INIT_LIB='' |
Theodore Ts'o | cfb8e0b | 2017-07-27 19:43:00 -0400 | [diff] [blame] | 1339 | echo GL_THREADS_API: ${gl_threads_api} |
| 1340 | if test "${gl_threads_api}" != none |
| 1341 | then |
| 1342 | AC_CHECK_FUNC(sem_init, , |
| 1343 | AC_CHECK_LIB(pthread, sem_init, |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1344 | AC_DEFINE(HAVE_SEM_INIT, 1) |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1345 | SEM_INIT_LIB=-lpthread, |
Theodore Ts'o | cfb8e0b | 2017-07-27 19:43:00 -0400 | [diff] [blame] | 1346 | AC_CHECK_LIB(rt, sem_init, |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1347 | AC_DEFINE(HAVE_SEM_INIT, 1) |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1348 | SEM_INIT_LIB=-lrt, |
Theodore Ts'o | cfb8e0b | 2017-07-27 19:43:00 -0400 | [diff] [blame] | 1349 | AC_CHECK_LIB(posix4, sem_init, |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1350 | AC_DEFINE(HAVE_SEM_INIT, 1) |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1351 | SEM_INIT_LIB=-lposix4))))dnl |
Theodore Ts'o | cfb8e0b | 2017-07-27 19:43:00 -0400 | [diff] [blame] | 1352 | fi |
Theodore Ts'o | d7f45af | 2008-09-12 10:15:26 -0400 | [diff] [blame] | 1353 | AC_SUBST(SEM_INIT_LIB) |
| 1354 | dnl |
Theodore Ts'o | e54635d | 2006-08-06 14:33:13 -0400 | [diff] [blame] | 1355 | dnl Check for unified diff |
| 1356 | dnl |
| 1357 | AC_MSG_CHECKING(for unified diff option) |
Theodore Ts'o | 27f991b | 2008-04-01 20:32:55 -0400 | [diff] [blame] | 1358 | if diff -u $0 $0 > /dev/null 2>&1 ; then |
Theodore Ts'o | e54635d | 2006-08-06 14:33:13 -0400 | [diff] [blame] | 1359 | UNI_DIFF_OPTS=-u |
| 1360 | else |
| 1361 | UNI_DIFF_OPTS=-c |
| 1362 | fi |
| 1363 | AC_MSG_RESULT($UNI_DIFF_OPTS) |
| 1364 | AC_SUBST(UNI_DIFF_OPTS) |
| 1365 | dnl |
Theodore Ts'o | 8f3f29d | 2000-02-11 05:04:44 +0000 | [diff] [blame] | 1366 | dnl We use the EXT2 ioctls only under Linux |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1367 | dnl |
Theodore Ts'o | 8f3f29d | 2000-02-11 05:04:44 +0000 | [diff] [blame] | 1368 | case "$host_os" in |
| 1369 | linux*) |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1370 | AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) |
Theodore Ts'o | 8f3f29d | 2000-02-11 05:04:44 +0000 | [diff] [blame] | 1371 | ;; |
| 1372 | esac |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1373 | dnl |
Nicholas Clark | ea1a3fa | 2018-10-16 15:37:45 -0400 | [diff] [blame] | 1374 | dnl Check the available mount options |
| 1375 | dnl |
| 1376 | AX_CHECK_MOUNT_OPT(nosuid) |
| 1377 | AX_CHECK_MOUNT_OPT(nodev) |
Darrick J. Wong | 4aece32 | 2018-03-08 12:15:23 -0800 | [diff] [blame] | 1378 | dnl Enable LTO for all packages |
| 1379 | dnl |
| 1380 | AC_ARG_ENABLE([lto], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1381 | AS_HELP_STRING([--enable-lto],[enable link time optimization]),, |
Theodore Ts'o | 139a309 | 2018-08-17 22:26:24 -0400 | [diff] [blame] | 1382 | enable_lto=no) |
Darrick J. Wong | 4aece32 | 2018-03-08 12:15:23 -0800 | [diff] [blame] | 1383 | if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then |
| 1384 | AC_MSG_CHECKING([if C compiler supports LTO]) |
| 1385 | OLD_CFLAGS="$CFLAGS" |
| 1386 | OLD_LDFLAGS="$LDFLAGS" |
Theodore Ts'o | 4971570 | 2018-08-08 22:16:07 -0400 | [diff] [blame] | 1387 | LTO_FLAGS="-g -flto -ffat-lto-objects" |
Darrick J. Wong | 4aece32 | 2018-03-08 12:15:23 -0800 | [diff] [blame] | 1388 | CFLAGS="$CFLAGS $LTO_FLAGS" |
| 1389 | LDFLAGS="$LDFLAGS $LTO_FLAGS" |
| 1390 | AC_LINK_IFELSE([AC_LANG_PROGRAM([])], |
| 1391 | [AC_MSG_RESULT([yes])] |
| 1392 | [lto_cflags=$LTO_FLAGS] |
| 1393 | [lto_ldflags=$LTO_FLAGS] |
| 1394 | [AC_PATH_PROG(gcc_ar, gcc-ar,,)] |
| 1395 | [AC_PATH_PROG(gcc_ranlib, gcc-ranlib,,)], |
| 1396 | [AC_MSG_RESULT([no])]) |
| 1397 | if test -x "$gcc_ar" && test -x "$gcc_ranlib"; then |
| 1398 | have_lto=yes |
| 1399 | AR="${gcc_ar}" |
| 1400 | RANLIB="${gcc_ranlib}" |
| 1401 | fi |
| 1402 | CFLAGS="${OLD_CFLAGS}" |
| 1403 | LDFLAGS="${OLD_LDFLAGS}" |
| 1404 | AC_SUBST(have_lto) |
| 1405 | AC_SUBST(lto_cflags) |
| 1406 | AC_SUBST(lto_ldflags) |
| 1407 | fi |
| 1408 | if test "$enable_lto" = "yes" && test "$have_lto" != "yes"; then |
| 1409 | AC_MSG_ERROR([LTO not supported by compiler.]) |
| 1410 | fi |
| 1411 | dnl |
Darrick J. Wong | 1c2a76a | 2018-03-08 12:15:29 -0800 | [diff] [blame] | 1412 | dnl Enable UBSAN for all packages |
| 1413 | dnl |
| 1414 | AC_ARG_ENABLE([ubsan], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1415 | AS_HELP_STRING([--enable-ubsan],[enable undefined behavior sanitizer]),, |
Darrick J. Wong | 1c2a76a | 2018-03-08 12:15:29 -0800 | [diff] [blame] | 1416 | enable_ubsan=no) |
| 1417 | if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then |
| 1418 | AC_MSG_CHECKING([if C compiler supports UBSAN]) |
| 1419 | OLD_CFLAGS="$CFLAGS" |
| 1420 | OLD_LDFLAGS="$LDFLAGS" |
| 1421 | UBSAN_FLAGS="-fsanitize=undefined" |
| 1422 | CFLAGS="$CFLAGS $UBSAN_FLAGS" |
| 1423 | LDFLAGS="$LDFLAGS $UBSAN_FLAGS" |
| 1424 | AC_LINK_IFELSE([AC_LANG_PROGRAM([])], |
| 1425 | [AC_MSG_RESULT([yes])] |
| 1426 | [ubsan_cflags=$UBSAN_FLAGS] |
| 1427 | [ubsan_ldflags=$UBSAN_FLAGS] |
| 1428 | [have_ubsan=yes], |
| 1429 | [AC_MSG_RESULT([no])]) |
| 1430 | CFLAGS="${OLD_CFLAGS}" |
| 1431 | LDFLAGS="${OLD_LDFLAGS}" |
| 1432 | AC_SUBST(have_ubsan) |
| 1433 | AC_SUBST(ubsan_cflags) |
| 1434 | AC_SUBST(ubsan_ldflags) |
| 1435 | fi |
| 1436 | if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then |
| 1437 | AC_MSG_ERROR([UBSAN not supported by compiler.]) |
| 1438 | fi |
| 1439 | dnl |
Darrick J. Wong | 5e666e3 | 2018-03-08 12:15:35 -0800 | [diff] [blame] | 1440 | dnl Enable ADDRSAN for all packages |
| 1441 | dnl |
| 1442 | AC_ARG_ENABLE([addrsan], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1443 | AS_HELP_STRING([--enable-addrsan],[enable address sanitizer]),, |
Darrick J. Wong | 5e666e3 | 2018-03-08 12:15:35 -0800 | [diff] [blame] | 1444 | enable_addrsan=no) |
| 1445 | if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then |
| 1446 | AC_MSG_CHECKING([if C compiler supports ADDRSAN]) |
| 1447 | OLD_CFLAGS="$CFLAGS" |
| 1448 | OLD_LDFLAGS="$LDFLAGS" |
| 1449 | ADDRSAN_FLAGS="-fsanitize=address" |
| 1450 | CFLAGS="$CFLAGS $ADDRSAN_FLAGS" |
| 1451 | LDFLAGS="$LDFLAGS $ADDRSAN_FLAGS" |
| 1452 | AC_LINK_IFELSE([AC_LANG_PROGRAM([])], |
| 1453 | [AC_MSG_RESULT([yes])] |
| 1454 | [addrsan_cflags=$ADDRSAN_FLAGS] |
| 1455 | [addrsan_ldflags=$ADDRSAN_FLAGS] |
| 1456 | [have_addrsan=yes], |
| 1457 | [AC_MSG_RESULT([no])]) |
| 1458 | CFLAGS="${OLD_CFLAGS}" |
| 1459 | LDFLAGS="${OLD_LDFLAGS}" |
| 1460 | AC_SUBST(have_addrsan) |
| 1461 | AC_SUBST(addrsan_cflags) |
| 1462 | AC_SUBST(addrsan_ldflags) |
| 1463 | fi |
| 1464 | if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then |
| 1465 | AC_MSG_ERROR([ADDRSAN not supported by compiler.]) |
| 1466 | fi |
| 1467 | dnl |
Darrick J. Wong | bcca786 | 2018-03-08 12:15:43 -0800 | [diff] [blame] | 1468 | dnl Enable THREADSAN for all packages |
| 1469 | dnl |
| 1470 | AC_ARG_ENABLE([threadsan], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1471 | AS_HELP_STRING([--enable-threadsan],[enable thread sanitizer]),, |
Darrick J. Wong | bcca786 | 2018-03-08 12:15:43 -0800 | [diff] [blame] | 1472 | enable_threadsan=no) |
| 1473 | if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then |
| 1474 | AC_MSG_CHECKING([if C compiler supports THREADSAN]) |
| 1475 | OLD_CFLAGS="$CFLAGS" |
| 1476 | OLD_LDFLAGS="$LDFLAGS" |
| 1477 | THREADSAN_FLAGS="-fsanitize=thread" |
| 1478 | CFLAGS="$CFLAGS $THREADSAN_FLAGS" |
| 1479 | LDFLAGS="$LDFLAGS $THREADSAN_FLAGS" |
| 1480 | AC_LINK_IFELSE([AC_LANG_PROGRAM([])], |
| 1481 | [AC_MSG_RESULT([yes])] |
| 1482 | [threadsan_cflags=$THREADSAN_FLAGS] |
| 1483 | [threadsan_ldflags=$THREADSAN_FLAGS] |
| 1484 | [have_threadsan=yes], |
| 1485 | [AC_MSG_RESULT([no])]) |
| 1486 | CFLAGS="${OLD_CFLAGS}" |
| 1487 | LDFLAGS="${OLD_LDFLAGS}" |
| 1488 | AC_SUBST(have_threadsan) |
| 1489 | AC_SUBST(threadsan_cflags) |
| 1490 | AC_SUBST(threadsan_ldflags) |
| 1491 | fi |
| 1492 | if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then |
| 1493 | AC_MSG_ERROR([THREADSAN not supported by compiler.]) |
| 1494 | fi |
| 1495 | if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then |
| 1496 | AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.]) |
| 1497 | fi |
| 1498 | dnl |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1499 | dnl OS-specific uncomment control |
Theodore Ts'o | e6f2bda | 2002-08-18 03:37:10 -0400 | [diff] [blame] | 1500 | dnl |
| 1501 | LINUX_CMT="#" |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1502 | CYGWIN_CMT="#" |
| 1503 | UNIX_CMT= |
Theodore Ts'o | e6f2bda | 2002-08-18 03:37:10 -0400 | [diff] [blame] | 1504 | case "$host_os" in |
| 1505 | linux*) |
| 1506 | LINUX_CMT= |
| 1507 | ;; |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1508 | cygwin) |
| 1509 | CYGWIN_CMT= |
| 1510 | UNIX_CMT="#" |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1511 | ;; |
Theodore Ts'o | e6f2bda | 2002-08-18 03:37:10 -0400 | [diff] [blame] | 1512 | esac |
| 1513 | AC_SUBST(LINUX_CMT) |
Theodore Ts'o | fff4548 | 2003-04-13 00:44:19 -0400 | [diff] [blame] | 1514 | AC_SUBST(CYGWIN_CMT) |
| 1515 | AC_SUBST(UNIX_CMT) |
Theodore Ts'o | e6f2bda | 2002-08-18 03:37:10 -0400 | [diff] [blame] | 1516 | dnl |
Darrick J. Wong | 5ce368f | 2018-03-23 18:57:09 -0700 | [diff] [blame] | 1517 | dnl e2scrub only builds on linux |
| 1518 | dnl |
| 1519 | E2SCRUB_CMT="$LINUX_CMT" |
| 1520 | AC_SUBST(E2SCRUB_CMT) |
| 1521 | dnl |
Theodore Ts'o | 6c13352 | 1999-07-03 20:37:03 +0000 | [diff] [blame] | 1522 | dnl Linux and Hurd places root files in the / by default |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1523 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1524 | case "$host_os" in |
Theodore Ts'o | 93636bd | 2003-07-12 02:45:05 -0400 | [diff] [blame] | 1525 | linux* | gnu* | k*bsd*-gnu) |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1526 | if test "$prefix" = NONE -a "$root_prefix" = NONE ; then |
| 1527 | root_prefix=""; |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1528 | AC_MSG_RESULT([On $host_os systems, root_prefix defaults to '']) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1529 | fi |
| 1530 | ;; |
| 1531 | esac |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1532 | dnl |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1533 | dnl On Linux/hurd, force the prefix to be /usr |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1534 | dnl |
| 1535 | case "$host_os" in |
Theodore Ts'o | 93636bd | 2003-07-12 02:45:05 -0400 | [diff] [blame] | 1536 | linux* | gnu* | k*bsd*-gnu) |
Theodore Ts'o | fc6d9d5 | 1997-04-29 14:51:31 +0000 | [diff] [blame] | 1537 | if test "$prefix" = NONE ; then |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1538 | prefix="/usr"; |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1539 | AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr]) |
Theodore Ts'o | bff61a7 | 2002-05-21 22:21:38 -0400 | [diff] [blame] | 1540 | if test "$mandir" = '${prefix}/man' ; then |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1541 | AC_MSG_RESULT([...and mandir defaults to /usr/share/man]) |
Theodore Ts'o | bff61a7 | 2002-05-21 22:21:38 -0400 | [diff] [blame] | 1542 | mandir=/usr/share/man |
| 1543 | fi |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1544 | fi |
| 1545 | ;; |
| 1546 | esac |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1547 | if test "$root_prefix" = NONE ; then |
Theodore Ts'o | ffe1991 | 1998-04-08 06:05:49 +0000 | [diff] [blame] | 1548 | if test "$prefix" = NONE ; then |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1549 | root_prefix="$ac_default_prefix" |
| 1550 | else |
| 1551 | root_prefix="$prefix" |
| 1552 | fi |
Theodore Ts'o | b5ffead | 2002-05-11 19:17:00 -0400 | [diff] [blame] | 1553 | root_bindir=$bindir |
| 1554 | root_sbindir=$sbindir |
| 1555 | root_libdir=$libdir |
| 1556 | root_sysconfdir=$sysconfdir |
| 1557 | else |
| 1558 | root_bindir='${root_prefix}/bin' |
| 1559 | root_sbindir='${root_prefix}/sbin' |
| 1560 | root_libdir='${root_prefix}/lib' |
| 1561 | root_sysconfdir='${root_prefix}/etc' |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1562 | fi |
Theodore Ts'o | c4ef11c | 2008-01-04 16:55:37 -0500 | [diff] [blame] | 1563 | if test "$bindir" != '${exec_prefix}/bin'; then |
| 1564 | root_bindir=$bindir |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1565 | AC_MSG_RESULT([Setting root_bindir to $root_bindir]) |
Theodore Ts'o | c4ef11c | 2008-01-04 16:55:37 -0500 | [diff] [blame] | 1566 | fi |
| 1567 | if test "$sbindir" != '${exec_prefix}/sbin'; then |
| 1568 | root_sbindir=$sbindir |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1569 | AC_MSG_RESULT([Setting root_sbindir to $root_sbindir]) |
Theodore Ts'o | c4ef11c | 2008-01-04 16:55:37 -0500 | [diff] [blame] | 1570 | fi |
| 1571 | if test "$libdir" != '${exec_prefix}/lib'; then |
| 1572 | root_libdir=$libdir |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1573 | AC_MSG_RESULT([Setting root_libdir to $root_libdir]) |
Theodore Ts'o | c4ef11c | 2008-01-04 16:55:37 -0500 | [diff] [blame] | 1574 | fi |
| 1575 | if test "$sysconfdir" != '${prefix}/etc'; then |
| 1576 | root_sysconfdir=$sysconfdir |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1577 | AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir]) |
Theodore Ts'o | c4ef11c | 2008-01-04 16:55:37 -0500 | [diff] [blame] | 1578 | fi |
Theodore Ts'o | a4b2d3c | 1998-04-03 16:12:25 +0000 | [diff] [blame] | 1579 | AC_SUBST(root_prefix) |
Theodore Ts'o | b5ffead | 2002-05-11 19:17:00 -0400 | [diff] [blame] | 1580 | AC_SUBST(root_bindir) |
| 1581 | AC_SUBST(root_sbindir) |
| 1582 | AC_SUBST(root_libdir) |
| 1583 | AC_SUBST(root_sysconfdir) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1584 | dnl |
Theodore Ts'o | 55e00a2 | 2011-09-18 23:53:23 -0400 | [diff] [blame] | 1585 | dnl Allow specification of the multiarch arch |
| 1586 | dnl |
| 1587 | AC_ARG_WITH([multiarch], |
Theodore Ts'o | 8c9e292 | 2021-02-09 15:54:12 -0500 | [diff] [blame] | 1588 | AS_HELP_STRING([--with-multiarch=ARCH],[specify the multiarch triplet]), |
Theodore Ts'o | d7fa410 | 2014-02-05 15:45:36 -0500 | [diff] [blame] | 1589 | if test "$withval" = "lib64"; then |
| 1590 | libdir=/usr/lib64 |
| 1591 | root_libdir=/lib64 |
| 1592 | else |
| 1593 | libdir=$libdir/$withval |
| 1594 | root_libdir=$root_libdir/$withval |
| 1595 | fi |
Darrick J. Wong | a2df589 | 2018-03-23 18:57:22 -0700 | [diff] [blame] | 1596 | ) |
| 1597 | dnl |
Theodore Ts'o | 55e00a2 | 2011-09-18 23:53:23 -0400 | [diff] [blame] | 1598 | dnl |
Theodore Ts'o | d3de1a7 | 2012-12-15 22:10:27 -0500 | [diff] [blame] | 1599 | dnl See if -static works. This could fail if the linker does not |
| 1600 | dnl support -static, or if required external libraries are not available |
| 1601 | dnl in static form. |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1602 | dnl |
Theodore Ts'o | d3de1a7 | 2012-12-15 22:10:27 -0500 | [diff] [blame] | 1603 | AC_MSG_CHECKING([whether we can link with -static]) |
Theodore Ts'o | ae85148 | 1997-04-29 18:13:24 +0000 | [diff] [blame] | 1604 | AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 1605 | [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static" |
Theodore Ts'o | ae85148 | 1997-04-29 18:13:24 +0000 | [diff] [blame] | 1606 | AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);], |
| 1607 | ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no) |
| 1608 | LDFLAGS=$SAVE_LDFLAGS]) |
Theodore Ts'o | defde78 | 1999-01-04 07:39:19 +0000 | [diff] [blame] | 1609 | dnl |
| 1610 | dnl Regardless of how the test turns out, Solaris doesn't handle -static |
| 1611 | dnl This is caused by the socket library requiring the nsl library, which |
| 1612 | dnl requires the -dl library, which only works for dynamically linked |
| 1613 | dnl programs. It basically means you can't have statically linked programs |
| 1614 | dnl which use the network under Solaris. |
| 1615 | dnl |
| 1616 | case "$host_os" in |
| 1617 | solaris2.*) |
| 1618 | ac_cv_e2fsprogs_use_static=no |
| 1619 | ;; |
| 1620 | esac |
Theodore Ts'o | ae85148 | 1997-04-29 18:13:24 +0000 | [diff] [blame] | 1621 | AC_MSG_RESULT($ac_cv_e2fsprogs_use_static) |
Theodore Ts'o | ae85148 | 1997-04-29 18:13:24 +0000 | [diff] [blame] | 1622 | if test $ac_cv_e2fsprogs_use_static = yes; then |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 1623 | LDFLAGS_STATIC="$LDFLAGS_STATIC -static" |
Theodore Ts'o | ae85148 | 1997-04-29 18:13:24 +0000 | [diff] [blame] | 1624 | fi |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 1625 | AC_SUBST(LDFLAGS_STATIC) |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1626 | dnl |
Theodore Ts'o | 07a0db1 | 2003-07-05 14:50:24 -0400 | [diff] [blame] | 1627 | dnl Work around mysterious Darwin / GNU libintl problem |
| 1628 | dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like |
| 1629 | dnl Apple hacked gcc somehow?) |
| 1630 | dnl |
| 1631 | case "$host_os" in |
| 1632 | darwin*) |
Theodore Ts'o | 02d04db | 2008-08-22 10:52:42 -0400 | [diff] [blame] | 1633 | AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1634 | AC_DEFINE(_INTL_REDIRECT_MACROS, 1, |
| 1635 | [Define to 1 if Apple Darwin libintl workaround is needed]) |
Theodore Ts'o | 07a0db1 | 2003-07-05 14:50:24 -0400 | [diff] [blame] | 1636 | ;; |
| 1637 | esac |
| 1638 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1639 | dnl Only try to run the test suite if we're not cross compiling. |
| 1640 | dnl |
| 1641 | if test "$cross_compiling" = yes ; then |
| 1642 | DO_TEST_SUITE= |
| 1643 | else |
| 1644 | DO_TEST_SUITE=check |
| 1645 | fi |
| 1646 | AC_SUBST(DO_TEST_SUITE) |
| 1647 | dnl |
Theodore Ts'o | c6f35b8 | 2003-05-17 16:29:27 -0400 | [diff] [blame] | 1648 | dnl Only include the intl include files if we're building with them |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1649 | dnl |
| 1650 | INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' |
| 1651 | if test -n "$CPPFLAGS" ; then |
| 1652 | INCLUDES="$INCLUDES $CPPFLAGS" |
Theodore Ts'o | c6f35b8 | 2003-05-17 16:29:27 -0400 | [diff] [blame] | 1653 | fi |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1654 | if test "$USE_INCLUDED_LIBINTL" = "yes" ; then |
| 1655 | INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' |
| 1656 | fi |
Theodore Ts'o | 6c59a66 | 2014-01-04 20:44:29 -0500 | [diff] [blame] | 1657 | if test -n "$WITH_DIET_LIBC" ; then |
| 1658 | INCLUDES="$INCLUDES -D_REENTRANT" |
| 1659 | fi |
Theodore Ts'o | d1154eb | 2011-09-18 17:34:37 -0400 | [diff] [blame] | 1660 | AC_SUBST(INCLUDES) |
Theodore Ts'o | c6f35b8 | 2003-05-17 16:29:27 -0400 | [diff] [blame] | 1661 | dnl |
Theodore Ts'o | dd947da | 2005-11-09 18:37:07 -0400 | [diff] [blame] | 1662 | dnl Build CFLAGS |
| 1663 | dnl |
| 1664 | if test $cross_compiling = no; then |
Theodore Ts'o | 2873927 | 2014-01-03 00:26:43 -0500 | [diff] [blame] | 1665 | BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H" |
Theodore Ts'o | dd947da | 2005-11-09 18:37:07 -0400 | [diff] [blame] | 1666 | BUILD_LDFLAGS="$LDFLAGS" |
Theodore Ts'o | dd947da | 2005-11-09 18:37:07 -0400 | [diff] [blame] | 1667 | fi |
| 1668 | AC_SUBST(BUILD_CFLAGS) |
| 1669 | AC_SUBST(BUILD_LDFLAGS) |
| 1670 | dnl |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 1671 | dnl Define CFLAGS and LDFLAGS for shared libraries |
| 1672 | dnl |
| 1673 | CFLAGS_SHLIB=${CFLAGS_SHLIB:-$CFLAGS} |
| 1674 | CFLAGS_STLIB=${CFLAGS_STLIB:-$CFLAGS} |
| 1675 | LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} |
| 1676 | AC_SUBST(CFLAGS_SHLIB) |
| 1677 | AC_SUBST(CFLAGS_STLIB) |
| 1678 | AC_SUBST(LDFLAGS_SHLIB) |
Darrick J. Wong | 5ce368f | 2018-03-23 18:57:09 -0700 | [diff] [blame] | 1679 | |
| 1680 | dnl |
| 1681 | dnl Where do udev rules go? |
| 1682 | dnl |
| 1683 | AC_ARG_WITH([udev_rules_dir], |
| 1684 | [AS_HELP_STRING([--with-udev-rules-dir@<:@=DIR@:>@], |
| 1685 | [Install udev rules into DIR.])], |
| 1686 | [], |
| 1687 | [with_udev_rules_dir=yes]) |
| 1688 | AS_IF([test "x${with_udev_rules_dir}" != "xno"], |
| 1689 | [ |
| 1690 | AS_IF([test "x${with_udev_rules_dir}" = "xyes"], |
| 1691 | [ |
| 1692 | PKG_CHECK_MODULES([udev], [udev], |
| 1693 | [ |
| 1694 | with_udev_rules_dir="$($PKG_CONFIG --variable=udevdir udev)/rules.d" |
| 1695 | ], [ |
| 1696 | with_udev_rules_dir="" |
| 1697 | ]) |
| 1698 | ]) |
| 1699 | AC_MSG_CHECKING([for udev rules dir]) |
| 1700 | pkg_udev_rules_dir="${with_udev_rules_dir}" |
| 1701 | AS_IF([test -n "${pkg_udev_rules_dir}"], |
| 1702 | [ |
| 1703 | AC_MSG_RESULT(${pkg_udev_rules_dir}) |
| 1704 | have_udev="yes" |
| 1705 | ], |
| 1706 | [ |
| 1707 | AC_MSG_RESULT(no) |
| 1708 | have_udev="no" |
| 1709 | ]) |
| 1710 | ], |
| 1711 | [ |
| 1712 | have_udev="disabled" |
| 1713 | ]) |
| 1714 | AC_SUBST(have_udev) |
| 1715 | AC_SUBST(pkg_udev_rules_dir) |
| 1716 | |
Theodore Ts'o | fd1677e | 2016-05-21 23:51:19 -0400 | [diff] [blame] | 1717 | dnl |
Darrick J. Wong | a2df589 | 2018-03-23 18:57:22 -0700 | [diff] [blame] | 1718 | dnl Where do cron jobs go? |
| 1719 | dnl |
| 1720 | AC_ARG_WITH([crond_dir], |
| 1721 | [AS_HELP_STRING([--with-crond-dir@<:@=DIR@:>@], |
| 1722 | [Install system crontabs into DIR.])], |
| 1723 | [], |
| 1724 | [with_crond_dir=yes]) |
| 1725 | AS_IF([test "x${with_crond_dir}" != "xno"], |
| 1726 | [ |
| 1727 | AS_IF([test "x${with_crond_dir}" = "xyes"], |
| 1728 | [ |
| 1729 | AS_IF([test -d "/etc/cron.d"], |
Theodore Ts'o | 188bf39 | 2019-05-22 13:03:38 -0400 | [diff] [blame] | 1730 | [with_crond_dir="/etc/cron.d"], |
| 1731 | [have_crond="no"; with_crond_dir=""]) |
Darrick J. Wong | a2df589 | 2018-03-23 18:57:22 -0700 | [diff] [blame] | 1732 | ]) |
| 1733 | AC_MSG_CHECKING([for system crontab dir]) |
| 1734 | crond_dir="${with_crond_dir}" |
| 1735 | AS_IF([test -n "${crond_dir}"], |
| 1736 | [ |
| 1737 | AC_MSG_RESULT(${crond_dir}) |
| 1738 | have_crond="yes" |
| 1739 | ], |
| 1740 | [ |
| 1741 | AC_MSG_RESULT(no) |
| 1742 | have_crond="no" |
| 1743 | ]) |
| 1744 | ], |
| 1745 | [ |
| 1746 | have_crond="disabled" |
| 1747 | ]) |
| 1748 | AC_SUBST(have_crond) |
| 1749 | AC_SUBST(crond_dir) |
| 1750 | |
| 1751 | dnl |
| 1752 | dnl Where do systemd services go? |
| 1753 | dnl |
| 1754 | AC_ARG_WITH([systemd_unit_dir], |
| 1755 | [AS_HELP_STRING([--with-systemd-unit-dir@<:@=DIR@:>@], |
| 1756 | [Install systemd system units into DIR.])], |
| 1757 | [], |
| 1758 | [with_systemd_unit_dir=yes]) |
| 1759 | AS_IF([test "x${with_systemd_unit_dir}" != "xno"], |
| 1760 | [ |
| 1761 | AS_IF([test "x${with_systemd_unit_dir}" = "xyes"], |
| 1762 | [ |
| 1763 | PKG_CHECK_MODULES([systemd], [systemd], |
| 1764 | [ |
| 1765 | with_systemd_unit_dir="$($PKG_CONFIG --variable=systemdsystemunitdir systemd)" |
| 1766 | ], [ |
| 1767 | with_systemd_unit_dir="" |
| 1768 | ]) |
| 1769 | m4_pattern_allow([^PKG_(MAJOR|MINOR|BUILD|REVISION)$]) |
| 1770 | ]) |
| 1771 | AC_MSG_CHECKING([for systemd system unit dir]) |
| 1772 | systemd_system_unit_dir="${with_systemd_unit_dir}" |
| 1773 | AS_IF([test -n "${systemd_system_unit_dir}"], |
| 1774 | [ |
| 1775 | AC_MSG_RESULT(${systemd_system_unit_dir}) |
| 1776 | have_systemd="yes" |
| 1777 | ], |
| 1778 | [ |
| 1779 | AC_MSG_RESULT(no) |
| 1780 | have_systemd="no" |
| 1781 | ]) |
| 1782 | ], |
| 1783 | [ |
| 1784 | have_systemd="disabled" |
| 1785 | ]) |
| 1786 | AC_SUBST(have_systemd) |
| 1787 | AC_SUBST(systemd_system_unit_dir) |
| 1788 | |
| 1789 | dnl |
Theodore Ts'o | 50e1e10 | 1997-04-26 13:58:21 +0000 | [diff] [blame] | 1790 | dnl Make our output files, being sure that we create the some miscellaneous |
| 1791 | dnl directories |
| 1792 | dnl |
| 1793 | test -d lib || mkdir lib |
| 1794 | test -d include || mkdir include |
| 1795 | test -d include/linux || mkdir include/linux |
Theodore Ts'o | defde78 | 1999-01-04 07:39:19 +0000 | [diff] [blame] | 1796 | test -d include/asm || mkdir include/asm |
Theodore Ts'o | 44dfb37 | 2015-07-01 19:42:05 -0400 | [diff] [blame] | 1797 | if test -z "$UUID_CMT" ; then |
| 1798 | uuid_out_list="lib/uuid/Makefile lib/uuid/uuid.pc \ |
| 1799 | lib/uuid/uuid_types.h" |
| 1800 | fi |
| 1801 | if test -z "$BLKID_CMT" ; then |
| 1802 | blkid_out_list="lib/blkid/Makefile lib/blkid/blkid.pc \ |
| 1803 | lib/blkid/blkid_types.h" |
| 1804 | fi |
Theodore Ts'o | e5f0f3e | 2018-08-18 10:42:44 -0400 | [diff] [blame] | 1805 | for i in MCONFIG Makefile \ |
Theodore Ts'o | 183c73b | 2012-05-12 23:13:24 -0400 | [diff] [blame] | 1806 | util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ |
Theodore Ts'o | 4ea7ea0 | 2006-04-09 08:41:55 -0400 | [diff] [blame] | 1807 | lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ |
| 1808 | lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ |
Theodore Ts'o | f34af41 | 2015-07-11 23:05:57 -0400 | [diff] [blame] | 1809 | $uuid_out_list $blkid_out_list lib/support/Makefile \ |
Theodore Ts'o | 44dfb37 | 2015-07-01 19:42:05 -0400 | [diff] [blame] | 1810 | lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \ |
Theodore Ts'o | 921f4ad | 2004-11-19 17:25:27 -0500 | [diff] [blame] | 1811 | misc/Makefile ext2ed/Makefile e2fsck/Makefile \ |
Theodore Ts'o | 94ba8c7 | 2003-03-02 02:07:14 -0500 | [diff] [blame] | 1812 | debugfs/Makefile tests/Makefile tests/progs/Makefile \ |
Theodore Ts'o | e598c29 | 2020-11-24 23:00:57 -0500 | [diff] [blame] | 1813 | resize/Makefile doc/Makefile po/Makefile.in scrub/Makefile; do |
Theodore Ts'o | 94ba8c7 | 2003-03-02 02:07:14 -0500 | [diff] [blame] | 1814 | if test -d `dirname ${srcdir}/$i` ; then |
| 1815 | outlist="$outlist $i" |
| 1816 | fi |
| 1817 | done |
| 1818 | AC_OUTPUT($outlist) |
Theodore Ts'o | ee683a1 | 2005-02-05 15:53:56 -0500 | [diff] [blame] | 1819 | if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi |