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