]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - configure.in
libquota: remove unneeded #include of <sys/quota.h>
[thirdparty/e2fsprogs.git] / configure.in
CommitLineData
50e1e10f 1AC_INIT(version.h)
b0cacab0
TT
2AC_PREREQ(2.50)
3AC_CONFIG_AUX_DIR(config)
d1154eb4
TT
4AC_CONFIG_HEADERS([lib/config.h])
5AH_BOTTOM([#include "dirpaths.h"])
50e1e10f
TT
6MCONFIG=./MCONFIG
7AC_SUBST_FILE(MCONFIG)
74becf3c
TT
8BINARY_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 \" " "`
bff0cc95 16E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'`
74becf3c
TT
17MONTH=`echo $DATE | awk -F- '{print $2}'`
18YEAR=`echo $DATE | awk -F- '{print $3}'`
19
40fa8cc9
TT
20if expr $YEAR ">" 1900 > /dev/null ; then
21 E2FSPROGS_YEAR=$YEAR
22elif expr $YEAR ">" 90 >/dev/null ; then
74becf3c
TT
23 E2FSPROGS_YEAR=19$YEAR
24else
25 E2FSPROGS_YEAR=20$YEAR
26fi
27
28case $MONTH in
927566a3
AD
29Jan) 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" ;;
02d04db4 41*) AC_MSG_WARN([Unknown month $MONTH??]) ;;
74becf3c
TT
42esac
43
927566a3
AD
44base_ver=`echo $E2FSPROGS_VERSION | \
45 sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
927566a3
AD
46
47date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
48
49case $E2FSPROGS_VERSION in
50*-WIP|pre-*)
ab06396f 51 E2FSPROGS_PKGVER="$base_ver~WIP-$E2FSPROGS_YEAR-$MONTH_NUM-$E2FSPROGS_DAY"
927566a3
AD
52 ;;
53*)
54 E2FSPROGS_PKGVER="$base_ver"
55 ;;
56esac
57
58unset DATE MONTH YEAR base_ver pre_vers date_spec
02d04db4
TT
59AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION])
60AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}])
74becf3c
TT
61AC_SUBST(E2FSPROGS_YEAR)
62AC_SUBST(E2FSPROGS_MONTH)
bff0cc95 63AC_SUBST(E2FSPROGS_DAY)
74becf3c 64AC_SUBST(E2FSPROGS_VERSION)
927566a3 65AC_SUBST(E2FSPROGS_PKGVER)
ea97be5a 66AC_CANONICAL_HOST
74becf3c 67dnl
57aa50d4
TT
68dnl Check to see if libdl exists for the sake of dlopen
69dnl
70DLOPEN_LIB=''
71AC_CHECK_LIB(dl, dlopen,
72[DLOPEN_LIB=-ldl
d1154eb4 73AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if dlopen/libdl exists])])
57aa50d4
TT
74AC_SUBST(DLOPEN_LIB)
75dnl
d21ae6c5
TT
76dnl Use diet libc
77dnl
eafba6c3 78WITH_DIET_LIBC=
d21ae6c5 79AC_ARG_WITH([diet-libc],
3249394d 80[ --with-diet-libc use diet libc],
d21ae6c5 81CC="diet cc -nostdinc"
eafba6c3 82WITH_DIET_LIBC=yes
d21ae6c5
TT
83AC_MSG_RESULT(CC=$CC))dnl
84dnl
74becf3c 85AC_ARG_WITH([cc],
0b5b9f90
TT
86AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
87AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
74becf3c 88dnl
0b5b9f90
TT
89AC_ARG_WITH([ccopts],
90AC_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]),
91AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead]))
74becf3c 92dnl
0b5b9f90
TT
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]))
74becf3c 96dnl
0b5b9f90 97AC_PROG_CC
9b3018a8
TT
98if test "$GCC" = yes; then
99 RDYNAMIC="-rdynamic"
100 AC_SUBST(RDYNAMIC)
101fi
0b5b9f90 102AC_PROG_CPP
74becf3c 103dnl
b1c92f91
MA
104dnl 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
a4d09610
TT
121dnl 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
14b596d4 126PROFILED_LIB_EXT=.a
a4d09610 127dnl
a4b2d3ce 128dnl Allow separate `root_prefix' to be specified
fc6d9d51 129dnl
a4b2d3ce
TT
130AC_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
fc6d9d51 134dnl
98919bdb
TT
135dnl 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=#
02d04db4 142 AC_MSG_RESULT([Disabling maintainer mode])
98919bdb
TT
143else
144 MAINTAINER_CMT=
02d04db4 145 AC_MSG_RESULT([Enabling maintainer mode])
98919bdb
TT
146fi
147,
148MAINTAINER_CMT=#
02d04db4 149AC_MSG_RESULT([Disabling maintainer mode by default])
98919bdb
TT
150)
151AC_SUBST(MAINTAINER_CMT)
152dnl
5aa6c3f6
TT
153dnl 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
183c73b0 167AC_MSG_RESULT([Disabling symlinks for install by default])
5aa6c3f6
TT
168)
169AC_SUBST(LINK_INSTALL_FLAGS)
170dnl
183c73b0
TT
171dnl 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
5aa6c3f6
TT
189dnl 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=
183c73b0 203AC_MSG_RESULT([Disabling symlinks for build by default])
5aa6c3f6
TT
204)
205AC_SUBST(LINK_BUILD_FLAGS)
206dnl
c13351f6
TT
207dnl handle --enable-verbose-makecmds
208dnl
209AC_ARG_ENABLE([verbose-makecmds],
5aa6c3f6 210[ --enable-verbose-makecmds enable verbose make command output],
c13351f6
TT
211if 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
1917875f
TT
229dnl handle --enable-compression
230dnl
231AC_ARG_ENABLE([compression],
232[ --enable-compression enable EXPERIMENTAL compression support],
233if test "$enableval" = "no"
234then
02d04db4 235 AC_MSG_RESULT([Disabling compression support])
1917875f 236else
d1154eb4
TT
237 AC_DEFINE(ENABLE_COMPRESSION, 1,
238 [Define to 1 if ext2 compression enabled])
02d04db4
TT
239 AC_MSG_RESULT([Enabling compression support])
240 AC_MSG_WARN([Compression support is experimental])
1917875f
TT
241fi
242,
02d04db4 243AC_MSG_RESULT([Disabling compression support by default])
1917875f
TT
244)
245dnl
8fdc9985
TT
246dnl handle --enable-htree
247dnl
d1154eb4 248AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
8fdc9985
TT
249AC_ARG_ENABLE([htree],
250[ --enable-htree enable EXPERIMENTAL htree directory support],
251if test "$enableval" = "no"
252then
253 HTREE_CMT=#
02d04db4 254 AC_MSG_RESULT([Disabling htree directory support])
8fdc9985
TT
255else
256 HTREE_CMT=
d1154eb4 257 AC_DEFINE(ENABLE_HTREE, 1)
02d04db4 258 AC_MSG_RESULT([Enabling htree directory support])
8fdc9985
TT
259fi
260,
559ca6cb 261HTREE_CMT=
d1154eb4 262AC_DEFINE(ENABLE_HTREE, 1)
02d04db4 263AC_MSG_RESULT([Enabling htree directory support by default])
8fdc9985
TT
264)
265AC_SUBST(HTREE_CMT)
266dnl
a4ece359
TT
267dnl This needs to be before all of the --enable-*-shlibs options
268dnl
269E2_PKG_CONFIG_STATIC=--static
55da9876
TT
270LDFLAG_DYNAMIC=
271PRIVATE_LIBS_CMT=
a4ece359 272dnl
50e1e10f
TT
273dnl handle --enable-elf-shlibs
274dnl
275AC_ARG_ENABLE([elf-shlibs],
a4d09610 276[ --enable-elf-shlibs select ELF shared libraries],
50e1e10f
TT
277if test "$enableval" = "no"
278then
279 ELF_CMT=#
280 MAKEFILE_ELF=/dev/null
02d04db4 281 AC_MSG_RESULT([Disabling ELF shared libraries])
50e1e10f 282else
a4ece359 283 E2_PKG_CONFIG_STATIC=
50e1e10f
TT
284 ELF_CMT=
285 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
f5955dda
TT
286 [case "$host_os" in
287 solaris2.*)
288 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
289 ;;
290 esac]
74becf3c 291 BINARY_TYPE=elfbin
a4d09610 292 LIB_EXT=.so
55da9876
TT
293 PRIVATE_LIBS_CMT=#
294 LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib']
02d04db4 295 AC_MSG_RESULT([Enabling ELF shared libraries])
50e1e10f
TT
296fi
297,
298MAKEFILE_ELF=/dev/null
299ELF_CMT=#
02d04db4 300AC_MSG_RESULT([Disabling ELF shared libraries by default])
50e1e10f
TT
301)
302AC_SUBST(ELF_CMT)
303AC_SUBST_FILE(MAKEFILE_ELF)
304dnl
305dnl handle --enable-bsd-shlibs
306dnl
307AC_ARG_ENABLE([bsd-shlibs],
a4d09610 308[ --enable-bsd-shlibs select BSD shared libraries],
50e1e10f
TT
309if test "$enableval" = "no"
310then
311 BSDLIB_CMT=#
312 MAKEFILE_BSDLIB=/dev/null
02d04db4 313 AC_MSG_RESULT([Disabling BSD shared libraries])
50e1e10f 314else
a4ece359 315 E2_PKG_CONFIG_STATIC=
50e1e10f
TT
316 BSDLIB_CMT=
317 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
a4d09610 318 LIB_EXT=.so
e71d8731 319 [case "$host_os" in
aa75eccc 320 darwin*)
e71d8731
TT
321 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
322 LIB_EXT=.dylib
323 ;;
324 esac]
02d04db4 325 AC_MSG_RESULT([Enabling BSD shared libraries])
50e1e10f
TT
326fi
327,
328MAKEFILE_BSDLIB=/dev/null
329BSDLIB_CMT=#
02d04db4 330AC_MSG_RESULT([Disabling BSD shared libraries by default])
50e1e10f
TT
331)
332AC_SUBST(BSDLIB_CMT)
333AC_SUBST_FILE(MAKEFILE_BSDLIB)
334dnl
335dnl handle --enable-profile
336dnl
337AC_ARG_ENABLE([profile],
a4d09610 338[ --enable-profile build profiling libraries],
50e1e10f
TT
339if test "$enableval" = "no"
340then
341 PROFILE_CMT=#
342 MAKEFILE_PROFILE=/dev/null
02d04db4 343 AC_MSG_RESULT([Disabling profiling libraries])
50e1e10f
TT
344else
345 PROFILE_CMT=
346 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
a4d09610 347 PROFILED_LIB_EXT=_p.a
02d04db4 348 AC_MSG_RESULT([Building profiling libraries])
50e1e10f
TT
349fi
350,
351PROFILE_CMT=#
352MAKEFILE_PROFILE=/dev/null
02d04db4 353AC_MSG_RESULT([Disabling profiling libraries by default])
50e1e10f
TT
354)
355AC_SUBST(PROFILE_CMT)
356AC_SUBST_FILE(MAKEFILE_PROFILE)
357dnl
358dnl handle --enable-checker
359dnl
360AC_ARG_ENABLE([checker],
a4d09610 361[ --enable-checker build checker libraries],
50e1e10f
TT
362if test "$enableval" = "no"
363then
364 CHECKER_CMT=#
365 MAKEFILE_CHECKER=/dev/null
02d04db4 366 AC_MSG_RESULT([Disabling checker libraries])
50e1e10f
TT
367else
368 CHECKER_CMT=
369 MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
02d04db4 370 AC_MSG_RESULT([Building checker libraries])
50e1e10f
TT
371fi
372,
373CHECKER_CMT=#
374MAKEFILE_CHECKER=/dev/null
02d04db4 375AC_MSG_RESULT([Disabling checker libraries by default])
50e1e10f
TT
376)
377AC_SUBST(CHECKER_CMT)
378AC_SUBST_FILE(MAKEFILE_CHECKER)
379dnl
a4d09610
TT
380dnl Substitute library extensions
381dnl
382AC_SUBST(LIB_EXT)
383AC_SUBST(STATIC_LIB_EXT)
384AC_SUBST(PROFILED_LIB_EXT)
55da9876
TT
385AC_SUBST(LDFLAG_DYNAMIC)
386AC_SUBST(PRIVATE_LIBS_CMT)
a4d09610 387dnl
782bebfd 388dnl handle --enable-jbd-debug
cdf186e4 389dnl
782bebfd
TT
390AC_ARG_ENABLE([jbd-debug],
391[ --enable-jbd-debug enable journal debugging],
cdf186e4
TT
392if test "$enableval" = "no"
393then
02d04db4 394 AC_MSG_RESULT([Disabling journal debugging])
cdf186e4 395else
d1154eb4
TT
396 AC_DEFINE(CONFIG_JBD_DEBUG, 1,
397 [Define to 1 if debugging ext3/4 journal code])
02d04db4 398 AC_MSG_RESULT([Enabling journal debugging])
cdf186e4
TT
399fi
400,
02d04db4 401AC_MSG_RESULT([Disabling journal debugging by default])
cdf186e4
TT
402)
403dnl
f0a22d0f
TT
404dnl handle --enable-blkid-debug
405dnl
406AC_ARG_ENABLE([blkid-debug],
d21ae6c5 407[ --enable-blkid-debug enable blkid debugging],
f0a22d0f
TT
408if test "$enableval" = "no"
409then
02d04db4 410 AC_MSG_RESULT([Disabling blkid debugging])
f0a22d0f 411else
d1154eb4
TT
412 AC_DEFINE(CONFIG_BLKID_DEBUG, 1,
413 [Define to 1 if debugging the blkid library])
02d04db4 414 AC_MSG_RESULT([Enabling blkid debugging])
f0a22d0f
TT
415fi
416,
02d04db4 417AC_MSG_RESULT([Disabling blkid debugging by default])
2a29f135
TT
418)
419dnl
420dnl handle --enable-testio-debug
421dnl
422AC_ARG_ENABLE([testio-debug],
af773654 423[ --disable-testio-debug disable the use of the test I/O manager for debugging],
d1154eb4
TT
424AH_TEMPLATE([CONFIG_TESTIO_DEBUG],
425 [Define to 1 if the testio I/O manager should be enabled])
2a29f135
TT
426if test "$enableval" = "no"
427then
02d04db4 428 AC_MSG_RESULT([Disabling testio debugging])
af773654 429 TEST_IO_CMT="#"
2a29f135 430else
af773654 431 TEST_IO_CMT=
d1154eb4 432 AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
02d04db4 433 AC_MSG_RESULT([Enabling testio debugging])
2a29f135
TT
434fi
435,
af773654 436AC_MSG_RESULT([Enabling testio debugging by default])
d1154eb4 437AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
af773654 438TEST_IO_CMT=
f0a22d0f 439)
af773654 440AC_SUBST(TEST_IO_CMT)
f0a22d0f 441dnl
39fd3d4f
SJR
442dnl 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
14b596d4
TT
493dnl handle --disable-libblkid
494dnl
495PKG_PROG_PKG_CONFIG
496LIBBLKID=
497DEPLIBBLKID=
498STATIC_LIBBLKID=
499DEPSTATIC_LIBBLKID=
500PROFILED_LIBBLKID=
501DEPPROFILED_LIBBLKID=
502BLKID_CMT=
d1154eb4 503AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs])
14b596d4
TT
504AC_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
d1154eb4 526 AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
14b596d4
TT
527 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
d1154eb4 536AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
14b596d4
TT
537AC_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
7becb206 547dnl handle --enable-quota
f239fefc
AK
548dnl
549PKG_PROG_PKG_CONFIG
7becb206
TT
550AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
551AC_ARG_ENABLE([quota],
552[ --enable-libquota enable quota support],
f239fefc
AK
553if test "$enableval" = "no"
554then
7becb206 555 AC_MSG_RESULT([Disabling quota support])
f239fefc 556else
7becb206
TT
557 AC_DEFINE(CONFIG_QUOTA, 1)
558 AC_MSG_RESULT([Enabling quota support])
f239fefc
AK
559fi
560,
7becb206
TT
561AC_MSG_RESULT([Disabling quota support by default])
562)
563dnl
564dnl Define stuff expected for quota library
565dnl
f239fefc
AK
566LIBQUOTA='$(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
f239fefc
AK
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
cdf186e4
TT
580dnl handle --enable-debugfs
581dnl
582AC_ARG_ENABLE([debugfs],
583[ --disable-debugfs disable support of debugfs program],
584if test "$enableval" = "no"
585then
02d04db4 586 AC_MSG_RESULT([Disabling debugfs support])
cdf186e4
TT
587 DEBUGFS_CMT="#"
588else
589 DEBUGFS_CMT=
02d04db4 590 AC_MSG_RESULT([Enabling debugfs support])
cdf186e4
TT
591fi
592,
02d04db4 593AC_MSG_RESULT([Enabling debugfs support by default])
cdf186e4
TT
594DEBUGFS_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
02d04db4 604 AC_MSG_RESULT([Disabling e2image support])
cdf186e4
TT
605 IMAGER_CMT="#"
606else
607 IMAGER_CMT=
02d04db4 608 AC_MSG_RESULT([Enabling e2image support])
cdf186e4
TT
609fi
610,
02d04db4 611AC_MSG_RESULT([Enabling e2image support by default])
cdf186e4
TT
612IMAGER_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
02d04db4 622 AC_MSG_RESULT([Disabling e2resize support])
cdf186e4
TT
623 RESIZER_CMT="#"
624else
625 RESIZER_CMT=
02d04db4 626 AC_MSG_RESULT([Enabling e2resize support])
cdf186e4
TT
627fi
628,
02d04db4 629AC_MSG_RESULT([Enabling e2resize support by default])
cdf186e4
TT
630RESIZER_CMT=
631)
632AC_SUBST(RESIZER_CMT)
633dnl
8d9c50c5
TT
634dnl 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
fc6d9d51
TT
652dnl 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=''
02d04db4 659 AC_MSG_RESULT([Not building fsck wrapper])
fc6d9d51
TT
660else
661 FSCK_PROG=fsck FSCK_MAN=fsck.8
02d04db4 662 AC_MSG_RESULT([Building fsck wrapper])
fc6d9d51
TT
663fi]
664,
665[case "$host_os" in
e363240d 666 gnu*)
fc6d9d51 667 FSCK_PROG='' FSCK_MAN=''
02d04db4 668 AC_MSG_RESULT([Not building fsck wrapper by default])
fc6d9d51
TT
669 ;;
670 *)
671 FSCK_PROG=fsck FSCK_MAN=fsck.8
02d04db4 672 AC_MSG_RESULT([Building fsck wrapper by default])
fc6d9d51
TT
673esac]
674)
675AC_SUBST(FSCK_PROG)
676AC_SUBST(FSCK_MAN)
677dnl
5d40773b
TT
678dnl 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=''
02d04db4 685 AC_MSG_RESULT([Not building e2initrd helper])
5d40773b
TT
686else
687 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
02d04db4 688 AC_MSG_RESULT([Building e2initrd helper])
5d40773b
TT
689fi]
690,
691E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
02d04db4 692AC_MSG_RESULT([Building e2initrd helper by default])
5d40773b
TT
693)
694AC_SUBST(E2INITRD_PROG)
695AC_SUBST(E2INITRD_MAN)
4db2f59a 696dnl
5d40773b 697dnl
50e1e10f 698dnl
3249394d
TT
699AC_ARG_ENABLE([tls],
700[ --disable-tls disable use of thread local support],
701[if test "$enableval" = "no"
702then
703 try_tls=""
02d04db4 704 AC_MSG_RESULT([Disabling thread local support])
3249394d
TT
705else
706 try_tls="yes"
02d04db4 707 AC_MSG_RESULT([Enabling thread local support])
3249394d
TT
708fi]
709,
eafba6c3
TT
710if test -n "$WITH_DIET_LIBC"
711then
712 try_tls=""
02d04db4 713 AC_MSG_RESULT([Diet libc does not support thread local support])
eafba6c3
TT
714else
715 try_tls="yes"
02d04db4 716 AC_MSG_RESULT([Try using thread local support by default])
eafba6c3 717fi
3249394d
TT
718)
719if test "$try_tls" = "yes"
720then
721AX_TLS
722fi
723dnl
724dnl
725dnl
d1154eb4 726AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd])
5610f992
TT
727AC_ARG_ENABLE([uuidd],
728[ --disable-uuidd disable building the uuid daemon],
729[if test "$enableval" = "no"
730then
02d04db4 731 AC_MSG_RESULT([Not building uuidd])
5610f992
TT
732 UUIDD_CMT="#"
733else
d1154eb4 734 AC_DEFINE(USE_UUIDD, 1)
5610f992 735 UUIDD_CMT=""
02d04db4 736 AC_MSG_RESULT([Building uuidd])
5610f992
TT
737fi]
738,
d1154eb4 739AC_DEFINE(USE_UUIDD, 1)
5610f992 740UUIDD_CMT=""
02d04db4 741AC_MSG_RESULT([Building uuidd by default])
5610f992
TT
742)
743AC_SUBST(UUIDD_CMT)
744dnl
745dnl
746dnl
50e1e10f
TT
747MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
748AC_SUBST_FILE(MAKEFILE_LIBRARY)
749dnl
cdf186e4
TT
750dnl Add internationalization support, using gettext.
751dnl
b0cacab0 752GETTEXT_PACKAGE=e2fsprogs
cdf186e4
TT
753PACKAGE=e2fsprogs
754VERSION="$E2FSPROGS_VERSION"
b0cacab0 755VERSION=0.14.1
d1154eb4
TT
756AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
757AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
b0cacab0 758AC_SUBST(GETTEXT_PACKAGE)
cdf186e4
TT
759AC_SUBST(PACKAGE)
760AC_SUBST(VERSION)
761
cdf186e4
TT
762AM_GNU_GETTEXT
763dnl
50e1e10f
TT
764dnl End of configuration options
765dnl
74becf3c 766AC_SUBST(BINARY_TYPE)
50e1e10f 767AC_PROG_MAKE_SET
bcb915b0 768CHECK_GNU_MAKE
50e1e10f 769AC_PATH_PROG(LN, ln, ln)
fc6d9d51 770AC_PROG_LN_S
50e1e10f
TT
771AC_PATH_PROG(MV, mv, mv)
772AC_PATH_PROG(CP, cp, cp)
773AC_PATH_PROG(RM, rm, rm)
774AC_PATH_PROG(CHMOD, chmod, :)
32237014
TT
775AC_PROG_AWK
776AC_PROG_EGREP
50e1e10f 777AC_PATH_PROG(SED, sed, sed)
9d564f73 778AC_PATH_PROG(PERL, perl, perl)
250f79f0 779AC_PATH_PROG(LDCONFIG, ldconfig, :)
50e1e10f
TT
780AC_CHECK_TOOL(AR, ar, ar)
781AC_CHECK_TOOL(RANLIB, ranlib, :)
782AC_CHECK_TOOL(STRIP, strip, :)
7321d94e
MK
783AC_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)
50e1e10f 797AC_PROG_INSTALL
6c133523
TT
798# 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
677fc916
MF
805AC_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]))
da76d6b7
TT
847AC_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]])
50e1e10f 862AC_FUNC_VPRINTF
fff45483
TT
863dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
864dnl is not decleared.
d1154eb4
TT
865AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
866 [Define to 1 if dirent has d_reclen])],,
6c65d251 867 [#include <dirent.h>])
d1154eb4
TT
868dnl 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])],,
6c65d251 871 [#include <sys/types.h>])
50e1e10f 872dnl
b0b9c4de
TT
873dnl 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
d1154eb4
TT
876AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
877 [Define to 1 if llseek declared in unistd.h])],,
6c65d251 878 [#include <unistd.h>])
b0b9c4de 879dnl
6928adc9
TT
880dnl 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
d1154eb4
TT
888AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
889 [Define to 1 if lseek64 declared in unistd.h])],,
6c65d251
TT
890 [#define _LARGEFILE_SOURCE
891 #define _LARGEFILE64_SOURCE
892 #include <unistd.h>])
6928adc9 893dnl
50e1e10f
TT
894dnl Word sizes...
895dnl
50e1e10f
TT
896AC_CHECK_SIZEOF(short)
897AC_CHECK_SIZEOF(int)
898AC_CHECK_SIZEOF(long)
fc6d9d51 899AC_CHECK_SIZEOF(long long)
50e1e10f
TT
900SIZEOF_SHORT=$ac_cv_sizeof_short
901SIZEOF_INT=$ac_cv_sizeof_int
902SIZEOF_LONG=$ac_cv_sizeof_long
fc6d9d51 903SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
50e1e10f
TT
904AC_SUBST(SIZEOF_SHORT)
905AC_SUBST(SIZEOF_INT)
906AC_SUBST(SIZEOF_LONG)
fc6d9d51 907AC_SUBST(SIZEOF_LONG_LONG)
877eb6d9 908AC_C_BIGENDIAN
29a5deed 909BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
4ea7ea00
TT
910ASM_TYPES_HEADER=./asm_types.h
911AC_SUBST_FILE(ASM_TYPES_HEADER)
50e1e10f 912dnl
488c75a6
TT
913dnl 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
0c193f82
TT
932dnl See if we have inttypes.h and if intptr_t is defined
933dnl
934AC_CHECK_HEADERS([inttypes.h])
d2ee56d8 935AC_CHECK_TYPES(intptr_t)
0c193f82 936dnl
50e1e10f
TT
937dnl 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
c03bc4e8
TT
948 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
d1154eb4
TT
956 AC_DEFINE(HAVE_STAT_FLAGS, 1,
957 [Define to 1 if struct stat has st_flags])
c03bc4e8 958 fi
50e1e10f 959fi
84ea6e70
TT
960dnl
961dnl Check for the presence of SA_LEN
962dnl
6c65d251 963AC_CHECK_MEMBER(struct sockaddr.sa_len,
d1154eb4
TT
964 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
965 [Define to 1 if if struct sockaddr contains sa_len]),,
6c65d251
TT
966 [#include <sys/types.h>
967 #include <sys/socket.h>])
84ea6e70 968dnl
9ed8e5fe
ES
969dnl 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
677fc916
MF
976AC_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
25ff7725 989 getpwuid_r
677fc916
MF
990 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
b24efa21 1006 setmntent
677fc916
MF
1007 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]))
fc6d9d51 1021dnl
fc6d9d51
TT
1022dnl 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
50e1e10f
TT
1029dnl 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
d1154eb4 1037 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
50e1e10f
TT
1038fi
1039dnl
d7f45af8
TT
1040dnl Test for sem_init, and which library it might require:
1041dnl
d1154eb4 1042AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
d7f45af8
TT
1043SEM_INIT_LIB=''
1044AC_CHECK_FUNC(sem_init, ,
1045 AC_CHECK_LIB(pthread, sem_init,
d1154eb4 1046 AC_DEFINE(HAVE_SEM_INIT, 1)
d7f45af8
TT
1047 SEM_INIT_LIB=-lpthread,
1048 AC_CHECK_LIB(rt, sem_init,
d1154eb4 1049 AC_DEFINE(HAVE_SEM_INIT, 1)
d7f45af8
TT
1050 SEM_INIT_LIB=-lrt,
1051 AC_CHECK_LIB(posix4, sem_init,
d1154eb4 1052 AC_DEFINE(HAVE_SEM_INIT, 1)
d7f45af8
TT
1053 SEM_INIT_LIB=-lposix4))))dnl
1054AC_SUBST(SEM_INIT_LIB)
1055dnl
e54635de
TT
1056dnl Check for unified diff
1057dnl
1058AC_MSG_CHECKING(for unified diff option)
27f991b0 1059if diff -u $0 $0 > /dev/null 2>&1 ; then
e54635de
TT
1060 UNI_DIFF_OPTS=-u
1061else
1062 UNI_DIFF_OPTS=-c
1063fi
1064AC_MSG_RESULT($UNI_DIFF_OPTS)
1065AC_SUBST(UNI_DIFF_OPTS)
1066dnl
8f3f29d3
TT
1067dnl We use the EXT2 ioctls only under Linux
1068dnl
1069case "$host_os" in
1070linux*)
d1154eb4 1071 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
8f3f29d3
TT
1072 ;;
1073esac
50e1e10f 1074dnl
fff45483 1075dnl OS-specific uncomment control
e6f2bda3
TT
1076dnl
1077LINUX_CMT="#"
fff45483
TT
1078CYGWIN_CMT="#"
1079UNIX_CMT=
e6f2bda3
TT
1080case "$host_os" in
1081linux*)
1082 LINUX_CMT=
1083 ;;
fff45483
TT
1084cygwin)
1085 CYGWIN_CMT=
1086 UNIX_CMT="#"
fff45483 1087 ;;
e6f2bda3
TT
1088esac
1089AC_SUBST(LINUX_CMT)
fff45483
TT
1090AC_SUBST(CYGWIN_CMT)
1091AC_SUBST(UNIX_CMT)
e6f2bda3 1092dnl
6c133523 1093dnl Linux and Hurd places root files in the / by default
50e1e10f 1094dnl
50e1e10f 1095case "$host_os" in
93636bde 1096linux* | gnu* | k*bsd*-gnu)
a4b2d3ce
TT
1097 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
1098 root_prefix="";
02d04db4 1099 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
fc6d9d51
TT
1100 fi
1101 ;;
1102esac
fc6d9d51 1103dnl
a4b2d3ce 1104dnl On Linux/hurd, force the prefix to be /usr
fc6d9d51
TT
1105dnl
1106case "$host_os" in
93636bde 1107linux* | gnu* | k*bsd*-gnu)
fc6d9d51 1108 if test "$prefix" = NONE ; then
a4b2d3ce 1109 prefix="/usr";
02d04db4 1110 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
bff61a7a 1111 if test "$mandir" = '${prefix}/man' ; then
02d04db4 1112 AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
bff61a7a
TT
1113 mandir=/usr/share/man
1114 fi
50e1e10f
TT
1115 fi
1116;;
1117esac
a4b2d3ce 1118if test "$root_prefix" = NONE ; then
ffe1991f 1119 if test "$prefix" = NONE ; then
a4b2d3ce
TT
1120 root_prefix="$ac_default_prefix"
1121 else
1122 root_prefix="$prefix"
1123 fi
b5ffeade
TT
1124 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'
a4b2d3ce 1133fi
c4ef11c5
TT
1134if test "$bindir" != '${exec_prefix}/bin'; then
1135 root_bindir=$bindir
02d04db4 1136 AC_MSG_RESULT([Setting root_bindir to $root_bindir])
c4ef11c5
TT
1137fi
1138if test "$sbindir" != '${exec_prefix}/sbin'; then
1139 root_sbindir=$sbindir
02d04db4 1140 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
c4ef11c5
TT
1141fi
1142if test "$libdir" != '${exec_prefix}/lib'; then
1143 root_libdir=$libdir
02d04db4 1144 AC_MSG_RESULT([Setting root_libdir to $root_libdir])
c4ef11c5
TT
1145fi
1146if test "$sysconfdir" != '${prefix}/etc'; then
1147 root_sysconfdir=$sysconfdir
02d04db4 1148 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
c4ef11c5 1149fi
a4b2d3ce 1150AC_SUBST(root_prefix)
b5ffeade
TT
1151AC_SUBST(root_bindir)
1152AC_SUBST(root_sbindir)
1153AC_SUBST(root_libdir)
1154AC_SUBST(root_sysconfdir)
50e1e10f 1155dnl
55e00a25
TT
1156dnl 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
50e1e10f 1164dnl See if -static works.
50e1e10f 1165dnl
ae851482
TT
1166AC_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])
defde784
TT
1172dnl
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
ae851482 1184AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
74becf3c 1185LDFLAG_STATIC=
ae851482 1186if test $ac_cv_e2fsprogs_use_static = yes; then
50e1e10f 1187 LDFLAG_STATIC=-static
ae851482 1188fi
50e1e10f
TT
1189AC_SUBST(LDFLAG_STATIC)
1190dnl
07a0db15
TT
1191dnl 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*)
02d04db4 1197 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
d1154eb4
TT
1198 AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1199 [Define to 1 if Apple Darwin libintl workaround is needed])
07a0db15
TT
1200 ;;
1201esac
1202dnl
50e1e10f
TT
1203dnl 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
c6f35b8a 1219dnl Only include the intl include files if we're building with them
d1154eb4
TT
1220dnl
1221INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1222if test -n "$CPPFLAGS" ; then
1223 INCLUDES="$INCLUDES $CPPFLAGS"
1224fi
c6f35b8a 1225if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
d1154eb4 1226 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
c6f35b8a 1227fi
d1154eb4 1228AC_SUBST(INCLUDES)
c6f35b8a 1229dnl
dd947da2
TT
1230dnl 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
50e1e10f
TT
1242dnl 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
defde784 1248test -d include/asm || mkdir include/asm
bff0cc95 1249for i in MCONFIG Makefile e2fsprogs.spec \
183c73b0 1250 util/Makefile util/subst.conf util/gen-tarball util/install-symlink \
4ea7ea00
TT
1251 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1252 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
94ba8c75 1253 lib/uuid/Makefile lib/uuid/uuid_types.h \
f239fefc 1254 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
e6441865
TT
1255 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 \
921f4ad5 1257 misc/Makefile ext2ed/Makefile e2fsck/Makefile \
94ba8c75 1258 debugfs/Makefile tests/Makefile tests/progs/Makefile \
98a5ad61
MA
1259 resize/Makefile doc/Makefile intl/Makefile \
1260 intl/libgnuintl.h po/Makefile.in ; do
94ba8c75
TT
1261 if test -d `dirname ${srcdir}/$i` ; then
1262 outlist="$outlist $i"
1263 fi
1264done
1265AC_OUTPUT($outlist)
ee683a13 1266if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi