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