configure.in revision 43075b42bdff509cc567bd870a32072edf05d04c
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 net/if_dl.h 870 netinet/in.h 871 sys/disklabel.h 872 sys/file.h 873 sys/ioctl.h 874 sys/mkdev.h 875 sys/mman.h 876 sys/prctl.h 877 sys/queue.h 878 sys/resource.h 879 sys/select.h 880 sys/socket.h 881 sys/sockio.h 882 sys/stat.h 883 sys/syscall.h 884 sys/sysmacros.h 885 sys/time.h 886 sys/types.h 887 sys/un.h 888 sys/wait.h 889])) 890AC_CHECK_HEADERS(sys/disk.h sys/mount.h,,, 891[[ 892#if HAVE_SYS_QUEUE_H 893#include <sys/queue.h> 894#endif 895]]) 896AC_CHECK_HEADERS(net/if.h,,, 897[[ 898#if HAVE_SYS_TYPES_H 899#include <sys/types.h> 900#endif 901#if HAVE_SYS_SOCKET 902#include <sys/socket.h> 903#endif 904]]) 905AC_FUNC_VPRINTF 906dnl Check to see if dirent has member d_reclen. On cygwin those d_reclen 907dnl is not decleared. 908AC_CHECK_MEMBER(struct dirent.d_reclen,[AC_DEFINE(HAVE_RECLEN_DIRENT, 1, 909 [Define to 1 if dirent has d_reclen])],, 910 [#include <dirent.h>]) 911dnl Check to see if ssize_t was declared 912AC_CHECK_TYPE(ssize_t,[AC_DEFINE(HAVE_TYPE_SSIZE_T, 1, 913 [Define to 1 if ssize_t declared])],, 914 [#include <sys/types.h>]) 915dnl 916dnl Check to see if llseek() is declared in unistd.h. On some libc's 917dnl it is, and on others it isn't..... Thank you glibc developers.... 918dnl 919AC_CHECK_DECL(llseek,[AC_DEFINE(HAVE_LLSEEK_PROTOTYPE, 1, 920 [Define to 1 if llseek declared in unistd.h])],, 921 [#include <unistd.h>]) 922dnl 923dnl Check to see if lseek64() is declared in unistd.h. Glibc's header files 924dnl are so convoluted that I can't tell whether it will always be defined, 925dnl and if it isn't defined while lseek64 is defined in the library, 926dnl disaster will strike. 927dnl 928dnl Warning! Use of --enable-gcc-wall may throw off this test. 929dnl 930dnl 931AC_CHECK_DECL(lseek64,[AC_DEFINE(HAVE_LSEEK64_PROTOTYPE, 1, 932 [Define to 1 if lseek64 declared in unistd.h])],, 933 [#define _LARGEFILE_SOURCE 934 #define _LARGEFILE64_SOURCE 935 #include <unistd.h>]) 936dnl 937dnl Word sizes... 938dnl 939AC_CHECK_SIZEOF(short) 940AC_CHECK_SIZEOF(int) 941AC_CHECK_SIZEOF(long) 942AC_CHECK_SIZEOF(long long) 943AC_CHECK_SIZEOF(off_t) 944SIZEOF_SHORT=$ac_cv_sizeof_short 945SIZEOF_INT=$ac_cv_sizeof_int 946SIZEOF_LONG=$ac_cv_sizeof_long 947SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long 948SIZEOF_OFF_T=$ac_cv_sizeof_off_t 949AC_SUBST(SIZEOF_SHORT) 950AC_SUBST(SIZEOF_INT) 951AC_SUBST(SIZEOF_LONG) 952AC_SUBST(SIZEOF_LONG_LONG) 953AC_SUBST(SIZEOF_OFF_T) 954AC_C_BIGENDIAN 955BUILD_CC="$BUILD_CC" CPP="$CPP" /bin/sh $ac_aux_dir/parse-types.sh 956ASM_TYPES_HEADER=./asm_types.h 957AC_SUBST_FILE(ASM_TYPES_HEADER) 958dnl 959dnl Save the configuration #defines needed for the public ext2fs.h 960dnl header file 961dnl 962echo "/* These defines are needed for the public ext2fs.h header file */" \ 963 > public_config.h 964if grep HAVE_SYS_TYPES_H confdefs.h > tmp_config.$$; then 965 uniq tmp_config.$$ >> public_config.h 966else 967 echo "#undef HAVE_SYS_TYPES_H" >> public_config.h 968fi 969if grep WORDS_BIGENDIAN confdefs.h > tmp_config.$$; then 970 uniq tmp_config.$$ >> public_config.h 971else 972 echo "#undef WORDS_BIGENDIAN" >> public_config.h 973fi 974rm -f tmp_config.$$ 975PUBLIC_CONFIG_HEADER=./public_config.h 976AC_SUBST_FILE(PUBLIC_CONFIG_HEADER) 977dnl 978dnl See if we have inttypes.h and if intptr_t is defined 979dnl 980AC_CHECK_HEADERS([inttypes.h]) 981AC_CHECK_TYPES(intptr_t) 982dnl 983dnl See if struct stat has a st_flags field, in which case we can get file 984dnl flags somewhat portably. Also check for the analogous setter, chflags(). 985dnl 986AC_MSG_CHECKING(whether struct stat has a st_flags field) 987AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags, 988 AC_TRY_COMPILE([#include <sys/stat.h>], 989 [struct stat stat; stat.st_flags = 0;], 990 [e2fsprogs_cv_struct_st_flags=yes], 991 [e2fsprogs_cv_struct_st_flags=no])) 992AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags) 993if test "$e2fsprogs_cv_struct_st_flags" = yes; then 994 AC_MSG_CHECKING(whether st_flags field is useful) 995 AC_CACHE_VAL(e2fsprogs_cv_struct_st_flags_immut, 996 AC_TRY_COMPILE([#include <sys/stat.h>], 997 [struct stat stat; stat.st_flags |= UF_IMMUTABLE;], 998 [e2fsprogs_cv_struct_st_flags_immut=yes], 999 [e2fsprogs_cv_struct_st_flags_immut=no])) 1000 AC_MSG_RESULT($e2fsprogs_cv_struct_st_flags_immut) 1001 if test "$e2fsprogs_cv_struct_st_flags_immut" = yes; then 1002 AC_DEFINE(HAVE_STAT_FLAGS, 1, 1003 [Define to 1 if struct stat has st_flags]) 1004 fi 1005fi 1006dnl 1007dnl Check for the presence of SA_LEN 1008dnl 1009AC_CHECK_MEMBER(struct sockaddr.sa_len, 1010 AC_DEFINE_UNQUOTED(HAVE_SA_LEN,1, 1011 [Define to 1 if if struct sockaddr contains sa_len]),, 1012 [#include <sys/types.h> 1013 #include <sys/socket.h>]) 1014dnl 1015dnl This will add -lblkid to the AC_CHECK_FUNCS search if we are using 1016dnl the system-provided blkid library 1017dnl 1018if test -n "$BLKID_CMT"; then 1019 AC_SEARCH_LIBS([blkid_probe_all], [blkid]) 1020fi 1021dnl 1022AC_CHECK_FUNCS(m4_flatten([ 1023 __secure_getenv 1024 backtrace 1025 blkid_probe_get_topology 1026 chflags 1027 fallocate 1028 fallocate64 1029 fchown 1030 fdatasync 1031 fstat64 1032 ftruncate64 1033 getdtablesize 1034 getmntinfo 1035 getpwuid_r 1036 getrlimit 1037 getrusage 1038 jrand48 1039 llseek 1040 lseek64 1041 mallinfo 1042 mbstowcs 1043 memalign 1044 mmap 1045 msync 1046 nanosleep 1047 open64 1048 pathconf 1049 posix_fadvise 1050 posix_memalign 1051 prctl 1052 secure_getenv 1053 setmntent 1054 setresgid 1055 setresuid 1056 srandom 1057 strcasecmp 1058 strdup 1059 strnlen 1060 strptime 1061 strtoull 1062 sync_file_range 1063 sysconf 1064 usleep 1065 utime 1066 valloc 1067])) 1068dnl 1069dnl Check to see if -lsocket is required (solaris) to make something 1070dnl that uses socket() to compile; this is needed for the UUID library 1071dnl 1072SOCKET_LIB='' 1073AC_CHECK_LIB(socket, socket, [SOCKET_LIB=-lsocket]) 1074AC_SUBST(SOCKET_LIB) 1075dnl 1076dnl See if optreset exists 1077dnl 1078AC_MSG_CHECKING(for optreset) 1079AC_CACHE_VAL(ac_cv_have_optreset, 1080[AC_EGREP_HEADER(optreset, unistd.h, 1081 ac_cv_have_optreset=yes, ac_cv_have_optreset=no)])dnl 1082AC_MSG_RESULT($ac_cv_have_optreset) 1083if test $ac_cv_have_optreset = yes; then 1084 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if optreset for getopt is present]) 1085fi 1086dnl 1087dnl Test for sem_init, and which library it might require: 1088dnl 1089AH_TEMPLATE([HAVE_SEM_INIT], [Define to 1 if sem_init() exists]) 1090SEM_INIT_LIB='' 1091AC_CHECK_FUNC(sem_init, , 1092 AC_CHECK_LIB(pthread, sem_init, 1093 AC_DEFINE(HAVE_SEM_INIT, 1) 1094 SEM_INIT_LIB=-lpthread, 1095 AC_CHECK_LIB(rt, sem_init, 1096 AC_DEFINE(HAVE_SEM_INIT, 1) 1097 SEM_INIT_LIB=-lrt, 1098 AC_CHECK_LIB(posix4, sem_init, 1099 AC_DEFINE(HAVE_SEM_INIT, 1) 1100 SEM_INIT_LIB=-lposix4))))dnl 1101AC_SUBST(SEM_INIT_LIB) 1102dnl 1103dnl Check for unified diff 1104dnl 1105AC_MSG_CHECKING(for unified diff option) 1106if diff -u $0 $0 > /dev/null 2>&1 ; then 1107 UNI_DIFF_OPTS=-u 1108else 1109 UNI_DIFF_OPTS=-c 1110fi 1111AC_MSG_RESULT($UNI_DIFF_OPTS) 1112AC_SUBST(UNI_DIFF_OPTS) 1113dnl 1114dnl We use the EXT2 ioctls only under Linux 1115dnl 1116case "$host_os" in 1117linux*) 1118 AC_DEFINE(HAVE_EXT2_IOCTLS, 1, [Define to 1 if Ext2 ioctls present]) 1119 ;; 1120esac 1121dnl 1122dnl OS-specific uncomment control 1123dnl 1124LINUX_CMT="#" 1125CYGWIN_CMT="#" 1126UNIX_CMT= 1127case "$host_os" in 1128linux*) 1129 LINUX_CMT= 1130 ;; 1131cygwin) 1132 CYGWIN_CMT= 1133 UNIX_CMT="#" 1134 ;; 1135esac 1136AC_SUBST(LINUX_CMT) 1137AC_SUBST(CYGWIN_CMT) 1138AC_SUBST(UNIX_CMT) 1139dnl 1140dnl Linux and Hurd places root files in the / by default 1141dnl 1142case "$host_os" in 1143linux* | gnu* | k*bsd*-gnu) 1144 if test "$prefix" = NONE -a "$root_prefix" = NONE ; then 1145 root_prefix=""; 1146 AC_MSG_RESULT([On $host_os systems, root_prefix defaults to '']) 1147 fi 1148 ;; 1149esac 1150dnl 1151dnl On Linux/hurd, force the prefix to be /usr 1152dnl 1153case "$host_os" in 1154linux* | gnu* | k*bsd*-gnu) 1155 if test "$prefix" = NONE ; then 1156 prefix="/usr"; 1157 AC_MSG_RESULT([On $host_os systems, prefix defaults to /usr]) 1158 if test "$mandir" = '${prefix}/man' ; then 1159 AC_MSG_RESULT([...and mandir defaults to /usr/share/man]) 1160 mandir=/usr/share/man 1161 fi 1162 fi 1163;; 1164esac 1165if test "$root_prefix" = NONE ; then 1166 if test "$prefix" = NONE ; then 1167 root_prefix="$ac_default_prefix" 1168 else 1169 root_prefix="$prefix" 1170 fi 1171 root_bindir=$bindir 1172 root_sbindir=$sbindir 1173 root_libdir=$libdir 1174 root_sysconfdir=$sysconfdir 1175else 1176 root_bindir='${root_prefix}/bin' 1177 root_sbindir='${root_prefix}/sbin' 1178 root_libdir='${root_prefix}/lib' 1179 root_sysconfdir='${root_prefix}/etc' 1180fi 1181if test "$bindir" != '${exec_prefix}/bin'; then 1182 root_bindir=$bindir 1183 AC_MSG_RESULT([Setting root_bindir to $root_bindir]) 1184fi 1185if test "$sbindir" != '${exec_prefix}/sbin'; then 1186 root_sbindir=$sbindir 1187 AC_MSG_RESULT([Setting root_sbindir to $root_sbindir]) 1188fi 1189if test "$libdir" != '${exec_prefix}/lib'; then 1190 root_libdir=$libdir 1191 AC_MSG_RESULT([Setting root_libdir to $root_libdir]) 1192fi 1193if test "$sysconfdir" != '${prefix}/etc'; then 1194 root_sysconfdir=$sysconfdir 1195 AC_MSG_RESULT([Setting root_sysconfdir to $root_sysconfdir]) 1196fi 1197AC_SUBST(root_prefix) 1198AC_SUBST(root_bindir) 1199AC_SUBST(root_sbindir) 1200AC_SUBST(root_libdir) 1201AC_SUBST(root_sysconfdir) 1202dnl 1203dnl Allow specification of the multiarch arch 1204dnl 1205AC_ARG_WITH([multiarch], 1206[ --with-multiarch=ARCH specify the multiarch triplet], 1207libdir=$libdir/$withval 1208root_libdir=$root_libdir/$withval 1209)dnl 1210dnl 1211dnl See if -static works. This could fail if the linker does not 1212dnl support -static, or if required external libraries are not available 1213dnl in static form. 1214dnl 1215AC_MSG_CHECKING([whether we can link with -static]) 1216AC_CACHE_VAL(ac_cv_e2fsprogs_use_static, 1217[SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static" 1218AC_TRY_LINK([#include <stdio.h>],[fflush(stdout);], 1219 ac_cv_e2fsprogs_use_static=yes, ac_cv_e2fsprogs_use_static=no) 1220LDFLAGS=$SAVE_LDFLAGS]) 1221dnl 1222dnl Regardless of how the test turns out, Solaris doesn't handle -static 1223dnl This is caused by the socket library requiring the nsl library, which 1224dnl requires the -dl library, which only works for dynamically linked 1225dnl programs. It basically means you can't have statically linked programs 1226dnl which use the network under Solaris. 1227dnl 1228case "$host_os" in 1229solaris2.*) 1230 ac_cv_e2fsprogs_use_static=no 1231;; 1232esac 1233AC_MSG_RESULT($ac_cv_e2fsprogs_use_static) 1234LDFLAG_STATIC= 1235if test $ac_cv_e2fsprogs_use_static = yes; then 1236 LDFLAG_STATIC=-static 1237fi 1238AC_SUBST(LDFLAG_STATIC) 1239dnl 1240dnl Work around mysterious Darwin / GNU libintl problem 1241dnl (__asm__ redirection doesn't work for some mysterious reason. Looks like 1242dnl Apple hacked gcc somehow?) 1243dnl 1244case "$host_os" in 1245darwin*) 1246 AC_MSG_RESULT([Using Apple Darwin / GNU libintl workaround]) 1247 AC_DEFINE(_INTL_REDIRECT_MACROS, 1, 1248 [Define to 1 if Apple Darwin libintl workaround is needed]) 1249 ;; 1250esac 1251dnl 1252dnl Make the ss and et directories work correctly. 1253dnl 1254SS_DIR=`cd ${srcdir}/lib/ss; pwd` 1255ET_DIR=`cd ${srcdir}/lib/et; pwd` 1256AC_SUBST(SS_DIR) 1257AC_SUBST(ET_DIR) 1258dnl 1259dnl Only try to run the test suite if we're not cross compiling. 1260dnl 1261if test "$cross_compiling" = yes ; then 1262 DO_TEST_SUITE= 1263else 1264 DO_TEST_SUITE=check 1265fi 1266AC_SUBST(DO_TEST_SUITE) 1267dnl 1268dnl Only include the intl include files if we're building with them 1269dnl 1270INCLUDES='-I. -I$(top_builddir)/lib -I$(top_srcdir)/lib' 1271if test -n "$CPPFLAGS" ; then 1272 INCLUDES="$INCLUDES $CPPFLAGS" 1273fi 1274if test "$USE_INCLUDED_LIBINTL" = "yes" ; then 1275 INCLUDES=$INCLUDES' -I$(top_builddir)/intl -I$(top_srcdir)/intl' 1276fi 1277AC_SUBST(INCLUDES) 1278dnl 1279dnl Build CFLAGS 1280dnl 1281if test $cross_compiling = no; then 1282 BUILD_CFLAGS="$CFLAGS $CPPFLAGS" 1283 BUILD_LDFLAGS="$LDFLAGS" 1284else 1285 BUILD_CFLAGS= 1286 BUILD_LDFLAGS= 1287fi 1288AC_SUBST(BUILD_CFLAGS) 1289AC_SUBST(BUILD_LDFLAGS) 1290dnl 1291dnl Make our output files, being sure that we create the some miscellaneous 1292dnl directories 1293dnl 1294test -d lib || mkdir lib 1295test -d include || mkdir include 1296test -d include/linux || mkdir include/linux 1297test -d include/asm || mkdir include/asm 1298for i in MCONFIG Makefile e2fsprogs.spec \ 1299 util/Makefile util/subst.conf util/gen-tarball util/install-symlink \ 1300 lib/et/Makefile lib/ss/Makefile lib/e2p/Makefile \ 1301 lib/ext2fs/Makefile lib/ext2fs/ext2_types.h \ 1302 lib/uuid/Makefile lib/uuid/uuid_types.h \ 1303 lib/blkid/Makefile lib/blkid/blkid_types.h lib/quota/Makefile \ 1304 lib/ss/ss.pc lib/uuid/uuid.pc lib/et/com_err.pc \ 1305 lib/e2p/e2p.pc lib/blkid/blkid.pc lib/ext2fs/ext2fs.pc \ 1306 misc/Makefile ext2ed/Makefile e2fsck/Makefile \ 1307 debugfs/Makefile tests/Makefile tests/progs/Makefile \ 1308 resize/Makefile doc/Makefile intl/Makefile \ 1309 intl/libgnuintl.h po/Makefile.in ; do 1310 if test -d `dirname ${srcdir}/$i` ; then 1311 outlist="$outlist $i" 1312 fi 1313done 1314AC_OUTPUT($outlist) 1315if test -f util/gen-tarball; then chmod +x util/gen-tarball; fi 1316