1############################################################################### 2## Copyright (C) 2000-2004 Sistina Software, Inc. All rights reserved. 3## Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. 4## 5## This copyrighted material is made available to anyone wishing to use, 6## modify, copy, or redistribute it subject to the terms and conditions 7## of the GNU General Public License v.2. 8## 9## You should have received a copy of the GNU General Public License 10## along with this program; if not, write to the Free Software Foundation, 11## Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 12################################################################################ 13 14AC_PREREQ(2.57) 15################################################################################ 16dnl -- Process this file with autoconf to produce a configure script. 17AC_INIT 18AC_CONFIG_SRCDIR([lib/device/dev-cache.h]) 19AC_CONFIG_HEADERS([lib/misc/configure.h]) 20 21################################################################################ 22dnl -- Setup the directory where autoconf has auxilary files 23AC_CONFIG_AUX_DIR(autoconf) 24 25################################################################################ 26dnl -- Get system type 27AC_CANONICAL_TARGET([]) 28 29case "$host_os" in 30 linux*) 31 CFLAGS="$CFLAGS" 32 COPTIMISE_FLAG="-O2" 33 CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym" 34 CLDWHOLEARCHIVE="-Wl,-whole-archive" 35 CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive" 36 LDDEPS="$LDDEPS .export.sym" 37 LDFLAGS="$LDFLAGS -Wl,--export-dynamic" 38 LIB_SUFFIX=so 39 DEVMAPPER=yes 40 ODIRECT=yes 41 DM_IOCTLS=yes 42 SELINUX=yes 43 CLUSTER=internal 44 FSADM=yes 45 ;; 46 darwin*) 47 CFLAGS="$CFLAGS -no-cpp-precomp -fno-common" 48 COPTIMISE_FLAG="-O2" 49 CLDFLAGS="$CLDFLAGS" 50 CLDWHOLEARCHIVE="-all_load" 51 CLDNOWHOLEARCHIVE= 52 LIB_SUFFIX=dylib 53 DEVMAPPER=yes 54 ODIRECT=no 55 DM_IOCTLS=no 56 SELINUX=no 57 CLUSTER=none 58 FSADM=no 59 ;; 60esac 61 62################################################################################ 63dnl -- Checks for programs. 64AC_PROG_SED 65AC_PROG_AWK 66AC_PROG_CC 67 68dnl probably no longer needed in 2008, but... 69AC_PROG_GCC_TRADITIONAL 70AC_PROG_INSTALL 71AC_PROG_LN_S 72AC_PROG_MAKE_SET 73AC_PROG_MKDIR_P 74AC_PROG_RANLIB 75AC_PATH_PROG(CFLOW_CMD, cflow) 76AC_PATH_PROG(CSCOPE_CMD, cscope) 77 78################################################################################ 79dnl -- Check for header files. 80AC_HEADER_DIRENT 81AC_HEADER_STDC 82AC_HEADER_SYS_WAIT 83AC_HEADER_TIME 84 85AC_CHECK_HEADERS([locale.h stddef.h syslog.h sys/file.h sys/time.h assert.h \ 86 libgen.h signal.h sys/mman.h sys/resource.h sys/utsname.h sys/wait.h time.h], , 87 [AC_MSG_ERROR(bailing out)]) 88 89case "$host_os" in 90 linux*) 91 AC_CHECK_HEADERS(asm/byteorder.h linux/fs.h malloc.h,,AC_MSG_ERROR(bailing out)) ;; 92 darwin*) 93 AC_CHECK_HEADERS(machine/endian.h sys/disk.h,,AC_MSG_ERROR(bailing out)) ;; 94esac 95 96AC_CHECK_HEADERS([ctype.h dirent.h errno.h fcntl.h getopt.h inttypes.h limits.h \ 97 stdarg.h stdio.h stdlib.h string.h sys/ioctl.h sys/param.h sys/stat.h \ 98 sys/types.h unistd.h], , [AC_MSG_ERROR(bailing out)]) 99AC_CHECK_HEADERS(termios.h sys/statvfs.h) 100 101################################################################################ 102dnl -- Check for typedefs, structures, and compiler characteristics. 103AC_C_CONST 104AC_C_INLINE 105AC_CHECK_MEMBERS([struct stat.st_rdev]) 106AC_TYPE_OFF_T 107AC_TYPE_PID_T 108AC_TYPE_SIGNAL 109AC_TYPE_SIZE_T 110AC_TYPE_MODE_T 111AC_CHECK_MEMBERS([struct stat.st_rdev]) 112AC_STRUCT_TM 113 114################################################################################ 115dnl -- Check for functions 116AC_CHECK_FUNCS([gethostname getpagesize memset mkdir rmdir munmap setlocale \ 117 strcasecmp strchr strdup strncasecmp strerror strrchr strstr strtol strtoul \ 118 uname], , [AC_MSG_ERROR(bailing out)]) 119AC_CHECK_FUNCS(siginterrupt) 120AC_FUNC_ALLOCA 121AC_FUNC_CLOSEDIR_VOID 122AC_FUNC_FORK 123AC_FUNC_LSTAT 124AC_FUNC_MALLOC 125AC_FUNC_MEMCMP 126AC_FUNC_MMAP 127AC_FUNC_STAT 128AC_FUNC_STRTOD 129AC_FUNC_VPRINTF 130 131################################################################################ 132dnl -- Enables statically-linked tools 133AC_MSG_CHECKING(whether to use static linking) 134AC_ARG_ENABLE(static_link, 135 [ --enable-static_link Use this to link the tools to their libraries 136 statically. Default is dynamic linking], 137 STATIC_LINK=$enableval, STATIC_LINK=no) 138AC_MSG_RESULT($STATIC_LINK) 139 140################################################################################ 141dnl -- Prefix is /usr by default, the exec_prefix default is setup later 142AC_PREFIX_DEFAULT(/usr) 143 144################################################################################ 145dnl -- Setup the ownership of the files 146AC_MSG_CHECKING(file owner) 147OWNER="" 148 149AC_ARG_WITH(user, 150 [ --with-user=USER Set the owner of installed files [[USER=]] ], 151 [ OWNER="$withval" ]) 152AC_MSG_RESULT($OWNER) 153 154if test x$OWNER != x; then 155 OWNER="-o $OWNER" 156fi 157 158################################################################################ 159dnl -- Setup the group ownership of the files 160AC_MSG_CHECKING(group owner) 161GROUP="" 162AC_ARG_WITH(group, 163 [ --with-group=GROUP Set the group owner of installed files [[GROUP=]] ], 164 [ GROUP="$withval" ]) 165AC_MSG_RESULT($GROUP) 166 167if test x$GROUP != x; then 168 GROUP="-g $GROUP" 169fi 170 171################################################################################ 172dnl -- Setup device node ownership 173AC_MSG_CHECKING(device node uid) 174 175AC_ARG_WITH(device-uid, 176 [ --with-device-uid=UID Set the owner used for new device nodes [[UID=0]] ], 177 [ DM_DEVICE_UID="$withval" ], [ DM_DEVICE_UID="0" ] ) 178AC_MSG_RESULT($DM_DEVICE_UID) 179 180################################################################################ 181dnl -- Setup device group ownership 182AC_MSG_CHECKING(device node gid) 183 184AC_ARG_WITH(device-gid, 185 [ --with-device-gid=UID Set the group used for new device nodes [[GID=0]] ], 186 [ DM_DEVICE_GID="$withval" ], [ DM_DEVICE_GID="0" ] ) 187AC_MSG_RESULT($DM_DEVICE_GID) 188 189################################################################################ 190dnl -- Setup device mode 191AC_MSG_CHECKING(device node mode) 192 193AC_ARG_WITH(device-mode, 194 [ --with-device-mode=MODE Set the mode used for new device nodes [[MODE=0600]] ], 195 [ DM_DEVICE_MODE="$withval" ], [ DM_DEVICE_MODE="0600" ] ) 196AC_MSG_RESULT($DM_DEVICE_MODE) 197 198################################################################################ 199dnl -- LVM1 tool fallback option 200AC_MSG_CHECKING(whether to enable lvm1 fallback) 201AC_ARG_ENABLE(lvm1_fallback, [ --enable-lvm1_fallback Use this to fall back and use LVM1 binaries if 202 device-mapper is missing from the kernel], LVM1_FALLBACK=$enableval, LVM1_FALLBACK=no) 203AC_MSG_RESULT($LVM1_FALLBACK) 204 205if test x$LVM1_FALLBACK = xyes; then 206 AC_DEFINE([LVM1_FALLBACK], 1, [Define to 1 if 'lvm' should fall back to using LVM1 binaries if device-mapper is missing from the kernel]) 207fi 208 209################################################################################ 210dnl -- format1 inclusion type 211AC_MSG_CHECKING(whether to include support for lvm1 metadata) 212AC_ARG_WITH(lvm1, 213 [ --with-lvm1=TYPE LVM1 metadata support: internal/shared/none 214 [TYPE=internal] ], 215 [ LVM1="$withval" ], 216 [ LVM1="internal" ]) 217AC_MSG_RESULT($LVM1) 218 219if [[ "x$LVM1" != xnone -a "x$LVM1" != xinternal -a "x$LVM1" != xshared ]]; 220 then AC_MSG_ERROR( 221--with-lvm1 parameter invalid 222) 223fi; 224 225if test x$LVM1 = xinternal; then 226 AC_DEFINE([LVM1_INTERNAL], 1, [Define to 1 to include built-in support for LVM1 metadata.]) 227fi 228 229################################################################################ 230dnl -- format_pool inclusion type 231AC_MSG_CHECKING(whether to include support for GFS pool metadata) 232AC_ARG_WITH(pool, 233 [ --with-pool=TYPE GFS pool read-only support: internal/shared/none 234 [TYPE=internal] ], 235 [ POOL="$withval" ], 236 [ POOL="internal" ]) 237AC_MSG_RESULT($POOL) 238 239if [[ "x$POOL" != xnone -a "x$POOL" != xinternal -a "x$POOL" != xshared ]]; 240 then AC_MSG_ERROR( 241--with-pool parameter invalid 242) 243fi; 244 245if test x$POOL = xinternal; then 246 AC_DEFINE([POOL_INTERNAL], 1, [Define to 1 to include built-in support for GFS pool metadata.]) 247fi 248 249################################################################################ 250dnl -- cluster_locking inclusion type 251AC_MSG_CHECKING(whether to include support for cluster locking) 252AC_ARG_WITH(cluster, 253 [ --with-cluster=TYPE Cluster LVM locking support: internal/shared/none 254 [TYPE=internal] ], 255 [ CLUSTER="$withval" ]) 256AC_MSG_RESULT($CLUSTER) 257 258if [[ "x$CLUSTER" != xnone -a "x$CLUSTER" != xinternal -a "x$CLUSTER" != xshared ]]; 259 then AC_MSG_ERROR( 260--with-cluster parameter invalid 261) 262fi; 263 264if test x$CLUSTER = xinternal; then 265 AC_DEFINE([CLUSTER_LOCKING_INTERNAL], 1, [Define to 1 to include built-in support for clustered LVM locking.]) 266fi 267 268################################################################################ 269dnl -- snapshots inclusion type 270AC_MSG_CHECKING(whether to include snapshots) 271AC_ARG_WITH(snapshots, 272 [ --with-snapshots=TYPE Snapshot support: internal/shared/none 273 [TYPE=internal] ], 274 [ SNAPSHOTS="$withval" ], 275 [ SNAPSHOTS="internal" ]) 276AC_MSG_RESULT($SNAPSHOTS) 277 278if [[ "x$SNAPSHOTS" != xnone -a "x$SNAPSHOTS" != xinternal -a "x$SNAPSHOTS" != xshared ]]; 279 then AC_MSG_ERROR( 280--with-snapshots parameter invalid 281) 282fi; 283 284if test x$SNAPSHOTS = xinternal; then 285 AC_DEFINE([SNAPSHOT_INTERNAL], 1, [Define to 1 to include built-in support for snapshots.]) 286fi 287 288################################################################################ 289dnl -- mirrors inclusion type 290AC_MSG_CHECKING(whether to include mirrors) 291AC_ARG_WITH(mirrors, 292 [ --with-mirrors=TYPE Mirror support: internal/shared/none 293 [TYPE=internal] ], 294 [ MIRRORS="$withval" ], 295 [ MIRRORS="internal" ]) 296AC_MSG_RESULT($MIRRORS) 297 298if [[ "x$MIRRORS" != xnone -a "x$MIRRORS" != xinternal -a "x$MIRRORS" != xshared ]]; 299 then AC_MSG_ERROR( 300--with-mirrors parameter invalid 301) 302fi; 303 304if test x$MIRRORS = xinternal; then 305 AC_DEFINE([MIRRORED_INTERNAL], 1, [Define to 1 to include built-in support for mirrors.]) 306fi 307 308################################################################################ 309dnl -- Disable readline 310AC_MSG_CHECKING(whether to enable readline) 311AC_ARG_ENABLE([readline], 312 [ --disable-readline Disable readline support], 313 [READLINE=$enableval], [READLINE=maybe]) 314AC_MSG_RESULT($READLINE) 315 316################################################################################ 317dnl -- Disable realtime clock support 318AC_MSG_CHECKING(whether to enable realtime support) 319AC_ARG_ENABLE(realtime, [ --enable-realtime Enable realtime clock support], 320REALTIME=$enableval) 321AC_MSG_RESULT($REALTIME) 322 323################################################################################ 324dnl -- Init pkg-config with dummy invokation: 325dnl -- this is required because PKG_CHECK_MODULES macro is expanded 326dnl -- to initialize the pkg-config environment only at the first invokation, 327dnl -- that would be conditional in this configure.in. 328pkg_config_init() { 329 PKG_CHECK_MODULES(PKGCONFIGINIT, pkgconfiginit, [], 330 [AC_MSG_RESULT([pkg-config initialized])]) 331 PKGCONFIG_INIT=1 332} 333 334################################################################################ 335dnl -- Build cluster LVM daemon 336AC_MSG_CHECKING(whether to build cluster LVM daemon) 337AC_ARG_WITH(clvmd, 338 [ --with-clvmd=TYPE Build cluster LVM Daemon. 339 The following cluster manager combinations are valid: 340 * cman,gulm (RHEL4 or equivalent) 341 * cman (RHEL5 or equivalent) 342 * cman,corosync,openais (or selection of them) 343 * all (autodetect) 344 * none (disable build) 345 [TYPE=none] ], 346 [ CLVMD="$withval" ], 347 [ CLVMD="none" ]) 348if test x$CLVMD = xyes; then 349 CLVMD=all 350fi 351AC_MSG_RESULT($CLVMD) 352 353dnl -- If clvmd enabled without cluster locking, automagically include it 354if test x$CLVMD != xnone && test x$CLUSTER = xnone; then 355 CLUSTER=internal 356fi 357 358dnl -- init pkgconfig if required 359if test x$CLVMD != xnone && test x$PKGCONFIG_INIT != x1; then 360 pkg_config_init 361fi 362 363 364dnl -- define build types 365if [[ `expr x"$CLVMD" : '.*gulm.*'` != 0 ]]; then 366 BUILDGULM=yes 367fi 368if [[ `expr x"$CLVMD" : '.*corosync.*'` != 0 ]]; then 369 BUILDCOROSYNC=yes 370fi 371if [[ `expr x"$CLVMD" : '.*openais.*'` != 0 ]]; then 372 BUILDOPENAIS=yes 373fi 374if [[ `expr x"$CLVMD" : '.*cman.*'` != 0 ]]; then 375 BUILDCMAN=yes 376fi 377 378dnl -- sanity check around user selection 379if test x$BUILDGULM = xyes; then 380 if test x$BUILDCOROSYNC = xyes || \ 381 test x$BUILDOPENAIS = xyes; then 382 AC_MSG_ERROR([requested clvmd configuration is not valid]) 383 fi 384fi 385 386dnl -- define a soft bailout if we are autodetecting 387soft_bailout() { 388 NOTFOUND=1 389} 390 391hard_bailout() { 392 AC_MSG_ERROR([bailing out]) 393} 394 395dnl -- if clvmd=all then set soft_bailout (we don't want to error) 396dnl -- and set all builds to yes. We need to do this here 397dnl -- to skip the gulm + openais|corosync sanity check above. 398if test x$CLVMD = xall; then 399 bailout=soft_bailout 400 BUILDGULM=yes 401 BUILDCMAN=yes 402 BUILDCOROSYNC=yes 403 BUILDOPENAIS=yes 404else 405 bailout=hard_bailout 406fi 407 408dnl -- helper macro to check libs without adding them to LIBS 409check_lib_no_libs() { 410 lib_no_libs_arg1=$1 411 shift 412 lib_no_libs_arg2=$1 413 shift 414 lib_no_libs_args=$@ 415 AC_CHECK_LIB([$lib_no_libs_arg1], 416 [$lib_no_libs_arg2],, 417 [$bailout], 418 [$lib_no_libs_args]) 419 LIBS=$ac_check_lib_save_LIBS 420} 421 422dnl -- Look for gulm libraries if required. 423if test x$BUILDGULM = xyes; then 424 PKG_CHECK_MODULES(CCS, libccs, [HAVE_CCS=yes], 425 [NOTFOUND=0 426 AC_CHECK_HEADERS(ccs.h,,$bailout) 427 check_lib_no_libs ccs ccs_connect 428 if test $NOTFOUND = 0; then 429 AC_MSG_RESULT([no pkg for libccs, using -lccs]) 430 CCS_LIBS="-lccs" 431 HAVE_CCS=yes 432 fi]) 433 PKG_CHECK_MODULES(GULM, libgulm, [HAVE_GULM=yes], 434 [NOTFOUND=0 435 AC_CHECK_HEADERS(libgulm.h,,$bailout) 436 check_lib_no_libs gulm lg_core_login 437 if test $NOTFOUND = 0; then 438 AC_MSG_RESULT([no pkg for libgulm, using -lgulm]) 439 GULM_LIBS="-lgulm" 440 HAVE_GULM=yes 441 fi]) 442fi 443 444dnl -- Look for cman libraries if required. 445if test x$BUILDCMAN = xyes; then 446 PKG_CHECK_MODULES(CMAN, libcman, [HAVE_CMAN=yes], 447 [NOTFOUND=0 448 AC_CHECK_HEADERS(libcman.h,,$bailout) 449 check_lib_no_libs cman cman_init 450 if test $NOTFOUND = 0; then 451 AC_MSG_RESULT([no pkg for libcman, using -lcman]) 452 CMAN_LIBS="-lcman" 453 HAVE_CMAN=yes 454 fi]) 455 CHECKCONFDB=yes 456 CHECKDLM=yes 457fi 458 459dnl -- Look for corosync that's required also for openais build 460dnl -- only enough recent version of corosync ship pkg-config files. 461dnl -- We can safely rely on that to detect the correct bits. 462if test x$BUILDCOROSYNC = xyes || \ 463 test x$BUILDOPENAIS = xyes; then 464 PKG_CHECK_MODULES(COROSYNC, corosync, [HAVE_COROSYNC=yes], $bailout) 465 CHECKCONFDB=yes 466fi 467 468dnl -- Look for corosync libraries if required. 469if test x$BUILDCOROSYNC = xyes; then 470 PKG_CHECK_MODULES(QUORUM, libquorum, [HAVE_QUORUM=yes], $bailout) 471 CHECKCPG=yes 472 CHECKDLM=yes 473fi 474 475dnl -- Look for openais libraries if required. 476if test x$BUILDOPENAIS = xyes; then 477 PKG_CHECK_MODULES(SALCK, libSaLck, [HAVE_SALCK=yes], $bailout) 478 CHECKCPG=yes 479fi 480 481dnl -- Below are checks for libraries common to more than one build. 482 483dnl -- Check confdb library. 484dnl -- mandatory for corosync build. 485dnl -- optional for openais/cman build. 486 487if test x$CHECKCONFDB = xyes; then 488 PKG_CHECK_MODULES(CONFDB, libconfdb, 489 [HAVE_CONFDB=yes], 490 [HAVE_CONFDB=no]) 491 492 AC_CHECK_HEADERS(corosync/confdb.h, 493 [HAVE_CONFDB_H=yes], 494 [HAVE_CONFDB_H=no]) 495 496 if test x$HAVE_CONFDB != xyes && \ 497 test x$HAVE_CONFDB_H = xyes; then 498 check_lib_no_libs confdb confdb_initialize 499 AC_MSG_RESULT([no pkg for confdb, using -lconfdb]) 500 CONFDB_LIBS="-lconfdb" 501 HAVE_CONFDB=yes 502 fi 503 504 if test x$BUILDCOROSYNC = xyes && \ 505 test x$HAVE_CONFDB != xyes && 506 test x$CLVMD != xall; then 507 AC_MSG_ERROR([bailing out... confdb library is required]) 508 fi 509fi 510 511dnl -- Check cpg library. 512if test x$CHECKCPG = xyes; then 513 PKG_CHECK_MODULES(CPG, libcpg, [HAVE_CPG=yes], $bailout) 514fi 515 516dnl -- Check dlm library. 517if test x$CHECKDLM = xyes; then 518 PKG_CHECK_MODULES(DLM, libdlm, [HAVE_DLM=yes], 519 [NOTFOUND=0 520 AC_CHECK_HEADERS(libdlm.h,,$bailout) 521 check_lib_no_libs dlm dlm_lock -lpthread 522 if test $NOTFOUND = 0; then 523 AC_MSG_RESULT([no pkg for libdlm, using -ldlm]) 524 DLM_LIBS="-ldlm -lpthread" 525 HAVE_DLM=yes 526 fi]) 527fi 528 529dnl -- If we are autodetecting, we need to re-create 530dnl -- the depedencies checks and set a proper CLVMD. 531if test x$CLVMD = xall; then 532 CLVMD=none 533 if test x$HAVE_CCS = xyes && \ 534 test x$HAVE_GULM = xyes; then 535 AC_MSG_RESULT([Enabling clvmd gulm cluster manager]) 536 CLVMD="$CLVMD,gulm" 537 fi 538 if test x$HAVE_CMAN = xyes && \ 539 test x$HAVE_DLM = xyes; then 540 AC_MSG_RESULT([Enabling clvmd cman cluster manager]) 541 CLVMD="$CLVMD,cman" 542 fi 543 if test x$HAVE_COROSYNC = xyes && \ 544 test x$HAVE_QUORUM = xyes && \ 545 test x$HAVE_CPG = xyes && \ 546 test x$HAVE_DLM = xyes && \ 547 test x$HAVE_CONFDB = xyes; then 548 AC_MSG_RESULT([Enabling clvmd corosync cluster manager]) 549 CLVMD="$CLVMD,corosync" 550 fi 551 if test x$HAVE_COROSYNC = xyes && \ 552 test x$HAVE_CPG = xyes && \ 553 test x$HAVE_SALCK = xyes; then 554 AC_MSG_RESULT([Enabling clvmd openais cluster manager]) 555 CLVMD="$CLVMD,openais" 556 fi 557 if test x$CLVMD = xnone; then 558 AC_MSG_RESULT([Disabling clvmd build. No cluster manager detected.]) 559 fi 560fi 561 562################################################################################ 563dnl -- Build cluster mirror log daemon 564AC_MSG_CHECKING(whether to build cluster mirror log daemon) 565AC_ARG_ENABLE(cmirrord, [ --enable-cmirrord Enable the cluster mirror log daemon], 566CMIRRORD=$enableval, CMIRRORD=no) 567AC_MSG_RESULT($CMIRRORD) 568 569BUILD_CMIRRORD=$CMIRRORD 570 571################################################################################ 572dnl -- cmirrord pidfile 573AH_TEMPLATE(CMIRRORD_PIDFILE, [Path to cmirrord pidfile.]) 574if test "x$BUILD_CMIRRORD" = xyes; then 575 AC_ARG_WITH(cmirrord-pidfile, 576 [ --with-cmirrord-pidfile=PATH cmirrord pidfile [[/var/run/cmirrord.pid]] ], 577 [ AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE,"$withval") ], 578 [ AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE,"/var/run/cmirrord.pid") ]) 579fi 580 581################################################################################ 582dnl -- Look for corosync libraries if required. 583if [[ "x$BUILD_CMIRRORD" = xyes ]]; then 584 dnl -- init pkgconfig if required 585 if test x$PKGCONFIG_INIT != x1; then 586 pkg_config_init 587 fi 588 PKG_CHECK_MODULES(SACKPT, libSaCkpt) 589 if test x$HAVE_CPG != xyes; then 590 PKG_CHECK_MODULES(CPG, libcpg) 591 fi 592fi 593 594################################################################################ 595dnl -- Enable debugging 596AC_MSG_CHECKING(whether to enable debugging) 597AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging], 598 DEBUG=$enableval, DEBUG=no) 599AC_MSG_RESULT($DEBUG) 600 601dnl -- Normally turn off optimisation for debug builds 602if test x$DEBUG = xyes; then 603 COPTIMISE_FLAG= 604else 605 CSCOPE_CMD= 606fi 607 608################################################################################ 609dnl -- Override optimisation 610AC_MSG_CHECKING(for C optimisation flag) 611AC_ARG_WITH(optimisation, 612 [ --with-optimisation=OPT C optimisation flag [[OPT=-O2]] ], 613 [ COPTIMISE_FLAG="$withval" ]) 614AC_MSG_RESULT($COPTIMISE_FLAG) 615 616################################################################################ 617dnl -- Enable profiling 618AC_MSG_CHECKING(whether to gather gcov profiling data) 619AC_ARG_ENABLE(profiling, 620 AC_HELP_STRING(--enable-profiling, [Gather gcov profiling data]), 621 PROFILING=$enableval, PROFILING=no) 622AC_MSG_RESULT($PROFILING) 623 624if test "x$PROFILING" = xyes; then 625 COPTIMISE_FLAG="$COPTIMISE_FLAG -fprofile-arcs -ftest-coverage" 626 AC_PATH_PROG(LCOV, lcov, no) 627 AC_PATH_PROG(GENHTML, genhtml, no) 628 if test "$LCOV" = no -o "$GENHTML" = no ; then 629 AC_MSG_ERROR([lcov and genhtml are required for profiling]) 630 fi 631fi 632 633################################################################################ 634dnl -- Disable devmapper 635AC_MSG_CHECKING(whether to use device-mapper) 636AC_ARG_ENABLE(devmapper, [ --disable-devmapper Disable LVM2 device-mapper interaction], 637DEVMAPPER=$enableval) 638AC_MSG_RESULT($DEVMAPPER) 639 640if test x$DEVMAPPER = xyes; then 641 AC_DEFINE([DEVMAPPER_SUPPORT], 1, [Define to 1 to enable LVM2 device-mapper interaction.]) 642fi 643 644################################################################################ 645dnl -- Enable udev synchronisation 646AC_MSG_CHECKING(whether to enable synchronisation with udev processing) 647AC_ARG_ENABLE(udev_sync, [ --enable-udev_sync Enable synchronisation with udev processing], 648UDEV_SYNC=$enableval, UDEV_SYNC=no) 649AC_MSG_RESULT($UDEV_SYNC) 650 651if test x$UDEV_SYNC = xyes; then 652 AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.]) 653fi 654 655dnl -- Enable udev rules 656AC_MSG_CHECKING(whether to enable installation of udev rules required for synchronisation) 657AC_ARG_ENABLE(udev_rules, [ --enable-udev_rules Install rule files needed for udev synchronisation], 658UDEV_RULES=$enableval, UDEV_RULES=$UDEV_SYNC) 659AC_MSG_RESULT($UDEV_RULES) 660 661################################################################################ 662dnl -- Check for libudev's udev_queue_get_udev_is_active function when udev synchronisation is enabled 663 664if test x$UDEV_SYNC = xyes; then 665 AC_CHECK_LIB(udev, udev_queue_get_udev_is_active, HAVE_UDEV_QUEUE_GET_UDEV_IS_ACTIVE=yes, 666 HAVE_UDEV_QUEUE_GET_UDEV_IS_ACTIVE=no) 667 668 if test x$HAVE_UDEV_QUEUE_GET_UDEV_IS_ACTIVE = xyes; then 669 AC_DEFINE([HAVE_UDEV_QUEUE_GET_UDEV_IS_ACTIVE], 1, 670 [Define to 1 if libudev's udev_queue_get_udev_is_active function is available.]) 671 LIBS="-ludev $LIBS" 672 fi 673fi 674 675################################################################################ 676dnl -- Compatibility mode 677AC_ARG_ENABLE(compat, [ --enable-compat Enable support for old device-mapper versions], 678 DM_COMPAT=$enableval, DM_COMPAT=no) 679 680################################################################################ 681dnl -- Compatible units suffix mode 682AC_ARG_ENABLE(units-compat, 683 [ --enable-units-compat Enable output compatibility with old versions that 684 that don't use KiB-style unit suffixes], 685 UNITS_COMPAT=$enableval, UNITS_COMPAT=no) 686 687if test x$UNITS_COMPAT = xyes; then 688 AC_DEFINE([DEFAULT_SI_UNIT_CONSISTENCY], 0, [Define to 0 to reinstate the pre-2.02.54 handling of unit suffixes.]) 689fi 690 691################################################################################ 692dnl -- Disable ioctl 693AC_ARG_ENABLE(ioctl, [ --disable-driver Disable calls to device-mapper in the kernel], 694 DM_IOCTLS=$enableval) 695 696################################################################################ 697dnl -- Disable O_DIRECT 698AC_MSG_CHECKING(whether to enable O_DIRECT) 699AC_ARG_ENABLE(o_direct, [ --disable-o_direct Disable O_DIRECT], 700ODIRECT=$enableval) 701AC_MSG_RESULT($ODIRECT) 702 703if test x$ODIRECT = xyes; then 704 AC_DEFINE([O_DIRECT_SUPPORT], 1, [Define to 1 to enable O_DIRECT support.]) 705fi 706 707################################################################################ 708dnl -- Enable liblvm2app.so 709AC_MSG_CHECKING(whether to build liblvm2app.so application library) 710AC_ARG_ENABLE(applib, 711 [ --enable-applib Build application library], 712 APPLIB=$enableval, APPLIB=no) 713AC_MSG_RESULT($APPLIB) 714AC_SUBST([LVM2APP_LIB]) 715test x$APPLIB = xyes \ 716 && LVM2APP_LIB=-llvm2app \ 717 || LVM2APP_LIB= 718 719################################################################################ 720dnl -- Enable cmdlib 721AC_MSG_CHECKING(whether to compile liblvm2cmd.so) 722AC_ARG_ENABLE(cmdlib, [ --enable-cmdlib Build shared command library], 723CMDLIB=$enableval, CMDLIB=no) 724AC_MSG_RESULT($CMDLIB) 725AC_SUBST([LVM2CMD_LIB]) 726test x$CMDLIB = xyes \ 727 && LVM2CMD_LIB=-llvm2cmd \ 728 || LVM2CMD_LIB= 729 730################################################################################ 731dnl -- Enable pkg-config 732AC_ARG_ENABLE(pkgconfig, [ --enable-pkgconfig Install pkgconfig support], 733 PKGCONFIG=$enableval, PKGCONFIG=no) 734 735################################################################################ 736dnl -- Enable fsadm 737AC_MSG_CHECKING(whether to install fsadm) 738AC_ARG_ENABLE(fsadm, [ --enable-fsadm Enable fsadm], 739FSADM=$enableval) 740AC_MSG_RESULT($FSADM) 741 742################################################################################ 743dnl -- enable dmeventd handling 744AC_MSG_CHECKING(whether to use dmeventd) 745AC_ARG_ENABLE(dmeventd, [ --enable-dmeventd Enable the device-mapper event daemon], 746DMEVENTD=$enableval) 747AC_MSG_RESULT($DMEVENTD) 748 749BUILD_DMEVENTD=$DMEVENTD 750 751dnl -- dmeventd currently requires internal mirror support 752if test x$DMEVENTD = xyes; then 753 if test x$MIRRORS != xinternal; then 754 AC_MSG_ERROR( 755 --enable-dmeventd currently requires --with-mirrors=internal 756 ) 757 fi 758 if test x$CMDLIB = xno; then 759 AC_MSG_ERROR( 760 --enable-dmeventd requires --enable-cmdlib to be used as well 761 ) 762 fi 763fi 764 765if test x$DMEVENTD = xyes; then 766 AC_DEFINE([DMEVENTD], 1, [Define to 1 to enable the device-mapper event daemon.]) 767fi 768 769################################################################################ 770dnl -- getline included in recent libc 771 772AC_CHECK_LIB(c, getline, AC_DEFINE([HAVE_GETLINE], 1, 773 [Define to 1 if getline is available.])) 774 775################################################################################ 776dnl -- canonicalize_file_name included in recent libc 777 778AC_CHECK_LIB(c, canonicalize_file_name, 779 AC_DEFINE([HAVE_CANONICALIZE_FILE_NAME], 1, 780 [Define to 1 if canonicalize_file_name is available.])) 781 782################################################################################ 783dnl -- Clear default exec_prefix - install into /sbin rather than /usr/sbin 784if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]]; 785 then exec_prefix=""; 786fi; 787 788################################################################################ 789dnl -- Check for termcap (Shamelessly copied from parted 1.4.17) 790if test x$READLINE != xno; then 791 AC_SEARCH_LIBS([tgetent], [tinfo ncurses curses termcap termlib], 792 [tg_found=yes], [tg_found=no]) 793 test x$READLINE:$tg_found = xyes:no && 794 AC_MSG_ERROR( 795termcap could not be found which is required for the 796--enable-readline option (which is enabled by default). Either disable readline 797support with --disable-readline or download and install termcap from: 798 ftp.gnu.org/gnu/termcap 799Note: if you are using precompiled packages you will also need the development 800 package as well (which may be called termcap-devel or something similar). 801Note: (n)curses also seems to work as a substitute for termcap. This was 802 not found either - but you could try installing that as well. 803) 804fi 805 806################################################################################ 807dnl -- Check for dlopen 808AC_CHECK_LIB(dl, dlopen, HAVE_LIBDL=yes, HAVE_LIBDL=no) 809 810if [[ "x$HAVE_LIBDL" = xyes ]]; then 811 AC_DEFINE([HAVE_LIBDL], 1, [Define to 1 if dynamic libraries are available.]) 812 LIBS="-ldl $LIBS" 813else 814 HAVE_LIBDL=no 815fi 816 817################################################################################ 818dnl -- Check for shared/static conflicts 819if [[ \( "x$LVM1" = xshared -o "x$POOL" = xshared -o "x$CLUSTER" = xshared \ 820 -o "x$SNAPSHOTS" = xshared -o "x$MIRRORS" = xshared \ 821 \) -a "x$STATIC_LINK" = xyes ]]; 822 then AC_MSG_ERROR( 823Features cannot be 'shared' when building statically 824) 825fi 826 827################################################################################ 828dnl -- Disable selinux 829AC_MSG_CHECKING(whether to enable selinux support) 830AC_ARG_ENABLE(selinux, [ --disable-selinux Disable selinux support], 831 SELINUX=$enableval) 832AC_MSG_RESULT($SELINUX) 833 834################################################################################ 835dnl -- Check for selinux 836if test x$SELINUX = xyes; then 837 AC_CHECK_LIB(sepol, sepol_check_context, HAVE_SEPOL=yes, HAVE_SEPOL=no) 838 839 if test x$HAVE_SEPOL = xyes; then 840 AC_DEFINE([HAVE_SEPOL], 1, 841 [Define to 1 if sepol_check_context is available.]) 842 SELINUX_LIBS="-lsepol $SELINUX_LIBS" 843 fi 844 845 AC_CHECK_LIB(selinux, is_selinux_enabled, HAVE_SELINUX=yes, HAVE_SELINUX=no) 846 847 if test x$HAVE_SELINUX = xyes; then 848 AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.]) 849 SELINUX_LIBS="-lselinux $SELINUX_LIBS" 850 else 851 AC_MSG_WARN(Disabling selinux) 852 fi 853 LIBS="$SELINUX_LIBS $LIBS" 854 855 # With --enable-static_link and selinux enabled, linking 856 # fails on at least Debian unstable due to unsatisfied references 857 # to pthread_mutex_lock and _unlock. See if we need -lpthread. 858 if test "$STATIC_LINK-$HAVE_SELINUX" = yes-yes; then 859 lvm_saved_libs=$LIBS 860 LIBS="$LIBS -static" 861 AC_SEARCH_LIBS([pthread_mutex_lock], [pthread], 862 [test "$ac_cv_search_pthread_mutex_lock" = "none required" || 863 LIB_PTHREAD=-lpthread]) 864 LIBS=$lvm_saved_libs 865 fi 866fi 867 868################################################################################ 869dnl -- Check for realtime clock support 870if test x$REALTIME = xyes; then 871 AC_CHECK_LIB(rt, clock_gettime, HAVE_REALTIME=yes, HAVE_REALTIME=no) 872 873 if test x$HAVE_REALTIME = xyes; then 874 AC_DEFINE([HAVE_REALTIME], 1, [Define to 1 to include support for realtime clock.]) 875 LIBS="-lrt $LIBS" 876 else 877 AC_MSG_WARN(Disabling realtime clock) 878 fi 879fi 880 881################################################################################ 882dnl -- Check for getopt 883AC_CHECK_HEADERS(getopt.h, AC_DEFINE([HAVE_GETOPTLONG], 1, [Define to 1 if getopt_long is available.])) 884 885################################################################################ 886dnl -- Check for readline (Shamelessly copied from parted 1.4.17) 887if test x$READLINE != xno; then 888 rl_found=yes 889 AC_CHECK_LIB([readline], [readline], , [rl_found=no]) 890 test x$READLINE:$rl_found = xyes:no && 891 AC_MSG_ERROR( 892GNU Readline could not be found which is required for the 893--enable-readline option (which is enabled by default). Either disable readline 894support with --disable-readline or download and install readline from: 895 ftp.gnu.org/gnu/readline 896Note: if you are using precompiled packages you will also need the development 897package as well (which may be called readline-devel or something similar). 898) 899 if test $rl_found = yes; then 900 AC_CHECK_FUNCS([rl_completion_matches]) 901 AC_DEFINE([READLINE_SUPPORT], 1, 902 [Define to 1 to include the LVM readline shell.]) 903 fi 904fi 905 906################################################################################ 907dnl -- Internationalisation stuff 908AC_MSG_CHECKING(whether to enable internationalisation) 909AC_ARG_ENABLE(nls, [ --enable-nls Enable Native Language Support], 910 INTL=$enableval, INTL=no) 911AC_MSG_RESULT($INTL) 912 913if test x$INTL = xyes; then 914# FIXME - Move this - can be device-mapper too 915 INTL_PACKAGE="lvm2" 916 AC_PATH_PROG(MSGFMT, msgfmt) 917 if [[ "x$MSGFMT" == x ]]; 918 then AC_MSG_ERROR( 919 msgfmt not found in path $PATH 920 ) 921 fi; 922 923 AC_ARG_WITH(localedir, 924 [ --with-localedir=DIR Translation files in DIR [[PREFIX/share/locale]] ], 925 [ LOCALEDIR="$withval" ], 926 [ LOCALEDIR='${prefix}/share/locale' ]) 927fi 928 929################################################################################ 930AC_ARG_WITH(confdir, 931 [ --with-confdir=DIR Configuration files in DIR [[/etc]]], 932 [ CONFDIR="$withval" ], 933 [ CONFDIR='/etc' ]) 934 935AC_ARG_WITH(staticdir, 936 [ --with-staticdir=DIR Static binary in DIR [[EPREFIX/sbin]]], 937 [ STATICDIR="$withval" ], 938 [ STATICDIR='${exec_prefix}/sbin' ]) 939 940AC_ARG_WITH(usrlibdir, 941 [ --with-usrlibdir=DIR], 942 [ usrlibdir="$withval"], 943 [ usrlibdir='${prefix}/lib' ]) 944 945AC_ARG_WITH(usrsbindir, 946 [ --with-usrsbindir=DIR], 947 [ usrsbindir="$withval"], 948 [ usrsbindir='${prefix}/sbin' ]) 949 950################################################################################ 951AC_ARG_WITH(udev_prefix, 952 [ --with-udev-prefix=UPREFIX Install udev rule files in UPREFIX [[EPREFIX]]], 953 [ udev_prefix="$withval"], 954 [ udev_prefix='${exec_prefix}' ]) 955 956AC_ARG_WITH(udevdir, 957 [ --with-udevdir=DIR udev rules in DIR [[UPREFIX/lib/udev/rules.d]]], 958 [ udevdir="$withval"], 959 [ udevdir='${udev_prefix}/lib/udev/rules.d' ]) 960 961################################################################################ 962dnl -- Ensure additional headers required 963if test x$READLINE = xyes; then 964 AC_CHECK_HEADERS(readline/readline.h readline/history.h,,AC_MSG_ERROR(bailing out)) 965fi 966 967if test x$CLVMD != xnone; then 968 AC_CHECK_HEADERS(mntent.h netdb.h netinet/in.h pthread.h search.h sys/mount.h sys/socket.h sys/uio.h sys/un.h utmpx.h,,AC_MSG_ERROR(bailing out)) 969 AC_CHECK_FUNCS(dup2 getmntent memmove select socket,,AC_MSG_ERROR(bailing out)) 970 AC_FUNC_GETMNTENT 971# AC_FUNC_REALLOC 972 AC_FUNC_SELECT_ARGTYPES 973fi 974 975if test x$CLUSTER != xnone; then 976 AC_CHECK_HEADERS(sys/socket.h sys/un.h,,AC_MSG_ERROR(bailing out)) 977 AC_CHECK_FUNCS(socket,,AC_MSG_ERROR(bailing out)) 978fi 979 980if test x$HAVE_LIBDL = xyes; then 981 AC_CHECK_HEADERS(dlfcn.h,,AC_MSG_ERROR(bailing out)) 982fi 983 984if test x$INTL = xyes; then 985 AC_CHECK_HEADERS(libintl.h,,AC_MSG_ERROR(bailing out)) 986fi 987 988if test x$HAVE_SELINUX = xyes; then 989 AC_CHECK_HEADERS(selinux/selinux.h,,AC_MSG_ERROR(bailing out)) 990fi 991 992if test x$UDEV_SYNC = xyes; then 993 AC_CHECK_HEADERS(sys/ipc.h sys/sem.h,,AC_MSG_ERROR(bailing out)) 994fi 995 996################################################################################ 997AC_PATH_PROG(MODPROBE_CMD, modprobe) 998 999if test x$MODPROBE_CMD != x; then 1000 AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.]) 1001fi 1002 1003################################################################################ 1004dnl -- dmeventd pidfile and executable path 1005AH_TEMPLATE(DMEVENTD_PIDFILE, [Path to dmeventd pidfile.]) 1006if test "$BUILD_DMEVENTD" = yes; then 1007 AC_ARG_WITH(dmeventd-pidfile, 1008 [ --with-dmeventd-pidfile=PATH dmeventd pidfile [[/var/run/dmeventd.pid]] ], 1009 [ AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE,"$withval") ], 1010 [ AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE,"/var/run/dmeventd.pid") ]) 1011fi 1012 1013AH_TEMPLATE(DMEVENTD_PATH, [Path to dmeventd binary.]) 1014if test "$BUILD_DMEVENTD" = yes; then 1015 dmeventd_prefix="$exec_prefix" 1016 if test "x$dmeventd_prefix" = "xNONE"; then 1017 dmeventd_prefix="$prefix" 1018 fi 1019 if test "x$dmeventd_prefix" = "xNONE"; then 1020 dmeventd_prefix="" 1021 fi 1022 AC_ARG_WITH(dmeventd-path, 1023 [ --with-dmeventd-path=PATH dmeventd path [[EPREFIX/sbin/dmeventd]] ], 1024 [ AC_DEFINE_UNQUOTED(DMEVENTD_PATH,"$withval") ], 1025 [ AC_DEFINE_UNQUOTED(DMEVENTD_PATH,"$dmeventd_prefix/sbin/dmeventd") ]) 1026fi 1027 1028################################################################################ 1029dnl -- which kernel interface to use (ioctl only) 1030AC_MSG_CHECKING(for kernel interface choice) 1031AC_ARG_WITH(interface, 1032 [ --with-interface=IFACE Choose kernel interface (ioctl) [[ioctl]] ], 1033 [ interface="$withval" ], 1034 [ interface=ioctl ]) 1035if [[ "x$interface" != xioctl ]]; 1036then 1037 AC_MSG_ERROR(--with-interface=ioctl required. fs no longer supported.) 1038fi 1039AC_MSG_RESULT($interface) 1040 1041################################################################################ 1042DM_LIB_VERSION="\"`cat "$srcdir"/VERSION_DM 2>/dev/null || echo Unknown`\"" 1043AC_DEFINE_UNQUOTED(DM_LIB_VERSION, $DM_LIB_VERSION, [Library version]) 1044 1045DM_LIB_PATCHLEVEL=`cat "$srcdir"/VERSION_DM | $AWK -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'` 1046 1047LVM_VERSION="\"`cat "$srcdir"/VERSION 2>/dev/null || echo Unknown`\"" 1048 1049VER=`cat "$srcdir"/VERSION` 1050LVM_RELEASE_DATE="\"`echo $VER | $SED 's/.* (//;s/).*//'`\"" 1051VER=`echo "$VER" | $AWK '{print $1}'` 1052LVM_RELEASE="\"`echo "$VER" | $AWK -F '-' '{print $2}'`\"" 1053VER=`echo "$VER" | $AWK -F '-' '{print $1}'` 1054LVM_MAJOR=`echo "$VER" | $AWK -F '.' '{print $1}'` 1055LVM_MINOR=`echo "$VER" | $AWK -F '.' '{print $2}'` 1056LVM_PATCHLEVEL=`echo "$VER" | $AWK -F '[[(.]]' '{print $3}'` 1057LVM_LIBAPI=`echo "$VER" | $AWK -F '[[()]]' '{print $2}'` 1058 1059################################################################################ 1060AC_SUBST(APPLIB) 1061AC_SUBST(BUILD_CMIRRORD) 1062AC_SUBST(BUILD_DMEVENTD) 1063AC_SUBST(CCS_CFLAGS) 1064AC_SUBST(CCS_LIBS) 1065AC_SUBST(CFLAGS) 1066AC_SUBST(CFLOW_CMD) 1067AC_SUBST(CLDFLAGS) 1068AC_SUBST(CLDNOWHOLEARCHIVE) 1069AC_SUBST(CLDWHOLEARCHIVE) 1070AC_SUBST(CLUSTER) 1071AC_SUBST(CLVMD) 1072AC_SUBST(CMAN_CFLAGS) 1073AC_SUBST(CMAN_LIBS) 1074AC_SUBST(CMDLIB) 1075AC_SUBST(CONFDB_CFLAGS) 1076AC_SUBST(CONFDB_LIBS) 1077AC_SUBST(CONFDIR) 1078AC_SUBST(COPTIMISE_FLAG) 1079AC_SUBST(CPG_CFLAGS) 1080AC_SUBST(CPG_LIBS) 1081AC_SUBST(CSCOPE_CMD) 1082AC_SUBST(DEBUG) 1083AC_SUBST(DEVMAPPER) 1084AC_SUBST(DLM_CFLAGS) 1085AC_SUBST(DLM_LIBS) 1086AC_SUBST(DMEVENTD) 1087AC_SUBST(DM_COMPAT) 1088AC_SUBST(DM_DEVICE_GID) 1089AC_SUBST(DM_DEVICE_MODE) 1090AC_SUBST(DM_DEVICE_UID) 1091AC_SUBST(DM_IOCTLS) 1092AC_SUBST(DM_LIB_VERSION) 1093AC_SUBST(DM_LIB_PATCHLEVEL) 1094AC_SUBST(FSADM) 1095AC_SUBST(GROUP) 1096AC_SUBST(GULM_CFLAGS) 1097AC_SUBST(GULM_LIBS) 1098AC_SUBST(HAVE_LIBDL) 1099AC_SUBST(HAVE_REALTIME) 1100AC_SUBST(HAVE_SELINUX) 1101AC_SUBST(INTL) 1102AC_SUBST(INTL_PACKAGE) 1103AC_SUBST(JOBS) 1104AC_SUBST(LDDEPS) 1105AC_SUBST(LIBS) 1106AC_SUBST(LIB_SUFFIX) 1107AC_SUBST(LOCALEDIR) 1108AC_SUBST(LVM1) 1109AC_SUBST(LVM1_FALLBACK) 1110AC_SUBST(LVM_VERSION) 1111AC_SUBST(LVM_LIBAPI) 1112AC_SUBST(LVM_MAJOR) 1113AC_SUBST(LVM_MINOR) 1114AC_SUBST(LVM_PATCHLEVEL) 1115AC_SUBST(LVM_RELEASE) 1116AC_SUBST(LVM_RELEASE_DATE) 1117AC_SUBST(MIRRORS) 1118AC_SUBST(MSGFMT) 1119AC_SUBST(OWNER) 1120AC_SUBST(PKGCONFIG) 1121AC_SUBST(POOL) 1122AC_SUBST(QUORUM_CFLAGS) 1123AC_SUBST(QUORUM_LIBS) 1124AC_SUBST(SACKPT_CFLAGS) 1125AC_SUBST(SACKPT_LIBS) 1126AC_SUBST(SALCK_CFLAGS) 1127AC_SUBST(SALCK_LIBS) 1128AC_SUBST(SELINUX_LIBS) 1129AC_SUBST(SNAPSHOTS) 1130AC_SUBST(STATICDIR) 1131AC_SUBST(STATIC_LINK) 1132AC_SUBST(UDEV_RULES) 1133AC_SUBST([LIB_PTHREAD]) 1134AC_SUBST(interface) 1135AC_SUBST(kerneldir) 1136AC_SUBST(missingkernel) 1137AC_SUBST(kernelvsn) 1138AC_SUBST(tmpdir) 1139AC_SUBST(udev_prefix) 1140AC_SUBST(udevdir) 1141AC_SUBST(usrlibdir) 1142AC_SUBST(usrsbindir) 1143 1144################################################################################ 1145dnl -- First and last lines should not contain files to generate in order to 1146dnl -- keep utility scripts running properly 1147AC_CONFIG_FILES([ 1148Makefile 1149make.tmpl 1150daemons/Makefile 1151daemons/clvmd/Makefile 1152daemons/cmirrord/Makefile 1153daemons/dmeventd/Makefile 1154daemons/dmeventd/libdevmapper-event.pc 1155daemons/dmeventd/plugins/Makefile 1156daemons/dmeventd/plugins/mirror/Makefile 1157daemons/dmeventd/plugins/snapshot/Makefile 1158doc/Makefile 1159include/.symlinks 1160include/Makefile 1161lib/Makefile 1162lib/format1/Makefile 1163lib/format_pool/Makefile 1164lib/locking/Makefile 1165lib/mirror/Makefile 1166lib/misc/lvm-version.h 1167lib/snapshot/Makefile 1168libdm/Makefile 1169libdm/libdevmapper.pc 1170liblvm/Makefile 1171liblvm/liblvm2app.pc 1172man/Makefile 1173po/Makefile 1174scripts/clvmd_init_red_hat 1175scripts/lvm2_monitoring_init_red_hat 1176scripts/Makefile 1177test/Makefile 1178test/api/Makefile 1179tools/Makefile 1180udev/Makefile 1181]) 1182AC_OUTPUT 1183 1184if test x$ODIRECT != xyes; then 1185 AC_MSG_WARN(Warning: O_DIRECT disabled: low-memory pvmove may lock up) 1186fi 1187