blob: 2b816190c11351d92ef4e42a2425f1774be8b922 [file] [log] [blame]
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001AC_INIT(version.h)
Theodore Ts'ob0cacab2004-11-30 19:00:19 -05002AC_PREREQ(2.50)
3AC_CONFIG_AUX_DIR(config)
Theodore Ts'od1154eb2011-09-18 17:34:37 -04004AC_CONFIG_HEADERS([lib/config.h])
5AH_BOTTOM([#include "dirpaths.h"])
Theodore Ts'o50e1e101997-04-26 13:58:21 +00006MCONFIG=./MCONFIG
7AC_SUBST_FILE(MCONFIG)
Theodore Ts'o74becf31997-04-26 14:37:06 +00008BINARY_TYPE=bin
9dnl
10dnl This is to figure out the version number and the date....
11dnl
12E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h \
13 | awk '{print $3}' | tr \" " " | awk '{print $1}'`
14DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
15 | tr \" " "`
Theodore Ts'obff0cc92003-03-23 01:37:53 -050016E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'`
Theodore Ts'o74becf31997-04-26 14:37:06 +000017MONTH=`echo $DATE | awk -F- '{print $2}'`
18YEAR=`echo $DATE | awk -F- '{print $3}'`
19
Theodore Ts'o40fa8cc1999-01-09 05:06:02 +000020if expr $YEAR ">" 1900 > /dev/null ; then
21 E2FSPROGS_YEAR=$YEAR
22elif expr $YEAR ">" 90 >/dev/null ; then
Theodore Ts'o74becf31997-04-26 14:37:06 +000023 E2FSPROGS_YEAR=19$YEAR
24else
25 E2FSPROGS_YEAR=20$YEAR
26fi
27
28case $MONTH in
Andreas Dilger927566a2006-11-12 19:41:25 -050029Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;;
30Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;;
31Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;;
32Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;;
33May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;;
34Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;;
35Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;;
36Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;;
37Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;;
38Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;;
39Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;;
40Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
Theodore Ts'o02d04db2008-08-22 10:52:42 -040041*) AC_MSG_WARN([Unknown month $MONTH??]) ;;
Theodore Ts'o74becf31997-04-26 14:37:06 +000042esac
43
Andreas Dilger927566a2006-11-12 19:41:25 -050044base_ver=`echo $E2FSPROGS_VERSION | \
45 sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
Andreas Dilger927566a2006-11-12 19:41:25 -050046
47date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
48
49case $E2FSPROGS_VERSION in
50*-WIP|pre-*)
Theodore Ts'oab063962008-07-07 16:07:43 -040051 E2FSPROGS_PKGVER="$base_ver~WIP-$E2FSPROGS_YEAR-$MONTH_NUM-$E2FSPROGS_DAY"
Andreas Dilger927566a2006-11-12 19:41:25 -050052 ;;
53*)
54 E2FSPROGS_PKGVER="$base_ver"
55 ;;
56esac
57
58unset DATE MONTH YEAR base_ver pre_vers date_spec
Theodore Ts'o02d04db2008-08-22 10:52:42 -040059AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION])
60AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}])
Theodore Ts'o74becf31997-04-26 14:37:06 +000061AC_SUBST(E2FSPROGS_YEAR)
62AC_SUBST(E2FSPROGS_MONTH)
Theodore Ts'obff0cc92003-03-23 01:37:53 -050063AC_SUBST(E2FSPROGS_DAY)
Theodore Ts'o74becf31997-04-26 14:37:06 +000064AC_SUBST(E2FSPROGS_VERSION)
Andreas Dilger927566a2006-11-12 19:41:25 -050065AC_SUBST(E2FSPROGS_PKGVER)
Theodore Ts'oea97be52001-09-19 15:20:12 -040066AC_CANONICAL_HOST
Theodore Ts'o74becf31997-04-26 14:37:06 +000067dnl
Theodore Ts'o57aa50d2009-11-26 10:38:04 -050068dnl Check to see if libdl exists for the sake of dlopen
69dnl
70DLOPEN_LIB=''
71AC_CHECK_LIB(dl, dlopen,
72[DLOPEN_LIB=-ldl
Theodore Ts'od1154eb2011-09-18 17:34:37 -040073AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if dlopen/libdl exists])])
Theodore Ts'o57aa50d2009-11-26 10:38:04 -050074AC_SUBST(DLOPEN_LIB)
75dnl
Theodore Ts'od21ae6c2003-05-05 09:00:24 -040076dnl Use diet libc
77dnl
Theodore Ts'oeafba6c2008-07-10 10:21:42 -040078WITH_DIET_LIBC=
Theodore Ts'od21ae6c2003-05-05 09:00:24 -040079AC_ARG_WITH([diet-libc],
Theodore Ts'o32493942007-12-31 10:45:01 -050080[ --with-diet-libc use diet libc],
Theodore Ts'od21ae6c2003-05-05 09:00:24 -040081CC="diet cc -nostdinc"
Theodore Ts'oeafba6c2008-07-10 10:21:42 -040082WITH_DIET_LIBC=yes
Theodore Ts'od21ae6c2003-05-05 09:00:24 -040083AC_MSG_RESULT(CC=$CC))dnl
84dnl
Theodore Ts'o74becf31997-04-26 14:37:06 +000085AC_ARG_WITH([cc],
Theodore Ts'o0b5b9f92009-09-06 21:28:47 -040086AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
87AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
Theodore Ts'o74becf31997-04-26 14:37:06 +000088dnl
89AC_ARG_WITH([ccopts],
Theodore Ts'o0b5b9f92009-09-06 21:28:47 -040090AC_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]),
91AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead]))
92dnl
93AC_ARG_WITH([ldopts],
94AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]),
95AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead]))
96dnl
97AC_PROG_CC
Theodore Ts'o9b3018a2011-08-11 14:56:49 -040098if test "$GCC" = yes; then
99 RDYNAMIC="-rdynamic"
100 AC_SUBST(RDYNAMIC)
101fi
Theodore Ts'o0b5b9f92009-09-06 21:28:47 -0400102AC_PROG_CPP
Theodore Ts'o74becf31997-04-26 14:37:06 +0000103dnl
Matthias Andreeb1c92f92004-02-23 21:30:11 +0100104dnl Alpha computers use fast and imprecise floating point code that may
105dnl miss exceptions by default. Force sane options if we're using GCC.
106AC_MSG_CHECKING(for additional special compiler flags)
107if test "$GCC" = yes
108then
109 case "$host_cpu" in
110 alpha) addcflags="-mieee" ;;
111 esac
112fi
113if test "x$addcflags" != x
114then
115 AC_MSG_RESULT($addcflags)
116 CFLAGS="$addcflags $CFLAGS"
117else
118 AC_MSG_RESULT([[(none)]])
119fi
120dnl
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000121dnl Set default values for library extentions. Will be dealt with after
122dnl parsing configuration opions, which may modify these
123dnl
124LIB_EXT=.a
125STATIC_LIB_EXT=.a
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400126PROFILED_LIB_EXT=.a
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000127dnl
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +0000128dnl Allow separate `root_prefix' to be specified
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000129dnl
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +0000130AC_ARG_WITH([root-prefix],
131[ --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
132root_prefix=$withval,
133root_prefix=NONE)dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000134dnl
Theodore Ts'o98919bd2005-02-04 10:43:58 -0500135dnl handle --enable-maintainer-mode
136dnl
137AC_ARG_ENABLE([maintainer-mode],
138[ --enable-maintainer-mode enable makefile rules useful for maintainers],
139if test "$enableval" = "no"
140then
141 MAINTAINER_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400142 AC_MSG_RESULT([Disabling maintainer mode])
Theodore Ts'o98919bd2005-02-04 10:43:58 -0500143else
144 MAINTAINER_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400145 AC_MSG_RESULT([Enabling maintainer mode])
Theodore Ts'o98919bd2005-02-04 10:43:58 -0500146fi
147,
148MAINTAINER_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400149AC_MSG_RESULT([Disabling maintainer mode by default])
Theodore Ts'o98919bd2005-02-04 10:43:58 -0500150)
151AC_SUBST(MAINTAINER_CMT)
152dnl
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400153dnl handle --enable-symlink-install
154dnl
155AC_ARG_ENABLE([symlink-install],
156[ --enable-symlink-install use symlinks when installing instead of hard links],
157if test "$enableval" = "no"
158then
159 LINK_INSTALL_FLAGS=-f
160 AC_MSG_RESULT([Disabling symlinks for install])
161else
162 LINK_INSTALL_FLAGS=-sf
163 AC_MSG_RESULT([Enabling symlinks for install])
164fi
165,
166LINK_INSTALL_FLAGS=-f
167AC_MSG_RESULT([Disabling symlinks for install])
168)
169AC_SUBST(LINK_INSTALL_FLAGS)
170dnl
171dnl handle --enable-symlink-build
172dnl
173AC_ARG_ENABLE([symlink-build],
174[ --enable-symlink-build use symlinks while building instead of hard links],
175if test "$enableval" = "no"
176then
177 LINK_BUILD_FLAGS=
178 AC_MSG_RESULT([Disabling symlinks for build])
179else
180 LINK_BUILD_FLAGS=-s
181 AC_MSG_RESULT([Enabling symlinks for build])
182fi
183,
184LINK_BUILD_FLAGS=
185AC_MSG_RESULT([Disabling symlinks for build])
186)
187AC_SUBST(LINK_BUILD_FLAGS)
188dnl
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400189dnl handle --enable-verbose-makecmds
190dnl
191AC_ARG_ENABLE([verbose-makecmds],
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400192[ --enable-verbose-makecmds enable verbose make command output],
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400193if test "$enableval" = "no"
194then
195 AC_MSG_RESULT([Disabling verbose make commands])
196 E=@echo
197 Q=@
198else
199 AC_MSG_RESULT([Enabling verbose make commands])
200 E=@\\#
201 Q=
202fi
203,
204AC_MSG_RESULT([Disabling verbose make commands])
205E=@echo
206Q=@
207)
208AC_SUBST(E)
209AC_SUBST(Q)
210dnl
Theodore Ts'o19178752000-02-11 15:55:07 +0000211dnl handle --enable-compression
212dnl
213AC_ARG_ENABLE([compression],
214[ --enable-compression enable EXPERIMENTAL compression support],
215if test "$enableval" = "no"
216then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400217 AC_MSG_RESULT([Disabling compression support])
Theodore Ts'o19178752000-02-11 15:55:07 +0000218else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400219 AC_DEFINE(ENABLE_COMPRESSION, 1,
220 [Define to 1 if ext2 compression enabled])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400221 AC_MSG_RESULT([Enabling compression support])
222 AC_MSG_WARN([Compression support is experimental])
Theodore Ts'o19178752000-02-11 15:55:07 +0000223fi
224,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400225AC_MSG_RESULT([Disabling compression support by default])
Theodore Ts'o19178752000-02-11 15:55:07 +0000226)
227dnl
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400228dnl handle --enable-htree
229dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400230AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400231AC_ARG_ENABLE([htree],
232[ --enable-htree enable EXPERIMENTAL htree directory support],
233if test "$enableval" = "no"
234then
235 HTREE_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400236 AC_MSG_RESULT([Disabling htree directory support])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400237else
238 HTREE_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400239 AC_DEFINE(ENABLE_HTREE, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400240 AC_MSG_RESULT([Enabling htree directory support])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400241fi
242,
Theodore Ts'o559ca6c2002-08-18 03:48:55 -0400243HTREE_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400244AC_DEFINE(ENABLE_HTREE, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400245AC_MSG_RESULT([Enabling htree directory support by default])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400246)
247AC_SUBST(HTREE_CMT)
248dnl
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500249dnl This needs to be before all of the --enable-*-shlibs options
250dnl
251E2_PKG_CONFIG_STATIC=--static
Theodore Ts'o55da9872008-09-02 23:12:38 -0400252LDFLAG_DYNAMIC=
253PRIVATE_LIBS_CMT=
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500254dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000255dnl handle --enable-elf-shlibs
256dnl
257AC_ARG_ENABLE([elf-shlibs],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000258[ --enable-elf-shlibs select ELF shared libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000259if test "$enableval" = "no"
260then
261 ELF_CMT=#
262 MAKEFILE_ELF=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400263 AC_MSG_RESULT([Disabling ELF shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000264else
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500265 E2_PKG_CONFIG_STATIC=
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000266 ELF_CMT=
267 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
Theodore Ts'of5955dd2000-10-25 02:38:39 +0000268 [case "$host_os" in
269 solaris2.*)
270 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
271 ;;
272 esac]
Theodore Ts'o74becf31997-04-26 14:37:06 +0000273 BINARY_TYPE=elfbin
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000274 LIB_EXT=.so
Theodore Ts'o55da9872008-09-02 23:12:38 -0400275 PRIVATE_LIBS_CMT=#
276 LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib']
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400277 AC_MSG_RESULT([Enabling ELF shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000278fi
279,
280MAKEFILE_ELF=/dev/null
281ELF_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400282AC_MSG_RESULT([Disabling ELF shared libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000283)
284AC_SUBST(ELF_CMT)
285AC_SUBST_FILE(MAKEFILE_ELF)
286dnl
287dnl handle --enable-bsd-shlibs
288dnl
289AC_ARG_ENABLE([bsd-shlibs],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000290[ --enable-bsd-shlibs select BSD shared libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000291if test "$enableval" = "no"
292then
293 BSDLIB_CMT=#
294 MAKEFILE_BSDLIB=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400295 AC_MSG_RESULT([Disabling BSD shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000296else
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500297 E2_PKG_CONFIG_STATIC=
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000298 BSDLIB_CMT=
299 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000300 LIB_EXT=.so
Theodore Ts'oe71d8732003-03-14 02:13:48 -0500301 [case "$host_os" in
Theodore Ts'oaa75ecc2003-03-17 10:01:22 -0500302 darwin*)
Theodore Ts'oe71d8732003-03-14 02:13:48 -0500303 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
304 LIB_EXT=.dylib
305 ;;
306 esac]
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400307 AC_MSG_RESULT([Enabling BSD shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000308fi
309,
310MAKEFILE_BSDLIB=/dev/null
311BSDLIB_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400312AC_MSG_RESULT([Disabling BSD shared libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000313)
314AC_SUBST(BSDLIB_CMT)
315AC_SUBST_FILE(MAKEFILE_BSDLIB)
316dnl
317dnl handle --enable-profile
318dnl
319AC_ARG_ENABLE([profile],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000320[ --enable-profile build profiling libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000321if test "$enableval" = "no"
322then
323 PROFILE_CMT=#
324 MAKEFILE_PROFILE=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400325 AC_MSG_RESULT([Disabling profiling libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000326else
327 PROFILE_CMT=
328 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000329 PROFILED_LIB_EXT=_p.a
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400330 AC_MSG_RESULT([Building profiling libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000331fi
332,
333PROFILE_CMT=#
334MAKEFILE_PROFILE=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400335AC_MSG_RESULT([Disabling profiling libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000336)
337AC_SUBST(PROFILE_CMT)
338AC_SUBST_FILE(MAKEFILE_PROFILE)
339dnl
340dnl handle --enable-checker
341dnl
342AC_ARG_ENABLE([checker],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000343[ --enable-checker build checker libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000344if test "$enableval" = "no"
345then
346 CHECKER_CMT=#
347 MAKEFILE_CHECKER=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400348 AC_MSG_RESULT([Disabling checker libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000349else
350 CHECKER_CMT=
351 MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400352 AC_MSG_RESULT([Building checker libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000353fi
354,
355CHECKER_CMT=#
356MAKEFILE_CHECKER=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400357AC_MSG_RESULT([Disabling checker libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000358)
359AC_SUBST(CHECKER_CMT)
360AC_SUBST_FILE(MAKEFILE_CHECKER)
361dnl
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000362dnl Substitute library extensions
363dnl
364AC_SUBST(LIB_EXT)
365AC_SUBST(STATIC_LIB_EXT)
366AC_SUBST(PROFILED_LIB_EXT)
Theodore Ts'o55da9872008-09-02 23:12:38 -0400367AC_SUBST(LDFLAG_DYNAMIC)
368AC_SUBST(PRIVATE_LIBS_CMT)
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000369dnl
Theodore Ts'o782bebf2002-11-08 18:46:45 -0500370dnl handle --enable-jbd-debug
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000371dnl
Theodore Ts'o782bebf2002-11-08 18:46:45 -0500372AC_ARG_ENABLE([jbd-debug],
373[ --enable-jbd-debug enable journal debugging],
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000374if test "$enableval" = "no"
375then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400376 AC_MSG_RESULT([Disabling journal debugging])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000377else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400378 AC_DEFINE(CONFIG_JBD_DEBUG, 1,
379 [Define to 1 if debugging ext3/4 journal code])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400380 AC_MSG_RESULT([Enabling journal debugging])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000381fi
382,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400383AC_MSG_RESULT([Disabling journal debugging by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000384)
385dnl
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500386dnl handle --enable-blkid-debug
387dnl
388AC_ARG_ENABLE([blkid-debug],
Theodore Ts'od21ae6c2003-05-05 09:00:24 -0400389[ --enable-blkid-debug enable blkid debugging],
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500390if test "$enableval" = "no"
391then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400392 AC_MSG_RESULT([Disabling blkid debugging])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500393else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400394 AC_DEFINE(CONFIG_BLKID_DEBUG, 1,
395 [Define to 1 if debugging the blkid library])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400396 AC_MSG_RESULT([Enabling blkid debugging])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500397fi
398,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400399AC_MSG_RESULT([Disabling blkid debugging by default])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500400)
401dnl
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400402dnl handle --enable-testio-debug
403dnl
404AC_ARG_ENABLE([testio-debug],
Theodore Ts'oaf773652008-09-01 11:27:27 -0400405[ --disable-testio-debug disable the use of the test I/O manager for debugging],
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400406AH_TEMPLATE([CONFIG_TESTIO_DEBUG],
407 [Define to 1 if the testio I/O manager should be enabled])
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400408if test "$enableval" = "no"
409then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400410 AC_MSG_RESULT([Disabling testio debugging])
Theodore Ts'oaf773652008-09-01 11:27:27 -0400411 TEST_IO_CMT="#"
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400412else
Theodore Ts'oaf773652008-09-01 11:27:27 -0400413 TEST_IO_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400414 AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400415 AC_MSG_RESULT([Enabling testio debugging])
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400416fi
417,
Theodore Ts'oaf773652008-09-01 11:27:27 -0400418AC_MSG_RESULT([Enabling testio debugging by default])
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400419AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
Theodore Ts'oaf773652008-09-01 11:27:27 -0400420TEST_IO_CMT=
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400421)
Theodore Ts'oaf773652008-09-01 11:27:27 -0400422AC_SUBST(TEST_IO_CMT)
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400423dnl
Scott James Remnant39fd3d42009-05-14 13:03:25 +0100424dnl handle --disable-libuuid
425dnl
426PKG_PROG_PKG_CONFIG
427LIBUUID=
428DEPLIBUUID=
429STATIC_LIBUUID=
430DEPSTATIC_LIBUUID=
431PROFILED_LIBUUID=
432DEPPROFILED_LIBUUID=
433UUID_CMT=
434AC_ARG_ENABLE([libuuid],
435[ --disable-libuuid do not build private uuid library],
436if test "$enableval" = "no"
437then
438 if test -z "$PKG_CONFIG"; then
439 AC_MSG_ERROR([pkg-config not installed; please install it.])
440 fi
441
442 AC_CHECK_LIB(uuid, uuid_generate,
443 [LIBUUID=`$PKG_CONFIG --libs uuid`;
444 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
445 [AC_MSG_ERROR([external uuid library not found])],
446 [$LIBUUID])
447 UUID_CMT=#
448 AC_MSG_RESULT([Disabling private uuid library])
449else
450 LIBUUID='$(LIB)/libuuid'$LIB_EXT
451 DEPLIBUUID=$LIBUUID
452 STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
453 DEPSTATIC_LIBUUID=$STATIC_LIBUUID
454 PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
455 DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
456 AC_MSG_RESULT([Enabling private uuid library])
457fi
458,
459LIBUUID='$(LIB)/libuuid'$LIB_EXT
460DEPLIBUUID=$LIBUUID
461STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
462DEPSTATIC_LIBUUID=$STATIC_LIBUUID
463PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
464DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
465AC_MSG_RESULT([Enabling private uuid library by default])
466)
467AC_SUBST(LIBUUID)
468AC_SUBST(DEPLIBUUID)
469AC_SUBST(STATIC_LIBUUID)
470AC_SUBST(DEPSTATIC_LIBUUID)
471AC_SUBST(PROFILED_LIBUUID)
472AC_SUBST(DEPPROFILED_LIBUUID)
473AC_SUBST(UUID_CMT)
474dnl
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400475dnl handle --disable-libblkid
476dnl
477PKG_PROG_PKG_CONFIG
478LIBBLKID=
479DEPLIBBLKID=
480STATIC_LIBBLKID=
481DEPSTATIC_LIBBLKID=
482PROFILED_LIBBLKID=
483DEPPROFILED_LIBBLKID=
484BLKID_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400485AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs])
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400486AC_ARG_ENABLE([libblkid],
487[ --disable-libblkid do not build private blkid library],
488if test "$enableval" = "no"
489then
490 if test -z "$PKG_CONFIG"; then
491 AC_MSG_ERROR([pkg-config not installed; please install it.])
492 fi
493
494 AC_CHECK_LIB(blkid, blkid_get_cache,
495 [LIBBLKID=`$PKG_CONFIG --libs blkid`;
496 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
497 [AC_MSG_ERROR([external blkid library not found])],
498 [$LIBBLKID])
499 BLKID_CMT=#
500 AC_MSG_RESULT([Disabling private blkid library])
501else
502 LIBBLKID='$(LIB)/libblkid'$LIB_EXT
503 DEPLIBBLKID=$LIBBLKID
504 STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
505 DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
506 PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
507 DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400508 AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400509 AC_MSG_RESULT([Enabling private blkid library])
510fi
511,
512LIBBLKID='$(LIB)/libblkid'$LIB_EXT
513DEPLIBBLKID=$LIBBLKID
514STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
515DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
516PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
517DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400518AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400519AC_MSG_RESULT([Enabling private blkid library by default])
520)
521AC_SUBST(LIBBLKID)
522AC_SUBST(DEPLIBBLKID)
523AC_SUBST(STATIC_LIBBLKID)
524AC_SUBST(DEPSTATIC_LIBBLKID)
525AC_SUBST(PROFILED_LIBBLKID)
526AC_SUBST(DEPPROFILED_LIBBLKID)
527AC_SUBST(BLKID_CMT)
528dnl
Theodore Ts'o7becb202011-11-14 10:40:43 -0500529dnl handle --enable-quota
Aditya Kalif239fef2011-07-20 11:40:02 -0700530dnl
531PKG_PROG_PKG_CONFIG
Theodore Ts'o7becb202011-11-14 10:40:43 -0500532AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
533AC_ARG_ENABLE([quota],
534[ --enable-libquota enable quota support],
Aditya Kalif239fef2011-07-20 11:40:02 -0700535if test "$enableval" = "no"
536then
Theodore Ts'o7becb202011-11-14 10:40:43 -0500537 AC_MSG_RESULT([Disabling quota support])
Aditya Kalif239fef2011-07-20 11:40:02 -0700538else
Theodore Ts'o7becb202011-11-14 10:40:43 -0500539 AC_DEFINE(CONFIG_QUOTA, 1)
540 AC_MSG_RESULT([Enabling quota support])
Aditya Kalif239fef2011-07-20 11:40:02 -0700541fi
542,
Theodore Ts'o7becb202011-11-14 10:40:43 -0500543AC_MSG_RESULT([Disabling quota support by default])
544)
545dnl
546dnl Define stuff expected for quota library
547dnl
Aditya Kalif239fef2011-07-20 11:40:02 -0700548LIBQUOTA='$(LIB)/libquota'$LIB_EXT
549DEPLIBQUOTA=$LIBQUOTA
550STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
551DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
552PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
553DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
Aditya Kalif239fef2011-07-20 11:40:02 -0700554AC_SUBST(LIBQUOTA)
555AC_SUBST(DEPLIBQUOTA)
556AC_SUBST(STATIC_LIBQUOTA)
557AC_SUBST(DEPSTATIC_LIBQUOTA)
558AC_SUBST(PROFILED_LIBQUOTA)
559AC_SUBST(DEPPROFILED_LIBQUOTA)
560AC_SUBST(QUOTA_CMT)
561dnl
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000562dnl handle --enable-debugfs
563dnl
564AC_ARG_ENABLE([debugfs],
565[ --disable-debugfs disable support of debugfs program],
566if test "$enableval" = "no"
567then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400568 AC_MSG_RESULT([Disabling debugfs support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000569 DEBUGFS_CMT="#"
570else
571 DEBUGFS_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400572 AC_MSG_RESULT([Enabling debugfs support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000573fi
574,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400575AC_MSG_RESULT([Enabling debugfs support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000576DEBUGFS_CMT=
577)
578AC_SUBST(DEBUGFS_CMT)
579dnl
580dnl handle --enable-imager
581dnl
582AC_ARG_ENABLE([imager],
583[ --disable-imager disable support of e2image program],
584if test "$enableval" = "no"
585then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400586 AC_MSG_RESULT([Disabling e2image support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000587 IMAGER_CMT="#"
588else
589 IMAGER_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400590 AC_MSG_RESULT([Enabling e2image support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000591fi
592,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400593AC_MSG_RESULT([Enabling e2image support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000594IMAGER_CMT=
595)
596AC_SUBST(IMAGER_CMT)
597dnl
598dnl handle --enable-resizer
599dnl
600AC_ARG_ENABLE([resizer],
601[ --disable-resizer disable support of e2resize program],
602if test "$enableval" = "no"
603then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400604 AC_MSG_RESULT([Disabling e2resize support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000605 RESIZER_CMT="#"
606else
607 RESIZER_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400608 AC_MSG_RESULT([Enabling e2resize support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000609fi
610,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400611AC_MSG_RESULT([Enabling e2resize support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000612RESIZER_CMT=
613)
614AC_SUBST(RESIZER_CMT)
615dnl
Theodore Ts'o8d9c50c2010-12-24 15:19:44 -0500616dnl handle --enable-defrag
617dnl
618AC_ARG_ENABLE([defrag],
619[ --disable-defrag disable support of e4defrag program],
620if test "$enableval" = "no"
621then
622 AC_MSG_RESULT([Disabling e4defrag support])
623 DEFRAG_CMT="#"
624else
625 DEFRAG_CMT=
626 AC_MSG_RESULT([Enabling e4defrag support])
627fi
628,
629AC_MSG_RESULT([Enabling e4defrag support by default])
630DEFRAG_CMT=
631)
632AC_SUBST(DEFRAG_CMT)
633dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000634dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
635dnl
636AC_ARG_ENABLE([fsck],
637[ --enable-fsck build fsck wrapper program],
638[if test "$enableval" = "no"
639then
640 FSCK_PROG='' FSCK_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400641 AC_MSG_RESULT([Not building fsck wrapper])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000642else
643 FSCK_PROG=fsck FSCK_MAN=fsck.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400644 AC_MSG_RESULT([Building fsck wrapper])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000645fi]
646,
647[case "$host_os" in
Theodore Ts'oe3632402004-05-04 19:39:54 -0400648 gnu*)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000649 FSCK_PROG='' FSCK_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400650 AC_MSG_RESULT([Not building fsck wrapper by default])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000651 ;;
652 *)
653 FSCK_PROG=fsck FSCK_MAN=fsck.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400654 AC_MSG_RESULT([Building fsck wrapper by default])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000655esac]
656)
657AC_SUBST(FSCK_PROG)
658AC_SUBST(FSCK_MAN)
659dnl
Theodore Ts'o5d407732004-09-18 14:53:14 -0400660dnl See whether to install the `e2initrd-helper' program
661dnl
662AC_ARG_ENABLE([e2initrd-helper],
663[ --enable-e2initrd-helper build e2initrd-helper program],
664[if test "$enableval" = "no"
665then
666 E2INITRD_PROG='' E2INITRD_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400667 AC_MSG_RESULT([Not building e2initrd helper])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400668else
669 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400670 AC_MSG_RESULT([Building e2initrd helper])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400671fi]
672,
673E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400674AC_MSG_RESULT([Building e2initrd helper by default])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400675)
676AC_SUBST(E2INITRD_PROG)
677AC_SUBST(E2INITRD_MAN)
Karel Zak4db2f592006-03-08 14:17:28 -0500678dnl
Theodore Ts'o5d407732004-09-18 14:53:14 -0400679dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000680dnl
Theodore Ts'o32493942007-12-31 10:45:01 -0500681AC_ARG_ENABLE([tls],
682[ --disable-tls disable use of thread local support],
683[if test "$enableval" = "no"
684then
685 try_tls=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400686 AC_MSG_RESULT([Disabling thread local support])
Theodore Ts'o32493942007-12-31 10:45:01 -0500687else
688 try_tls="yes"
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400689 AC_MSG_RESULT([Enabling thread local support])
Theodore Ts'o32493942007-12-31 10:45:01 -0500690fi]
691,
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400692if test -n "$WITH_DIET_LIBC"
693then
694 try_tls=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400695 AC_MSG_RESULT([Diet libc does not support thread local support])
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400696else
697 try_tls="yes"
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400698 AC_MSG_RESULT([Try using thread local support by default])
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400699fi
Theodore Ts'o32493942007-12-31 10:45:01 -0500700)
701if test "$try_tls" = "yes"
702then
703AX_TLS
704fi
705dnl
706dnl
707dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400708AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500709AC_ARG_ENABLE([uuidd],
710[ --disable-uuidd disable building the uuid daemon],
711[if test "$enableval" = "no"
712then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400713 AC_MSG_RESULT([Not building uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500714 UUIDD_CMT="#"
715else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400716 AC_DEFINE(USE_UUIDD, 1)
Theodore Ts'o5610f992007-12-31 11:16:56 -0500717 UUIDD_CMT=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400718 AC_MSG_RESULT([Building uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500719fi]
720,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400721AC_DEFINE(USE_UUIDD, 1)
Theodore Ts'o5610f992007-12-31 11:16:56 -0500722UUIDD_CMT=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400723AC_MSG_RESULT([Building uuidd by default])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500724)
725AC_SUBST(UUIDD_CMT)
726dnl
727dnl
728dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000729MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
730AC_SUBST_FILE(MAKEFILE_LIBRARY)
731dnl
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000732dnl Add internationalization support, using gettext.
733dnl
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500734GETTEXT_PACKAGE=e2fsprogs
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000735PACKAGE=e2fsprogs
736VERSION="$E2FSPROGS_VERSION"
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500737VERSION=0.14.1
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400738AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
739AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500740AC_SUBST(GETTEXT_PACKAGE)
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000741AC_SUBST(PACKAGE)
742AC_SUBST(VERSION)
743
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000744AM_GNU_GETTEXT
745dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000746dnl End of configuration options
747dnl
Theodore Ts'o74becf31997-04-26 14:37:06 +0000748AC_SUBST(BINARY_TYPE)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000749AC_PROG_MAKE_SET
Theodore Ts'obcb915b2009-07-02 18:19:10 -0400750CHECK_GNU_MAKE
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000751AC_PATH_PROG(LN, ln, ln)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000752AC_PROG_LN_S
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000753AC_PATH_PROG(MV, mv, mv)
754AC_PATH_PROG(CP, cp, cp)
755AC_PATH_PROG(RM, rm, rm)
756AC_PATH_PROG(CHMOD, chmod, :)
Theodore Ts'o32237012005-01-17 19:13:39 -0500757AC_PROG_AWK
758AC_PROG_EGREP
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000759AC_PATH_PROG(SED, sed, sed)
Theodore Ts'o9d564f71999-07-03 20:25:58 +0000760AC_PATH_PROG(PERL, perl, perl)
Theodore Ts'o250f79f2001-05-19 22:02:22 +0000761AC_PATH_PROG(LDCONFIG, ldconfig, :)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000762AC_CHECK_TOOL(AR, ar, ar)
763AC_CHECK_TOOL(RANLIB, ranlib, :)
764AC_CHECK_TOOL(STRIP, strip, :)
Manish Katiyar7321d942008-04-14 17:20:03 +0530765AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
766if test "_$MAKEINFO" = "_"; then
767 MAKEINFO="@echo Makeinfo is missing. Info documentation will not be built.;true"
768else
769 case "$MAKEINFO" in
770 */missing.*)
771 AC_MSG_WARN([
772*** Makeinfo is missing. Info documentation will not be built.])
773 ;;
774 *)
775 ;;
776 esac
777fi
778AC_SUBST(MAKEINFO)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000779AC_PROG_INSTALL
Theodore Ts'o6c133521999-07-03 20:37:03 +0000780# See if we need a separate native compiler.
781if test $cross_compiling = no; then
782 BUILD_CC="$CC"
783 AC_SUBST(BUILD_CC)
784else
785 AC_CHECK_PROGS(BUILD_CC, gcc cc)
786fi
Theodore Ts'oedbfd752011-10-04 11:20:50 -0400787AC_CHECK_HEADERS(dirent.h errno.h execinfo.h getopt.h malloc.h mntent.h paths.h semaphore.h setjmp.h signal.h stdarg.h stdint.h stdlib.h termios.h termio.h unistd.h utime.h linux/falloc.h linux/fd.h linux/major.h net/if_dl.h netinet/in.h sys/disklabel.h sys/file.h sys/ioctl.h sys/mkdev.h sys/mman.h sys/prctl.h sys/queue.h sys/quota.h sys/resource.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/syscall.h sys/sysmacros.h sys/time.h sys/types.h sys/un.h sys/wait.h)
Theodore Ts'oda76d6b2005-01-18 23:29:01 -0500788AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
789[[
790#if HAVE_SYS_QUEUE_H
791#include <sys/queue.h>
792#endif
793]])
794AC_CHECK_HEADERS(net/if.h,,,
795[[
796#if HAVE_SYS_TYPES_H
797#include <sys/types.h>
798#endif
799#if HAVE_SYS_SOCKET
800#include <sys/socket.h>
801#endif
802]])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000803AC_FUNC_VPRINTF
Theodore Ts'offf45482003-04-13 00:44:19 -0400804dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
805dnl is not decleared.
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400806AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
807 [Define to 1 if dirent has d_reclen])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500808 [#include <dirent.h>])
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400809dnl Check to see if ssize_t was declared
810AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
811 [Define to 1 if ssize_t declared])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500812 [#include <sys/types.h>])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000813dnl
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000814dnl Check to see if llseek() is declared in unistd.h. On some libc's
815dnl it is, and on others it isn't..... Thank you glibc developers....
816dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400817AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
818 [Define to 1 if llseek declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500819 [#include <unistd.h>])
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000820dnl
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000821dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
822dnl are so convoluted that I can't tell whether it will always be defined,
823dnl and if it isn't defined while lseek64 is defined in the library,
824dnl disaster will strike.
825dnl
826dnl Warning! Use of --enable-gcc-wall may throw off this test.
827dnl
828dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400829AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
830 [Define to 1 if lseek64 declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500831 [#define _LARGEFILE_SOURCE
832 #define _LARGEFILE64_SOURCE
833 #include <unistd.h>])
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000834dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000835dnl Word sizes...
836dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000837AC_CHECK_SIZEOF(short)
838AC_CHECK_SIZEOF(int)
839AC_CHECK_SIZEOF(long)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000840AC_CHECK_SIZEOF(long long)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000841SIZEOF_SHORT=$ac_cv_sizeof_short
842SIZEOF_INT=$ac_cv_sizeof_int
843SIZEOF_LONG=$ac_cv_sizeof_long
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000844SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000845AC_SUBST(SIZEOF_SHORT)
846AC_SUBST(SIZEOF_INT)
847AC_SUBST(SIZEOF_LONG)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000848AC_SUBST(SIZEOF_LONG_LONG)
Theodore Ts'o877eb6d2001-06-11 06:54:13 +0000849AC_C_BIGENDIAN
Theodore Ts'o29a5dee2007-07-04 16:28:47 -0400850BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -0400851ASM_TYPES_HEADER=./asm_types.h
852AC_SUBST_FILE(ASM_TYPES_HEADER)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000853dnl
Theodore Ts'o488c75a2008-06-07 08:55:21 -0400854dnl Save the configuration #defines needed for the public ext2fs.h
855dnl header file
856dnl
857echo "/* These defines are needed for the public ext2fs.h header file */" \
858 > public_config.h
859if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then
860 uniq tmp_config.$$ >> public_config.h
861else
862 echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
863fi
864if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
865 uniq tmp_config.$$ >> public_config.h
866else
867 echo "#undef WORDS_BIGENDIAN" >> public_config.h
868fi
869rm -f tmp_config.$$
870PUBLIC_CONFIG_HEADER=./public_config.h
871AC_SUBST_FILE(PUBLIC_CONFIG_HEADER)
872dnl
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400873dnl See if we have inttypes.h and if intptr_t is defined
874dnl
875AC_CHECK_HEADERS([inttypes.h])
Theodore Ts'od2ee56d2005-01-09 00:57:45 -0500876AC_CHECK_TYPES(intptr_t)
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400877dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000878dnl See if struct stat has a st_flags field, in which case we can get file
879dnl flags somewhat portably. Also check for the analogous setter, chflags().
880dnl
881AC_MSG_CHECKING(whether struct stat has a st_flags field)
882AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
883 AC_TRY_COMPILE([#include <sys/stat.h>],
884 [struct stat stat; stat.st_flags = 0;],
885 [e2fsprogs_cv_struct_st_flags=yes],
886 [e2fsprogs_cv_struct_st_flags=no]))
887AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
888if test "$e2fsprogs_cv_struct_st_flags" = yes; then
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000889 AC_MSG_CHECKING(whether st_flags field is useful)
890 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
891 AC_TRY_COMPILE([#include <sys/stat.h>],
892 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
893 [e2fsprogs_cv_struct_st_flags_immut=yes],
894 [e2fsprogs_cv_struct_st_flags_immut=no]))
895 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
896 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400897 AC_DEFINE(HAVE_STAT_FLAGS, 1,
898 [Define to 1 if struct stat has st_flags])
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000899 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000900fi
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500901dnl
902dnl Check for the presence of SA_LEN
903dnl
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500904AC_CHECK_MEMBER(struct sockaddr.sa_len,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400905 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
906 [Define to 1 if if struct sockaddr contains sa_len]),,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500907 [#include <sys/types.h>
908 #include <sys/socket.h>])
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500909dnl
Eric Sandeen9ed8e5f2009-10-02 11:32:42 -0500910dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using
911dnl the system-provided blkid library
912dnl
913if test -n "$BLKID_CMT"; then
914 AC_SEARCH_LIBS([blkid_probe_all], [blkid])
915fi
916dnl
Theodore Ts'oedbfd752011-10-04 11:20:50 -0400917AC_CHECK_FUNCS(chflags getrusage llseek lseek64 open64 fstat64 ftruncate64 getmntinfo strtoull strcasecmp srandom jrand48 fchown mallinfo fdatasync quotactl strnlen strptime strdup sysconf pathconf posix_memalign memalign valloc __secure_getenv prctl mmap utime setresuid setresgid usleep nanosleep getdtablesize getrlimit sync_file_range posix_fadvise fallocate fallocate64 blkid_probe_get_topology mbstowcs backtrace)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000918dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000919dnl Check to see if -lsocket is required (solaris) to make something
920dnl that uses socket() to compile; this is needed for the UUID library
921dnl
922SOCKET_LIB=''
923AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
924AC_SUBST(SOCKET_LIB)
925dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000926dnl See if optreset exists
927dnl
928AC_MSG_CHECKING(for optreset)
929AC_CACHE_VAL(ac_cv_have_optreset,
930[AC_EGREP_HEADER(optreset, unistd.h,
931 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
932AC_MSG_RESULT($ac_cv_have_optreset)
933if test $ac_cv_have_optreset = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400934 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000935fi
936dnl
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400937dnl Test for sem_init, and which library it might require:
938dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400939AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400940SEM_INIT_LIB=''
941AC_CHECK_FUNC(sem_init, ,
942 AC_CHECK_LIB(pthread, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400943 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400944 SEM_INIT_LIB=-lpthread,
945 AC_CHECK_LIB(rt, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400946 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400947 SEM_INIT_LIB=-lrt,
948 AC_CHECK_LIB(posix4, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400949 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400950 SEM_INIT_LIB=-lposix4))))dnl
951AC_SUBST(SEM_INIT_LIB)
952dnl
Theodore Ts'oe54635d2006-08-06 14:33:13 -0400953dnl Check for unified diff
954dnl
955AC_MSG_CHECKING(for unified diff option)
Theodore Ts'o27f991b2008-04-01 20:32:55 -0400956if diff -u $0 $0 > /dev/null 2>&1 ; then
Theodore Ts'oe54635d2006-08-06 14:33:13 -0400957 UNI_DIFF_OPTS=-u
958else
959 UNI_DIFF_OPTS=-c
960fi
961AC_MSG_RESULT($UNI_DIFF_OPTS)
962AC_SUBST(UNI_DIFF_OPTS)
963dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000964dnl We use the EXT2 ioctls only under Linux
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000965dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000966case "$host_os" in
967linux*)
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400968 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000969 ;;
970esac
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000971dnl
Theodore Ts'offf45482003-04-13 00:44:19 -0400972dnl OS-specific uncomment control
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400973dnl
974LINUX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -0400975CYGWIN_CMT="#"
976UNIX_CMT=
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400977case "$host_os" in
978linux*)
979 LINUX_CMT=
980 ;;
Theodore Ts'offf45482003-04-13 00:44:19 -0400981cygwin)
982 CYGWIN_CMT=
983 UNIX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -0400984 ;;
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400985esac
986AC_SUBST(LINUX_CMT)
Theodore Ts'offf45482003-04-13 00:44:19 -0400987AC_SUBST(CYGWIN_CMT)
988AC_SUBST(UNIX_CMT)
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400989dnl
Theodore Ts'o6c133521999-07-03 20:37:03 +0000990dnl Linux and Hurd places root files in the / by default
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000991dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000992case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -0400993linux* | gnu* | k*bsd*-gnu)
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +0000994 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
995 root_prefix="";
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400996 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000997 fi
998 ;;
999esac
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001000dnl
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001001dnl On Linux/hurd, force the prefix to be /usr
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001002dnl
1003case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -04001004linux* | gnu* | k*bsd*-gnu)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001005 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001006 prefix="/usr";
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001007 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001008 if test "$mandir" = '${prefix}/man' ; then
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001009 AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001010 mandir=/usr/share/man
1011 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001012 fi
1013;;
1014esac
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001015if test "$root_prefix" = NONE ; then
Theodore Ts'offe19911998-04-08 06:05:49 +00001016 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001017 root_prefix="$ac_default_prefix"
1018 else
1019 root_prefix="$prefix"
1020 fi
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001021 root_bindir=$bindir
1022 root_sbindir=$sbindir
1023 root_libdir=$libdir
1024 root_sysconfdir=$sysconfdir
1025else
1026 root_bindir='${root_prefix}/bin'
1027 root_sbindir='${root_prefix}/sbin'
1028 root_libdir='${root_prefix}/lib'
1029 root_sysconfdir='${root_prefix}/etc'
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001030fi
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001031if test "$bindir" != '${exec_prefix}/bin'; then
1032 root_bindir=$bindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001033 AC_MSG_RESULT([Setting root_bindir to $root_bindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001034fi
1035if test "$sbindir" != '${exec_prefix}/sbin'; then
1036 root_sbindir=$sbindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001037 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001038fi
1039if test "$libdir" != '${exec_prefix}/lib'; then
1040 root_libdir=$libdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001041 AC_MSG_RESULT([Setting root_libdir to $root_libdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001042fi
1043if test "$sysconfdir" != '${prefix}/etc'; then
1044 root_sysconfdir=$sysconfdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001045 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001046fi
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001047AC_SUBST(root_prefix)
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001048AC_SUBST(root_bindir)
1049AC_SUBST(root_sbindir)
1050AC_SUBST(root_libdir)
1051AC_SUBST(root_sysconfdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001052dnl
Theodore Ts'o55e00a22011-09-18 23:53:23 -04001053dnl Allow specification of the multiarch arch
1054dnl
1055AC_ARG_WITH([multiarch],
1056[ --with-multiarch=ARCH specify the multiarch triplet],
1057libdir=$libdir/$withval
1058root_libdir=$root_libdir/$withval
1059)dnl
1060dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001061dnl See if -static works.
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001062dnl
Theodore Ts'oae851481997-04-29 18:13:24 +00001063AC_MSG_CHECKING([whether linker accepts -static])
1064AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
1065[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
1066AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
1067 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
1068LDFLAGS=$SAVE_LDFLAGS])
Theodore Ts'odefde781999-01-04 07:39:19 +00001069dnl
1070dnl Regardless of how the test turns out, Solaris doesn't handle -static
1071dnl This is caused by the socket library requiring the nsl library, which
1072dnl requires the -dl library, which only works for dynamically linked
1073dnl programs. It basically means you can't have statically linked programs
1074dnl which use the network under Solaris.
1075dnl
1076case "$host_os" in
1077solaris2.*)
1078 ac_cv_e2fsprogs_use_static=no
1079;;
1080esac
Theodore Ts'oae851481997-04-29 18:13:24 +00001081AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
Theodore Ts'o74becf31997-04-26 14:37:06 +00001082LDFLAG_STATIC=
Theodore Ts'oae851481997-04-29 18:13:24 +00001083if test $ac_cv_e2fsprogs_use_static = yes; then
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001084 LDFLAG_STATIC=-static
Theodore Ts'oae851481997-04-29 18:13:24 +00001085fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001086AC_SUBST(LDFLAG_STATIC)
1087dnl
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001088dnl Work around mysterious Darwin / GNU libintl problem
1089dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
1090dnl Apple hacked gcc somehow?)
1091dnl
1092case "$host_os" in
1093darwin*)
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001094 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001095 AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1096 [Define to 1 if Apple Darwin libintl workaround is needed])
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001097 ;;
1098esac
1099dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001100dnl Make the ss and et directories work correctly.
1101dnl
1102SS_DIR=`cd ${srcdir}/lib/ss; pwd`
1103ET_DIR=`cd ${srcdir}/lib/et; pwd`
1104AC_SUBST(SS_DIR)
1105AC_SUBST(ET_DIR)
1106dnl
1107dnl Only try to run the test suite if we're not cross compiling.
1108dnl
1109if test "$cross_compiling" = yes ; then
1110 DO_TEST_SUITE=
1111else
1112 DO_TEST_SUITE=check
1113fi
1114AC_SUBST(DO_TEST_SUITE)
1115dnl
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001116dnl Only include the intl include files if we're building with them
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001117dnl
1118INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1119if test -n "$CPPFLAGS" ; then
1120 INCLUDES="$INCLUDES $CPPFLAGS"
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001121fi
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001122if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
1123 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
1124fi
1125AC_SUBST(INCLUDES)
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001126dnl
Theodore Ts'odd947da2005-11-09 18:37:07 -04001127dnl Build CFLAGS
1128dnl
1129if test $cross_compiling = no; then
1130 BUILD_CFLAGS="$CFLAGS"
1131 BUILD_LDFLAGS="$LDFLAGS"
1132else
1133 BUILD_CFLAGS=
1134 BUILD_LDFLAGS=
1135fi
1136AC_SUBST(BUILD_CFLAGS)
1137AC_SUBST(BUILD_LDFLAGS)
1138dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001139dnl Make our output files, being sure that we create the some miscellaneous
1140dnl directories
1141dnl
1142test -d lib || mkdir lib
1143test -d include || mkdir include
1144test -d include/linux || mkdir include/linux
Theodore Ts'odefde781999-01-04 07:39:19 +00001145test -d include/asm || mkdir include/asm
Theodore Ts'obff0cc92003-03-23 01:37:53 -05001146for i in MCONFIG Makefile e2fsprogs.spec \
1147 util/Makefile util/subst.conf util/gen-tarball \
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -04001148 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1149 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001150 lib/uuid/Makefile lib/uuid/uuid_types.h \
Aditya Kalif239fef2011-07-20 11:40:02 -07001151 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
Theodore Ts'oe6441862005-01-26 12:59:25 -05001152 lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
1153 lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
Theodore Ts'o921f4ad2004-11-19 17:25:27 -05001154 misc/Makefile ext2ed/Makefile e2fsck/Makefile \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001155 debugfs/Makefile tests/Makefile tests/progs/Makefile \
Matthias Andree98a5ad62009-07-15 17:37:52 +02001156 resize/Makefile doc/Makefile intl/Makefile \
1157 intl/libgnuintl.h po/Makefile.in ; do
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001158 if test -d `dirname ${srcdir}/$i` ; then
1159 outlist="$outlist $i"
1160 fi
1161done
1162AC_OUTPUT($outlist)
Theodore Ts'oee683a12005-02-05 15:53:56 -05001163if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi