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