]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blob - configure.in
configure: sort the lists for AC_CHECK_FUNCS and AC_CHECK_HEADERS
[thirdparty/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 getrlimit
972 getrusage
973 jrand48
974 llseek
975 lseek64
976 mallinfo
977 mbstowcs
978 memalign
979 mmap
980 msync
981 nanosleep
982 open64
983 pathconf
984 posix_fadvise
985 posix_memalign
986 prctl
987 quotactl
988 setresgid
989 setresuid
990 srandom
991 strcasecmp
992 strdup
993 strnlen
994 strptime
995 strtoull
996 sync_file_range
997 sysconf
998 usleep
999 utime
1000 valloc
1001 ]))
1002 dnl
1003 dnl Check to see if -lsocket is required (solaris) to make something
1004 dnl that uses socket() to compile; this is needed for the UUID library
1005 dnl
1006 SOCKET_LIB=''
1007 AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket])
1008 AC_SUBST(SOCKET_LIB)
1009 dnl
1010 dnl See if optreset exists
1011 dnl
1012 AC_MSG_CHECKING(for optreset)
1013 AC_CACHE_VAL(ac_cv_have_optreset,
1014 [AC_EGREP_HEADER(optreset, unistd.h,
1015 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl
1016 AC_MSG_RESULT($ac_cv_have_optreset)
1017 if test $ac_cv_have_optreset = yes; then
1018 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present])
1019 fi
1020 dnl
1021 dnl Test for sem_init, and which library it might require:
1022 dnl
1023 AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists])
1024 SEM_INIT_LIB=''
1025 AC_CHECK_FUNC(sem_init, ,
1026 AC_CHECK_LIB(pthread, sem_init,
1027 AC_DEFINE(HAVE_SEM_INIT, 1)
1028 SEM_INIT_LIB=-lpthread,
1029 AC_CHECK_LIB(rt, sem_init,
1030 AC_DEFINE(HAVE_SEM_INIT, 1)
1031 SEM_INIT_LIB=-lrt,
1032 AC_CHECK_LIB(posix4, sem_init,
1033 AC_DEFINE(HAVE_SEM_INIT, 1)
1034 SEM_INIT_LIB=-lposix4))))dnl
1035 AC_SUBST(SEM_INIT_LIB)
1036 dnl
1037 dnl Check for unified diff
1038 dnl
1039 AC_MSG_CHECKING(for unified diff option)
1040 if diff -u $0 $0 > /dev/null 2>&1 ; then
1041 UNI_DIFF_OPTS=-u
1042 else
1043 UNI_DIFF_OPTS=-c
1044 fi
1045 AC_MSG_RESULT($UNI_DIFF_OPTS)
1046 AC_SUBST(UNI_DIFF_OPTS)
1047 dnl
1048 dnl We use the EXT2 ioctls only under Linux
1049 dnl
1050 case "$host_os" in
1051 linux*)
1052 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present])
1053 ;;
1054 esac
1055 dnl
1056 dnl OS-specific uncomment control
1057 dnl
1058 LINUX_CMT="#"
1059 CYGWIN_CMT="#"
1060 UNIX_CMT=
1061 case "$host_os" in
1062 linux*)
1063 LINUX_CMT=
1064 ;;
1065 cygwin)
1066 CYGWIN_CMT=
1067 UNIX_CMT="#"
1068 ;;
1069 esac
1070 AC_SUBST(LINUX_CMT)
1071 AC_SUBST(CYGWIN_CMT)
1072 AC_SUBST(UNIX_CMT)
1073 dnl
1074 dnl Linux and Hurd places root files in the / by default
1075 dnl
1076 case "$host_os" in
1077 linux* | gnu* | k*bsd*-gnu)
1078 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then
1079 root_prefix="";
1080 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to ''])
1081 fi
1082 ;;
1083 esac
1084 dnl
1085 dnl On Linux/hurd, force the prefix to be /usr
1086 dnl
1087 case "$host_os" in
1088 linux* | gnu* | k*bsd*-gnu)
1089 if test "$prefix" = NONE ; then
1090 prefix="/usr";
1091 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr])
1092 if test "$mandir" = '${prefix}/man' ; then
1093 AC_MSG_RESULT([...and mandir defaults to /usr/share/man])
1094 mandir=/usr/share/man
1095 fi
1096 fi
1097 ;;
1098 esac
1099 if test "$root_prefix" = NONE ; then
1100 if test "$prefix" = NONE ; then
1101 root_prefix="$ac_default_prefix"
1102 else
1103 root_prefix="$prefix"
1104 fi
1105 root_bindir=$bindir
1106 root_sbindir=$sbindir
1107 root_libdir=$libdir
1108 root_sysconfdir=$sysconfdir
1109 else
1110 root_bindir='${root_prefix}/bin'
1111 root_sbindir='${root_prefix}/sbin'
1112 root_libdir='${root_prefix}/lib'
1113 root_sysconfdir='${root_prefix}/etc'
1114 fi
1115 if test "$bindir" != '${exec_prefix}/bin'; then
1116 root_bindir=$bindir
1117 AC_MSG_RESULT([Setting root_bindir to $root_bindir])
1118 fi
1119 if test "$sbindir" != '${exec_prefix}/sbin'; then
1120 root_sbindir=$sbindir
1121 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir])
1122 fi
1123 if test "$libdir" != '${exec_prefix}/lib'; then
1124 root_libdir=$libdir
1125 AC_MSG_RESULT([Setting root_libdir to $root_libdir])
1126 fi
1127 if test "$sysconfdir" != '${prefix}/etc'; then
1128 root_sysconfdir=$sysconfdir
1129 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir])
1130 fi
1131 AC_SUBST(root_prefix)
1132 AC_SUBST(root_bindir)
1133 AC_SUBST(root_sbindir)
1134 AC_SUBST(root_libdir)
1135 AC_SUBST(root_sysconfdir)
1136 dnl
1137 dnl Allow specification of the multiarch arch
1138 dnl
1139 AC_ARG_WITH([multiarch],
1140 [ --with-multiarch=ARCH specify the multiarch triplet],
1141 libdir=$libdir/$withval
1142 root_libdir=$root_libdir/$withval
1143 )dnl
1144 dnl
1145 dnl See if -static works.
1146 dnl
1147 AC_MSG_CHECKING([whether linker accepts -static])
1148 AC_CACHE_VAL(ac_cv_e2fsprogs_use_static,
1149 [SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static"
1150 AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);],
1151 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no)
1152 LDFLAGS=$SAVE_LDFLAGS])
1153 dnl
1154 dnl Regardless of how the test turns out, Solaris doesn't handle -static
1155 dnl This is caused by the socket library requiring the nsl library, which
1156 dnl requires the -dl library, which only works for dynamically linked
1157 dnl programs. It basically means you can't have statically linked programs
1158 dnl which use the network under Solaris.
1159 dnl
1160 case "$host_os" in
1161 solaris2.*)
1162 ac_cv_e2fsprogs_use_static=no
1163 ;;
1164 esac
1165 AC_MSG_RESULT($ac_cv_e2fsprogs_use_static)
1166 LDFLAG_STATIC=
1167 if test $ac_cv_e2fsprogs_use_static = yes; then
1168 LDFLAG_STATIC=-static
1169 fi
1170 AC_SUBST(LDFLAG_STATIC)
1171 dnl
1172 dnl Work around mysterious Darwin / GNU libintl problem
1173 dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like
1174 dnl Apple hacked gcc somehow?)
1175 dnl
1176 case "$host_os" in
1177 darwin*)
1178 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround])
1179 AC_DEFINE(_INTL_REDIRECT_MACROS, 1,
1180 [Define to 1 if Apple Darwin libintl workaround is needed])
1181 ;;
1182 esac
1183 dnl
1184 dnl Make the ss and et directories work correctly.
1185 dnl
1186 SS_DIR=`cd ${srcdir}/lib/ss; pwd`
1187 ET_DIR=`cd ${srcdir}/lib/et; pwd`
1188 AC_SUBST(SS_DIR)
1189 AC_SUBST(ET_DIR)
1190 dnl
1191 dnl Only try to run the test suite if we're not cross compiling.
1192 dnl
1193 if test "$cross_compiling" = yes ; then
1194 DO_TEST_SUITE=
1195 else
1196 DO_TEST_SUITE=check
1197 fi
1198 AC_SUBST(DO_TEST_SUITE)
1199 dnl
1200 dnl Only include the intl include files if we're building with them
1201 dnl
1202 INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib'
1203 if test -n "$CPPFLAGS" ; then
1204 INCLUDES="$INCLUDES $CPPFLAGS"
1205 fi
1206 if test "$USE_INCLUDED_LIBINTL" = "yes" ; then
1207 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl'
1208 fi
1209 AC_SUBST(INCLUDES)
1210 dnl
1211 dnl Build CFLAGS
1212 dnl
1213 if test $cross_compiling = no; then
1214 BUILD_CFLAGS="$CFLAGS"
1215 BUILD_LDFLAGS="$LDFLAGS"
1216 else
1217 BUILD_CFLAGS=
1218 BUILD_LDFLAGS=
1219 fi
1220 AC_SUBST(BUILD_CFLAGS)
1221 AC_SUBST(BUILD_LDFLAGS)
1222 dnl
1223 dnl Make our output files, being sure that we create the some miscellaneous
1224 dnl directories
1225 dnl
1226 test -d lib || mkdir lib
1227 test -d include || mkdir include
1228 test -d include/linux || mkdir include/linux
1229 test -d include/asm || mkdir include/asm
1230 for i in MCONFIG Makefile e2fsprogs.spec \
1231 util/Makefile util/subst.conf util/gen-tarball \
1232 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \
1233 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \
1234 lib/uuid/Makefile lib/uuid/uuid_types.h \
1235 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \
1236 lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \
1237 lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \
1238 misc/Makefile ext2ed/Makefile e2fsck/Makefile \
1239 debugfs/Makefile tests/Makefile tests/progs/Makefile \
1240 resize/Makefile doc/Makefile intl/Makefile \
1241 intl/libgnuintl.h po/Makefile.in ; do
1242 if test -d `dirname ${srcdir}/$i` ; then
1243 outlist="$outlist $i"
1244 fi
1245 done
1246 AC_OUTPUT($outlist)
1247 if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi