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