Whamcloud - gitweb
e2fsck: add portability fallback in case getpwuid_r is not present
[tools/e2fsprogs.git] / configure.in
1 AC_INIT(version.h)
2 AC_PREREQ(2.50)
3 AC_CONFIG_AUX_DIR(config)
4 AC_CONFIG_HEADERS([lib/config.h])
5 AH_BOTTOM([#include "dirpaths.h"])
6 MCONFIG=./MCONFIG
7 AC_SUBST_FILE(MCONFIG)
8 BINARY_TYPE=bin
9 dnl
10 dnl This is to figure out the version number and the date....
11 dnl
12 E2FSPROGS_VERSION=`grep E2FSPROGS_VERSION ${srcdir}/version.h  \
13         | awk '{print $3}' | tr \" " " | awk '{print $1}'`
14 DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \
15         | tr \" " "`
16 E2FSPROGS_DAY=`echo $DATE | awk -F- '{print $1}'`
17 MONTH=`echo $DATE | awk -F- '{print $2}'`
18 YEAR=`echo $DATE | awk -F- '{print $3}'`
19
20 if expr $YEAR ">" 1900 > /dev/null ; then
21         E2FSPROGS_YEAR=$YEAR
22 elif expr $YEAR ">" 90 >/dev/null ; then
23         E2FSPROGS_YEAR=19$YEAR
24 else
25         E2FSPROGS_YEAR=20$YEAR
26 fi
27
28 case $MONTH in
29 Jan)    MONTH_NUM=01; E2FSPROGS_MONTH="January" ;;
30 Feb)    MONTH_NUM=02; E2FSPROGS_MONTH="February" ;;
31 Mar)    MONTH_NUM=03; E2FSPROGS_MONTH="March" ;;
32 Apr)    MONTH_NUM=04; E2FSPROGS_MONTH="April" ;;
33 May)    MONTH_NUM=05; E2FSPROGS_MONTH="May" ;;
34 Jun)    MONTH_NUM=06; E2FSPROGS_MONTH="June" ;;
35 Jul)    MONTH_NUM=07; E2FSPROGS_MONTH="July" ;;
36 Aug)    MONTH_NUM=08; E2FSPROGS_MONTH="August" ;;
37 Sep)    MONTH_NUM=09; E2FSPROGS_MONTH="September" ;;
38 Oct)    MONTH_NUM=10; E2FSPROGS_MONTH="October" ;;
39 Nov)    MONTH_NUM=11; E2FSPROGS_MONTH="November" ;;
40 Dec)    MONTH_NUM=12; E2FSPROGS_MONTH="December" ;;
41 *)      AC_MSG_WARN([Unknown month $MONTH??]) ;;
42 esac
43
44 base_ver=`echo $E2FSPROGS_VERSION | \
45                sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
46
47 date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY}
48
49 case $E2FSPROGS_VERSION in
50 *-WIP|pre-*)
51         E2FSPROGS_PKGVER="$base_ver~WIP-$E2FSPROGS_YEAR-$MONTH_NUM-$E2FSPROGS_DAY"
52         ;;
53 *)
54         E2FSPROGS_PKGVER="$base_ver"
55         ;;
56 esac
57
58 unset DATE MONTH YEAR base_ver pre_vers date_spec
59 AC_MSG_RESULT([Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION])
60 AC_MSG_RESULT([Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}])
61 AC_SUBST(E2FSPROGS_YEAR)
62 AC_SUBST(E2FSPROGS_MONTH)
63 AC_SUBST(E2FSPROGS_DAY)
64 AC_SUBST(E2FSPROGS_VERSION)
65 AC_SUBST(E2FSPROGS_PKGVER)
66 AC_CANONICAL_HOST
67 dnl
68 dnl Check to see if libdl exists for the sake of dlopen
69 dnl
70 DLOPEN_LIB=''
71 AC_CHECK_LIB(dl, dlopen, 
72 [DLOPEN_LIB=-ldl
73 AC_DEFINE(HAVE_DLOPEN, 1, [Define to 1 if dlopen/libdl exists])])
74 AC_SUBST(DLOPEN_LIB)
75 dnl
76 dnl Use diet libc
77 dnl 
78 WITH_DIET_LIBC=
79 AC_ARG_WITH([diet-libc],
80 [  --with-diet-libc        use diet libc],
81 CC="diet cc -nostdinc"
82 WITH_DIET_LIBC=yes
83 AC_MSG_RESULT(CC=$CC))dnl
84 dnl
85 AC_ARG_WITH([cc],
86 AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]),
87 AC_MSG_ERROR([--with-cc no longer supported; use CC= instead]))
88 dnl
89 AC_ARG_WITH([ccopts],
90 AC_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]),
91 AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead]))
92 dnl
93 AC_ARG_WITH([ldopts],
94 AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]),
95 AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead]))
96 dnl
97 AC_PROG_CC
98 if test "$GCC" = yes; then
99    RDYNAMIC="-rdynamic"
100    AC_SUBST(RDYNAMIC)
101 fi
102 AC_PROG_CPP
103 dnl
104 dnl Alpha computers use fast and imprecise floating point code that may
105 dnl miss exceptions by default. Force sane options if we're using GCC.
106 AC_MSG_CHECKING(for additional special compiler flags)
107 if test "$GCC" = yes
108 then
109     case "$host_cpu" in
110         alpha)          addcflags="-mieee" ;;
111     esac
112 fi
113 if test "x$addcflags" != x
114 then
115     AC_MSG_RESULT($addcflags)
116     CFLAGS="$addcflags $CFLAGS"
117 else
118     AC_MSG_RESULT([[(none)]])
119 fi
120 dnl
121 dnl Set default values for library extentions.  Will be dealt with after
122 dnl parsing configuration opions, which may modify these
123 dnl
124 LIB_EXT=.a
125 STATIC_LIB_EXT=.a
126 PROFILED_LIB_EXT=.a
127 dnl
128 dnl Allow separate `root_prefix' to be specified
129 dnl
130 AC_ARG_WITH([root-prefix],
131 [  --with-root-prefix=PREFIX override prefix variable for files to be placed in the root],
132 root_prefix=$withval,
133 root_prefix=NONE)dnl
134 dnl
135 dnl handle --enable-maintainer-mode
136 dnl
137 AC_ARG_ENABLE([maintainer-mode],
138 [  --enable-maintainer-mode enable makefile rules useful for maintainers],
139 if test "$enableval" = "no"
140 then
141         MAINTAINER_CMT=#
142         AC_MSG_RESULT([Disabling maintainer mode])
143 else
144         MAINTAINER_CMT=
145         AC_MSG_RESULT([Enabling maintainer mode])
146 fi
147 ,
148 MAINTAINER_CMT=#
149 AC_MSG_RESULT([Disabling maintainer mode by default])
150 )
151 AC_SUBST(MAINTAINER_CMT)
152 dnl
153 dnl handle --enable-symlink-install
154 dnl
155 AC_ARG_ENABLE([symlink-install],
156 [  --enable-symlink-install use symlinks when installing instead of hard links],
157 if test "$enableval" = "no"
158 then
159         LINK_INSTALL_FLAGS=-f
160         AC_MSG_RESULT([Disabling symlinks for install])
161 else
162         LINK_INSTALL_FLAGS=-sf
163         AC_MSG_RESULT([Enabling symlinks for install])
164 fi
165 ,
166 LINK_INSTALL_FLAGS=-f
167 AC_MSG_RESULT([Disabling symlinks for install])
168 )
169 AC_SUBST(LINK_INSTALL_FLAGS)
170 dnl
171 dnl handle --enable-symlink-build
172 dnl
173 AC_ARG_ENABLE([symlink-build],
174 [  --enable-symlink-build  use symlinks while building instead of hard links],
175 if test "$enableval" = "no"
176 then
177         LINK_BUILD_FLAGS=
178         AC_MSG_RESULT([Disabling symlinks for build])
179 else
180         LINK_BUILD_FLAGS=-s
181         AC_MSG_RESULT([Enabling symlinks for build])
182 fi
183 ,
184 LINK_BUILD_FLAGS=
185 AC_MSG_RESULT([Disabling symlinks for build])
186 )
187 AC_SUBST(LINK_BUILD_FLAGS)
188 dnl
189 dnl handle --enable-verbose-makecmds
190 dnl
191 AC_ARG_ENABLE([verbose-makecmds],
192 [  --enable-verbose-makecmds enable verbose make command output],
193 if test "$enableval" = "no"
194 then
195         AC_MSG_RESULT([Disabling verbose make commands])
196         E=@echo
197         Q=@
198 else
199         AC_MSG_RESULT([Enabling verbose make commands])
200         E=@\\#
201         Q= 
202 fi
203 ,
204 AC_MSG_RESULT([Disabling verbose make commands])
205 E=@echo
206 Q=@
207 )
208 AC_SUBST(E)
209 AC_SUBST(Q)
210 dnl
211 dnl handle --enable-compression
212 dnl
213 AC_ARG_ENABLE([compression],
214 [  --enable-compression   enable EXPERIMENTAL compression support],
215 if test "$enableval" = "no"
216 then
217         AC_MSG_RESULT([Disabling compression support])
218 else
219         AC_DEFINE(ENABLE_COMPRESSION, 1,
220                 [Define to 1 if ext2 compression enabled])
221         AC_MSG_RESULT([Enabling compression support])
222         AC_MSG_WARN([Compression support is experimental])
223 fi
224 ,
225 AC_MSG_RESULT([Disabling compression support by default])
226 )
227 dnl
228 dnl handle --enable-htree
229 dnl
230 AH_TEMPLATE([ENABLE_HTREE], [Define to 1 if ext3/4 htree support enabled])
231 AC_ARG_ENABLE([htree],
232 [  --enable-htree         enable EXPERIMENTAL htree directory support],
233 if test "$enableval" = "no"
234 then
235         HTREE_CMT=#
236         AC_MSG_RESULT([Disabling htree directory support])
237 else
238         HTREE_CMT=
239         AC_DEFINE(ENABLE_HTREE, 1)
240         AC_MSG_RESULT([Enabling htree directory support])
241 fi
242 ,
243 HTREE_CMT=
244 AC_DEFINE(ENABLE_HTREE, 1)
245 AC_MSG_RESULT([Enabling htree directory support by default])
246 )
247 AC_SUBST(HTREE_CMT)
248 dnl
249 dnl This needs to be before all of the --enable-*-shlibs options
250 dnl
251 E2_PKG_CONFIG_STATIC=--static
252 LDFLAG_DYNAMIC=
253 PRIVATE_LIBS_CMT=
254 dnl
255 dnl handle --enable-elf-shlibs
256 dnl
257 AC_ARG_ENABLE([elf-shlibs],
258 [  --enable-elf-shlibs    select ELF shared libraries],
259 if test "$enableval" = "no"
260 then
261         ELF_CMT=#
262         MAKEFILE_ELF=/dev/null
263         AC_MSG_RESULT([Disabling ELF shared libraries])
264 else
265         E2_PKG_CONFIG_STATIC=
266         ELF_CMT=
267         MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib
268         [case "$host_os" in
269         solaris2.*)
270                 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib
271         ;;
272         esac]
273         BINARY_TYPE=elfbin
274         LIB_EXT=.so
275         PRIVATE_LIBS_CMT=#
276         LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib']
277         AC_MSG_RESULT([Enabling ELF shared libraries])
278 fi
279 ,
280 MAKEFILE_ELF=/dev/null
281 ELF_CMT=#
282 AC_MSG_RESULT([Disabling ELF shared libraries by default])
283 )
284 AC_SUBST(ELF_CMT)
285 AC_SUBST_FILE(MAKEFILE_ELF)
286 dnl
287 dnl handle --enable-bsd-shlibs
288 dnl
289 AC_ARG_ENABLE([bsd-shlibs],
290 [  --enable-bsd-shlibs    select BSD shared libraries],
291 if test "$enableval" = "no"
292 then
293         BSDLIB_CMT=#
294         MAKEFILE_BSDLIB=/dev/null
295         AC_MSG_RESULT([Disabling BSD shared libraries])
296 else
297         E2_PKG_CONFIG_STATIC=
298         BSDLIB_CMT=
299         MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib
300         LIB_EXT=.so
301         [case "$host_os" in
302         darwin*)
303                 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib
304                 LIB_EXT=.dylib
305         ;;
306         esac]
307         AC_MSG_RESULT([Enabling BSD shared libraries])
308 fi
309 ,
310 MAKEFILE_BSDLIB=/dev/null
311 BSDLIB_CMT=#
312 AC_MSG_RESULT([Disabling BSD shared libraries by default])
313 )
314 AC_SUBST(BSDLIB_CMT)
315 AC_SUBST_FILE(MAKEFILE_BSDLIB)
316 dnl
317 dnl handle --enable-profile
318 dnl
319 AC_ARG_ENABLE([profile],
320 [  --enable-profile       build profiling libraries],
321 if test "$enableval" = "no"
322 then
323         PROFILE_CMT=#
324         MAKEFILE_PROFILE=/dev/null
325         AC_MSG_RESULT([Disabling profiling libraries])
326 else
327         PROFILE_CMT=
328         MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile
329         PROFILED_LIB_EXT=_p.a
330         AC_MSG_RESULT([Building profiling libraries])
331 fi
332 ,
333 PROFILE_CMT=#
334 MAKEFILE_PROFILE=/dev/null
335 AC_MSG_RESULT([Disabling profiling libraries by default])
336 )
337 AC_SUBST(PROFILE_CMT)
338 AC_SUBST_FILE(MAKEFILE_PROFILE)
339 dnl
340 dnl handle --enable-checker
341 dnl
342 AC_ARG_ENABLE([checker],
343 [  --enable-checker       build checker libraries],
344 if test "$enableval" = "no"
345 then
346         CHECKER_CMT=#
347         MAKEFILE_CHECKER=/dev/null
348         AC_MSG_RESULT([Disabling checker libraries])
349 else
350         CHECKER_CMT=
351         MAKEFILE_CHECKER=$srcdir/lib/Makefile.checker
352         AC_MSG_RESULT([Building checker libraries])
353 fi
354 ,
355 CHECKER_CMT=#
356 MAKEFILE_CHECKER=/dev/null
357 AC_MSG_RESULT([Disabling checker libraries by default])
358 )
359 AC_SUBST(CHECKER_CMT)
360 AC_SUBST_FILE(MAKEFILE_CHECKER)
361 dnl
362 dnl Substitute library extensions
363 dnl
364 AC_SUBST(LIB_EXT)
365 AC_SUBST(STATIC_LIB_EXT)
366 AC_SUBST(PROFILED_LIB_EXT)
367 AC_SUBST(LDFLAG_DYNAMIC)
368 AC_SUBST(PRIVATE_LIBS_CMT)
369 dnl
370 dnl handle --enable-jbd-debug
371 dnl
372 AC_ARG_ENABLE([jbd-debug],
373 [  --enable-jbd-debug     enable journal debugging],
374 if test "$enableval" = "no"
375 then
376         AC_MSG_RESULT([Disabling journal debugging])
377 else
378         AC_DEFINE(CONFIG_JBD_DEBUG, 1,
379                 [Define to 1 if debugging ext3/4 journal code])
380         AC_MSG_RESULT([Enabling journal debugging])
381 fi
382 ,
383 AC_MSG_RESULT([Disabling journal debugging by default])
384 )
385 dnl
386 dnl handle --enable-blkid-debug
387 dnl
388 AC_ARG_ENABLE([blkid-debug],
389 [  --enable-blkid-debug    enable blkid debugging],
390 if test "$enableval" = "no"
391 then
392         AC_MSG_RESULT([Disabling blkid debugging])
393 else
394         AC_DEFINE(CONFIG_BLKID_DEBUG, 1,
395                 [Define to 1 if debugging the blkid library])
396         AC_MSG_RESULT([Enabling blkid debugging])
397 fi
398 ,
399 AC_MSG_RESULT([Disabling blkid debugging by default])
400 )
401 dnl
402 dnl handle --enable-testio-debug
403 dnl
404 AC_ARG_ENABLE([testio-debug],
405 [  --disable-testio-debug  disable the use of the test I/O manager for debugging],
406 AH_TEMPLATE([CONFIG_TESTIO_DEBUG],
407         [Define to 1 if the testio I/O manager should be enabled])
408 if test "$enableval" = "no"
409 then
410         AC_MSG_RESULT([Disabling testio debugging])
411         TEST_IO_CMT="#"
412 else
413         TEST_IO_CMT=
414         AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
415         AC_MSG_RESULT([Enabling testio debugging])
416 fi
417 ,
418 AC_MSG_RESULT([Enabling testio debugging by default])
419 AC_DEFINE(CONFIG_TESTIO_DEBUG, 1)
420 TEST_IO_CMT=
421 )
422 AC_SUBST(TEST_IO_CMT)
423 dnl
424 dnl handle --disable-libuuid
425 dnl
426 PKG_PROG_PKG_CONFIG
427 LIBUUID=
428 DEPLIBUUID=
429 STATIC_LIBUUID=
430 DEPSTATIC_LIBUUID=
431 PROFILED_LIBUUID=
432 DEPPROFILED_LIBUUID=
433 UUID_CMT=
434 AC_ARG_ENABLE([libuuid],
435 [  --disable-libuuid      do not build private uuid library],
436 if test "$enableval" = "no"
437 then
438         if test -z "$PKG_CONFIG"; then
439                 AC_MSG_ERROR([pkg-config not installed; please install it.])
440         fi
441
442         AC_CHECK_LIB(uuid, uuid_generate,
443                 [LIBUUID=`$PKG_CONFIG --libs uuid`;
444                  STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`],
445                 [AC_MSG_ERROR([external uuid library not found])],
446                 [$LIBUUID])
447         UUID_CMT=#
448         AC_MSG_RESULT([Disabling private uuid library])
449 else
450         LIBUUID='$(LIB)/libuuid'$LIB_EXT
451         DEPLIBUUID=$LIBUUID
452         STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
453         DEPSTATIC_LIBUUID=$STATIC_LIBUUID
454         PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
455         DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
456         AC_MSG_RESULT([Enabling private uuid library])
457 fi
458 ,
459 LIBUUID='$(LIB)/libuuid'$LIB_EXT
460 DEPLIBUUID=$LIBUUID
461 STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT
462 DEPSTATIC_LIBUUID=$STATIC_LIBUUID
463 PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT
464 DEPPROFILED_LIBUUID=$PROFILED_LIBUUID
465 AC_MSG_RESULT([Enabling private uuid library by default])
466 )
467 AC_SUBST(LIBUUID)
468 AC_SUBST(DEPLIBUUID)
469 AC_SUBST(STATIC_LIBUUID)
470 AC_SUBST(DEPSTATIC_LIBUUID)
471 AC_SUBST(PROFILED_LIBUUID)
472 AC_SUBST(DEPPROFILED_LIBUUID)
473 AC_SUBST(UUID_CMT)
474 dnl
475 dnl handle --disable-libblkid
476 dnl
477 PKG_PROG_PKG_CONFIG
478 LIBBLKID=
479 DEPLIBBLKID=
480 STATIC_LIBBLKID=
481 DEPSTATIC_LIBBLKID=
482 PROFILED_LIBBLKID=
483 DEPPROFILED_LIBBLKID=
484 BLKID_CMT=
485 AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs])
486 AC_ARG_ENABLE([libblkid],
487 [  --disable-libblkid     do not build private blkid library],
488 if test "$enableval" = "no"
489 then
490         if test -z "$PKG_CONFIG"; then
491                 AC_MSG_ERROR([pkg-config not installed; please install it.])
492         fi
493
494         AC_CHECK_LIB(blkid, blkid_get_cache,
495                 [LIBBLKID=`$PKG_CONFIG --libs blkid`;
496                  STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`],
497                 [AC_MSG_ERROR([external blkid library not found])],
498                 [$LIBBLKID])
499         BLKID_CMT=#
500         AC_MSG_RESULT([Disabling private blkid library])
501 else
502         LIBBLKID='$(LIB)/libblkid'$LIB_EXT
503         DEPLIBBLKID=$LIBBLKID
504         STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
505         DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
506         PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
507         DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
508         AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
509         AC_MSG_RESULT([Enabling private blkid library])
510 fi
511 ,
512 LIBBLKID='$(LIB)/libblkid'$LIB_EXT
513 DEPLIBBLKID=$LIBBLKID
514 STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT
515 DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID
516 PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT
517 DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID
518 AC_DEFINE(CONFIG_BUILD_FINDFS, 1)
519 AC_MSG_RESULT([Enabling private blkid library by default])
520 )
521 AC_SUBST(LIBBLKID)
522 AC_SUBST(DEPLIBBLKID)
523 AC_SUBST(STATIC_LIBBLKID)
524 AC_SUBST(DEPSTATIC_LIBBLKID)
525 AC_SUBST(PROFILED_LIBBLKID)
526 AC_SUBST(DEPPROFILED_LIBBLKID)
527 AC_SUBST(BLKID_CMT)
528 dnl
529 dnl handle --enable-quota
530 dnl
531 PKG_PROG_PKG_CONFIG
532 AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
533 AC_ARG_ENABLE([quota],
534 [  --enable-libquota      enable quota support],
535 if test "$enableval" = "no"
536 then
537         AC_MSG_RESULT([Disabling quota support])
538 else
539         AC_DEFINE(CONFIG_QUOTA, 1)
540         AC_MSG_RESULT([Enabling quota support])
541 fi
542 ,
543 AC_MSG_RESULT([Disabling quota support by default])
544 )
545 dnl
546 dnl Define stuff expected for quota library
547 dnl
548 LIBQUOTA='$(LIB)/libquota'$LIB_EXT
549 DEPLIBQUOTA=$LIBQUOTA
550 STATIC_LIBQUOTA='$(LIB)/libquota'$STATIC_LIB_EXT
551 DEPSTATIC_LIBQUOTA=$STATIC_LIBQUOTA
552 PROFILED_LIBQUOTA='$(LIB)/libquota'$PROFILED_LIB_EXT
553 DEPPROFILED_LIBQUOTA=$PROFILED_LIBQUOTA
554 AC_SUBST(LIBQUOTA)
555 AC_SUBST(DEPLIBQUOTA)
556 AC_SUBST(STATIC_LIBQUOTA)
557 AC_SUBST(DEPSTATIC_LIBQUOTA)
558 AC_SUBST(PROFILED_LIBQUOTA)
559 AC_SUBST(DEPPROFILED_LIBQUOTA)
560 AC_SUBST(QUOTA_CMT)
561 dnl
562 dnl handle --enable-debugfs
563 dnl
564 AC_ARG_ENABLE([debugfs],
565 [  --disable-debugfs      disable support of debugfs program],
566 if test "$enableval" = "no"
567 then
568         AC_MSG_RESULT([Disabling debugfs support])
569         DEBUGFS_CMT="#"
570 else
571         DEBUGFS_CMT=
572         AC_MSG_RESULT([Enabling debugfs support])
573 fi
574 ,
575 AC_MSG_RESULT([Enabling debugfs support by default])
576 DEBUGFS_CMT=
577 )
578 AC_SUBST(DEBUGFS_CMT)
579 dnl
580 dnl handle --enable-imager
581 dnl
582 AC_ARG_ENABLE([imager],
583 [  --disable-imager       disable support of e2image program],
584 if test "$enableval" = "no"
585 then
586         AC_MSG_RESULT([Disabling e2image support])
587         IMAGER_CMT="#"
588 else
589         IMAGER_CMT=
590         AC_MSG_RESULT([Enabling e2image support])
591 fi
592 ,
593 AC_MSG_RESULT([Enabling e2image support by default])
594 IMAGER_CMT=
595 )
596 AC_SUBST(IMAGER_CMT)
597 dnl
598 dnl handle --enable-resizer
599 dnl
600 AC_ARG_ENABLE([resizer],
601 [  --disable-resizer      disable support of e2resize program],
602 if test "$enableval" = "no"
603 then
604         AC_MSG_RESULT([Disabling e2resize support])
605         RESIZER_CMT="#"
606 else
607         RESIZER_CMT=
608         AC_MSG_RESULT([Enabling e2resize support])
609 fi
610 ,
611 AC_MSG_RESULT([Enabling e2resize support by default])
612 RESIZER_CMT=
613 )
614 AC_SUBST(RESIZER_CMT)
615 dnl
616 dnl handle --enable-defrag
617 dnl
618 AC_ARG_ENABLE([defrag],
619 [  --disable-defrag       disable support of e4defrag program],
620 if test "$enableval" = "no"
621 then
622         AC_MSG_RESULT([Disabling e4defrag support])
623         DEFRAG_CMT="#"
624 else
625         DEFRAG_CMT=
626         AC_MSG_RESULT([Enabling e4defrag support])
627 fi
628 ,
629 AC_MSG_RESULT([Enabling e4defrag support by default])
630 DEFRAG_CMT=
631 )
632 AC_SUBST(DEFRAG_CMT)
633 dnl
634 dnl See whether to install the `fsck' wrapper program (that calls e2fsck)
635 dnl
636 AC_ARG_ENABLE([fsck],
637 [  --enable-fsck           build fsck wrapper program],
638 [if test "$enableval" = "no"
639 then
640         FSCK_PROG='' FSCK_MAN=''
641         AC_MSG_RESULT([Not building fsck wrapper])
642 else
643         FSCK_PROG=fsck FSCK_MAN=fsck.8
644         AC_MSG_RESULT([Building fsck wrapper])
645 fi]
646 ,
647 [case "$host_os" in
648   gnu*)
649     FSCK_PROG='' FSCK_MAN=''
650     AC_MSG_RESULT([Not building fsck wrapper by default])
651     ;;
652   *)
653     FSCK_PROG=fsck FSCK_MAN=fsck.8
654     AC_MSG_RESULT([Building fsck wrapper by default])
655 esac]
656 )
657 AC_SUBST(FSCK_PROG)
658 AC_SUBST(FSCK_MAN)
659 dnl
660 dnl See whether to install the `e2initrd-helper' program
661 dnl
662 AC_ARG_ENABLE([e2initrd-helper],
663 [  --enable-e2initrd-helper build e2initrd-helper program],
664 [if test "$enableval" = "no"
665 then
666         E2INITRD_PROG='' E2INITRD_MAN=''
667         AC_MSG_RESULT([Not building e2initrd helper])
668 else
669         E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
670         AC_MSG_RESULT([Building e2initrd helper])
671 fi]
672 ,
673 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8
674 AC_MSG_RESULT([Building e2initrd helper by default])
675 )
676 AC_SUBST(E2INITRD_PROG)
677 AC_SUBST(E2INITRD_MAN)
678 dnl
679 dnl
680 dnl
681 AC_ARG_ENABLE([tls],
682 [  --disable-tls           disable use of thread local support],
683 [if test "$enableval" = "no"
684 then
685         try_tls=""
686         AC_MSG_RESULT([Disabling thread local support])
687 else
688         try_tls="yes"
689         AC_MSG_RESULT([Enabling thread local support])
690 fi]
691 ,
692 if test -n "$WITH_DIET_LIBC"
693 then
694         try_tls=""
695         AC_MSG_RESULT([Diet libc does not support thread local support])
696 else
697         try_tls="yes"
698         AC_MSG_RESULT([Try using thread local support by default])
699 fi
700 )
701 if test "$try_tls" = "yes"
702 then
703 AX_TLS
704 fi
705 dnl
706 dnl
707 dnl
708 AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd])
709 AC_ARG_ENABLE([uuidd],
710 [  --disable-uuidd         disable building the uuid daemon],
711 [if test "$enableval" = "no"
712 then
713         AC_MSG_RESULT([Not building uuidd])
714         UUIDD_CMT="#"
715 else
716         AC_DEFINE(USE_UUIDD, 1)
717         UUIDD_CMT=""
718         AC_MSG_RESULT([Building uuidd])
719 fi]
720 ,
721 AC_DEFINE(USE_UUIDD, 1)
722 UUIDD_CMT=""
723 AC_MSG_RESULT([Building uuidd by default])
724 )
725 AC_SUBST(UUIDD_CMT)
726 dnl
727 dnl
728 dnl
729 MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library
730 AC_SUBST_FILE(MAKEFILE_LIBRARY)
731 dnl
732 dnl Add internationalization support, using gettext.
733 dnl
734 GETTEXT_PACKAGE=e2fsprogs
735 PACKAGE=e2fsprogs
736 VERSION="$E2FSPROGS_VERSION"
737 VERSION=0.14.1
738 AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext])
739 AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext])
740 AC_SUBST(GETTEXT_PACKAGE)
741 AC_SUBST(PACKAGE)
742 AC_SUBST(VERSION)
743
744 AM_GNU_GETTEXT
745 dnl
746 dnl End of configuration options
747 dnl
748 AC_SUBST(BINARY_TYPE)
749 AC_PROG_MAKE_SET
750 CHECK_GNU_MAKE
751 AC_PATH_PROG(LN, ln, ln)
752 AC_PROG_LN_S
753 AC_PATH_PROG(MV, mv, mv)
754 AC_PATH_PROG(CP, cp, cp)
755 AC_PATH_PROG(RM, rm, rm)
756 AC_PATH_PROG(CHMOD, chmod, :)
757 AC_PROG_AWK
758 AC_PROG_EGREP
759 AC_PATH_PROG(SED, sed, sed)
760 AC_PATH_PROG(PERL, perl, perl)
761 AC_PATH_PROG(LDCONFIG, ldconfig, :)
762 AC_CHECK_TOOL(AR, ar, ar)
763 AC_CHECK_TOOL(RANLIB, ranlib, :)
764 AC_CHECK_TOOL(STRIP, strip, :)
765 AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, )
766 if test "_$MAKEINFO" = "_"; then
767     MAKEINFO="@echo Makeinfo is missing. Info documentation will not be built.;true"
768 else
769     case "$MAKEINFO" in
770       */missing.*)
771         AC_MSG_WARN([
772 *** Makeinfo is missing. Info documentation will not be built.])
773         ;;
774       *)
775         ;;
776     esac
777 fi
778 AC_SUBST(MAKEINFO)
779 AC_PROG_INSTALL
780 # See if we need a separate native compiler.
781 if test $cross_compiling = no; then
782   BUILD_CC="$CC"
783   AC_SUBST(BUILD_CC)
784 else
785   AC_CHECK_PROGS(BUILD_CC, gcc cc)
786 fi
787 AC_CHECK_HEADERS(m4_flatten([
788         dirent.h
789         errno.h
790         execinfo.h
791         getopt.h
792         malloc.h
793         mntent.h
794         paths.h
795         semaphore.h
796         setjmp.h
797         signal.h
798         stdarg.h
799         stdint.h
800         stdlib.h
801         termios.h
802         termio.h
803         unistd.h
804         utime.h
805         linux/falloc.h
806         linux/fd.h
807         linux/major.h
808         net/if_dl.h
809         netinet/in.h
810         sys/disklabel.h
811         sys/file.h
812         sys/ioctl.h
813         sys/mkdev.h
814         sys/mman.h
815         sys/prctl.h
816         sys/queue.h
817         sys/resource.h
818         sys/select.h
819         sys/socket.h
820         sys/sockio.h
821         sys/stat.h
822         sys/syscall.h
823         sys/sysmacros.h
824         sys/time.h
825         sys/types.h
826         sys/un.h
827         sys/wait.h
828 ]))
829 AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,,
830 [[
831 #if HAVE_SYS_QUEUE_H
832 #include <sys/queue.h>
833 #endif
834 ]])
835 AC_CHECK_HEADERS(net/if.h,,,
836 [[
837 #if HAVE_SYS_TYPES_H
838 #include <sys/types.h>
839 #endif
840 #if HAVE_SYS_SOCKET
841 #include <sys/socket.h>
842 #endif
843 ]])
844 AC_FUNC_VPRINTF
845 dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen
846 dnl is not decleared.
847 AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1,
848                        [Define to 1 if dirent has d_reclen])],,
849                 [#include <dirent.h>])
850 dnl Check to see if ssize_t was declared
851 AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1,
852                 [Define to 1 if ssize_t declared])],,
853               [#include <sys/types.h>])
854 dnl
855 dnl Check to see if llseek() is declared in unistd.h.  On some libc's 
856 dnl it is, and on others it isn't..... Thank you glibc developers....
857 dnl
858 AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1,
859                         [Define to 1 if llseek declared in unistd.h])],,
860               [#include <unistd.h>])
861 dnl
862 dnl Check to see if lseek64() is declared in unistd.h.  Glibc's header files
863 dnl are so convoluted that I can't tell whether it will always be defined,
864 dnl and if it isn't defined while lseek64 is defined in the library, 
865 dnl disaster will strike.  
866 dnl
867 dnl Warning!  Use of --enable-gcc-wall may throw off this test.
868 dnl
869 dnl
870 AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1,
871                         [Define to 1 if lseek64 declared in unistd.h])],,
872                 [#define _LARGEFILE_SOURCE
873                  #define _LARGEFILE64_SOURCE
874                  #include <unistd.h>])
875 dnl
876 dnl Word sizes...
877 dnl
878 AC_CHECK_SIZEOF(short)
879 AC_CHECK_SIZEOF(int)
880 AC_CHECK_SIZEOF(long)
881 AC_CHECK_SIZEOF(long long)
882 SIZEOF_SHORT=$ac_cv_sizeof_short
883 SIZEOF_INT=$ac_cv_sizeof_int
884 SIZEOF_LONG=$ac_cv_sizeof_long
885 SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long
886 AC_SUBST(SIZEOF_SHORT)
887 AC_SUBST(SIZEOF_INT)
888 AC_SUBST(SIZEOF_LONG)
889 AC_SUBST(SIZEOF_LONG_LONG)
890 AC_C_BIGENDIAN
891 BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh
892 ASM_TYPES_HEADER=./asm_types.h
893 AC_SUBST_FILE(ASM_TYPES_HEADER)
894 dnl
895 dnl Save the configuration #defines needed for the public ext2fs.h
896 dnl header file
897 dnl
898 echo "/* These defines are needed for the public ext2fs.h header file */" \
899      > public_config.h
900 if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then
901   uniq tmp_config.$$ >> public_config.h
902 else
903   echo "#undef HAVE_SYS_TYPES_H" >> public_config.h
904 fi
905 if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then
906   uniq tmp_config.$$ >> public_config.h
907 else
908   echo "#undef WORDS_BIGENDIAN" >> public_config.h
909 fi
910 rm -f tmp_config.$$
911 PUBLIC_CONFIG_HEADER=./public_config.h
912 AC_SUBST_FILE(PUBLIC_CONFIG_HEADER)
913 dnl
914 dnl See if we have inttypes.h and if intptr_t is defined
915 dnl
916 AC_CHECK_HEADERS([inttypes.h])
917 AC_CHECK_TYPES(intptr_t)
918 dnl
919 dnl See if struct stat has a st_flags field, in which case we can get file
920 dnl flags somewhat portably.  Also check for the analogous setter, chflags().
921 dnl
922 AC_MSG_CHECKING(whether struct stat has a st_flags field)
923 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags,
924         AC_TRY_COMPILE([#include <sys/stat.h>],
925                 [struct stat stat; stat.st_flags = 0;],
926                 [e2fsprogs_cv_struct_st_flags=yes],
927                 [e2fsprogs_cv_struct_st_flags=no]))
928 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags)
929 if test "$e2fsprogs_cv_struct_st_flags" = yes; then
930   AC_MSG_CHECKING(whether st_flags field is useful)
931   AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut,
932         AC_TRY_COMPILE([#include <sys/stat.h>],
933                 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;],
934                 [e2fsprogs_cv_struct_st_flags_immut=yes],
935                 [e2fsprogs_cv_struct_st_flags_immut=no]))
936   AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut)
937   if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then
938           AC_DEFINE(HAVE_STAT_FLAGS, 1,
939                 [Define to 1 if struct stat has st_flags])
940   fi
941 fi
942 dnl
943 dnl Check for the presence of SA_LEN
944 dnl
945 AC_CHECK_MEMBER(struct sockaddr.sa_len,
946                 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1,
947                         [Define to 1 if if struct sockaddr contains sa_len]),,
948         [#include <sys/types.h>
949          #include <sys/socket.h>])
950 dnl
951 dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using
952 dnl the system-provided blkid library
953 dnl
954 if test -n "$BLKID_CMT"; then
955   AC_SEARCH_LIBS([blkid_probe_all], [blkid])
956 fi
957 dnl
958 AC_CHECK_FUNCS(m4_flatten([
959         __secure_getenv
960         backtrace
961         blkid_probe_get_topology
962         chflags
963         fallocate
964         fallocate64
965         fchown
966         fdatasync
967         fstat64
968         ftruncate64
969         getdtablesize
970         getmntinfo
971         getpwuid_r
972         getrlimit
973         getrusage
974         jrand48
975         llseek
976         lseek64
977         mallinfo
978         mbstowcs
979         memalign
980         mmap
981         msync
982         nanosleep
983         open64
984         pathconf
985         posix_fadvise
986         posix_memalign
987         prctl
988         quotactl
989         setresgid
990         setresuid
991         srandom
992         strcasecmp
993         strdup
994         strnlen
995         strptime
996         strtoull
997         sync_file_range
998         sysconf
999         usleep
1000         utime
1001         valloc
1002 ]))
1003 dnl
1004 dnl Check to see if -lsocket is required (solaris) to make something
1005 dnl that uses socket() to compile; this is needed for the UUID library
1006 dnl
1007 SOCKET_LIB=''
1008 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
1009 AC_SUBST(SOCKET_LIB)
1010 dnl
1011 dnl See if optreset exists
1012 dnl
1013 AC_MSG_CHECKING(for optreset)
1014 AC_CACHE_VAL(ac_cv_have_optreset,
1015 [AC_EGREP_HEADER(optreset, unistd.h,
1016   ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
1017 AC_MSG_RESULT($ac_cv_have_optreset)
1018 if test $ac_cv_have_optreset = yes; then
1019   AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
1020 fi
1021 dnl
1022 dnl Test for sem_init, and which library it might require:
1023 dnl
1024 AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
1025 SEM_INIT_LIB=''
1026 AC_CHECK_FUNC(sem_init, ,
1027   AC_CHECK_LIB(pthread, sem_init,
1028         AC_DEFINE(HAVE_SEM_INIT, 1)
1029         SEM_INIT_LIB=-lpthread,
1030   AC_CHECK_LIB(rt, sem_init,
1031         AC_DEFINE(HAVE_SEM_INIT, 1)
1032         SEM_INIT_LIB=-lrt,
1033   AC_CHECK_LIB(posix4, sem_init,
1034         AC_DEFINE(HAVE_SEM_INIT, 1)
1035         SEM_INIT_LIB=-lposix4))))dnl
1036 AC_SUBST(SEM_INIT_LIB)
1037 dnl
1038 dnl Check for unified diff
1039 dnl
1040 AC_MSG_CHECKING(for unified diff option)
1041 if diff -u $0 $0 > /dev/null 2>&1 ; then
1042    UNI_DIFF_OPTS=-u
1043 else
1044    UNI_DIFF_OPTS=-c
1045 fi
1046 AC_MSG_RESULT($UNI_DIFF_OPTS)
1047 AC_SUBST(UNI_DIFF_OPTS)
1048 dnl
1049 dnl We use the EXT2 ioctls only under Linux
1050 dnl
1051 case "$host_os" in
1052 linux*)
1053         AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
1054         ;;
1055 esac
1056 dnl
1057 dnl OS-specific uncomment control
1058 dnl
1059 LINUX_CMT="#"
1060 CYGWIN_CMT="#"
1061 UNIX_CMT=
1062 case "$host_os" in
1063 linux*)
1064         LINUX_CMT=
1065         ;;
1066 cygwin)
1067         CYGWIN_CMT=
1068         UNIX_CMT="#"
1069         ;;
1070 esac
1071 AC_SUBST(LINUX_CMT)
1072 AC_SUBST(CYGWIN_CMT)
1073 AC_SUBST(UNIX_CMT)
1074 dnl
1075 dnl Linux and Hurd places root files in the / by default
1076 dnl
1077 case "$host_os" in
1078 linux* | gnu* | k*bsd*-gnu)
1079         if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
1080                 root_prefix="";
1081                 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
1082         fi
1083         ;;
1084 esac
1085 dnl
1086 dnl On Linux/hurd, force the prefix to be /usr
1087 dnl
1088 case "$host_os" in
1089 linux* | gnu* | k*bsd*-gnu)
1090         if test "$prefix" = NONE ; then
1091                 prefix="/usr";
1092                 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
1093                 if test "$mandir" = '${prefix}/man' ; then
1094                         AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
1095                         mandir=/usr/share/man
1096                 fi
1097         fi
1098 ;;
1099 esac
1100 if test "$root_prefix" = NONE ; then
1101         if test "$prefix" = NONE ; then
1102                 root_prefix="$ac_default_prefix"
1103         else
1104                 root_prefix="$prefix"
1105         fi
1106         root_bindir=$bindir
1107         root_sbindir=$sbindir
1108         root_libdir=$libdir
1109         root_sysconfdir=$sysconfdir
1110 else
1111         root_bindir='${root_prefix}/bin'
1112         root_sbindir='${root_prefix}/sbin'
1113         root_libdir='${root_prefix}/lib'
1114         root_sysconfdir='${root_prefix}/etc'
1115 fi
1116 if test "$bindir" != '${exec_prefix}/bin'; then
1117     root_bindir=$bindir
1118     AC_MSG_RESULT([Setting root_bindir to $root_bindir])
1119 fi
1120 if test "$sbindir" != '${exec_prefix}/sbin'; then
1121     root_sbindir=$sbindir
1122     AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
1123 fi
1124 if test "$libdir" != '${exec_prefix}/lib'; then
1125     root_libdir=$libdir
1126     AC_MSG_RESULT([Setting root_libdir to $root_libdir])
1127 fi
1128 if test "$sysconfdir" != '${prefix}/etc'; then
1129     root_sysconfdir=$sysconfdir
1130     AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
1131 fi
1132 AC_SUBST(root_prefix)
1133 AC_SUBST(root_bindir)
1134 AC_SUBST(root_sbindir)
1135 AC_SUBST(root_libdir)
1136 AC_SUBST(root_sysconfdir)
1137 dnl
1138 dnl Allow specification of the multiarch arch
1139 dnl
1140 AC_ARG_WITH([multiarch],
1141 [  --with-multiarch=ARCH specify the multiarch triplet],
1142 libdir=$libdir/$withval
1143 root_libdir=$root_libdir/$withval
1144 )dnl
1145 dnl
1146 dnl See if -static works.
1147 dnl
1148 AC_MSG_CHECKING([whether linker accepts -static])
1149 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
1150 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
1151 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
1152  ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
1153 LDFLAGS=$SAVE_LDFLAGS])
1154 dnl
1155 dnl Regardless of how the test turns out, Solaris doesn't handle -static
1156 dnl This is caused by the socket library requiring the nsl library, which
1157 dnl requires the -dl library, which only works for dynamically linked 
1158 dnl programs.  It basically means you can't have statically linked programs
1159 dnl which use the network under Solaris.  
1160 dnl
1161 case "$host_os" in
1162 solaris2.*)
1163         ac_cv_e2fsprogs_use_static=no   
1164 ;;
1165 esac
1166 AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
1167 LDFLAG_STATIC=
1168 if test $ac_cv_e2fsprogs_use_static = yes; then
1169         LDFLAG_STATIC=-static
1170 fi
1171 AC_SUBST(LDFLAG_STATIC)
1172 dnl
1173 dnl Work around mysterious Darwin / GNU libintl problem
1174 dnl (__asm__ redirection doesn't work for some mysterious reason.  Looks like
1175 dnl Apple hacked gcc somehow?)
1176 dnl
1177 case "$host_os" in
1178 darwin*)
1179         AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
1180         AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1181                 [Define to 1 if Apple Darwin libintl workaround is needed])
1182         ;;
1183 esac
1184 dnl
1185 dnl Make the ss and et directories work correctly.
1186 dnl
1187 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
1188 ET_DIR=`cd ${srcdir}/lib/et; pwd`
1189 AC_SUBST(SS_DIR)
1190 AC_SUBST(ET_DIR)
1191 dnl
1192 dnl Only try to run the test suite if we're not cross compiling.
1193 dnl
1194 if test "$cross_compiling" = yes ; then
1195   DO_TEST_SUITE=
1196 else
1197   DO_TEST_SUITE=check
1198 fi
1199 AC_SUBST(DO_TEST_SUITE)
1200 dnl
1201 dnl Only include the intl include files if we're building with them
1202 dnl
1203 INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1204 if test -n "$CPPFLAGS" ; then
1205         INCLUDES="$INCLUDES $CPPFLAGS"
1206 fi
1207 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
1208         INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
1209 fi
1210 AC_SUBST(INCLUDES)
1211 dnl
1212 dnl Build CFLAGS
1213 dnl
1214 if test $cross_compiling = no; then
1215    BUILD_CFLAGS="$CFLAGS"
1216    BUILD_LDFLAGS="$LDFLAGS"
1217 else
1218    BUILD_CFLAGS=
1219    BUILD_LDFLAGS=
1220 fi
1221 AC_SUBST(BUILD_CFLAGS)
1222 AC_SUBST(BUILD_LDFLAGS)
1223 dnl
1224 dnl Make our output files, being sure that we create the some miscellaneous 
1225 dnl directories
1226 dnl
1227 test -d lib || mkdir lib
1228 test -d include || mkdir include
1229 test -d include/linux || mkdir include/linux
1230 test -d include/asm || mkdir include/asm
1231 for i in MCONFIG Makefile e2fsprogs.spec \
1232         util/Makefile util/subst.conf util/gen-tarball \
1233         lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1234         lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
1235         lib/uuid/Makefile lib/uuid/uuid_types.h \
1236         lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
1237         lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
1238         lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
1239         misc/Makefile ext2ed/Makefile e2fsck/Makefile \
1240         debugfs/Makefile tests/Makefile tests/progs/Makefile \
1241         resize/Makefile doc/Makefile intl/Makefile \
1242         intl/libgnuintl.h po/Makefile.in ; do
1243         if test -d `dirname ${srcdir}/$i` ; then
1244                 outlist="$outlist $i"
1245         fi
1246 done
1247 AC_OUTPUT($outlist)
1248 if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi