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}'` 14E2FSPROGS_DATE=`grep E2FSPROGS_DATE ${srcdir}/version.h | awk '{print $3}' \ 15 | tr \" " " | awk '{print $1}'` 16E2FSPROGS_DAY=$(echo $E2FSPROGS_DATE | awk -F- '{print $1}' | sed -e '/^[[1-9]]$/s/^/0/') 17MONTH=`echo $E2FSPROGS_DATE | awk -F- '{print $2}'` 18YEAR=`echo $E2FSPROGS_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.$date_spec" 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) 66AC_SUBST(E2FSPROGS_DATE) 67dnl 68dnl Use diet libc 69dnl 70WITH_DIET_LIBC= 71AC_ARG_WITH([diet-libc], 72[ --with-diet-libc use diet libc], 73CC="diet cc -nostdinc" 74WITH_DIET_LIBC=yes 75if test -z "$LIBS" 76then 77 LIBS="-lcompat" 78else 79 LIBS="$LIBS -lcompat" 80fi 81AC_MSG_RESULT(CC=$CC))dnl 82dnl 83AC_CANONICAL_HOST 84dnl 85dnl Check to see if libdl exists for the sake of dlopen 86dnl 87DLOPEN_LIB='' 88AC_CHECK_LIB(dl, dlopen,DLOPEN_LIB=-ldl) 89AC_SUBST(DLOPEN_LIB) 90dnl 91AC_ARG_WITH([cc], 92AC_HELP_STRING([--with-cc],[no longer supported, use CC= instead]), 93AC_MSG_ERROR([--with-cc no longer supported; use CC= instead])) 94dnl 95AC_ARG_WITH([ccopts], 96AC_HELP_STRING([--with-ccopts],[no longer supported, use CFLAGS= instead]), 97AC_MSG_ERROR([--with-ccopts no longer supported; use CFLAGS= instead])) 98dnl 99AC_ARG_WITH([ldopts], 100AC_HELP_STRING([--with-ldopts],[no longer supported, use LDFLAGS= instead]), 101AC_MSG_ERROR([--with-ldopts no longer supported; use LDFLAGS= instead])) 102dnl 103AC_PROG_CC 104if test "$GCC" = yes; then 105 RDYNAMIC="-rdynamic" 106 AC_SUBST(RDYNAMIC) 107fi 108AC_PROG_CPP 109dnl 110dnl Alpha computers use fast and imprecise floating point code that may 111dnl miss exceptions by default. Force sane options if we're using GCC. 112AC_MSG_CHECKING(for additional special compiler flags) 113if test "$GCC" = yes 114then 115 case "$host_cpu" in 116 alpha) addcflags="-mieee" ;; 117 esac 118fi 119if test "x$addcflags" != x 120then 121 AC_MSG_RESULT($addcflags) 122 CFLAGS="$addcflags $CFLAGS" 123else 124 AC_MSG_RESULT([[(none)]]) 125fi 126AC_USE_SYSTEM_EXTENSIONS 127dnl 128dnl Set default values for library extensions. Will be dealt with after 129dnl parsing configuration options, 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 This needs to be before all of the --enable-*-shlibs options 256dnl 257E2_PKG_CONFIG_STATIC=--static 258LDFLAG_DYNAMIC= 259PRIVATE_LIBS_CMT= 260dnl 261dnl handle --enable-elf-shlibs 262dnl 263AC_ARG_ENABLE([elf-shlibs], 264[ --enable-elf-shlibs select ELF shared libraries], 265if test "$enableval" = "no" 266then 267 ELF_CMT=# 268 MAKEFILE_ELF=/dev/null 269 AC_MSG_RESULT([Disabling ELF shared libraries]) 270else 271 E2_PKG_CONFIG_STATIC= 272 ELF_CMT= 273 MAKEFILE_ELF=$srcdir/lib/Makefile.elf-lib 274 [case "$host_os" in 275 solaris2.*) 276 MAKEFILE_ELF=$srcdir/lib/Makefile.solaris-lib 277 ;; 278 esac] 279 BINARY_TYPE=elfbin 280 LIB_EXT=.so 281 PRIVATE_LIBS_CMT=# 282 LDFLAG_DYNAMIC=['-Wl,-rpath-link,$(top_builddir)/lib'] 283 AC_MSG_RESULT([Enabling ELF shared libraries]) 284fi 285, 286MAKEFILE_ELF=/dev/null 287ELF_CMT=# 288AC_MSG_RESULT([Disabling ELF shared libraries by default]) 289) 290AC_SUBST(ELF_CMT) 291AC_SUBST_FILE(MAKEFILE_ELF) 292dnl 293dnl handle --enable-bsd-shlibs 294dnl 295AC_ARG_ENABLE([bsd-shlibs], 296[ --enable-bsd-shlibs select BSD shared libraries], 297if test "$enableval" = "no" 298then 299 BSDLIB_CMT=# 300 MAKEFILE_BSDLIB=/dev/null 301 AC_MSG_RESULT([Disabling BSD shared libraries]) 302else 303 E2_PKG_CONFIG_STATIC= 304 BSDLIB_CMT= 305 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.bsd-lib 306 LIB_EXT=.so 307 [case "$host_os" in 308 darwin*) 309 MAKEFILE_BSDLIB=$srcdir/lib/Makefile.darwin-lib 310 LIB_EXT=.dylib 311 ;; 312 esac] 313 AC_MSG_RESULT([Enabling BSD shared libraries]) 314fi 315, 316MAKEFILE_BSDLIB=/dev/null 317BSDLIB_CMT=# 318AC_MSG_RESULT([Disabling BSD shared libraries by default]) 319) 320AC_SUBST(BSDLIB_CMT) 321AC_SUBST_FILE(MAKEFILE_BSDLIB) 322dnl 323dnl handle --enable-profile 324dnl 325AC_ARG_ENABLE([profile], 326[ --enable-profile build profiling libraries], 327if test "$enableval" = "no" 328then 329 PROFILE_CMT=# 330 MAKEFILE_PROFILE=/dev/null 331 AC_MSG_RESULT([Disabling profiling libraries]) 332else 333 PROFILE_CMT= 334 MAKEFILE_PROFILE=$srcdir/lib/Makefile.profile 335 PROFILED_LIB_EXT=_p.a 336 AC_MSG_RESULT([Building profiling libraries]) 337fi 338, 339PROFILE_CMT=# 340MAKEFILE_PROFILE=/dev/null 341AC_MSG_RESULT([Disabling profiling libraries by default]) 342) 343AC_SUBST(PROFILE_CMT) 344AC_SUBST_FILE(MAKEFILE_PROFILE) 345dnl 346dnl handle --enable-gcov 347dnl 348AC_ARG_ENABLE([gcov], 349[ --enable-gcov build for coverage testing using gcov], 350if test "$enableval" = "yes" 351then 352 CFLAGS="-g -fprofile-arcs -ftest-coverage" 353 LDFLAGS="-fprofile-arcs -ftest-coverage" 354 AC_MSG_RESULT([Enabling gcov support]) 355fi 356) 357dnl 358dnl handle --enable-hardening 359dnl 360CFLAGS_SHLIB="${CFLAGS_SHLIB:-$CFLAGS}" 361CFLAGS_STLIB="${CFLAGS_STLIB:-$CFLAGS}" 362LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} 363LDFLAGS_STATIC=${LDFLAGS_STATIC:-$LDFLAGS} 364AC_ARG_ENABLE([hardening], 365[ --enable-hardening build for coverage testing using gcov], 366if test "$enableval" = "yes" 367then 368 HARDEN_CFLAGS="-D_FORTIFY_SOURCE=2 -fstack-protector-strong" 369 HARDEN_LDFLAGS=["-Wl,-z,relro -Wl,-z,now"] 370 CFLAGS="$CFLAGS $HARDEN_CFLAGS -fPIE" 371 CFLAGS_SHLIB="$CFLAGS_SHLIB $HARDEN_CFLAGS" 372 CFLAGS_STLIB="$CFLAGS_STLIB $HARDEN_CFLAGS -fPIE" 373 LDFLAGS="$LDFLAGS $HARDEN_LDFLAGS -fPIE -pie" 374 LDFLAGS_STATIC="$LDFLAGS_STATIC $HARDEN_LDFLAGS" 375 LDFLAGS_SHLIB="$LDFLAGS_SHLIB $HARDEN_LDFLAGS" 376 AC_MSG_RESULT([Enabling hardening support]) 377fi 378) 379dnl 380dnl Substitute library extensions 381dnl 382AC_SUBST(LIB_EXT) 383AC_SUBST(STATIC_LIB_EXT) 384AC_SUBST(PROFILED_LIB_EXT) 385AC_SUBST(LDFLAG_DYNAMIC) 386AC_SUBST(PRIVATE_LIBS_CMT) 387dnl 388dnl handle --enable-jbd-debug 389dnl 390AC_ARG_ENABLE([jbd-debug], 391[ --enable-jbd-debug enable journal debugging], 392if test "$enableval" = "no" 393then 394 AC_MSG_RESULT([Disabling journal debugging]) 395else 396 AC_DEFINE(CONFIG_JBD_DEBUG, 1, 397 [Define to 1 if debugging ext3/4 journal code]) 398 AC_MSG_RESULT([Enabling journal debugging]) 399fi 400, 401AC_MSG_RESULT([Disabling journal debugging by default]) 402) 403dnl 404dnl handle --enable-blkid-debug 405dnl 406AC_ARG_ENABLE([blkid-debug], 407[ --enable-blkid-debug enable blkid debugging], 408if test "$enableval" = "no" 409then 410 AC_MSG_RESULT([Disabling blkid debugging]) 411else 412 AC_DEFINE(CONFIG_BLKID_DEBUG, 1, 413 [Define to 1 if debugging the blkid library]) 414 AC_MSG_RESULT([Enabling blkid debugging]) 415fi 416, 417AC_MSG_RESULT([Disabling blkid debugging by default]) 418) 419dnl 420dnl handle --enable-testio-debug 421dnl 422AC_ARG_ENABLE([testio-debug], 423[ --disable-testio-debug disable the use of the test I/O manager for debugging], 424AH_TEMPLATE([CONFIG_TESTIO_DEBUG], 425 [Define to 1 if the testio I/O manager should be enabled]) 426if test "$enableval" = "no" 427then 428 AC_MSG_RESULT([Disabling testio debugging]) 429 TEST_IO_CMT="#" 430else 431 TEST_IO_CMT= 432 AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) 433 AC_MSG_RESULT([Enabling testio debugging]) 434fi 435, 436AC_MSG_RESULT([Enabling testio debugging by default]) 437AC_DEFINE(CONFIG_TESTIO_DEBUG, 1) 438TEST_IO_CMT= 439) 440AC_SUBST(TEST_IO_CMT) 441dnl 442dnl handle --disable-libuuid 443dnl 444PKG_PROG_PKG_CONFIG 445LIBUUID= 446DEPLIBUUID= 447STATIC_LIBUUID= 448DEPSTATIC_LIBUUID= 449PROFILED_LIBUUID= 450DEPPROFILED_LIBUUID= 451UUID_CMT= 452AC_ARG_ENABLE([libuuid], 453[ --enable-libuuid build and use private uuid library], 454if test "$enableval" = "no" 455then 456 if test -z "$PKG_CONFIG"; then 457 AC_MSG_ERROR([pkg-config not installed; please install it.]) 458 fi 459 460 AC_CHECK_LIB(uuid, uuid_generate, 461 [LIBUUID=`$PKG_CONFIG --libs uuid`; 462 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`], 463 [AC_MSG_ERROR([external uuid library not found])]) 464 PROFILED_LIBUUID=$LIBUUID 465 UUID_CMT=# 466 AC_MSG_RESULT([Disabling private uuid library]) 467else 468 LIBUUID='$(LIB)/libuuid'$LIB_EXT 469 DEPLIBUUID=$LIBUUID 470 STATIC_LIBUUID='$(LIB)/libuuid'$STATIC_LIB_EXT 471 DEPSTATIC_LIBUUID=$STATIC_LIBUUID 472 PROFILED_LIBUUID='$(LIB)/libuuid'$PROFILED_LIB_EXT 473 DEPPROFILED_LIBUUID=$PROFILED_LIBUUID 474 AC_MSG_RESULT([Enabling private uuid library]) 475fi 476, 477if test -n "$PKG_CONFIG"; then 478 AC_CHECK_LIB(uuid, uuid_generate, 479 [LIBUUID=`$PKG_CONFIG --libs uuid`; 480 STATIC_LIBUUID=`$PKG_CONFIG --static --libs uuid`]) 481fi 482if test -n "$LIBUUID"; then 483 PROFILED_LIBUUID=$LIBUUID 484 UUID_CMT=# 485 AC_MSG_RESULT([Using system uuid by default]) 486else 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 by default]) 494fi 495) 496AC_SUBST(LIBUUID) 497AC_SUBST(DEPLIBUUID) 498AC_SUBST(STATIC_LIBUUID) 499AC_SUBST(DEPSTATIC_LIBUUID) 500AC_SUBST(PROFILED_LIBUUID) 501AC_SUBST(DEPPROFILED_LIBUUID) 502AC_SUBST(UUID_CMT) 503dnl 504dnl handle --disable-libblkid 505dnl 506PKG_PROG_PKG_CONFIG 507LIBBLKID= 508DEPLIBBLKID= 509STATIC_LIBBLKID= 510DEPSTATIC_LIBBLKID= 511PROFILED_LIBBLKID= 512DEPPROFILED_LIBBLKID= 513BLKID_CMT= 514AH_TEMPLATE([CONFIG_BUILD_FINDFS], [Define to 1 to compile findfs]) 515AC_ARG_ENABLE([libblkid], 516[ --enable-libblkid build and use private blkid library], 517if test "$enableval" = "no" 518then 519 if test -z "$PKG_CONFIG"; then 520 AC_MSG_ERROR([pkg-config not installed; please install it.]) 521 fi 522 523 AC_CHECK_LIB(blkid, blkid_get_cache, 524 [LIBBLKID=`$PKG_CONFIG --libs blkid`; 525 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`], 526 [AC_MSG_ERROR([external blkid library not found])], -luuid) 527 BLKID_CMT=# 528 PROFILED_LIBBLKID=$LIBBLKID 529 AC_MSG_RESULT([Disabling private blkid library]) 530else 531 LIBBLKID='$(LIB)/libblkid'$LIB_EXT 532 DEPLIBBLKID=$LIBBLKID 533 STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT 534 DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID 535 PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT 536 DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID 537 AC_DEFINE(CONFIG_BUILD_FINDFS, 1) 538 AC_MSG_RESULT([Enabling private blkid library]) 539fi 540, 541if test -n "$PKG_CONFIG"; then 542 AC_CHECK_LIB(blkid, blkid_get_cache, 543 [LIBBLKID=`$PKG_CONFIG --libs blkid`; 544 STATIC_LIBBLKID=`$PKG_CONFIG --static --libs blkid`]) 545fi 546if test -n "$LIBBLKID"; then 547 BLKID_CMT=# 548 PROFILED_LIBBLKID=$LIBBLKID 549 AC_MSG_RESULT([Using system blkid library by default]) 550else 551 LIBBLKID='$(LIB)/libblkid'$LIB_EXT 552 DEPLIBBLKID=$LIBBLKID 553 STATIC_LIBBLKID='$(LIB)/libblkid'$STATIC_LIB_EXT 554 DEPSTATIC_LIBBLKID=$STATIC_LIBBLKID 555 PROFILED_LIBBLKID='$(LIB)/libblkid'$PROFILED_LIB_EXT 556 DEPPROFILED_LIBBLKID=$PROFILED_LIBBLKID 557 AC_DEFINE(CONFIG_BUILD_FINDFS, 1) 558 AC_MSG_RESULT([Enabling private blkid library by default]) 559fi 560) 561AC_SUBST(LIBBLKID) 562AC_SUBST(DEPLIBBLKID) 563AC_SUBST(STATIC_LIBBLKID) 564AC_SUBST(DEPSTATIC_LIBBLKID) 565AC_SUBST(PROFILED_LIBBLKID) 566AC_SUBST(DEPPROFILED_LIBBLKID) 567AC_SUBST(BLKID_CMT) 568dnl 569dnl handle --enable-subset 570dnl 571ALL_CMT= 572SUBSET_CMT= 573AC_ARG_ENABLE([subset], 574[ --enable-subset enable subset-only build], 575if test "$enableval" = "no" 576then 577 SUBSET_CMT=# 578 AC_MSG_RESULT([Disabling subset-only build]) 579else 580 ALL_CMT=# 581 AC_MSG_RESULT([Enabling subset-only-build]) 582fi 583,) 584AC_SUBST(ALL_CMT) 585AC_SUBST(SUBSET_CMT) 586dnl 587dnl handle --disable-backtrace 588dnl 589AH_TEMPLATE([DISABLE_BACKTRACE], [Define to 1 to disable use of backtrace]) 590AC_ARG_ENABLE([backtrace], 591[ --disable-backtrace disable use backtrace], 592if test "$enableval" = "no" 593then 594 AC_MSG_RESULT([Disabling use of backtrace]) 595 AC_DEFINE(DISABLE_BACKTRACE, 1) 596else 597 AC_MSG_RESULT([Enabling use of backtrace]) 598fi 599, 600AC_MSG_RESULT([Enabling use of backtrace by default]) 601) 602dnl 603dnl handle --enable-debugfs 604dnl 605AC_ARG_ENABLE([debugfs], 606[ --disable-debugfs disable support of debugfs program], 607if test "$enableval" = "no" 608then 609 AC_MSG_RESULT([Disabling debugfs support]) 610 DEBUGFS_CMT="#" 611else 612 DEBUGFS_CMT= 613 AC_MSG_RESULT([Enabling debugfs support]) 614fi 615, 616AC_MSG_RESULT([Enabling debugfs support by default]) 617DEBUGFS_CMT= 618) 619AC_SUBST(DEBUGFS_CMT) 620dnl 621dnl handle --enable-imager 622dnl 623AC_ARG_ENABLE([imager], 624[ --disable-imager disable support of e2image program], 625if test "$enableval" = "no" 626then 627 AC_MSG_RESULT([Disabling e2image support]) 628 IMAGER_CMT="#" 629else 630 IMAGER_CMT= 631 AC_MSG_RESULT([Enabling e2image support]) 632fi 633, 634AC_MSG_RESULT([Enabling e2image support by default]) 635IMAGER_CMT= 636) 637AC_SUBST(IMAGER_CMT) 638dnl 639dnl handle --enable-resizer 640dnl 641AC_ARG_ENABLE([resizer], 642[ --disable-resizer disable support of e2resize program], 643if test "$enableval" = "no" 644then 645 AC_MSG_RESULT([Disabling e2resize support]) 646 RESIZER_CMT="#" 647else 648 RESIZER_CMT= 649 AC_MSG_RESULT([Enabling e2resize support]) 650fi 651, 652AC_MSG_RESULT([Enabling e2resize support by default]) 653RESIZER_CMT= 654) 655AC_SUBST(RESIZER_CMT) 656dnl 657dnl handle --enable-defrag 658dnl 659AC_ARG_ENABLE([defrag], 660[ --disable-defrag disable support of e4defrag program], 661if test "$enableval" = "no" 662then 663 AC_MSG_RESULT([Disabling e4defrag support]) 664 DEFRAG_CMT="#" 665else 666 DEFRAG_CMT= 667 AC_MSG_RESULT([Enabling e4defrag support]) 668fi 669, 670if test -z "$WITH_DIET_LIBC" 671then 672 AC_MSG_RESULT([Enabling e4defrag support by default]) 673 DEFRAG_CMT= 674else 675 AC_MSG_RESULT([Disabling e4defrag support by default]) 676 DEFRAG_CMT="#" 677fi 678) 679AC_SUBST(DEFRAG_CMT) 680dnl 681dnl See whether to install the `fsck' wrapper program (that calls e2fsck) 682dnl 683AC_ARG_ENABLE([fsck], 684[ --enable-fsck build fsck wrapper program], 685[if test "$enableval" = "no" 686then 687 FSCK_PROG='' FSCK_MAN='' 688 AC_MSG_RESULT([Not building fsck wrapper]) 689else 690 FSCK_PROG=fsck FSCK_MAN=fsck.8 691 AC_MSG_RESULT([Building fsck wrapper]) 692fi] 693, 694[case "$host_os" in 695 gnu*) 696 FSCK_PROG='' FSCK_MAN='' 697 AC_MSG_RESULT([Not building fsck wrapper by default]) 698 ;; 699 *) 700 FSCK_PROG=fsck FSCK_MAN=fsck.8 701 AC_MSG_RESULT([Building fsck wrapper by default]) 702esac] 703) 704AC_SUBST(FSCK_PROG) 705AC_SUBST(FSCK_MAN) 706dnl 707dnl See whether to install the `e2initrd-helper' program 708dnl 709AC_ARG_ENABLE([e2initrd-helper], 710[ --enable-e2initrd-helper build e2initrd-helper program], 711[if test "$enableval" = "no" 712then 713 E2INITRD_PROG='' E2INITRD_MAN='' 714 AC_MSG_RESULT([Not building e2initrd helper]) 715else 716 E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 717 AC_MSG_RESULT([Building e2initrd helper]) 718fi] 719, 720E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 721AC_MSG_RESULT([Building e2initrd helper by default]) 722) 723AC_SUBST(E2INITRD_PROG) 724AC_SUBST(E2INITRD_MAN) 725dnl 726dnl 727dnl 728AC_ARG_ENABLE([tls], 729[ --disable-tls disable use of thread local support], 730[if test "$enableval" = "no" 731then 732 try_tls="" 733 AC_MSG_RESULT([Disabling thread local support]) 734else 735 try_tls="yes" 736 AC_MSG_RESULT([Enabling thread local support]) 737fi] 738, 739if test -n "$WITH_DIET_LIBC" 740then 741 try_tls="" 742 AC_MSG_RESULT([Diet libc does not support thread local support]) 743else 744 try_tls="yes" 745 AC_MSG_RESULT([Try using thread local support by default]) 746fi 747) 748if test "$try_tls" = "yes" 749then 750AX_TLS 751fi 752dnl 753dnl 754dnl 755AH_TEMPLATE([USE_UUIDD], [Define to 1 to build uuidd]) 756AC_ARG_ENABLE([uuidd], 757[ --disable-uuidd disable building the uuid daemon], 758[if test "$enableval" = "no" 759then 760 AC_MSG_RESULT([Not building uuidd]) 761 UUIDD_CMT="#" 762else 763 AC_DEFINE(USE_UUIDD, 1) 764 UUIDD_CMT="" 765 AC_MSG_RESULT([Building uuidd]) 766fi] 767, 768AC_DEFINE(USE_UUIDD, 1) 769if test -z "$UUID_CMT" 770then 771 UUIDD_CMT="" 772 AC_MSG_RESULT([Building uuidd by default]) 773else 774 UUIDD_CMT="#" 775 AC_MSG_RESULT([Disabling uuidd by default]) 776fi 777) 778AC_SUBST(UUIDD_CMT) 779dnl 780dnl handle --disable-mmp 781dnl 782AH_TEMPLATE([CONFIG_MMP], [Define to 1 to enable mmp support]) 783AC_ARG_ENABLE([mmp], 784[ --disable-mmp disable support mmp, Multi Mount Protection], 785if test "$enableval" = "no" 786then 787 AC_MSG_RESULT([Disabling mmp support]) 788else 789 AC_MSG_RESULT([Enabling mmp support]) 790 AC_DEFINE(CONFIG_MMP, 1) 791fi 792, 793AC_MSG_RESULT([Enabling mmp support by default]) 794AC_DEFINE(CONFIG_MMP, 1) 795) 796dnl 797dnl handle --disable-tdb 798dnl 799AH_TEMPLATE([CONFIG_TDB], [Define to 1 to enable tdb support]) 800AC_ARG_ENABLE([tdb], 801[ --disable-tdb disable tdb support], 802if test "$enableval" = "no" 803then 804 AC_MSG_RESULT([Disabling tdb support]) 805 TDB_CMT="#" 806 TDB_MAN_COMMENT='.\"' 807else 808 AC_MSG_RESULT([Enabling tdb support]) 809 AC_DEFINE(CONFIG_TDB, 1) 810 TDB_CMT="" 811 TDB_MAN_COMMENT="" 812fi 813, 814AC_MSG_RESULT([Enabling mmp support by default]) 815AC_DEFINE(CONFIG_TDB, 1) 816TDB_CMT="" 817TDB_MAN_COMMENT="" 818) 819AC_SUBST(TDB_CMT) 820AC_SUBST(TDB_MAN_COMMENT) 821dnl 822dnl handle --disable-bmap-stats 823dnl 824AH_TEMPLATE([ENABLE_BMAP_STATS], [Define to 1 to enable bitmap stats.]) 825AC_ARG_ENABLE([bmap-stats], 826[ --disable-bmap-stats disable collection of bitmap stats.], 827if test "$enableval" = "no" 828then 829 AC_MSG_RESULT([Disabling bitmap statistics support]) 830else 831 AC_MSG_RESULT([Enabling bitmap statistics support]) 832 AC_DEFINE(ENABLE_BMAP_STATS, 1) 833fi 834, 835AC_MSG_RESULT([Enabling bitmap statistics support by default]) 836AC_DEFINE(ENABLE_BMAP_STATS, 1) 837) 838dnl 839dnl handle --enable-bmap-stats-ops 840dnl 841AH_TEMPLATE([ENABLE_BMAP_STATS_OPS], [Define to 1 to enable bitmap stats.]) 842AC_ARG_ENABLE([bmap-stats-ops], 843[ --enable-bmap-stats-ops enable collection of additional bitmap stats], 844if test "$enableval" = "no" 845then 846 AC_MSG_RESULT([Disabling additional bitmap statistics]) 847else 848 dnl There has to be a better way! 849 AS_IF([test "x${enable_bmap_stats}" = "xno"], 850 AC_MSG_FAILURE([Error --enable-bmap-stats-ops requires bmap-stats])) 851 852 AC_MSG_RESULT([Enabling additional bitmap statistics]) 853 AC_DEFINE(ENABLE_BMAP_STATS_OPS, 1) 854fi 855, 856AC_MSG_RESULT([Disabling additional bitmap statistics by default]) 857) 858dnl 859dnl 860dnl 861MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library 862AC_SUBST_FILE(MAKEFILE_LIBRARY) 863dnl 864dnl Add internationalization support, using gettext. 865dnl 866GETTEXT_PACKAGE=e2fsprogs 867PACKAGE=e2fsprogs 868VERSION="$E2FSPROGS_VERSION" 869VERSION=0.14.1 870AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [package name for gettext]) 871AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [version for gettext]) 872AC_SUBST(GETTEXT_PACKAGE) 873AC_SUBST(PACKAGE) 874AC_SUBST(VERSION) 875 876AM_GNU_GETTEXT 877dnl 878dnl End of configuration options 879dnl 880AC_SUBST(BINARY_TYPE) 881AC_PROG_MAKE_SET 882CHECK_GNU_MAKE 883AC_PATH_PROG(LN, ln, ln) 884AC_PROG_MKDIR_P 885AC_PROG_LN_S 886AC_PATH_PROG(MV, mv, mv) 887AC_PATH_PROG(CP, cp, cp) 888AC_PATH_PROG(RM, rm, rm) 889AC_PATH_PROG(CHMOD, chmod, :) 890AC_PROG_AWK 891AC_PROG_EGREP 892AC_PATH_PROG(SED, sed, sed) 893AC_PATH_PROG(PERL, perl, perl) 894AC_PATH_PROG(LDCONFIG, ldconfig, :) 895AC_CHECK_TOOL(AR, ar, ar) 896AC_CHECK_TOOL(RANLIB, ranlib, :) 897AC_CHECK_TOOL(STRIP, strip, :) 898AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, ) 899if test "_$MAKEINFO" = "_"; then 900 MAKEINFO="echo Makeinfo is missing. Info documentation will not be built." 901else 902 case "$MAKEINFO" in 903 */missing.*) 904 AC_MSG_WARN([ 905*** Makeinfo is missing. Info documentation will not be built.]) 906 ;; 907 *) 908 ;; 909 esac 910fi 911AC_SUBST(MAKEINFO) 912AC_PROG_INSTALL 913# See if we need a separate native compiler. 914if test $cross_compiling = no; then 915 BUILD_CC="$CC" 916 AC_SUBST(BUILD_CC) 917else 918 AC_CHECK_PROGS(BUILD_CC, gcc cc) 919fi 920AC_CHECK_HEADERS(m4_flatten([ 921 dirent.h 922 errno.h 923 execinfo.h 924 getopt.h 925 malloc.h 926 mntent.h 927 paths.h 928 semaphore.h 929 setjmp.h 930 signal.h 931 stdarg.h 932 stdint.h 933 stdlib.h 934 termios.h 935 termio.h 936 unistd.h 937 utime.h 938 attr/xattr.h 939 linux/falloc.h 940 linux/fd.h 941 linux/fsmap.h 942 linux/major.h 943 linux/loop.h 944 linux/types.h 945 net/if_dl.h 946 netinet/in.h 947 sys/acl.h 948 sys/disklabel.h 949 sys/disk.h 950 sys/file.h 951 sys/ioctl.h 952 sys/key.h 953 sys/mkdev.h 954 sys/mman.h 955 sys/mount.h 956 sys/prctl.h 957 sys/resource.h 958 sys/select.h 959 sys/socket.h 960 sys/sockio.h 961 sys/stat.h 962 sys/syscall.h 963 sys/sysctl.h 964 sys/sysmacros.h 965 sys/time.h 966 sys/types.h 967 sys/un.h 968 sys/wait.h 969 sys/xattr.h 970])) 971dnl Check where to find a dd(1) that supports iflag=fullblock 972dnl and oflag=append 973AC_MSG_CHECKING([for a dd(1) program that supports iflag=fullblock]) 974DD= 975for i in dd gdd ; do 976 if "$i" if=/dev/null of=/dev/null count=1 bs=10k 2>/dev/null iflag=fullblock oflag=append ; then 977 DD=$i 978 break 979 fi 980done 981if test -n "$DD" ; then 982 AC_MSG_RESULT([$DD]) 983else 984 AC_MSG_RESULT([not found, using dd]) 985 DD=dd 986 AC_MSG_WARN([No GNU-compatible dd(1) program found, expect some self-test failures.]) 987fi 988AC_SUBST([DD]) 989 990AC_CHECK_HEADERS(net/if.h,,, 991[[ 992#if HAVE_SYS_TYPES_H 993#include <sys/types.h> 994#endif 995#if HAVE_SYS_SOCKET 996#include <sys/socket.h> 997#endif 998]]) 999AC_FUNC_VPRINTF 1000dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen 1001dnl is not declared. 1002AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, 1003 [Define to 1 if dirent has d_reclen])],, 1004 [#include <dirent.h>]) 1005AC_CHECK_MEMBERS([struct stat.st_atim]) 1006dnl Check to see if ssize_t was declared 1007AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1, 1008 [Define to 1 if ssize_t declared])],, 1009 [#include <sys/types.h>]) 1010dnl 1011dnl Check to see if llseek() is declared in unistd.h. On some libc's 1012dnl it is, and on others it isn't..... Thank you glibc developers.... 1013dnl 1014AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, 1015 [Define to 1 if llseek declared in unistd.h])],, 1016 [#include <unistd.h>]) 1017dnl 1018dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files 1019dnl are so convoluted that I can't tell whether it will always be defined, 1020dnl and if it isn't defined while lseek64 is defined in the library, 1021dnl disaster will strike. 1022dnl 1023dnl Warning! Use of --enable-gcc-wall may throw off this test. 1024dnl 1025dnl 1026AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, 1027 [Define to 1 if lseek64 declared in unistd.h])],, 1028 [#define _LARGEFILE_SOURCE 1029 #define _LARGEFILE64_SOURCE 1030 #include <unistd.h>]) 1031dnl 1032dnl Word sizes... 1033dnl 1034AC_CHECK_SIZEOF(short) 1035AC_CHECK_SIZEOF(int) 1036AC_CHECK_SIZEOF(long) 1037AC_CHECK_SIZEOF(long long) 1038AC_CHECK_SIZEOF(off_t) 1039AC_CHECK_SIZEOF(time_t) 1040SIZEOF_SHORT=$ac_cv_sizeof_short 1041SIZEOF_INT=$ac_cv_sizeof_int 1042SIZEOF_LONG=$ac_cv_sizeof_long 1043SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long 1044SIZEOF_OFF_T=$ac_cv_sizeof_off_t 1045SIZEOF_TIME_T=$ac_cv_sizeof_time_t 1046AC_SUBST(SIZEOF_SHORT) 1047AC_SUBST(SIZEOF_INT) 1048AC_SUBST(SIZEOF_LONG) 1049AC_SUBST(SIZEOF_LONG_LONG) 1050AC_SUBST(SIZEOF_OFF_T) 1051AC_SUBST(SIZEOF_TIME_T) 1052AC_C_BIGENDIAN 1053if test $cross_compiling = no; then 1054 BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh 1055else 1056 CROSS_COMPILE="1" BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh 1057fi 1058ASM_TYPES_HEADER=./asm_types.h 1059AC_SUBST_FILE(ASM_TYPES_HEADER) 1060dnl 1061dnl Save the configuration #defines needed for the public ext2fs.h 1062dnl header file 1063dnl 1064echo "/* These defines are needed for the public ext2fs.h header file */" \ 1065 > public_config.h 1066if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then 1067 uniq tmp_config.$$ >> public_config.h 1068else 1069 echo "#undef HAVE_SYS_TYPES_H" >> public_config.h 1070fi 1071if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then 1072 uniq tmp_config.$$ >> public_config.h 1073else 1074 echo "#undef WORDS_BIGENDIAN" >> public_config.h 1075fi 1076rm -f tmp_config.$$ 1077PUBLIC_CONFIG_HEADER=./public_config.h 1078AC_SUBST_FILE(PUBLIC_CONFIG_HEADER) 1079dnl 1080dnl See if we have inttypes.h and if intptr_t is defined 1081dnl 1082AC_CHECK_HEADERS([inttypes.h]) 1083AC_CHECK_TYPES(intptr_t) 1084dnl 1085dnl See if struct stat has a st_flags field, in which case we can get file 1086dnl flags somewhat portably. Also check for the analogous setter, chflags(). 1087dnl 1088AC_MSG_CHECKING(whether struct stat has a st_flags field) 1089AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags, 1090 AC_TRY_COMPILE([#include <sys/stat.h>], 1091 [struct stat stat; stat.st_flags = 0;], 1092 [e2fsprogs_cv_struct_st_flags=yes], 1093 [e2fsprogs_cv_struct_st_flags=no])) 1094AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) 1095if test "$e2fsprogs_cv_struct_st_flags" = yes; then 1096 AC_MSG_CHECKING(whether st_flags field is useful) 1097 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut, 1098 AC_TRY_COMPILE([#include <sys/stat.h>], 1099 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;], 1100 [e2fsprogs_cv_struct_st_flags_immut=yes], 1101 [e2fsprogs_cv_struct_st_flags_immut=no])) 1102 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) 1103 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then 1104 AC_DEFINE(HAVE_STAT_FLAGS, 1, 1105 [Define to 1 if struct stat has st_flags]) 1106 fi 1107fi 1108dnl 1109dnl Check for the presence of SA_LEN 1110dnl 1111AC_CHECK_MEMBER(struct sockaddr.sa_len, 1112 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, 1113 [Define to 1 if if struct sockaddr contains sa_len]),, 1114 [#include <sys/types.h> 1115 #include <sys/socket.h>]) 1116dnl 1117dnl If we are using the system-provided blkid library, check for 1118dnl the functions added after migrating that library to util-linux 1119dnl 1120if test -n "$BLKID_CMT"; then 1121 AC_CHECK_LIB(blkid, blkid_probe_get_topology, 1122 AC_DEFINE(HAVE_BLKID_PROBE_GET_TOPOLOGY, 1, 1123 [Define to 1 if blkid has blkid_probe_get_topology])) 1124 AC_CHECK_LIB(blkid, blkid_probe_enable_partitions, 1125 AC_DEFINE(HAVE_BLKID_PROBE_ENABLE_PARTITIONS, 1, 1126 [Define to 1 if blkid has blkid_probe_enable_partitions])) 1127fi 1128dnl 1129if test -n "$DLOPEN_LIB" ; then 1130 ac_cv_func_dlopen=yes 1131fi 1132AC_CHECK_FUNCS(m4_flatten([ 1133 __secure_getenv 1134 add_key 1135 backtrace 1136 chflags 1137 dlopen 1138 fadvise64 1139 fallocate 1140 fallocate64 1141 fchown 1142 fcntl 1143 fdatasync 1144 fstat64 1145 fsync 1146 ftruncate64 1147 futimes 1148 getcwd 1149 getdtablesize 1150 gethostname 1151 getmntinfo 1152 getpwuid_r 1153 getrlimit 1154 getrusage 1155 jrand48 1156 keyctl 1157 llistxattr 1158 llseek 1159 lseek64 1160 mallinfo 1161 mbstowcs 1162 memalign 1163 mempcpy 1164 mmap 1165 msync 1166 nanosleep 1167 open64 1168 pathconf 1169 posix_fadvise 1170 posix_fadvise64 1171 posix_memalign 1172 prctl 1173 pread 1174 pwrite 1175 pread64 1176 pwrite64 1177 secure_getenv 1178 setmntent 1179 setresgid 1180 setresuid 1181 snprintf 1182 srandom 1183 stpcpy 1184 strcasecmp 1185 strdup 1186 strnlen 1187 strptime 1188 strtoull 1189 sync_file_range 1190 sysconf 1191 usleep 1192 utime 1193 utimes 1194 valloc 1195])) 1196dnl 1197dnl Check to see if -lsocket is required (solaris) to make something 1198dnl that uses socket() to compile; this is needed for the UUID library 1199dnl 1200SOCKET_LIB='' 1201AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket]) 1202AC_SUBST(SOCKET_LIB) 1203dnl 1204dnl See if libmagic exists 1205dnl 1206AC_CHECK_LIB(magic, magic_file, [MAGIC_LIB=-lmagic 1207AC_CHECK_HEADERS([magic.h])]) 1208if test "$ac_cv_func_dlopen" = yes ; then 1209 MAGIC_LIB=$DLOPEN_LIB 1210fi 1211AC_SUBST(MAGIC_LIB) 1212dnl 1213dnl Check to see if librt is required for clock_gettime() (glibc < 2.17) 1214dnl 1215AC_CHECK_LIB(rt, clock_gettime, [CLOCK_GETTIME_LIB=-lrt]) 1216AC_SUBST(CLOCK_GETTIME_LIB) 1217dnl 1218dnl Check to see if the FUSE library is -lfuse or -losxfuse 1219dnl 1220FUSE_CMT= 1221FUSE_LIB= 1222dnl osxfuse.dylib supersedes fuselib.dylib 1223AC_ARG_ENABLE([fuse2fs], 1224[ --disable-fuse2fs do not build fuse2fs], 1225if test "$enableval" = "no" 1226then 1227 FUSE_CMT="#" 1228 AC_MSG_RESULT([Disabling fuse2fs]) 1229else 1230 AC_CHECK_HEADERS([pthread.h fuse.h], [], 1231[AC_MSG_FAILURE([Cannot find fuse2fs headers.])], 1232[#define _FILE_OFFSET_BITS 64 1233#define FUSE_USE_VERSION 29]) 1234 1235 AC_PREPROC_IFELSE( 1236[AC_LANG_PROGRAM([[#define FUSE_USE_VERSION 29 1237#ifdef __linux__ 1238#include <linux/fs.h> 1239#include <linux/falloc.h> 1240#include <linux/xattr.h> 1241#endif 1242]], [])], [], [AC_MSG_FAILURE([Cannot find fuse2fs Linux headers.])]) 1243 1244 AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], 1245 [AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], 1246 [AC_MSG_FAILURE([Cannot find fuse library.])])]) 1247 AC_MSG_RESULT([Enabling fuse2fs]) 1248fi 1249, 1250AC_CHECK_HEADERS([pthread.h fuse.h], [], [FUSE_CMT="#"], 1251[#define _FILE_OFFSET_BITS 64 1252#define FUSE_USE_VERSION 29 1253#ifdef __linux__ 1254# include <linux/fs.h> 1255# include <linux/falloc.h> 1256# include <linux/xattr.h> 1257#endif]) 1258if test -z "$FUSE_CMT" 1259then 1260 AC_CHECK_LIB(osxfuse, fuse_main, [FUSE_LIB=-losxfuse], 1261[AC_CHECK_LIB(fuse, fuse_main, [FUSE_LIB=-lfuse], [FUSE_CMT="#"])]) 1262fi 1263if test -z "$FUSE_CMT" 1264then 1265 AC_MSG_RESULT([Enabling fuse2fs by default.]) 1266fi 1267) 1268AC_SUBST(FUSE_LIB) 1269AC_SUBST(FUSE_CMT) 1270dnl 1271dnl See if optreset exists 1272dnl 1273AC_MSG_CHECKING(for optreset) 1274AC_CACHE_VAL(ac_cv_have_optreset, 1275[AC_EGREP_HEADER(optreset, unistd.h, 1276 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl 1277AC_MSG_RESULT($ac_cv_have_optreset) 1278if test $ac_cv_have_optreset = yes; then 1279 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) 1280fi 1281dnl 1282dnl Test for sem_init, and which library it might require: 1283dnl 1284AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) 1285SEM_INIT_LIB='' 1286echo GL_THREADS_API: ${gl_threads_api} 1287if test "${gl_threads_api}" != none 1288then 1289 AC_CHECK_FUNC(sem_init, , 1290 AC_CHECK_LIB(pthread, sem_init, 1291 AC_DEFINE(HAVE_SEM_INIT, 1) 1292 SEM_INIT_LIB=-lpthread, 1293 AC_CHECK_LIB(rt, sem_init, 1294 AC_DEFINE(HAVE_SEM_INIT, 1) 1295 SEM_INIT_LIB=-lrt, 1296 AC_CHECK_LIB(posix4, sem_init, 1297 AC_DEFINE(HAVE_SEM_INIT, 1) 1298 SEM_INIT_LIB=-lposix4))))dnl 1299fi 1300AC_SUBST(SEM_INIT_LIB) 1301dnl 1302dnl Check for unified diff 1303dnl 1304AC_MSG_CHECKING(for unified diff option) 1305if diff -u $0 $0 > /dev/null 2>&1 ; then 1306 UNI_DIFF_OPTS=-u 1307else 1308 UNI_DIFF_OPTS=-c 1309fi 1310AC_MSG_RESULT($UNI_DIFF_OPTS) 1311AC_SUBST(UNI_DIFF_OPTS) 1312dnl 1313dnl We use the EXT2 ioctls only under Linux 1314dnl 1315case "$host_os" in 1316linux*) 1317 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) 1318 ;; 1319esac 1320dnl 1321dnl Check the available mount options 1322dnl 1323AX_CHECK_MOUNT_OPT(nosuid) 1324AX_CHECK_MOUNT_OPT(nodev) 1325dnl Enable LTO for all packages 1326dnl 1327AC_ARG_ENABLE([lto], 1328[ --enable-lto enable link time optimization],, 1329enable_lto=no) 1330if test "$enable_lto" = "yes" || test "$enable_lto" = "probe"; then 1331 AC_MSG_CHECKING([if C compiler supports LTO]) 1332 OLD_CFLAGS="$CFLAGS" 1333 OLD_LDFLAGS="$LDFLAGS" 1334 LTO_FLAGS="-g -flto -ffat-lto-objects" 1335 CFLAGS="$CFLAGS $LTO_FLAGS" 1336 LDFLAGS="$LDFLAGS $LTO_FLAGS" 1337 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 1338 [AC_MSG_RESULT([yes])] 1339 [lto_cflags=$LTO_FLAGS] 1340 [lto_ldflags=$LTO_FLAGS] 1341 [AC_PATH_PROG(gcc_ar, gcc-ar,,)] 1342 [AC_PATH_PROG(gcc_ranlib, gcc-ranlib,,)], 1343 [AC_MSG_RESULT([no])]) 1344 if test -x "$gcc_ar" && test -x "$gcc_ranlib"; then 1345 have_lto=yes 1346 AR="${gcc_ar}" 1347 RANLIB="${gcc_ranlib}" 1348 fi 1349 CFLAGS="${OLD_CFLAGS}" 1350 LDFLAGS="${OLD_LDFLAGS}" 1351 AC_SUBST(have_lto) 1352 AC_SUBST(lto_cflags) 1353 AC_SUBST(lto_ldflags) 1354fi 1355if test "$enable_lto" = "yes" && test "$have_lto" != "yes"; then 1356 AC_MSG_ERROR([LTO not supported by compiler.]) 1357fi 1358dnl 1359dnl Enable UBSAN for all packages 1360dnl 1361AC_ARG_ENABLE([ubsan], 1362[ --enable-ubsan enable undefined behavior sanitizer],, 1363enable_ubsan=no) 1364if test "$enable_ubsan" = "yes" || test "$enable_ubsan" = "probe"; then 1365 AC_MSG_CHECKING([if C compiler supports UBSAN]) 1366 OLD_CFLAGS="$CFLAGS" 1367 OLD_LDFLAGS="$LDFLAGS" 1368 UBSAN_FLAGS="-fsanitize=undefined" 1369 CFLAGS="$CFLAGS $UBSAN_FLAGS" 1370 LDFLAGS="$LDFLAGS $UBSAN_FLAGS" 1371 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 1372 [AC_MSG_RESULT([yes])] 1373 [ubsan_cflags=$UBSAN_FLAGS] 1374 [ubsan_ldflags=$UBSAN_FLAGS] 1375 [have_ubsan=yes], 1376 [AC_MSG_RESULT([no])]) 1377 CFLAGS="${OLD_CFLAGS}" 1378 LDFLAGS="${OLD_LDFLAGS}" 1379 AC_SUBST(have_ubsan) 1380 AC_SUBST(ubsan_cflags) 1381 AC_SUBST(ubsan_ldflags) 1382fi 1383if test "$enable_ubsan" = "yes" && test "$have_ubsan" != "yes"; then 1384 AC_MSG_ERROR([UBSAN not supported by compiler.]) 1385fi 1386dnl 1387dnl Enable ADDRSAN for all packages 1388dnl 1389AC_ARG_ENABLE([addrsan], 1390[ --enable-addrsan enable address sanitizer],, 1391enable_addrsan=no) 1392if test "$enable_addrsan" = "yes" || test "$enable_addrsan" = "probe"; then 1393 AC_MSG_CHECKING([if C compiler supports ADDRSAN]) 1394 OLD_CFLAGS="$CFLAGS" 1395 OLD_LDFLAGS="$LDFLAGS" 1396 ADDRSAN_FLAGS="-fsanitize=address" 1397 CFLAGS="$CFLAGS $ADDRSAN_FLAGS" 1398 LDFLAGS="$LDFLAGS $ADDRSAN_FLAGS" 1399 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 1400 [AC_MSG_RESULT([yes])] 1401 [addrsan_cflags=$ADDRSAN_FLAGS] 1402 [addrsan_ldflags=$ADDRSAN_FLAGS] 1403 [have_addrsan=yes], 1404 [AC_MSG_RESULT([no])]) 1405 CFLAGS="${OLD_CFLAGS}" 1406 LDFLAGS="${OLD_LDFLAGS}" 1407 AC_SUBST(have_addrsan) 1408 AC_SUBST(addrsan_cflags) 1409 AC_SUBST(addrsan_ldflags) 1410fi 1411if test "$enable_addrsan" = "yes" && test "$have_addrsan" != "yes"; then 1412 AC_MSG_ERROR([ADDRSAN not supported by compiler.]) 1413fi 1414dnl 1415dnl Enable THREADSAN for all packages 1416dnl 1417AC_ARG_ENABLE([threadsan], 1418[ --enable-threadsan enable thread sanitizer],, 1419enable_threadsan=no) 1420if test "$enable_threadsan" = "yes" || test "$enable_threadsan" = "probe"; then 1421 AC_MSG_CHECKING([if C compiler supports THREADSAN]) 1422 OLD_CFLAGS="$CFLAGS" 1423 OLD_LDFLAGS="$LDFLAGS" 1424 THREADSAN_FLAGS="-fsanitize=thread" 1425 CFLAGS="$CFLAGS $THREADSAN_FLAGS" 1426 LDFLAGS="$LDFLAGS $THREADSAN_FLAGS" 1427 AC_LINK_IFELSE([AC_LANG_PROGRAM([])], 1428 [AC_MSG_RESULT([yes])] 1429 [threadsan_cflags=$THREADSAN_FLAGS] 1430 [threadsan_ldflags=$THREADSAN_FLAGS] 1431 [have_threadsan=yes], 1432 [AC_MSG_RESULT([no])]) 1433 CFLAGS="${OLD_CFLAGS}" 1434 LDFLAGS="${OLD_LDFLAGS}" 1435 AC_SUBST(have_threadsan) 1436 AC_SUBST(threadsan_cflags) 1437 AC_SUBST(threadsan_ldflags) 1438fi 1439if test "$enable_threadsan" = "yes" && test "$have_threadsan" != "yes"; then 1440 AC_MSG_ERROR([THREADSAN not supported by compiler.]) 1441fi 1442if test "$have_threadsan" = "yes" && test "$have_addrsan" = "yes"; then 1443 AC_MSG_WARN([ADDRSAN and THREADSAN are not known to work together.]) 1444fi 1445dnl 1446dnl OS-specific uncomment control 1447dnl 1448LINUX_CMT="#" 1449CYGWIN_CMT="#" 1450UNIX_CMT= 1451case "$host_os" in 1452linux*) 1453 LINUX_CMT= 1454 ;; 1455cygwin) 1456 CYGWIN_CMT= 1457 UNIX_CMT="#" 1458 ;; 1459esac 1460AC_SUBST(LINUX_CMT) 1461AC_SUBST(CYGWIN_CMT) 1462AC_SUBST(UNIX_CMT) 1463dnl 1464dnl e2scrub only builds on linux 1465dnl 1466E2SCRUB_CMT="$LINUX_CMT" 1467AC_SUBST(E2SCRUB_CMT) 1468dnl 1469dnl Linux and Hurd places root files in the / by default 1470dnl 1471case "$host_os" in 1472linux* | gnu* | k*bsd*-gnu) 1473 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then 1474 root_prefix=""; 1475 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to '']) 1476 fi 1477 ;; 1478esac 1479dnl 1480dnl On Linux/hurd, force the prefix to be /usr 1481dnl 1482case "$host_os" in 1483linux* | gnu* | k*bsd*-gnu) 1484 if test "$prefix" = NONE ; then 1485 prefix="/usr"; 1486 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr]) 1487 if test "$mandir" = '${prefix}/man' ; then 1488 AC_MSG_RESULT([...and mandir defaults to /usr/share/man]) 1489 mandir=/usr/share/man 1490 fi 1491 fi 1492;; 1493esac 1494if test "$root_prefix" = NONE ; then 1495 if test "$prefix" = NONE ; then 1496 root_prefix="$ac_default_prefix" 1497 else 1498 root_prefix="$prefix" 1499 fi 1500 root_bindir=$bindir 1501 root_sbindir=$sbindir 1502 root_libdir=$libdir 1503 root_sysconfdir=$sysconfdir 1504else 1505 root_bindir='${root_prefix}/bin' 1506 root_sbindir='${root_prefix}/sbin' 1507 root_libdir='${root_prefix}/lib' 1508 root_sysconfdir='${root_prefix}/etc' 1509fi 1510if test "$bindir" != '${exec_prefix}/bin'; then 1511 root_bindir=$bindir 1512 AC_MSG_RESULT([Setting root_bindir to $root_bindir]) 1513fi 1514if test "$sbindir" != '${exec_prefix}/sbin'; then 1515 root_sbindir=$sbindir 1516 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir]) 1517fi 1518if test "$libdir" != '${exec_prefix}/lib'; then 1519 root_libdir=$libdir 1520 AC_MSG_RESULT([Setting root_libdir to $root_libdir]) 1521fi 1522if test "$sysconfdir" != '${prefix}/etc'; then 1523 root_sysconfdir=$sysconfdir 1524 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir]) 1525fi 1526AC_SUBST(root_prefix) 1527AC_SUBST(root_bindir) 1528AC_SUBST(root_sbindir) 1529AC_SUBST(root_libdir) 1530AC_SUBST(root_sysconfdir) 1531dnl 1532dnl Allow specification of the multiarch arch 1533dnl 1534AC_ARG_WITH([multiarch], 1535[ --with-multiarch=ARCH specify the multiarch triplet], 1536if test "$withval" = "lib64"; then 1537 libdir=/usr/lib64 1538 root_libdir=/lib64 1539else 1540 libdir=$libdir/$withval 1541 root_libdir=$root_libdir/$withval 1542fi 1543) 1544dnl 1545dnl 1546dnl See if -static works. This could fail if the linker does not 1547dnl support -static, or if required external libraries are not available 1548dnl in static form. 1549dnl 1550AC_MSG_CHECKING([whether we can link with -static]) 1551AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, 1552[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS_STATIC -static" 1553AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);], 1554 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no) 1555LDFLAGS=$SAVE_LDFLAGS]) 1556dnl 1557dnl Regardless of how the test turns out, Solaris doesn't handle -static 1558dnl This is caused by the socket library requiring the nsl library, which 1559dnl requires the -dl library, which only works for dynamically linked 1560dnl programs. It basically means you can't have statically linked programs 1561dnl which use the network under Solaris. 1562dnl 1563case "$host_os" in 1564solaris2.*) 1565 ac_cv_e2fsprogs_use_static=no 1566;; 1567esac 1568AC_MSG_RESULT($ac_cv_e2fsprogs_use_static) 1569if test $ac_cv_e2fsprogs_use_static = yes; then 1570 LDFLAGS_STATIC="$LDFLAGS_STATIC -static" 1571fi 1572AC_SUBST(LDFLAGS_STATIC) 1573dnl 1574dnl Work around mysterious Darwin / GNU libintl problem 1575dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like 1576dnl Apple hacked gcc somehow?) 1577dnl 1578case "$host_os" in 1579darwin*) 1580 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) 1581 AC_DEFINE(_INTL_REDIRECT_MACROS, 1, 1582 [Define to 1 if Apple Darwin libintl workaround is needed]) 1583 ;; 1584esac 1585dnl 1586dnl Only try to run the test suite if we're not cross compiling. 1587dnl 1588if test "$cross_compiling" = yes ; then 1589 DO_TEST_SUITE= 1590else 1591 DO_TEST_SUITE=check 1592fi 1593AC_SUBST(DO_TEST_SUITE) 1594dnl 1595dnl Only include the intl include files if we're building with them 1596dnl 1597INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' 1598if test -n "$CPPFLAGS" ; then 1599 INCLUDES="$INCLUDES $CPPFLAGS" 1600fi 1601if test "$USE_INCLUDED_LIBINTL" = "yes" ; then 1602 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' 1603fi 1604if test -n "$WITH_DIET_LIBC" ; then 1605 INCLUDES="$INCLUDES -D_REENTRANT" 1606fi 1607AC_SUBST(INCLUDES) 1608dnl 1609dnl Build CFLAGS 1610dnl 1611if test $cross_compiling = no; then 1612 BUILD_CFLAGS="$CFLAGS $CPPFLAGS $INCLUDES -DHAVE_CONFIG_H" 1613 BUILD_LDFLAGS="$LDFLAGS" 1614fi 1615AC_SUBST(BUILD_CFLAGS) 1616AC_SUBST(BUILD_LDFLAGS) 1617dnl 1618dnl Define CFLAGS and LDFLAGS for shared libraries 1619dnl 1620CFLAGS_SHLIB=${CFLAGS_SHLIB:-$CFLAGS} 1621CFLAGS_STLIB=${CFLAGS_STLIB:-$CFLAGS} 1622LDFLAGS_SHLIB=${LDFLAGS_SHLIB:-$LDFLAGS} 1623AC_SUBST(CFLAGS_SHLIB) 1624AC_SUBST(CFLAGS_STLIB) 1625AC_SUBST(LDFLAGS_SHLIB) 1626 1627dnl 1628dnl Where do udev rules go? 1629dnl 1630AC_ARG_WITH([udev_rules_dir], 1631 [AS_HELP_STRING([--with-udev-rules-dir@<:@=DIR@:>@], 1632 [Install udev rules into DIR.])], 1633 [], 1634 [with_udev_rules_dir=yes]) 1635AS_IF([test "x${with_udev_rules_dir}" != "xno"], 1636 [ 1637 AS_IF([test "x${with_udev_rules_dir}" = "xyes"], 1638 [ 1639 PKG_CHECK_MODULES([udev], [udev], 1640 [ 1641 with_udev_rules_dir="$($PKG_CONFIG --variable=udevdir udev)/rules.d" 1642 ], [ 1643 with_udev_rules_dir="" 1644 ]) 1645 ]) 1646 AC_MSG_CHECKING([for udev rules dir]) 1647 pkg_udev_rules_dir="${with_udev_rules_dir}" 1648 AS_IF([test -n "${pkg_udev_rules_dir}"], 1649 [ 1650 AC_MSG_RESULT(${pkg_udev_rules_dir}) 1651 have_udev="yes" 1652 ], 1653 [ 1654 AC_MSG_RESULT(no) 1655 have_udev="no" 1656 ]) 1657 ], 1658 [ 1659 have_udev="disabled" 1660 ]) 1661AC_SUBST(have_udev) 1662AC_SUBST(pkg_udev_rules_dir) 1663 1664dnl 1665dnl Where do cron jobs go? 1666dnl 1667AC_ARG_WITH([crond_dir], 1668 [AS_HELP_STRING([--with-crond-dir@<:@=DIR@:>@], 1669 [Install system crontabs into DIR.])], 1670 [], 1671 [with_crond_dir=yes]) 1672AS_IF([test "x${with_crond_dir}" != "xno"], 1673 [ 1674 AS_IF([test "x${with_crond_dir}" = "xyes"], 1675 [ 1676 AS_IF([test -d "/etc/cron.d"], 1677 [with_crond_dir="/etc/cron.d"], 1678 [have_crond="no"; with_crond_dir=""]) 1679 ]) 1680 AC_MSG_CHECKING([for system crontab dir]) 1681 crond_dir="${with_crond_dir}" 1682 AS_IF([test -n "${crond_dir}"], 1683 [ 1684 AC_MSG_RESULT(${crond_dir}) 1685 have_crond="yes" 1686 ], 1687 [ 1688 AC_MSG_RESULT(no) 1689 have_crond="no" 1690 ]) 1691 ], 1692 [ 1693 have_crond="disabled" 1694 ]) 1695AC_SUBST(have_crond) 1696AC_SUBST(crond_dir) 1697 1698dnl 1699dnl Where do systemd services go? 1700dnl 1701AC_ARG_WITH([systemd_unit_dir], 1702 [AS_HELP_STRING([--with-systemd-unit-dir@<:@=DIR@:>@], 1703 [Install systemd system units into DIR.])], 1704 [], 1705 [with_systemd_unit_dir=yes]) 1706AS_IF([test "x${with_systemd_unit_dir}" != "xno"], 1707 [ 1708 AS_IF([test "x${with_systemd_unit_dir}" = "xyes"], 1709 [ 1710 PKG_CHECK_MODULES([systemd], [systemd], 1711 [ 1712 with_systemd_unit_dir="$($PKG_CONFIG --variable=systemdsystemunitdir systemd)" 1713 ], [ 1714 with_systemd_unit_dir="" 1715 ]) 1716 m4_pattern_allow([^PKG_(MAJOR|MINOR|BUILD|REVISION)$]) 1717 ]) 1718 AC_MSG_CHECKING([for systemd system unit dir]) 1719 systemd_system_unit_dir="${with_systemd_unit_dir}" 1720 AS_IF([test -n "${systemd_system_unit_dir}"], 1721 [ 1722 AC_MSG_RESULT(${systemd_system_unit_dir}) 1723 have_systemd="yes" 1724 ], 1725 [ 1726 AC_MSG_RESULT(no) 1727 have_systemd="no" 1728 ]) 1729 ], 1730 [ 1731 have_systemd="disabled" 1732 ]) 1733AC_SUBST(have_systemd) 1734AC_SUBST(systemd_system_unit_dir) 1735 1736dnl 1737dnl Make our output files, being sure that we create the some miscellaneous 1738dnl directories 1739dnl 1740test -d lib || mkdir lib 1741test -d include || mkdir include 1742test -d include/linux || mkdir include/linux 1743test -d include/asm || mkdir include/asm 1744if test -z "$UUID_CMT" ; then 1745 uuid_out_list="lib/uuid/Makefile lib/uuid/uuid.pc \ 1746 lib/uuid/uuid_types.h" 1747fi 1748if test -z "$BLKID_CMT" ; then 1749 blkid_out_list="lib/blkid/Makefile lib/blkid/blkid.pc \ 1750 lib/blkid/blkid_types.h" 1751fi 1752for i in MCONFIG Makefile \ 1753 util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ 1754 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ 1755 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ 1756 $uuid_out_list $blkid_out_list lib/support/Makefile \ 1757 lib/ss/ss.pc lib/et/com_err.pc lib/e2p/e2p.pc lib/ext2fs/ext2fs.pc \ 1758 misc/Makefile ext2ed/Makefile e2fsck/Makefile \ 1759 debugfs/Makefile tests/Makefile tests/progs/Makefile \ 1760 resize/Makefile doc/Makefile intl/Makefile \ 1761 intl/libgnuintl.h po/Makefile.in scrub/Makefile; do 1762 if test -d `dirname ${srcdir}/$i` ; then 1763 outlist="$outlist $i" 1764 fi 1765done 1766AC_OUTPUT($outlist) 1767if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi 1768