blob: 0b609bb573f34f5db0fa563c26bac28bbfc4b293 [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
Aditya Kalif239fef2011-07-20 11:40:02 -0700529dnl handle --disable-libquota
530dnl
531PKG_PROG_PKG_CONFIG
532LIBQUOTA=
533DEPLIBQUOTA=
534STATIC_LIBQUOTA=
535DEPSTATIC_LIBQUOTA=
536PROFILED_LIBQUOTA=
537DEPPROFILED_LIBQUOTA=
538QUOTA_CMT=
539AC_ARG_ENABLE([libquota],
540[ --disable-libquota do not build private quota library],
541if test "$enableval" = "no"
542then
543 if test -z "$PKG_CONFIG"; then
544 AC_MSG_ERROR([pkg-config not installed; please install it.])
545 fi
546
547 AC_CHECK_LIB(quota,
548 [LIBQUOTA=`$PKG_CONFIG --libs quota`;
549 STATIC_LIBQUOTA=`$PKG_CONFIG --static --libs quota`],
550 [AC_MSG_ERROR([external quota library not found])],
551 [$LIBQUOTA])
552 QUOTA_CMT=#
553 AC_MSG_RESULT([Disabling private quota library])
554else
555 LIBQUOTA='$(LIB)/libquota'$LIB_EXT
556 DEPLIBQUOTA=$LIBQUOTA
557 STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
558 DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
559 PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
560 DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
561 AC_MSG_RESULT([Enabling private quota library])
562fi
563,
564LIBQUOTA='$(LIB)/libquota'$LIB_EXT
565DEPLIBQUOTA=$LIBQUOTA
566STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
567DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
568PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
569DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
570AC_MSG_RESULT([Enabling private quota library by default])
571)
572AC_SUBST(LIBQUOTA)
573AC_SUBST(DEPLIBQUOTA)
574AC_SUBST(STATIC_LIBQUOTA)
575AC_SUBST(DEPSTATIC_LIBQUOTA)
576AC_SUBST(PROFILED_LIBQUOTA)
577AC_SUBST(DEPPROFILED_LIBQUOTA)
578AC_SUBST(QUOTA_CMT)
579dnl
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000580dnl handle --enable-debugfs
581dnl
582AC_ARG_ENABLE([debugfs],
583[ --disable-debugfs disable support of debugfs program],
584if test "$enableval" = "no"
585then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400586 AC_MSG_RESULT([Disabling debugfs support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000587 DEBUGFS_CMT="#"
588else
589 DEBUGFS_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400590 AC_MSG_RESULT([Enabling debugfs support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000591fi
592,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400593AC_MSG_RESULT([Enabling debugfs support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000594DEBUGFS_CMT=
595)
596AC_SUBST(DEBUGFS_CMT)
597dnl
598dnl handle --enable-imager
599dnl
600AC_ARG_ENABLE([imager],
601[ --disable-imager disable support of e2image program],
602if test "$enableval" = "no"
603then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400604 AC_MSG_RESULT([Disabling e2image support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000605 IMAGER_CMT="#"
606else
607 IMAGER_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400608 AC_MSG_RESULT([Enabling e2image support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000609fi
610,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400611AC_MSG_RESULT([Enabling e2image support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000612IMAGER_CMT=
613)
614AC_SUBST(IMAGER_CMT)
615dnl
616dnl handle --enable-resizer
617dnl
618AC_ARG_ENABLE([resizer],
619[ --disable-resizer disable support of e2resize program],
620if test "$enableval" = "no"
621then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400622 AC_MSG_RESULT([Disabling e2resize support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000623 RESIZER_CMT="#"
624else
625 RESIZER_CMT=
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400626 AC_MSG_RESULT([Enabling e2resize support])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000627fi
628,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400629AC_MSG_RESULT([Enabling e2resize support by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000630RESIZER_CMT=
631)
632AC_SUBST(RESIZER_CMT)
633dnl
Theodore Ts'o8d9c50c2010-12-24 15:19:44 -0500634dnl handle --enable-defrag
635dnl
636AC_ARG_ENABLE([defrag],
637[ --disable-defrag disable support of e4defrag program],
638if test "$enableval" = "no"
639then
640 AC_MSG_RESULT([Disabling e4defrag support])
641 DEFRAG_CMT="#"
642else
643 DEFRAG_CMT=
644 AC_MSG_RESULT([Enabling e4defrag support])
645fi
646,
647AC_MSG_RESULT([Enabling e4defrag support by default])
648DEFRAG_CMT=
649)
650AC_SUBST(DEFRAG_CMT)
651dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000652dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
653dnl
654AC_ARG_ENABLE([fsck],
655[ --enable-fsck build fsck wrapper program],
656[if test "$enableval" = "no"
657then
658 FSCK_PROG='' FSCK_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400659 AC_MSG_RESULT([Not building fsck wrapper])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000660else
661 FSCK_PROG=fsck FSCK_MAN=fsck.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400662 AC_MSG_RESULT([Building fsck wrapper])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000663fi]
664,
665[case "$host_os" in
Theodore Ts'oe3632402004-05-04 19:39:54 -0400666 gnu*)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000667 FSCK_PROG='' FSCK_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400668 AC_MSG_RESULT([Not building fsck wrapper by default])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000669 ;;
670 *)
671 FSCK_PROG=fsck FSCK_MAN=fsck.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400672 AC_MSG_RESULT([Building fsck wrapper by default])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000673esac]
674)
675AC_SUBST(FSCK_PROG)
676AC_SUBST(FSCK_MAN)
677dnl
Theodore Ts'o5d407732004-09-18 14:53:14 -0400678dnl See whether to install the `e2initrd-helper' program
679dnl
680AC_ARG_ENABLE([e2initrd-helper],
681[ --enable-e2initrd-helper build e2initrd-helper program],
682[if test "$enableval" = "no"
683then
684 E2INITRD_PROG='' E2INITRD_MAN=''
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400685 AC_MSG_RESULT([Not building e2initrd helper])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400686else
687 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400688 AC_MSG_RESULT([Building e2initrd helper])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400689fi]
690,
691E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400692AC_MSG_RESULT([Building e2initrd helper by default])
Theodore Ts'o5d407732004-09-18 14:53:14 -0400693)
694AC_SUBST(E2INITRD_PROG)
695AC_SUBST(E2INITRD_MAN)
Karel Zak4db2f592006-03-08 14:17:28 -0500696dnl
Theodore Ts'o5d407732004-09-18 14:53:14 -0400697dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000698dnl
Theodore Ts'o32493942007-12-31 10:45:01 -0500699AC_ARG_ENABLE([tls],
700[ --disable-tls disable use of thread local support],
701[if test "$enableval" = "no"
702then
703 try_tls=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400704 AC_MSG_RESULT([Disabling thread local support])
Theodore Ts'o32493942007-12-31 10:45:01 -0500705else
706 try_tls="yes"
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400707 AC_MSG_RESULT([Enabling thread local support])
Theodore Ts'o32493942007-12-31 10:45:01 -0500708fi]
709,
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400710if test -n "$WITH_DIET_LIBC"
711then
712 try_tls=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400713 AC_MSG_RESULT([Diet libc does not support thread local support])
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400714else
715 try_tls="yes"
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400716 AC_MSG_RESULT([Try using thread local support by default])
Theodore Ts'oeafba6c2008-07-10 10:21:42 -0400717fi
Theodore Ts'o32493942007-12-31 10:45:01 -0500718)
719if test "$try_tls" = "yes"
720then
721AX_TLS
722fi
723dnl
724dnl
725dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400726AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500727AC_ARG_ENABLE([uuidd],
728[ --disable-uuidd disable building the uuid daemon],
729[if test "$enableval" = "no"
730then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400731 AC_MSG_RESULT([Not building uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500732 UUIDD_CMT="#"
733else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400734 AC_DEFINE(USE_UUIDD, 1)
Theodore Ts'o5610f992007-12-31 11:16:56 -0500735 UUIDD_CMT=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400736 AC_MSG_RESULT([Building uuidd])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500737fi]
738,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400739AC_DEFINE(USE_UUIDD, 1)
Theodore Ts'o5610f992007-12-31 11:16:56 -0500740UUIDD_CMT=""
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400741AC_MSG_RESULT([Building uuidd by default])
Theodore Ts'o5610f992007-12-31 11:16:56 -0500742)
743AC_SUBST(UUIDD_CMT)
744dnl
745dnl
746dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000747MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
748AC_SUBST_FILE(MAKEFILE_LIBRARY)
749dnl
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000750dnl Add internationalization support, using gettext.
751dnl
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500752GETTEXT_PACKAGE=e2fsprogs
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000753PACKAGE=e2fsprogs
754VERSION="$E2FSPROGS_VERSION"
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500755VERSION=0.14.1
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400756AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
757AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
Theodore Ts'ob0cacab2004-11-30 19:00:19 -0500758AC_SUBST(GETTEXT_PACKAGE)
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000759AC_SUBST(PACKAGE)
760AC_SUBST(VERSION)
761
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000762AM_GNU_GETTEXT
763dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000764dnl End of configuration options
765dnl
Theodore Ts'o74becf31997-04-26 14:37:06 +0000766AC_SUBST(BINARY_TYPE)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000767AC_PROG_MAKE_SET
Theodore Ts'obcb915b2009-07-02 18:19:10 -0400768CHECK_GNU_MAKE
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000769AC_PATH_PROG(LN, ln, ln)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000770AC_PROG_LN_S
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000771AC_PATH_PROG(MV, mv, mv)
772AC_PATH_PROG(CP, cp, cp)
773AC_PATH_PROG(RM, rm, rm)
774AC_PATH_PROG(CHMOD, chmod, :)
Theodore Ts'o32237012005-01-17 19:13:39 -0500775AC_PROG_AWK
776AC_PROG_EGREP
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000777AC_PATH_PROG(SED, sed, sed)
Theodore Ts'o9d564f71999-07-03 20:25:58 +0000778AC_PATH_PROG(PERL, perl, perl)
Theodore Ts'o250f79f2001-05-19 22:02:22 +0000779AC_PATH_PROG(LDCONFIG, ldconfig, :)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000780AC_CHECK_TOOL(AR, ar, ar)
781AC_CHECK_TOOL(RANLIB, ranlib, :)
782AC_CHECK_TOOL(STRIP, strip, :)
Manish Katiyar7321d942008-04-14 17:20:03 +0530783AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
784if test "_$MAKEINFO" = "_"; then
785 MAKEINFO="@echo Makeinfo is missing. Info documentation will not be built.;true"
786else
787 case "$MAKEINFO" in
788 */missing.*)
789 AC_MSG_WARN([
790*** Makeinfo is missing. Info documentation will not be built.])
791 ;;
792 *)
793 ;;
794 esac
795fi
796AC_SUBST(MAKEINFO)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000797AC_PROG_INSTALL
Theodore Ts'o6c133521999-07-03 20:37:03 +0000798# See if we need a separate native compiler.
799if test $cross_compiling = no; then
800 BUILD_CC="$CC"
801 AC_SUBST(BUILD_CC)
802else
803 AC_CHECK_PROGS(BUILD_CC, gcc cc)
804fi
Theodore Ts'oedbfd752011-10-04 11:20:50 -0400805AC_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 -0500806AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
807[[
808#if HAVE_SYS_QUEUE_H
809#include <sys/queue.h>
810#endif
811]])
812AC_CHECK_HEADERS(net/if.h,,,
813[[
814#if HAVE_SYS_TYPES_H
815#include <sys/types.h>
816#endif
817#if HAVE_SYS_SOCKET
818#include <sys/socket.h>
819#endif
820]])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000821AC_FUNC_VPRINTF
Theodore Ts'offf45482003-04-13 00:44:19 -0400822dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
823dnl is not decleared.
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400824AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
825 [Define to 1 if dirent has d_reclen])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500826 [#include <dirent.h>])
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400827dnl Check to see if ssize_t was declared
828AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
829 [Define to 1 if ssize_t declared])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500830 [#include <sys/types.h>])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000831dnl
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000832dnl Check to see if llseek() is declared in unistd.h. On some libc's
833dnl it is, and on others it isn't..... Thank you glibc developers....
834dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400835AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
836 [Define to 1 if llseek declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500837 [#include <unistd.h>])
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000838dnl
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000839dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
840dnl are so convoluted that I can't tell whether it will always be defined,
841dnl and if it isn't defined while lseek64 is defined in the library,
842dnl disaster will strike.
843dnl
844dnl Warning! Use of --enable-gcc-wall may throw off this test.
845dnl
846dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400847AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
848 [Define to 1 if lseek64 declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500849 [#define _LARGEFILE_SOURCE
850 #define _LARGEFILE64_SOURCE
851 #include <unistd.h>])
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000852dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000853dnl Word sizes...
854dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000855AC_CHECK_SIZEOF(short)
856AC_CHECK_SIZEOF(int)
857AC_CHECK_SIZEOF(long)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000858AC_CHECK_SIZEOF(long long)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000859SIZEOF_SHORT=$ac_cv_sizeof_short
860SIZEOF_INT=$ac_cv_sizeof_int
861SIZEOF_LONG=$ac_cv_sizeof_long
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000862SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000863AC_SUBST(SIZEOF_SHORT)
864AC_SUBST(SIZEOF_INT)
865AC_SUBST(SIZEOF_LONG)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000866AC_SUBST(SIZEOF_LONG_LONG)
Theodore Ts'o877eb6d2001-06-11 06:54:13 +0000867AC_C_BIGENDIAN
Theodore Ts'o29a5dee2007-07-04 16:28:47 -0400868BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -0400869ASM_TYPES_HEADER=./asm_types.h
870AC_SUBST_FILE(ASM_TYPES_HEADER)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000871dnl
Theodore Ts'o488c75a2008-06-07 08:55:21 -0400872dnl Save the configuration #defines needed for the public ext2fs.h
873dnl header file
874dnl
875echo "/* These defines are needed for the public ext2fs.h header file */" \
876 > public_config.h
877if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then
878 uniq tmp_config.$$ >> public_config.h
879else
880 echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
881fi
882if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
883 uniq tmp_config.$$ >> public_config.h
884else
885 echo "#undef WORDS_BIGENDIAN" >> public_config.h
886fi
887rm -f tmp_config.$$
888PUBLIC_CONFIG_HEADER=./public_config.h
889AC_SUBST_FILE(PUBLIC_CONFIG_HEADER)
890dnl
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400891dnl See if we have inttypes.h and if intptr_t is defined
892dnl
893AC_CHECK_HEADERS([inttypes.h])
Theodore Ts'od2ee56d2005-01-09 00:57:45 -0500894AC_CHECK_TYPES(intptr_t)
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400895dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000896dnl See if struct stat has a st_flags field, in which case we can get file
897dnl flags somewhat portably. Also check for the analogous setter, chflags().
898dnl
899AC_MSG_CHECKING(whether struct stat has a st_flags field)
900AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
901 AC_TRY_COMPILE([#include <sys/stat.h>],
902 [struct stat stat; stat.st_flags = 0;],
903 [e2fsprogs_cv_struct_st_flags=yes],
904 [e2fsprogs_cv_struct_st_flags=no]))
905AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
906if test "$e2fsprogs_cv_struct_st_flags" = yes; then
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000907 AC_MSG_CHECKING(whether st_flags field is useful)
908 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
909 AC_TRY_COMPILE([#include <sys/stat.h>],
910 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
911 [e2fsprogs_cv_struct_st_flags_immut=yes],
912 [e2fsprogs_cv_struct_st_flags_immut=no]))
913 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
914 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400915 AC_DEFINE(HAVE_STAT_FLAGS, 1,
916 [Define to 1 if struct stat has st_flags])
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000917 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000918fi
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500919dnl
920dnl Check for the presence of SA_LEN
921dnl
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500922AC_CHECK_MEMBER(struct sockaddr.sa_len,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400923 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
924 [Define to 1 if if struct sockaddr contains sa_len]),,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500925 [#include <sys/types.h>
926 #include <sys/socket.h>])
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500927dnl
Eric Sandeen9ed8e5f2009-10-02 11:32:42 -0500928dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using
929dnl the system-provided blkid library
930dnl
931if test -n "$BLKID_CMT"; then
932 AC_SEARCH_LIBS([blkid_probe_all], [blkid])
933fi
934dnl
Theodore Ts'oedbfd752011-10-04 11:20:50 -0400935AC_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 +0000936dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000937dnl Check to see if -lsocket is required (solaris) to make something
938dnl that uses socket() to compile; this is needed for the UUID library
939dnl
940SOCKET_LIB=''
941AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
942AC_SUBST(SOCKET_LIB)
943dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000944dnl See if optreset exists
945dnl
946AC_MSG_CHECKING(for optreset)
947AC_CACHE_VAL(ac_cv_have_optreset,
948[AC_EGREP_HEADER(optreset, unistd.h,
949 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
950AC_MSG_RESULT($ac_cv_have_optreset)
951if test $ac_cv_have_optreset = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400952 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000953fi
954dnl
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400955dnl Test for sem_init, and which library it might require:
956dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400957AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400958SEM_INIT_LIB=''
959AC_CHECK_FUNC(sem_init, ,
960 AC_CHECK_LIB(pthread, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400961 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400962 SEM_INIT_LIB=-lpthread,
963 AC_CHECK_LIB(rt, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400964 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400965 SEM_INIT_LIB=-lrt,
966 AC_CHECK_LIB(posix4, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400967 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -0400968 SEM_INIT_LIB=-lposix4))))dnl
969AC_SUBST(SEM_INIT_LIB)
970dnl
Theodore Ts'oe54635d2006-08-06 14:33:13 -0400971dnl Check for unified diff
972dnl
973AC_MSG_CHECKING(for unified diff option)
Theodore Ts'o27f991b2008-04-01 20:32:55 -0400974if diff -u $0 $0 > /dev/null 2>&1 ; then
Theodore Ts'oe54635d2006-08-06 14:33:13 -0400975 UNI_DIFF_OPTS=-u
976else
977 UNI_DIFF_OPTS=-c
978fi
979AC_MSG_RESULT($UNI_DIFF_OPTS)
980AC_SUBST(UNI_DIFF_OPTS)
981dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000982dnl We use the EXT2 ioctls only under Linux
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000983dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000984case "$host_os" in
985linux*)
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400986 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +0000987 ;;
988esac
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000989dnl
Theodore Ts'offf45482003-04-13 00:44:19 -0400990dnl OS-specific uncomment control
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400991dnl
992LINUX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -0400993CYGWIN_CMT="#"
994UNIX_CMT=
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -0400995case "$host_os" in
996linux*)
997 LINUX_CMT=
998 ;;
Theodore Ts'offf45482003-04-13 00:44:19 -0400999cygwin)
1000 CYGWIN_CMT=
1001 UNIX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -04001002 ;;
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001003esac
1004AC_SUBST(LINUX_CMT)
Theodore Ts'offf45482003-04-13 00:44:19 -04001005AC_SUBST(CYGWIN_CMT)
1006AC_SUBST(UNIX_CMT)
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001007dnl
Theodore Ts'o6c133521999-07-03 20:37:03 +00001008dnl Linux and Hurd places root files in the / by default
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001009dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001010case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -04001011linux* | gnu* | k*bsd*-gnu)
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001012 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
1013 root_prefix="";
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001014 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001015 fi
1016 ;;
1017esac
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001018dnl
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001019dnl On Linux/hurd, force the prefix to be /usr
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001020dnl
1021case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -04001022linux* | gnu* | k*bsd*-gnu)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001023 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001024 prefix="/usr";
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001025 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001026 if test "$mandir" = '${prefix}/man' ; then
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001027 AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001028 mandir=/usr/share/man
1029 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001030 fi
1031;;
1032esac
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001033if test "$root_prefix" = NONE ; then
Theodore Ts'offe19911998-04-08 06:05:49 +00001034 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001035 root_prefix="$ac_default_prefix"
1036 else
1037 root_prefix="$prefix"
1038 fi
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001039 root_bindir=$bindir
1040 root_sbindir=$sbindir
1041 root_libdir=$libdir
1042 root_sysconfdir=$sysconfdir
1043else
1044 root_bindir='${root_prefix}/bin'
1045 root_sbindir='${root_prefix}/sbin'
1046 root_libdir='${root_prefix}/lib'
1047 root_sysconfdir='${root_prefix}/etc'
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001048fi
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001049if test "$bindir" != '${exec_prefix}/bin'; then
1050 root_bindir=$bindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001051 AC_MSG_RESULT([Setting root_bindir to $root_bindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001052fi
1053if test "$sbindir" != '${exec_prefix}/sbin'; then
1054 root_sbindir=$sbindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001055 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001056fi
1057if test "$libdir" != '${exec_prefix}/lib'; then
1058 root_libdir=$libdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001059 AC_MSG_RESULT([Setting root_libdir to $root_libdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001060fi
1061if test "$sysconfdir" != '${prefix}/etc'; then
1062 root_sysconfdir=$sysconfdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001063 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001064fi
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001065AC_SUBST(root_prefix)
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001066AC_SUBST(root_bindir)
1067AC_SUBST(root_sbindir)
1068AC_SUBST(root_libdir)
1069AC_SUBST(root_sysconfdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001070dnl
Theodore Ts'o55e00a22011-09-18 23:53:23 -04001071dnl Allow specification of the multiarch arch
1072dnl
1073AC_ARG_WITH([multiarch],
1074[ --with-multiarch=ARCH specify the multiarch triplet],
1075libdir=$libdir/$withval
1076root_libdir=$root_libdir/$withval
1077)dnl
1078dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001079dnl See if -static works.
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001080dnl
Theodore Ts'oae851481997-04-29 18:13:24 +00001081AC_MSG_CHECKING([whether linker accepts -static])
1082AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
1083[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
1084AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
1085 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
1086LDFLAGS=$SAVE_LDFLAGS])
Theodore Ts'odefde781999-01-04 07:39:19 +00001087dnl
1088dnl Regardless of how the test turns out, Solaris doesn't handle -static
1089dnl This is caused by the socket library requiring the nsl library, which
1090dnl requires the -dl library, which only works for dynamically linked
1091dnl programs. It basically means you can't have statically linked programs
1092dnl which use the network under Solaris.
1093dnl
1094case "$host_os" in
1095solaris2.*)
1096 ac_cv_e2fsprogs_use_static=no
1097;;
1098esac
Theodore Ts'oae851481997-04-29 18:13:24 +00001099AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
Theodore Ts'o74becf31997-04-26 14:37:06 +00001100LDFLAG_STATIC=
Theodore Ts'oae851481997-04-29 18:13:24 +00001101if test $ac_cv_e2fsprogs_use_static = yes; then
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001102 LDFLAG_STATIC=-static
Theodore Ts'oae851481997-04-29 18:13:24 +00001103fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001104AC_SUBST(LDFLAG_STATIC)
1105dnl
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001106dnl Work around mysterious Darwin / GNU libintl problem
1107dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
1108dnl Apple hacked gcc somehow?)
1109dnl
1110case "$host_os" in
1111darwin*)
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001112 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001113 AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1114 [Define to 1 if Apple Darwin libintl workaround is needed])
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001115 ;;
1116esac
1117dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001118dnl Make the ss and et directories work correctly.
1119dnl
1120SS_DIR=`cd ${srcdir}/lib/ss; pwd`
1121ET_DIR=`cd ${srcdir}/lib/et; pwd`
1122AC_SUBST(SS_DIR)
1123AC_SUBST(ET_DIR)
1124dnl
1125dnl Only try to run the test suite if we're not cross compiling.
1126dnl
1127if test "$cross_compiling" = yes ; then
1128 DO_TEST_SUITE=
1129else
1130 DO_TEST_SUITE=check
1131fi
1132AC_SUBST(DO_TEST_SUITE)
1133dnl
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001134dnl Only include the intl include files if we're building with them
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001135dnl
1136INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1137if test -n "$CPPFLAGS" ; then
1138 INCLUDES="$INCLUDES $CPPFLAGS"
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001139fi
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001140if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
1141 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
1142fi
1143AC_SUBST(INCLUDES)
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001144dnl
Theodore Ts'odd947da2005-11-09 18:37:07 -04001145dnl Build CFLAGS
1146dnl
1147if test $cross_compiling = no; then
1148 BUILD_CFLAGS="$CFLAGS"
1149 BUILD_LDFLAGS="$LDFLAGS"
1150else
1151 BUILD_CFLAGS=
1152 BUILD_LDFLAGS=
1153fi
1154AC_SUBST(BUILD_CFLAGS)
1155AC_SUBST(BUILD_LDFLAGS)
1156dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001157dnl Make our output files, being sure that we create the some miscellaneous
1158dnl directories
1159dnl
1160test -d lib || mkdir lib
1161test -d include || mkdir include
1162test -d include/linux || mkdir include/linux
Theodore Ts'odefde781999-01-04 07:39:19 +00001163test -d include/asm || mkdir include/asm
Theodore Ts'obff0cc92003-03-23 01:37:53 -05001164for i in MCONFIG Makefile e2fsprogs.spec \
1165 util/Makefile util/subst.conf util/gen-tarball \
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -04001166 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1167 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001168 lib/uuid/Makefile lib/uuid/uuid_types.h \
Aditya Kalif239fef2011-07-20 11:40:02 -07001169 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
Theodore Ts'oe6441862005-01-26 12:59:25 -05001170 lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
1171 lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
Theodore Ts'o921f4ad2004-11-19 17:25:27 -05001172 misc/Makefile ext2ed/Makefile e2fsck/Makefile \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001173 debugfs/Makefile tests/Makefile tests/progs/Makefile \
Matthias Andree98a5ad62009-07-15 17:37:52 +02001174 resize/Makefile doc/Makefile intl/Makefile \
1175 intl/libgnuintl.h po/Makefile.in ; do
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001176 if test -d `dirname ${srcdir}/$i` ; then
1177 outlist="$outlist $i"
1178 fi
1179done
1180AC_OUTPUT($outlist)
Theodore Ts'oee683a12005-02-05 15:53:56 -05001181if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi