blob: aa4c777b01718c1a736ae5fe35a377218d9bff46 [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
Theodore Ts'o183c73b2012-05-12 23:13:24 -0400167AC_MSG_RESULT([Disabling symlinks for install by default])
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400168)
169AC_SUBST(LINK_INSTALL_FLAGS)
170dnl
Theodore Ts'o183c73b2012-05-12 23:13:24 -0400171dnl handle --enable-relative-symlinks
172dnl
173AC_ARG_ENABLE([symlink-relative-symlinks],
174[ --enable-relative-symlinks use relative symlinks when installing],
175if test "$enableval" = "no"
176then
177 SYMLINK_RELATIVE=
178 AC_MSG_RESULT([Disabling relative symlinks for install])
179else
180 SYMLINK_RELATIVE=--relative
181 AC_MSG_RESULT([Enabling symlinks for install])
182fi
183,
184 SYMLINK_RELATIVE=
185AC_MSG_RESULT([Disabling relative symlinks for install by default])
186)
187AC_SUBST(SYMLINK_RELATIVE)
188dnl
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400189dnl handle --enable-symlink-build
190dnl
191AC_ARG_ENABLE([symlink-build],
192[ --enable-symlink-build use symlinks while building instead of hard links],
193if test "$enableval" = "no"
194then
195 LINK_BUILD_FLAGS=
196 AC_MSG_RESULT([Disabling symlinks for build])
197else
198 LINK_BUILD_FLAGS=-s
199 AC_MSG_RESULT([Enabling symlinks for build])
200fi
201,
202LINK_BUILD_FLAGS=
Theodore Ts'o183c73b2012-05-12 23:13:24 -0400203AC_MSG_RESULT([Disabling symlinks for build by default])
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400204)
205AC_SUBST(LINK_BUILD_FLAGS)
206dnl
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400207dnl handle --enable-verbose-makecmds
208dnl
209AC_ARG_ENABLE([verbose-makecmds],
Theodore Ts'o5aa6c3f2010-05-17 19:21:42 -0400210[ --enable-verbose-makecmds enable verbose make command output],
Theodore Ts'oc13351f2009-07-02 00:11:17 -0400211if test "$enableval" = "no"
212then
213 AC_MSG_RESULT([Disabling verbose make commands])
214 E=@echo
215 Q=@
216else
217 AC_MSG_RESULT([Enabling verbose make commands])
218 E=@\\#
219 Q=
220fi
221,
222AC_MSG_RESULT([Disabling verbose make commands])
223E=@echo
224Q=@
225)
226AC_SUBST(E)
227AC_SUBST(Q)
228dnl
Theodore Ts'o19178752000-02-11 15:55:07 +0000229dnl handle --enable-compression
230dnl
231AC_ARG_ENABLE([compression],
232[ --enable-compression enable EXPERIMENTAL compression support],
233if test "$enableval" = "no"
234then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400235 AC_MSG_RESULT([Disabling compression support])
Theodore Ts'o19178752000-02-11 15:55:07 +0000236else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400237 AC_DEFINE(ENABLE_COMPRESSION, 1,
238 [Define to 1 if ext2 compression enabled])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400239 AC_MSG_RESULT([Enabling compression support])
240 AC_MSG_WARN([Compression support is experimental])
Theodore Ts'o19178752000-02-11 15:55:07 +0000241fi
242,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400243AC_MSG_RESULT([Disabling compression support by default])
Theodore Ts'o19178752000-02-11 15:55:07 +0000244)
245dnl
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400246dnl handle --enable-htree
247dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400248AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400249AC_ARG_ENABLE([htree],
250[ --enable-htree enable EXPERIMENTAL htree directory support],
251if test "$enableval" = "no"
252then
253 HTREE_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400254 AC_MSG_RESULT([Disabling htree directory support])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400255else
256 HTREE_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400257 AC_DEFINE(ENABLE_HTREE, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400258 AC_MSG_RESULT([Enabling htree directory support])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400259fi
260,
Theodore Ts'o559ca6c2002-08-18 03:48:55 -0400261HTREE_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400262AC_DEFINE(ENABLE_HTREE, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400263AC_MSG_RESULT([Enabling htree directory support by default])
Theodore Ts'o8fdc9982002-06-25 23:26:34 -0400264)
265AC_SUBST(HTREE_CMT)
266dnl
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500267dnl This needs to be before all of the --enable-*-shlibs options
268dnl
269E2_PKG_CONFIG_STATIC=--static
Theodore Ts'o55da9872008-09-02 23:12:38 -0400270LDFLAG_DYNAMIC=
271PRIVATE_LIBS_CMT=
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500272dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000273dnl handle --enable-elf-shlibs
274dnl
275AC_ARG_ENABLE([elf-shlibs],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000276[ --enable-elf-shlibs select ELF shared libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000277if test "$enableval" = "no"
278then
279 ELF_CMT=#
280 MAKEFILE_ELF=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400281 AC_MSG_RESULT([Disabling ELF shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000282else
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500283 E2_PKG_CONFIG_STATIC=
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000284 ELF_CMT=
285 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
Theodore Ts'of5955dd2000-10-25 02:38:39 +0000286 [case "$host_os" in
287 solaris2.*)
288 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
289 ;;
290 esac]
Theodore Ts'o74becf31997-04-26 14:37:06 +0000291 BINARY_TYPE=elfbin
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000292 LIB_EXT=.so
Theodore Ts'o55da9872008-09-02 23:12:38 -0400293 PRIVATE_LIBS_CMT=#
294 LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib']
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400295 AC_MSG_RESULT([Enabling ELF shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000296fi
297,
298MAKEFILE_ELF=/dev/null
299ELF_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400300AC_MSG_RESULT([Disabling ELF shared libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000301)
302AC_SUBST(ELF_CMT)
303AC_SUBST_FILE(MAKEFILE_ELF)
304dnl
305dnl handle --enable-bsd-shlibs
306dnl
307AC_ARG_ENABLE([bsd-shlibs],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000308[ --enable-bsd-shlibs select BSD shared libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000309if test "$enableval" = "no"
310then
311 BSDLIB_CMT=#
312 MAKEFILE_BSDLIB=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400313 AC_MSG_RESULT([Disabling BSD shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000314else
Theodore Ts'oa4ece352008-01-01 20:05:04 -0500315 E2_PKG_CONFIG_STATIC=
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000316 BSDLIB_CMT=
317 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000318 LIB_EXT=.so
Theodore Ts'oe71d8732003-03-14 02:13:48 -0500319 [case "$host_os" in
Theodore Ts'oaa75ecc2003-03-17 10:01:22 -0500320 darwin*)
Theodore Ts'oe71d8732003-03-14 02:13:48 -0500321 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
322 LIB_EXT=.dylib
323 ;;
324 esac]
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400325 AC_MSG_RESULT([Enabling BSD shared libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000326fi
327,
328MAKEFILE_BSDLIB=/dev/null
329BSDLIB_CMT=#
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400330AC_MSG_RESULT([Disabling BSD shared libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000331)
332AC_SUBST(BSDLIB_CMT)
333AC_SUBST_FILE(MAKEFILE_BSDLIB)
334dnl
335dnl handle --enable-profile
336dnl
337AC_ARG_ENABLE([profile],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000338[ --enable-profile build profiling libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000339if test "$enableval" = "no"
340then
341 PROFILE_CMT=#
342 MAKEFILE_PROFILE=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400343 AC_MSG_RESULT([Disabling profiling libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000344else
345 PROFILE_CMT=
346 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000347 PROFILED_LIB_EXT=_p.a
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400348 AC_MSG_RESULT([Building profiling libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000349fi
350,
351PROFILE_CMT=#
352MAKEFILE_PROFILE=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400353AC_MSG_RESULT([Disabling profiling libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000354)
355AC_SUBST(PROFILE_CMT)
356AC_SUBST_FILE(MAKEFILE_PROFILE)
357dnl
358dnl handle --enable-checker
359dnl
360AC_ARG_ENABLE([checker],
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000361[ --enable-checker build checker libraries],
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000362if test "$enableval" = "no"
363then
364 CHECKER_CMT=#
365 MAKEFILE_CHECKER=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400366 AC_MSG_RESULT([Disabling checker libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000367else
368 CHECKER_CMT=
369 MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400370 AC_MSG_RESULT([Building checker libraries])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000371fi
372,
373CHECKER_CMT=#
374MAKEFILE_CHECKER=/dev/null
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400375AC_MSG_RESULT([Disabling checker libraries by default])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000376)
377AC_SUBST(CHECKER_CMT)
378AC_SUBST_FILE(MAKEFILE_CHECKER)
379dnl
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000380dnl Substitute library extensions
381dnl
382AC_SUBST(LIB_EXT)
383AC_SUBST(STATIC_LIB_EXT)
384AC_SUBST(PROFILED_LIB_EXT)
Theodore Ts'o55da9872008-09-02 23:12:38 -0400385AC_SUBST(LDFLAG_DYNAMIC)
386AC_SUBST(PRIVATE_LIBS_CMT)
Theodore Ts'oa4d09611997-04-29 14:28:00 +0000387dnl
Theodore Ts'o782bebf2002-11-08 18:46:45 -0500388dnl handle --enable-jbd-debug
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000389dnl
Theodore Ts'o782bebf2002-11-08 18:46:45 -0500390AC_ARG_ENABLE([jbd-debug],
391[ --enable-jbd-debug enable journal debugging],
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000392if test "$enableval" = "no"
393then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400394 AC_MSG_RESULT([Disabling journal debugging])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000395else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400396 AC_DEFINE(CONFIG_JBD_DEBUG, 1,
397 [Define to 1 if debugging ext3/4 journal code])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400398 AC_MSG_RESULT([Enabling journal debugging])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000399fi
400,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400401AC_MSG_RESULT([Disabling journal debugging by default])
Theodore Ts'ocdf186e2001-06-13 22:16:47 +0000402)
403dnl
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500404dnl handle --enable-blkid-debug
405dnl
406AC_ARG_ENABLE([blkid-debug],
Theodore Ts'od21ae6c2003-05-05 09:00:24 -0400407[ --enable-blkid-debug enable blkid debugging],
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500408if test "$enableval" = "no"
409then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400410 AC_MSG_RESULT([Disabling blkid debugging])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500411else
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400412 AC_DEFINE(CONFIG_BLKID_DEBUG, 1,
413 [Define to 1 if debugging the blkid library])
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400414 AC_MSG_RESULT([Enabling blkid debugging])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500415fi
416,
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400417AC_MSG_RESULT([Disabling blkid debugging by default])
Theodore Ts'of0a22d02003-02-22 13:19:53 -0500418)
419dnl
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400420dnl handle --enable-testio-debug
421dnl
422AC_ARG_ENABLE([testio-debug],
Theodore Ts'oaf773652008-09-01 11:27:27 -0400423[ --disable-testio-debug disable the use of the test I/O manager for debugging],
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400424AH_TEMPLATE([CONFIG_TESTIO_DEBUG],
425 [Define to 1 if the testio I/O manager should be enabled])
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400426if test "$enableval" = "no"
427then
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400428 AC_MSG_RESULT([Disabling testio debugging])
Theodore Ts'oaf773652008-09-01 11:27:27 -0400429 TEST_IO_CMT="#"
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400430else
Theodore Ts'oaf773652008-09-01 11:27:27 -0400431 TEST_IO_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400432 AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
Theodore Ts'o02d04db2008-08-22 10:52:42 -0400433 AC_MSG_RESULT([Enabling testio debugging])
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400434fi
435,
Theodore Ts'oaf773652008-09-01 11:27:27 -0400436AC_MSG_RESULT([Enabling testio debugging by default])
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400437AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
Theodore Ts'oaf773652008-09-01 11:27:27 -0400438TEST_IO_CMT=
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400439)
Theodore Ts'oaf773652008-09-01 11:27:27 -0400440AC_SUBST(TEST_IO_CMT)
Theodore Ts'o2a29f132003-05-05 12:08:47 -0400441dnl
Scott James Remnant39fd3d42009-05-14 13:03:25 +0100442dnl handle --disable-libuuid
443dnl
444PKG_PROG_PKG_CONFIG
445LIBUUID=
446DEPLIBUUID=
447STATIC_LIBUUID=
448DEPSTATIC_LIBUUID=
449PROFILED_LIBUUID=
450DEPPROFILED_LIBUUID=
451UUID_CMT=
452AC_ARG_ENABLE([libuuid],
453[ --disable-libuuid do not build private uuid library],
454if test "$enableval" = "no"
455then
456 if test -z "$PKG_CONFIG"; then
457 AC_MSG_ERROR([pkg-config not installed; please install it.])
458 fi
459
460 AC_CHECK_LIB(uuid, uuid_generate,
461 [LIBUUID=`$PKG_CONFIG --libs uuid`;
462 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
463 [AC_MSG_ERROR([external uuid library not found])],
464 [$LIBUUID])
465 UUID_CMT=#
466 AC_MSG_RESULT([Disabling private uuid library])
467else
468 LIBUUID='$(LIB)/libuuid'$LIB_EXT
469 DEPLIBUUID=$LIBUUID
470 STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
471 DEPSTATIC_LIBUUID=$STATIC_LIBUUID
472 PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
473 DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
474 AC_MSG_RESULT([Enabling private uuid library])
475fi
476,
477LIBUUID='$(LIB)/libuuid'$LIB_EXT
478DEPLIBUUID=$LIBUUID
479STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
480DEPSTATIC_LIBUUID=$STATIC_LIBUUID
481PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
482DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
483AC_MSG_RESULT([Enabling private uuid library by default])
484)
485AC_SUBST(LIBUUID)
486AC_SUBST(DEPLIBUUID)
487AC_SUBST(STATIC_LIBUUID)
488AC_SUBST(DEPSTATIC_LIBUUID)
489AC_SUBST(PROFILED_LIBUUID)
490AC_SUBST(DEPPROFILED_LIBUUID)
491AC_SUBST(UUID_CMT)
492dnl
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400493dnl handle --disable-libblkid
494dnl
495PKG_PROG_PKG_CONFIG
496LIBBLKID=
497DEPLIBBLKID=
498STATIC_LIBBLKID=
499DEPSTATIC_LIBBLKID=
500PROFILED_LIBBLKID=
501DEPPROFILED_LIBBLKID=
502BLKID_CMT=
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400503AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs])
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400504AC_ARG_ENABLE([libblkid],
505[ --disable-libblkid do not build private blkid library],
506if test "$enableval" = "no"
507then
508 if test -z "$PKG_CONFIG"; then
509 AC_MSG_ERROR([pkg-config not installed; please install it.])
510 fi
511
512 AC_CHECK_LIB(blkid, blkid_get_cache,
513 [LIBBLKID=`$PKG_CONFIG --libs blkid`;
514 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
515 [AC_MSG_ERROR([external blkid library not found])],
516 [$LIBBLKID])
517 BLKID_CMT=#
518 AC_MSG_RESULT([Disabling private blkid library])
519else
520 LIBBLKID='$(LIB)/libblkid'$LIB_EXT
521 DEPLIBBLKID=$LIBBLKID
522 STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
523 DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
524 PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
525 DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400526 AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400527 AC_MSG_RESULT([Enabling private blkid library])
528fi
529,
530LIBBLKID='$(LIB)/libblkid'$LIB_EXT
531DEPLIBBLKID=$LIBBLKID
532STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
533DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
534PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
535DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400536AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
Theodore Ts'o14b596d2009-04-22 09:18:30 -0400537AC_MSG_RESULT([Enabling private blkid library by default])
538)
539AC_SUBST(LIBBLKID)
540AC_SUBST(DEPLIBBLKID)
541AC_SUBST(STATIC_LIBBLKID)
542AC_SUBST(DEPSTATIC_LIBBLKID)
543AC_SUBST(PROFILED_LIBBLKID)
544AC_SUBST(DEPPROFILED_LIBBLKID)
545AC_SUBST(BLKID_CMT)
546dnl
Theodore Ts'o7becb202011-11-14 10:40:43 -0500547dnl handle --enable-quota
Aditya Kalif239fef2011-07-20 11:40:02 -0700548dnl
549PKG_PROG_PKG_CONFIG
Theodore Ts'o7becb202011-11-14 10:40:43 -0500550AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
551AC_ARG_ENABLE([quota],
552[ --enable-libquota enable quota support],
Aditya Kalif239fef2011-07-20 11:40:02 -0700553if test "$enableval" = "no"
554then
Theodore Ts'o7becb202011-11-14 10:40:43 -0500555 AC_MSG_RESULT([Disabling quota support])
Aditya Kalif239fef2011-07-20 11:40:02 -0700556else
Theodore Ts'o7becb202011-11-14 10:40:43 -0500557 AC_DEFINE(CONFIG_QUOTA, 1)
558 AC_MSG_RESULT([Enabling quota support])
Aditya Kalif239fef2011-07-20 11:40:02 -0700559fi
560,
Theodore Ts'o7becb202011-11-14 10:40:43 -0500561AC_MSG_RESULT([Disabling quota support by default])
562)
563dnl
564dnl Define stuff expected for quota library
565dnl
Aditya Kalif239fef2011-07-20 11:40:02 -0700566LIBQUOTA='$(LIB)/libquota'$LIB_EXT
567DEPLIBQUOTA=$LIBQUOTA
568STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
569DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
570PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
571DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
Aditya Kalif239fef2011-07-20 11:40:02 -0700572AC_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
Mike Frysinger677fc912012-03-06 20:13:54 -0500805AC_CHECK_HEADERS(m4_flatten([
806 dirent.h
807 errno.h
808 execinfo.h
809 getopt.h
810 malloc.h
811 mntent.h
812 paths.h
813 semaphore.h
814 setjmp.h
815 signal.h
816 stdarg.h
817 stdint.h
818 stdlib.h
819 termios.h
820 termio.h
821 unistd.h
822 utime.h
823 linux/falloc.h
824 linux/fd.h
825 linux/major.h
826 net/if_dl.h
827 netinet/in.h
828 sys/disklabel.h
829 sys/file.h
830 sys/ioctl.h
831 sys/mkdev.h
832 sys/mman.h
833 sys/prctl.h
834 sys/queue.h
835 sys/resource.h
836 sys/select.h
837 sys/socket.h
838 sys/sockio.h
839 sys/stat.h
840 sys/syscall.h
841 sys/sysmacros.h
842 sys/time.h
843 sys/types.h
844 sys/un.h
845 sys/wait.h
846]))
Theodore Ts'oda76d6b2005-01-18 23:29:01 -0500847AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
848[[
849#if HAVE_SYS_QUEUE_H
850#include <sys/queue.h>
851#endif
852]])
853AC_CHECK_HEADERS(net/if.h,,,
854[[
855#if HAVE_SYS_TYPES_H
856#include <sys/types.h>
857#endif
858#if HAVE_SYS_SOCKET
859#include <sys/socket.h>
860#endif
861]])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000862AC_FUNC_VPRINTF
Theodore Ts'offf45482003-04-13 00:44:19 -0400863dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
864dnl is not decleared.
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400865AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
866 [Define to 1 if dirent has d_reclen])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500867 [#include <dirent.h>])
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400868dnl Check to see if ssize_t was declared
869AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
870 [Define to 1 if ssize_t declared])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500871 [#include <sys/types.h>])
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000872dnl
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000873dnl Check to see if llseek() is declared in unistd.h. On some libc's
874dnl it is, and on others it isn't..... Thank you glibc developers....
875dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400876AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
877 [Define to 1 if llseek declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500878 [#include <unistd.h>])
Theodore Ts'ob0b9c4d1997-10-20 23:36:30 +0000879dnl
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000880dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files
881dnl are so convoluted that I can't tell whether it will always be defined,
882dnl and if it isn't defined while lseek64 is defined in the library,
883dnl disaster will strike.
884dnl
885dnl Warning! Use of --enable-gcc-wall may throw off this test.
886dnl
887dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400888AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
889 [Define to 1 if lseek64 declared in unistd.h])],,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500890 [#define _LARGEFILE_SOURCE
891 #define _LARGEFILE64_SOURCE
892 #include <unistd.h>])
Theodore Ts'o6928adc2000-05-25 23:28:50 +0000893dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000894dnl Word sizes...
895dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000896AC_CHECK_SIZEOF(short)
897AC_CHECK_SIZEOF(int)
898AC_CHECK_SIZEOF(long)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000899AC_CHECK_SIZEOF(long long)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000900SIZEOF_SHORT=$ac_cv_sizeof_short
901SIZEOF_INT=$ac_cv_sizeof_int
902SIZEOF_LONG=$ac_cv_sizeof_long
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000903SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000904AC_SUBST(SIZEOF_SHORT)
905AC_SUBST(SIZEOF_INT)
906AC_SUBST(SIZEOF_LONG)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +0000907AC_SUBST(SIZEOF_LONG_LONG)
Theodore Ts'o877eb6d2001-06-11 06:54:13 +0000908AC_C_BIGENDIAN
Theodore Ts'o29a5dee2007-07-04 16:28:47 -0400909BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -0400910ASM_TYPES_HEADER=./asm_types.h
911AC_SUBST_FILE(ASM_TYPES_HEADER)
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000912dnl
Theodore Ts'o488c75a2008-06-07 08:55:21 -0400913dnl Save the configuration #defines needed for the public ext2fs.h
914dnl header file
915dnl
916echo "/* These defines are needed for the public ext2fs.h header file */" \
917 > public_config.h
918if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then
919 uniq tmp_config.$$ >> public_config.h
920else
921 echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
922fi
923if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
924 uniq tmp_config.$$ >> public_config.h
925else
926 echo "#undef WORDS_BIGENDIAN" >> public_config.h
927fi
928rm -f tmp_config.$$
929PUBLIC_CONFIG_HEADER=./public_config.h
930AC_SUBST_FILE(PUBLIC_CONFIG_HEADER)
931dnl
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400932dnl See if we have inttypes.h and if intptr_t is defined
933dnl
934AC_CHECK_HEADERS([inttypes.h])
Theodore Ts'od2ee56d2005-01-09 00:57:45 -0500935AC_CHECK_TYPES(intptr_t)
Theodore Ts'o0c193f82003-08-01 14:26:23 -0400936dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000937dnl See if struct stat has a st_flags field, in which case we can get file
938dnl flags somewhat portably. Also check for the analogous setter, chflags().
939dnl
940AC_MSG_CHECKING(whether struct stat has a st_flags field)
941AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
942 AC_TRY_COMPILE([#include <sys/stat.h>],
943 [struct stat stat; stat.st_flags = 0;],
944 [e2fsprogs_cv_struct_st_flags=yes],
945 [e2fsprogs_cv_struct_st_flags=no]))
946AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
947if test "$e2fsprogs_cv_struct_st_flags" = yes; then
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000948 AC_MSG_CHECKING(whether st_flags field is useful)
949 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
950 AC_TRY_COMPILE([#include <sys/stat.h>],
951 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
952 [e2fsprogs_cv_struct_st_flags_immut=yes],
953 [e2fsprogs_cv_struct_st_flags_immut=no]))
954 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
955 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400956 AC_DEFINE(HAVE_STAT_FLAGS, 1,
957 [Define to 1 if struct stat has st_flags])
Theodore Ts'oc03bc4e1999-10-20 18:20:36 +0000958 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +0000959fi
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500960dnl
961dnl Check for the presence of SA_LEN
962dnl
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500963AC_CHECK_MEMBER(struct sockaddr.sa_len,
Theodore Ts'od1154eb2011-09-18 17:34:37 -0400964 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
965 [Define to 1 if if struct sockaddr contains sa_len]),,
Theodore Ts'o6c65d252005-01-19 12:59:48 -0500966 [#include <sys/types.h>
967 #include <sys/socket.h>])
Theodore Ts'o84ea6e72004-03-19 19:29:17 -0500968dnl
Eric Sandeen9ed8e5f2009-10-02 11:32:42 -0500969dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using
970dnl the system-provided blkid library
971dnl
972if test -n "$BLKID_CMT"; then
973 AC_SEARCH_LIBS([blkid_probe_all], [blkid])
974fi
975dnl
Mike Frysinger677fc912012-03-06 20:13:54 -0500976AC_CHECK_FUNCS(m4_flatten([
977 __secure_getenv
978 backtrace
979 blkid_probe_get_topology
980 chflags
981 fallocate
982 fallocate64
983 fchown
984 fdatasync
985 fstat64
986 ftruncate64
987 getdtablesize
988 getmntinfo
Theodore Ts'o25ff7722012-04-05 15:16:50 -0700989 getpwuid_r
Mike Frysinger677fc912012-03-06 20:13:54 -0500990 getrlimit
991 getrusage
992 jrand48
993 llseek
994 lseek64
995 mallinfo
996 mbstowcs
997 memalign
998 mmap
999 msync
1000 nanosleep
1001 open64
1002 pathconf
1003 posix_fadvise
1004 posix_memalign
1005 prctl
Theodore Ts'ob24efa22012-04-05 15:31:09 -07001006 setmntent
Mike Frysinger677fc912012-03-06 20:13:54 -05001007 setresgid
1008 setresuid
1009 srandom
1010 strcasecmp
1011 strdup
1012 strnlen
1013 strptime
1014 strtoull
1015 sync_file_range
1016 sysconf
1017 usleep
1018 utime
1019 valloc
1020]))
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001021dnl
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001022dnl Check to see if -lsocket is required (solaris) to make something
1023dnl that uses socket() to compile; this is needed for the UUID library
1024dnl
1025SOCKET_LIB=''
1026AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
1027AC_SUBST(SOCKET_LIB)
1028dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001029dnl See if optreset exists
1030dnl
1031AC_MSG_CHECKING(for optreset)
1032AC_CACHE_VAL(ac_cv_have_optreset,
1033[AC_EGREP_HEADER(optreset, unistd.h,
1034 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
1035AC_MSG_RESULT($ac_cv_have_optreset)
1036if test $ac_cv_have_optreset = yes; then
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001037 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001038fi
1039dnl
Theodore Ts'od7f45af2008-09-12 10:15:26 -04001040dnl Test for sem_init, and which library it might require:
1041dnl
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001042AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
Theodore Ts'od7f45af2008-09-12 10:15:26 -04001043SEM_INIT_LIB=''
1044AC_CHECK_FUNC(sem_init, ,
1045 AC_CHECK_LIB(pthread, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001046 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -04001047 SEM_INIT_LIB=-lpthread,
1048 AC_CHECK_LIB(rt, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001049 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -04001050 SEM_INIT_LIB=-lrt,
1051 AC_CHECK_LIB(posix4, sem_init,
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001052 AC_DEFINE(HAVE_SEM_INIT, 1)
Theodore Ts'od7f45af2008-09-12 10:15:26 -04001053 SEM_INIT_LIB=-lposix4))))dnl
1054AC_SUBST(SEM_INIT_LIB)
1055dnl
Theodore Ts'oe54635d2006-08-06 14:33:13 -04001056dnl Check for unified diff
1057dnl
1058AC_MSG_CHECKING(for unified diff option)
Theodore Ts'o27f991b2008-04-01 20:32:55 -04001059if diff -u $0 $0 > /dev/null 2>&1 ; then
Theodore Ts'oe54635d2006-08-06 14:33:13 -04001060 UNI_DIFF_OPTS=-u
1061else
1062 UNI_DIFF_OPTS=-c
1063fi
1064AC_MSG_RESULT($UNI_DIFF_OPTS)
1065AC_SUBST(UNI_DIFF_OPTS)
1066dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +00001067dnl We use the EXT2 ioctls only under Linux
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001068dnl
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +00001069case "$host_os" in
1070linux*)
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001071 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
Theodore Ts'o8f3f29d2000-02-11 05:04:44 +00001072 ;;
1073esac
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001074dnl
Theodore Ts'offf45482003-04-13 00:44:19 -04001075dnl OS-specific uncomment control
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001076dnl
1077LINUX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -04001078CYGWIN_CMT="#"
1079UNIX_CMT=
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001080case "$host_os" in
1081linux*)
1082 LINUX_CMT=
1083 ;;
Theodore Ts'offf45482003-04-13 00:44:19 -04001084cygwin)
1085 CYGWIN_CMT=
1086 UNIX_CMT="#"
Theodore Ts'offf45482003-04-13 00:44:19 -04001087 ;;
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001088esac
1089AC_SUBST(LINUX_CMT)
Theodore Ts'offf45482003-04-13 00:44:19 -04001090AC_SUBST(CYGWIN_CMT)
1091AC_SUBST(UNIX_CMT)
Theodore Ts'oe6f2bda2002-08-18 03:37:10 -04001092dnl
Theodore Ts'o6c133521999-07-03 20:37:03 +00001093dnl Linux and Hurd places root files in the / by default
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001094dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001095case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -04001096linux* | gnu* | k*bsd*-gnu)
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001097 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
1098 root_prefix="";
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001099 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001100 fi
1101 ;;
1102esac
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001103dnl
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001104dnl On Linux/hurd, force the prefix to be /usr
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001105dnl
1106case "$host_os" in
Theodore Ts'o93636bd2003-07-12 02:45:05 -04001107linux* | gnu* | k*bsd*-gnu)
Theodore Ts'ofc6d9d51997-04-29 14:51:31 +00001108 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001109 prefix="/usr";
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001110 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001111 if test "$mandir" = '${prefix}/man' ; then
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001112 AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
Theodore Ts'obff61a72002-05-21 22:21:38 -04001113 mandir=/usr/share/man
1114 fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001115 fi
1116;;
1117esac
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001118if test "$root_prefix" = NONE ; then
Theodore Ts'offe19911998-04-08 06:05:49 +00001119 if test "$prefix" = NONE ; then
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001120 root_prefix="$ac_default_prefix"
1121 else
1122 root_prefix="$prefix"
1123 fi
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001124 root_bindir=$bindir
1125 root_sbindir=$sbindir
1126 root_libdir=$libdir
1127 root_sysconfdir=$sysconfdir
1128else
1129 root_bindir='${root_prefix}/bin'
1130 root_sbindir='${root_prefix}/sbin'
1131 root_libdir='${root_prefix}/lib'
1132 root_sysconfdir='${root_prefix}/etc'
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001133fi
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001134if test "$bindir" != '${exec_prefix}/bin'; then
1135 root_bindir=$bindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001136 AC_MSG_RESULT([Setting root_bindir to $root_bindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001137fi
1138if test "$sbindir" != '${exec_prefix}/sbin'; then
1139 root_sbindir=$sbindir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001140 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001141fi
1142if test "$libdir" != '${exec_prefix}/lib'; then
1143 root_libdir=$libdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001144 AC_MSG_RESULT([Setting root_libdir to $root_libdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001145fi
1146if test "$sysconfdir" != '${prefix}/etc'; then
1147 root_sysconfdir=$sysconfdir
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001148 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
Theodore Ts'oc4ef11c2008-01-04 16:55:37 -05001149fi
Theodore Ts'oa4b2d3c1998-04-03 16:12:25 +00001150AC_SUBST(root_prefix)
Theodore Ts'ob5ffead2002-05-11 19:17:00 -04001151AC_SUBST(root_bindir)
1152AC_SUBST(root_sbindir)
1153AC_SUBST(root_libdir)
1154AC_SUBST(root_sysconfdir)
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001155dnl
Theodore Ts'o55e00a22011-09-18 23:53:23 -04001156dnl Allow specification of the multiarch arch
1157dnl
1158AC_ARG_WITH([multiarch],
1159[ --with-multiarch=ARCH specify the multiarch triplet],
1160libdir=$libdir/$withval
1161root_libdir=$root_libdir/$withval
1162)dnl
1163dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001164dnl See if -static works.
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001165dnl
Theodore Ts'oae851481997-04-29 18:13:24 +00001166AC_MSG_CHECKING([whether linker accepts -static])
1167AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
1168[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
1169AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
1170 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
1171LDFLAGS=$SAVE_LDFLAGS])
Theodore Ts'odefde781999-01-04 07:39:19 +00001172dnl
1173dnl Regardless of how the test turns out, Solaris doesn't handle -static
1174dnl This is caused by the socket library requiring the nsl library, which
1175dnl requires the -dl library, which only works for dynamically linked
1176dnl programs. It basically means you can't have statically linked programs
1177dnl which use the network under Solaris.
1178dnl
1179case "$host_os" in
1180solaris2.*)
1181 ac_cv_e2fsprogs_use_static=no
1182;;
1183esac
Theodore Ts'oae851481997-04-29 18:13:24 +00001184AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
Theodore Ts'o74becf31997-04-26 14:37:06 +00001185LDFLAG_STATIC=
Theodore Ts'oae851481997-04-29 18:13:24 +00001186if test $ac_cv_e2fsprogs_use_static = yes; then
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001187 LDFLAG_STATIC=-static
Theodore Ts'oae851481997-04-29 18:13:24 +00001188fi
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001189AC_SUBST(LDFLAG_STATIC)
1190dnl
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001191dnl Work around mysterious Darwin / GNU libintl problem
1192dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
1193dnl Apple hacked gcc somehow?)
1194dnl
1195case "$host_os" in
1196darwin*)
Theodore Ts'o02d04db2008-08-22 10:52:42 -04001197 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001198 AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1199 [Define to 1 if Apple Darwin libintl workaround is needed])
Theodore Ts'o07a0db12003-07-05 14:50:24 -04001200 ;;
1201esac
1202dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001203dnl Make the ss and et directories work correctly.
1204dnl
1205SS_DIR=`cd ${srcdir}/lib/ss; pwd`
1206ET_DIR=`cd ${srcdir}/lib/et; pwd`
1207AC_SUBST(SS_DIR)
1208AC_SUBST(ET_DIR)
1209dnl
1210dnl Only try to run the test suite if we're not cross compiling.
1211dnl
1212if test "$cross_compiling" = yes ; then
1213 DO_TEST_SUITE=
1214else
1215 DO_TEST_SUITE=check
1216fi
1217AC_SUBST(DO_TEST_SUITE)
1218dnl
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001219dnl Only include the intl include files if we're building with them
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001220dnl
1221INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1222if test -n "$CPPFLAGS" ; then
1223 INCLUDES="$INCLUDES $CPPFLAGS"
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001224fi
Theodore Ts'od1154eb2011-09-18 17:34:37 -04001225if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
1226 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
1227fi
1228AC_SUBST(INCLUDES)
Theodore Ts'oc6f35b82003-05-17 16:29:27 -04001229dnl
Theodore Ts'odd947da2005-11-09 18:37:07 -04001230dnl Build CFLAGS
1231dnl
1232if test $cross_compiling = no; then
1233 BUILD_CFLAGS="$CFLAGS"
1234 BUILD_LDFLAGS="$LDFLAGS"
1235else
1236 BUILD_CFLAGS=
1237 BUILD_LDFLAGS=
1238fi
1239AC_SUBST(BUILD_CFLAGS)
1240AC_SUBST(BUILD_LDFLAGS)
1241dnl
Theodore Ts'o50e1e101997-04-26 13:58:21 +00001242dnl Make our output files, being sure that we create the some miscellaneous
1243dnl directories
1244dnl
1245test -d lib || mkdir lib
1246test -d include || mkdir include
1247test -d include/linux || mkdir include/linux
Theodore Ts'odefde781999-01-04 07:39:19 +00001248test -d include/asm || mkdir include/asm
Theodore Ts'obff0cc92003-03-23 01:37:53 -05001249for i in MCONFIG Makefile e2fsprogs.spec \
Theodore Ts'o183c73b2012-05-12 23:13:24 -04001250 util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
Theodore Ts'o4ea7ea02006-04-09 08:41:55 -04001251 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1252 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001253 lib/uuid/Makefile lib/uuid/uuid_types.h \
Aditya Kalif239fef2011-07-20 11:40:02 -07001254 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
Theodore Ts'oe6441862005-01-26 12:59:25 -05001255 lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
1256 lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
Theodore Ts'o921f4ad2004-11-19 17:25:27 -05001257 misc/Makefile ext2ed/Makefile e2fsck/Makefile \
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001258 debugfs/Makefile tests/Makefile tests/progs/Makefile \
Matthias Andree98a5ad62009-07-15 17:37:52 +02001259 resize/Makefile doc/Makefile intl/Makefile \
1260 intl/libgnuintl.h po/Makefile.in ; do
Theodore Ts'o94ba8c72003-03-02 02:07:14 -05001261 if test -d `dirname ${srcdir}/$i` ; then
1262 outlist="$outlist $i"
1263 fi
1264done
1265AC_OUTPUT($outlist)
Theodore Ts'oee683a12005-02-05 15:53:56 -05001266if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi