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