1
###############################################################################
2
## Copyright (C) 2000-2004 Sistina Software, Inc. All rights reserved.
3
## Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved.
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.
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
################################################################################
15
################################################################################
16
dnl -- Process this file with autoconf to produce a configure script.
18
AC_CONFIG_SRCDIR([lib/device/dev-cache.h])
19
AC_CONFIG_HEADERS([lib/misc/configure.h])
21
################################################################################
22
dnl -- Setup the directory where autoconf has auxilary files
23
AC_CONFIG_AUX_DIR(autoconf)
25
################################################################################
26
dnl -- Get system type
27
AC_CANONICAL_TARGET([])
33
CLDFLAGS="$CLDFLAGS -Wl,--version-script,.export.sym"
34
ELDFLAGS="-Wl,--export-dynamic"
35
# FIXME Generate list and use --dynamic-list=.dlopen.sym
36
CLDWHOLEARCHIVE="-Wl,-whole-archive"
37
CLDNOWHOLEARCHIVE="-Wl,-no-whole-archive"
38
LDDEPS="$LDDEPS .export.sym"
49
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
53
CLDWHOLEARCHIVE="-all_load"
65
################################################################################
66
dnl -- Checks for programs.
71
dnl probably no longer needed in 2008, but...
72
AC_PROG_GCC_TRADITIONAL
78
AC_PATH_PROG(CFLOW_CMD, cflow)
79
AC_PATH_PROG(CSCOPE_CMD, cscope)
81
################################################################################
82
dnl -- Check for header files.
89
AC_CHECK_HEADERS([locale.h stddef.h syslog.h sys/file.h sys/time.h assert.h \
90
langinfo.h libgen.h signal.h sys/mman.h sys/resource.h sys/utsname.h \
92
[AC_MSG_ERROR(bailing out)])
96
AC_CHECK_HEADERS(asm/byteorder.h linux/fs.h malloc.h,,AC_MSG_ERROR(bailing out)) ;;
98
AC_CHECK_HEADERS(machine/endian.h sys/disk.h,,AC_MSG_ERROR(bailing out)) ;;
101
AC_CHECK_HEADERS([ctype.h dirent.h errno.h fcntl.h getopt.h inttypes.h limits.h \
102
stdarg.h stdio.h stdlib.h string.h sys/ioctl.h sys/param.h sys/stat.h \
103
sys/types.h unistd.h], , [AC_MSG_ERROR(bailing out)])
104
AC_CHECK_HEADERS(termios.h sys/statvfs.h)
106
################################################################################
107
dnl -- Check for typedefs, structures, and compiler characteristics.
110
AC_CHECK_MEMBERS([struct stat.st_rdev])
126
AC_CHECK_MEMBERS([struct stat.st_rdev])
129
################################################################################
130
dnl -- Check for functions
131
AC_CHECK_FUNCS([ftruncate gethostname getpagesize \
132
gettimeofday memset mkdir mkfifo rmdir munmap nl_langinfo setenv setlocale \
133
strcasecmp strchr strcspn strspn strdup strncasecmp strerror strrchr \
134
strstr strtol strtoul uname], , [AC_MSG_ERROR(bailing out)])
135
AC_CHECK_FUNCS(siginterrupt)
137
AC_FUNC_CLOSEDIR_VOID
149
################################################################################
150
dnl -- Enables statically-linked tools
151
AC_MSG_CHECKING(whether to use static linking)
152
AC_ARG_ENABLE(static_link,
153
AC_HELP_STRING([--enable-static_link],
154
[use this to link the tools to their libraries
155
statically (default is dynamic linking]),
156
STATIC_LINK=$enableval, STATIC_LINK=no)
157
AC_MSG_RESULT($STATIC_LINK)
159
################################################################################
160
dnl -- Prefix is /usr by default, the exec_prefix default is setup later
161
AC_PREFIX_DEFAULT(/usr)
163
################################################################################
164
dnl -- Setup the ownership of the files
165
AC_MSG_CHECKING(file owner)
167
AC_HELP_STRING([--with-user=USER],
168
[set the owner of installed files [[USER=]]]),
170
AC_MSG_RESULT($OWNER)
172
if test x$OWNER != x; then
173
INSTALL="$INSTALL -o $OWNER"
176
################################################################################
177
dnl -- Setup the group ownership of the files
178
AC_MSG_CHECKING(group owner)
180
AC_HELP_STRING([--with-group=GROUP],
181
[set the group owner of installed files [[GROUP=]]]),
183
AC_MSG_RESULT($GROUP)
185
if test x$GROUP != x; then
186
INSTALL="$INSTALL -g $GROUP"
189
################################################################################
190
dnl -- Setup device node ownership
191
AC_MSG_CHECKING(device node uid)
193
AC_ARG_WITH(device-uid,
194
AC_HELP_STRING([--with-device-uid=UID],
195
[set the owner used for new device nodes [[UID=0]]]),
196
DM_DEVICE_UID=$withval, DM_DEVICE_UID=0)
197
AC_MSG_RESULT($DM_DEVICE_UID)
199
################################################################################
200
dnl -- Setup device group ownership
201
AC_MSG_CHECKING(device node gid)
203
AC_ARG_WITH(device-gid,
204
AC_HELP_STRING([--with-device-gid=GID],
205
[set the group used for new device nodes [[GID=0]]]),
206
DM_DEVICE_GID=$withval, DM_DEVICE_GID=0)
207
AC_MSG_RESULT($DM_DEVICE_GID)
209
################################################################################
210
dnl -- Setup device mode
211
AC_MSG_CHECKING(device node mode)
213
AC_ARG_WITH(device-mode,
214
AC_HELP_STRING([--with-device-mode=MODE],
215
[set the mode used for new device nodes [[MODE=0600]]]),
216
DM_DEVICE_MODE=$withval, DM_DEVICE_MODE=0600)
217
AC_MSG_RESULT($DM_DEVICE_MODE)
219
AC_MSG_CHECKING(when to create device nodes)
220
AC_ARG_WITH(device-nodes-on,
221
AC_HELP_STRING([--with-device-nodes-on=ON],
222
[create nodes on resume or create [[ON=resume]]]),
223
ADD_NODE=$withval, ADD_NODE=resume)
225
resume) add_on=DM_ADD_NODE_ON_RESUME;;
226
create) add_on=DM_ADD_NODE_ON_CREATE;;
227
*) AC_MSG_ERROR([--with-device-nodes-on parameter invalid]);;
229
AC_MSG_RESULT(on $ADD_NODE)
230
AC_DEFINE_UNQUOTED([DEFAULT_DM_ADD_NODE], $add_on, [Define default node creation behavior with dmsetup create])
232
AC_MSG_CHECKING(default name mangling)
233
AC_ARG_WITH(default-name-mangling,
234
AC_HELP_STRING([--with-default-name-mangling=MANGLING],
235
[default name mangling: auto/none/hex [[MANGLING=auto]]]),
236
MANGLING=$withval, MANGLING=auto)
238
auto) mangling=DM_STRING_MANGLING_AUTO;;
239
disabled) mangling=DM_STRING_MANGLING_NONE;;
240
hex) mangling=DM_STRING_MANGLING_HEX;;
241
*) AC_MSG_ERROR([--with-default-name-mangling parameter invalid]);;
243
AC_MSG_RESULT($MANGLING)
244
AC_DEFINE_UNQUOTED([DEFAULT_DM_NAME_MANGLING], $mangling, [Define default name mangling behaviour])
246
################################################################################
247
dnl -- LVM1 tool fallback option
248
AC_MSG_CHECKING(whether to enable lvm1 fallback)
249
AC_ARG_ENABLE(lvm1_fallback,
250
AC_HELP_STRING([--enable-lvm1_fallback],
251
[use this to fall back and use LVM1 binaries if
252
device-mapper is missing from the kernel]),
253
LVM1_FALLBACK=$enableval, LVM1_FALLBACK=no)
254
AC_MSG_RESULT($LVM1_FALLBACK)
256
if test x$LVM1_FALLBACK = xyes; then
257
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])
260
################################################################################
261
dnl -- format1 inclusion type
262
AC_MSG_CHECKING(whether to include support for lvm1 metadata)
264
AC_HELP_STRING([--with-lvm1=TYPE],
265
[LVM1 metadata support: internal/shared/none
267
LVM1=$withval, LVM1=internal)
270
if [[ "x$LVM1" != xnone -a "x$LVM1" != xinternal -a "x$LVM1" != xshared ]];
272
--with-lvm1 parameter invalid
276
if test x$LVM1 = xinternal; then
277
AC_DEFINE([LVM1_INTERNAL], 1, [Define to 1 to include built-in support for LVM1 metadata.])
280
################################################################################
281
dnl -- format_pool inclusion type
282
AC_MSG_CHECKING(whether to include support for GFS pool metadata)
284
AC_HELP_STRING([--with-pool=TYPE],
285
[GFS pool read-only support: internal/shared/none
287
POOL=$withval, POOL=internal)
290
if [[ "x$POOL" != xnone -a "x$POOL" != xinternal -a "x$POOL" != xshared ]];
292
--with-pool parameter invalid
296
if test x$POOL = xinternal; then
297
AC_DEFINE([POOL_INTERNAL], 1, [Define to 1 to include built-in support for GFS pool metadata.])
300
################################################################################
301
dnl -- cluster_locking inclusion type
302
AC_MSG_CHECKING(whether to include support for cluster locking)
304
AC_HELP_STRING([--with-cluster=TYPE],
305
[cluster LVM locking support: internal/shared/none
308
AC_MSG_RESULT($CLUSTER)
310
if [[ "x$CLUSTER" != xnone -a "x$CLUSTER" != xinternal -a "x$CLUSTER" != xshared ]];
312
--with-cluster parameter invalid
316
if test x$CLUSTER = xinternal; then
317
AC_DEFINE([CLUSTER_LOCKING_INTERNAL], 1, [Define to 1 to include built-in support for clustered LVM locking.])
320
################################################################################
321
dnl -- snapshots inclusion type
322
AC_MSG_CHECKING(whether to include snapshots)
323
AC_ARG_WITH(snapshots,
324
AC_HELP_STRING([--with-snapshots=TYPE],
325
[snapshot support: internal/shared/none
327
SNAPSHOTS=$withval, SNAPSHOTS=internal)
328
AC_MSG_RESULT($SNAPSHOTS)
330
if [[ "x$SNAPSHOTS" != xnone -a "x$SNAPSHOTS" != xinternal -a "x$SNAPSHOTS" != xshared ]];
332
--with-snapshots parameter invalid
336
if test x$SNAPSHOTS = xinternal; then
337
AC_DEFINE([SNAPSHOT_INTERNAL], 1, [Define to 1 to include built-in support for snapshots.])
340
################################################################################
341
dnl -- mirrors inclusion type
342
AC_MSG_CHECKING(whether to include mirrors)
344
AC_HELP_STRING([--with-mirrors=TYPE],
345
[mirror support: internal/shared/none
347
MIRRORS=$withval, MIRRORS=internal)
348
AC_MSG_RESULT($MIRRORS)
350
if [[ "x$MIRRORS" != xnone -a "x$MIRRORS" != xinternal -a "x$MIRRORS" != xshared ]];
352
--with-mirrors parameter invalid
356
if test x$MIRRORS = xinternal; then
357
AC_DEFINE([MIRRORED_INTERNAL], 1, [Define to 1 to include built-in support for mirrors.])
360
################################################################################
361
dnl -- raid inclusion type
362
AC_MSG_CHECKING(whether to include raid)
364
AC_HELP_STRING([--with-raid=TYPE],
365
[mirror support: internal/shared/none
367
RAID=$withval, RAID=internal)
370
if [[ "x$RAID" != xnone -a "x$RAID" != xinternal -a "x$RAID" != xshared ]];
372
--with-raid parameter invalid
376
if test x$RAID = xinternal; then
377
AC_DEFINE([RAID_INTERNAL], 1, [Define to 1 to include built-in support for raid.])
380
################################################################################
381
dnl -- asynchronous volume replicator inclusion type
382
AC_MSG_CHECKING(whether to include replicators)
383
AC_ARG_WITH(replicators,
384
AC_HELP_STRING([--with-replicators=TYPE],
385
[replicator support: internal/shared/none
387
REPLICATORS=$withval, REPLICATORS=none)
388
AC_MSG_RESULT($REPLICATORS)
390
case "$REPLICATORS" in
392
internal) AC_DEFINE([REPLICATOR_INTERNAL], 1,
393
[Define to 1 to include built-in support for replicators.]) ;;
394
*) AC_MSG_ERROR([--with-replicators parameter invalid ($REPLICATORS)]) ;;
397
################################################################################
398
dnl -- thin provisioning
399
AC_MSG_CHECKING(whether to include thin provisioning)
401
AC_HELP_STRING([--with-thin=TYPE],
402
[thin provisioning support: internal/shared/none
404
THIN=$withval, THIN=none)
409
internal) AC_DEFINE([THIN_INTERNAL], 1,
410
[Define to 1 to include built-in support for thin provisioning.]) ;;
411
*) AC_MSG_ERROR([--with-thin parameter invalid ($THIN)]) ;;
414
################################################################################
415
dnl -- Disable readline
416
AC_MSG_CHECKING(whether to enable readline)
417
AC_ARG_ENABLE([readline],
418
AC_HELP_STRING([--disable-readline], [disable readline support]),
419
READLINE=$enableval, READLINE=yes)
420
AC_MSG_RESULT($READLINE)
422
################################################################################
423
dnl -- Disable realtime clock support
424
AC_MSG_CHECKING(whether to enable realtime support)
425
AC_ARG_ENABLE(realtime,
426
AC_HELP_STRING([--enable-realtime], [enable realtime clock support]),
428
AC_MSG_RESULT($REALTIME)
430
################################################################################
431
dnl -- disable OCF resource agents
432
AC_MSG_CHECKING(whether to enable OCF resource agents)
434
AC_HELP_STRING([--enable-ocf],
435
[enable Open Cluster Framework (OCF) compliant resource agents]),
436
OCF=$enableval, OCF=no)
439
AC_HELP_STRING([--with-ocfdir=DIR],
440
[install OCF files in DIR [[PREFIX/lib/ocf/resource.d/lvm2]]]),
441
OCFDIR=$withval, OCFDIR='${prefix}/lib/ocf/resource.d/lvm2')
443
################################################################################
444
dnl -- Init pkg-config with dummy invokation:
445
dnl -- this is required because PKG_CHECK_MODULES macro is expanded
446
dnl -- to initialize the pkg-config environment only at the first invokation,
447
dnl -- that would be conditional in this configure.in.
449
PKG_CHECK_MODULES(PKGCONFIGINIT, pkgconfiginit, [],
450
[AC_MSG_RESULT([pkg-config initialized])])
454
################################################################################
455
dnl -- Build cluster LVM daemon
456
AC_MSG_CHECKING(whether to build cluster LVM daemon)
458
[ --with-clvmd=TYPE build cluster LVM Daemon
459
The following cluster manager combinations are valid:
460
* cman (RHEL5 or equivalent)
461
* cman,corosync,openais (or selection of them)
462
* singlenode (localhost only)
464
* none (disable build)
466
CLVMD=$withval, CLVMD=none)
467
if test x$CLVMD = xyes; then
470
AC_MSG_RESULT($CLVMD)
472
dnl -- If clvmd enabled without cluster locking, automagically include it
473
if test x$CLVMD != xnone && test x$CLUSTER = xnone; then
477
dnl -- init pkgconfig if required
478
if test x$CLVMD != xnone && test x$PKGCONFIG_INIT != x1; then
482
dnl -- Express clvmd init script Required-Start / Required-Stop
484
dnl -- On RHEL4/RHEL5, qdiskd is started from a separate init script.
485
dnl -- Enable if we are build for cman.
486
CLVMD_NEEDS_QDISKD=no
488
dnl -- define build types
489
if [[ `expr x"$CLVMD" : '.*gulm.*'` != 0 ]]; then
490
AC_MSG_ERROR([Since version 2.02.87 GULM locking is no longer supported.]);
492
if [[ `expr x"$CLVMD" : '.*cman.*'` != 0 ]]; then
494
CLVMD_CMANAGERS="$CLVMD_CMANAGERS cman"
495
CLVMD_NEEDS_QDISKD=yes
497
if [[ `expr x"$CLVMD" : '.*corosync.*'` != 0 ]]; then
499
CLVMD_CMANAGERS="$CLVMD_CMANAGERS corosync"
501
if [[ `expr x"$CLVMD" : '.*openais.*'` != 0 ]]; then
503
CLVMD_CMANAGERS="$CLVMD_CMANAGERS openais"
505
if test x$CLVMD_NEEDS_QDISKD != xno; then
506
CLVMD_CMANAGERS="$CLVMD_CMANAGERS qdiskd"
509
dnl -- define a soft bailout if we are autodetecting
515
AC_MSG_ERROR([bailing out])
518
dnl -- if clvmd=all then set soft_bailout (we don't want to error)
519
dnl -- and set all builds to yes. We need to do this here
520
dnl -- to skip the openais|corosync sanity check above.
521
if test x$CLVMD = xall; then
530
dnl -- helper macro to check libs without adding them to LIBS
531
check_lib_no_libs() {
537
AC_CHECK_LIB([$lib_no_libs_arg1],
538
[$lib_no_libs_arg2],,
541
LIBS=$ac_check_lib_save_LIBS
544
dnl -- Look for cman libraries if required.
545
if test x$BUILDCMAN = xyes; then
546
PKG_CHECK_MODULES(CMAN, libcman, [HAVE_CMAN=yes],
548
AC_CHECK_HEADERS(libcman.h,,$bailout)
549
check_lib_no_libs cman cman_init
550
if test $NOTFOUND = 0; then
551
AC_MSG_RESULT([no pkg for libcman, using -lcman])
559
dnl -- Look for corosync that's required also for openais build
560
dnl -- only enough recent version of corosync ship pkg-config files.
561
dnl -- We can safely rely on that to detect the correct bits.
562
if test x$BUILDCOROSYNC = xyes || \
563
test x$BUILDOPENAIS = xyes; then
564
PKG_CHECK_MODULES(COROSYNC, corosync, [HAVE_COROSYNC=yes], $bailout)
569
dnl -- Look for corosync libraries if required.
570
if test x$BUILDCOROSYNC = xyes; then
571
PKG_CHECK_MODULES(QUORUM, libquorum, [HAVE_QUORUM=yes], $bailout)
576
dnl -- Look for openais libraries if required.
577
if test x$BUILDOPENAIS = xyes; then
578
PKG_CHECK_MODULES(SALCK, libSaLck, [HAVE_SALCK=yes], $bailout)
582
dnl -- Below are checks for libraries common to more than one build.
584
dnl -- Check confdb library.
585
dnl -- mandatory for corosync < 2.0 build.
586
dnl -- optional for openais/cman build.
588
if test x$CHECKCONFDB = xyes; then
589
PKG_CHECK_MODULES(CONFDB, libconfdb,
593
AC_CHECK_HEADERS(corosync/confdb.h,
597
if test x$HAVE_CONFDB != xyes && \
598
test x$HAVE_CONFDB_H = xyes; then
599
check_lib_no_libs confdb confdb_initialize
600
AC_MSG_RESULT([no pkg for confdb, using -lconfdb])
601
CONFDB_LIBS="-lconfdb"
606
dnl -- Check cmap library
607
dnl -- mandatory for corosync >= 2.0 build.
609
if test x$CHECKCMAP = xyes; then
610
PKG_CHECK_MODULES(CMAP, libcmap,
614
AC_CHECK_HEADERS(corosync/cmap.h,
618
if test x$HAVE_CMAP != xyes && \
619
test x$HAVE_CMAP_H = xyes; then
620
check_lib_no_libs cmap cmap_initialize
621
AC_MSG_RESULT([no pkg for cmap, using -lcmap])
627
if test x$BUILDCOROSYNC = xyes; then
628
if test x$HAVE_CMAP != xyes && \
629
test x$HAVE_CONFDB != xyes && \
630
test x$CLVMD != xall; then
631
AC_MSG_ERROR([bailing out... cmap (corosync >= 2.0) or confdb (corosync < 2.0) library is required])
635
dnl -- Check cpg library.
636
if test x$CHECKCPG = xyes; then
637
PKG_CHECK_MODULES(CPG, libcpg, [HAVE_CPG=yes], $bailout)
640
dnl -- Check dlm library.
641
if test x$CHECKDLM = xyes; then
642
PKG_CHECK_MODULES(DLM, libdlm, [HAVE_DLM=yes],
644
AC_CHECK_HEADERS(libdlm.h,,$bailout)
645
check_lib_no_libs dlm dlm_lock -lpthread
646
if test $NOTFOUND = 0; then
647
AC_MSG_RESULT([no pkg for libdlm, using -ldlm])
648
DLM_LIBS="-ldlm -lpthread"
653
dnl -- If we are autodetecting, we need to re-create
654
dnl -- the depedencies checks and set a proper CLVMD,
655
dnl -- together with init script Required-Start/Stop entries.
656
if test x$CLVMD = xall; then
659
CLVMD_NEEDS_QDISKD=no
660
if test x$HAVE_CMAN = xyes && \
661
test x$HAVE_DLM = xyes; then
662
AC_MSG_RESULT([Enabling clvmd cman cluster manager])
664
CLVMD_CMANAGERS="$CLVMD_CMANAGERS cman"
665
CLVMD_NEEDS_QDISKD=yes
667
if test x$HAVE_COROSYNC = xyes && \
668
test x$HAVE_QUORUM = xyes && \
669
test x$HAVE_CPG = xyes && \
670
test x$HAVE_DLM = xyes; then
671
if test x$HAVE_CONFDB = xyes || test x$HAVE_CMAP = xyes; then
672
AC_MSG_RESULT([Enabling clvmd corosync cluster manager])
673
CLVMD="$CLVMD,corosync"
674
CLVMD_CMANAGERS="$CLVMD_CMANAGERS corosync"
677
if test x$HAVE_COROSYNC = xyes && \
678
test x$HAVE_CPG = xyes && \
679
test x$HAVE_SALCK = xyes; then
680
AC_MSG_RESULT([Enabling clvmd openais cluster manager])
681
CLVMD="$CLVMD,openais"
682
CLVMD_CMANAGERS="$CLVMD_CMANAGERS openais"
684
if test x$CLVMD_NEEDS_QDISKD != xno; then
685
CLVMD_CMANAGERS="$CLVMD_CMANAGERS qdiskd"
687
if test x$CLVMD = xnone; then
688
AC_MSG_RESULT([Disabling clvmd build. No cluster manager detected.])
692
dnl -- Fixup CLVMD_CMANAGERS with new corosync
693
dnl -- clvmd built with corosync >= 2.0 needs dlm (either init or systemd service)
694
dnl -- to be started.
695
if [[ `expr x"$CLVMD" : '.*corosync.*'` != 0 ]]; then
696
if test x$HAVE_CMAP = xyes; then
697
CLVMD_CMANAGERS="$CLVMD_CMANAGERS dlm"
701
################################################################################
703
if test "x$CLVMD" != xnone; then
704
AC_ARG_WITH(clvmd-pidfile,
705
AC_HELP_STRING([--with-clvmd-pidfile=PATH],
706
[clvmd pidfile [[/var/run/clvmd.pid]]]),
707
CLVMD_PIDFILE=$withval,
708
CLVMD_PIDFILE="/var/run/clvmd.pid")
709
AC_DEFINE_UNQUOTED(CLVMD_PIDFILE, ["$CLVMD_PIDFILE"],
710
[Path to clvmd pidfile.])
713
################################################################################
714
dnl -- Build cluster mirror log daemon
715
AC_MSG_CHECKING(whether to build cluster mirror log daemon)
716
AC_ARG_ENABLE(cmirrord,
717
AC_HELP_STRING([--enable-cmirrord],
718
[enable the cluster mirror log daemon]),
719
CMIRRORD=$enableval, CMIRRORD=no)
720
AC_MSG_RESULT($CMIRRORD)
722
BUILD_CMIRRORD=$CMIRRORD
724
################################################################################
725
dnl -- cmirrord pidfile
726
if test "x$BUILD_CMIRRORD" = xyes; then
727
AC_ARG_WITH(cmirrord-pidfile,
728
AC_HELP_STRING([--with-cmirrord-pidfile=PATH],
729
[cmirrord pidfile [[/var/run/cmirrord.pid]]]),
730
CMIRRORD_PIDFILE=$withval,
731
CMIRRORD_PIDFILE="/var/run/cmirrord.pid")
732
AC_DEFINE_UNQUOTED(CMIRRORD_PIDFILE, ["$CMIRRORD_PIDFILE"],
733
[Path to cmirrord pidfile.])
736
################################################################################
737
dnl -- Look for corosync libraries if required.
738
if [[ "x$BUILD_CMIRRORD" = xyes ]]; then
739
dnl -- init pkgconfig if required
740
if test x$PKGCONFIG_INIT != x1; then
744
AC_DEFINE([CMIRROR_HAS_CHECKPOINT], 1, [Define to 1 to include libSaCkpt.])
745
PKG_CHECK_MODULES(SACKPT, libSaCkpt, [HAVE_SACKPT=yes],
746
[AC_MSG_RESULT([no libSaCkpt, compiling without it])
747
AC_DEFINE([CMIRROR_HAS_CHECKPOINT], 0, [Define to 0 to exclude libSaCkpt.])])
749
if test x$HAVE_CPG != xyes; then
750
PKG_CHECK_MODULES(CPG, libcpg)
754
################################################################################
755
dnl -- Enable debugging
756
AC_MSG_CHECKING(whether to enable debugging)
757
AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable debugging]),
758
DEBUG=$enableval, DEBUG=no)
759
AC_MSG_RESULT($DEBUG)
761
dnl -- Normally turn off optimisation for debug builds
762
if test x$DEBUG = xyes; then
768
################################################################################
769
dnl -- Override optimisation
770
AC_MSG_CHECKING(for C optimisation flag)
771
AC_ARG_WITH(optimisation,
772
AC_HELP_STRING([--with-optimisation=OPT],
773
[C optimisation flag [[OPT=-O2]]]),
774
COPTIMISE_FLAG=$withval)
775
AC_MSG_RESULT($COPTIMISE_FLAG)
777
################################################################################
778
dnl -- Enable profiling
779
AC_MSG_CHECKING(whether to gather gcov profiling data)
780
AC_ARG_ENABLE(profiling,
781
AC_HELP_STRING(--enable-profiling, [gather gcov profiling data]),
782
PROFILING=$enableval, PROFILING=no)
783
AC_MSG_RESULT($PROFILING)
785
if test "x$PROFILING" = xyes; then
786
COPTIMISE_FLAG="$COPTIMISE_FLAG -fprofile-arcs -ftest-coverage"
787
AC_PATH_PROG(LCOV, lcov)
788
AC_PATH_PROG(GENHTML, genhtml)
789
if test -z "$LCOV" -o -z "$GENHTML"; then
790
AC_MSG_ERROR([lcov and genhtml are required for profiling])
792
AC_PATH_PROG(GENPNG, genpng)
793
if test -n "$GENPNG"; then
794
AC_MSG_CHECKING([whether $GENPNG has all required modules])
795
if $GENPNG --help > /dev/null 2>&1 ; then
797
GENHTML="$GENHTML --frames"
799
AC_MSG_RESULT(not supported)
800
AC_MSG_WARN([GD.pm perl module is not installed])
806
################################################################################
807
dnl -- Enable testing
808
AC_MSG_CHECKING(whether to enable unit testing)
809
AC_ARG_ENABLE(testing,
810
AC_HELP_STRING(--enable-testing, [enable testing targets in the makefile]),
811
TESTING=$enableval, TESTING=no)
812
AC_MSG_RESULT($TESTING)
814
if test "$TESTING" = yes; then
815
PKG_CHECK_MODULES(CUNIT, cunit >= 2.0)
818
################################################################################
819
dnl -- Enable valgrind awareness of memory pools
820
AC_MSG_CHECKING(whether to enable valgrind awareness of pools)
821
AC_ARG_ENABLE(valgrind_pool,
822
AC_HELP_STRING(--enable-valgrind-pool, [enable valgrind awareness of pools]),
823
VALGRIND_POOL=$enableval, VALGRIND_POOL=no)
824
AC_MSG_RESULT($VALGRIND_POOL)
826
if test "$VALGRIND_POOL" = yes; then
827
AC_CHECK_HEADERS([valgrind/memcheck.h], , [AC_MSG_ERROR(bailing out)])
828
AC_DEFINE([VALGRIND_POOL], 1, [Enable a valgrind aware build of pool])
831
################################################################################
832
dnl -- Disable devmapper
833
AC_MSG_CHECKING(whether to use device-mapper)
834
AC_ARG_ENABLE(devmapper,
835
AC_HELP_STRING([--disable-devmapper],
836
[disable LVM2 device-mapper interaction]),
837
DEVMAPPER=$enableval)
838
AC_MSG_RESULT($DEVMAPPER)
840
if test x$DEVMAPPER = xyes; then
841
AC_DEFINE([DEVMAPPER_SUPPORT], 1, [Define to 1 to enable LVM2 device-mapper interaction.])
844
################################################################################
846
AC_MSG_CHECKING(whether to build LVMetaD)
847
AC_ARG_ENABLE(lvmetad,
848
AC_HELP_STRING([--enable-lvmetad],
849
[enable the LVM Metadata Daemon]),
851
AC_MSG_RESULT($LVMETAD)
853
BUILD_LVMETAD=$LVMETAD
855
if test x$BUILD_LVMETAD = xyes; then
856
AC_DEFINE([LVMETAD_SUPPORT], 1, [Define to 1 to include code that uses lvmetad.])
859
################################################################################
860
dnl -- Enable udev synchronisation
861
AC_MSG_CHECKING(whether to enable synchronisation with udev processing)
862
AC_ARG_ENABLE(udev_sync,
863
AC_HELP_STRING([--enable-udev_sync],
864
[enable synchronisation with udev processing]),
865
UDEV_SYNC=$enableval, UDEV_SYNC=no)
866
AC_MSG_RESULT($UDEV_SYNC)
868
if test x$UDEV_SYNC = xyes; then
869
dnl -- init pkgconfig if required
870
if test x$PKGCONFIG_INIT != x1; then
873
PKG_CHECK_MODULES(UDEV, libudev >= 143, [UDEV_PC="libudev"])
874
AC_DEFINE([UDEV_SYNC_SUPPORT], 1, [Define to 1 to enable synchronisation with udev processing.])
877
dnl -- Enable udev rules
878
AC_MSG_CHECKING(whether to enable installation of udev rules required for synchronisation)
879
AC_ARG_ENABLE(udev_rules,
880
AC_HELP_STRING([--enable-udev_rules],
881
[install rule files needed for udev synchronisation]),
882
UDEV_RULES=$enableval, UDEV_RULES=$UDEV_SYNC)
883
AC_MSG_RESULT($UDEV_RULES)
885
if test x$UDEV_RULES = xyes; then
886
AC_MSG_CHECKING(whether udev supports builtin blkid)
887
udev_version=$(udevadm info --version 2>/dev/null)
888
if test -n "$udev_version" && test "$udev_version" -ge 176; then
889
UDEV_HAS_BUILTIN_BLKID=yes
891
UDEV_HAS_BUILTIN_BLKID=no
893
AC_MSG_RESULT($UDEV_HAS_BUILTIN_BLKID)
896
################################################################################
897
dnl -- Compatibility mode
898
AC_ARG_ENABLE(compat,
899
AC_HELP_STRING([--enable-compat],
900
[enable support for old device-mapper versions]),
901
DM_COMPAT=$enableval, DM_COMPAT=no)
903
if test x$DM_COMPAT = xyes; then
905
[--enable-compat is not currently supported.
906
Since device-mapper version 1.02.66, only one version (4) of the device-mapper
907
ioctl protocol is supported.]
911
################################################################################
912
dnl -- Compatible units suffix mode
913
AC_ARG_ENABLE(units-compat,
914
AC_HELP_STRING([--enable-units-compat],
915
[enable output compatibility with old versions that
916
that do not use KiB-style unit suffixes]),
917
UNITS_COMPAT=$enableval, UNITS_COMPAT=no)
919
if test x$UNITS_COMPAT = xyes; then
920
AC_DEFINE([DEFAULT_SI_UNIT_CONSISTENCY], 0, [Define to 0 to reinstate the pre-2.02.54 handling of unit suffixes.])
923
################################################################################
926
AC_HELP_STRING([--disable-driver],
927
[disable calls to device-mapper in the kernel]),
928
DM_IOCTLS=$enableval)
930
################################################################################
931
dnl -- Disable O_DIRECT
932
AC_MSG_CHECKING(whether to enable O_DIRECT)
933
AC_ARG_ENABLE(o_direct,
934
AC_HELP_STRING([--disable-o_direct], [disable O_DIRECT]),
936
AC_MSG_RESULT($ODIRECT)
938
if test x$ODIRECT = xyes; then
939
AC_DEFINE([O_DIRECT_SUPPORT], 1, [Define to 1 to enable O_DIRECT support.])
942
################################################################################
943
dnl -- Enable liblvm2app.so
944
AC_MSG_CHECKING(whether to build liblvm2app.so application library)
945
AC_ARG_ENABLE(applib,
946
AC_HELP_STRING([--enable-applib], [build application library]),
947
APPLIB=$enableval, APPLIB=no)
948
AC_MSG_RESULT($APPLIB)
949
AC_SUBST([LVM2APP_LIB])
950
test x$APPLIB = xyes \
951
&& LVM2APP_LIB=-llvm2app \
954
################################################################################
956
AC_MSG_CHECKING(whether to compile liblvm2cmd.so)
957
AC_ARG_ENABLE(cmdlib,
958
AC_HELP_STRING([--enable-cmdlib], [build shared command library]),
959
CMDLIB=$enableval, CMDLIB=no)
960
AC_MSG_RESULT($CMDLIB)
961
AC_SUBST([LVM2CMD_LIB])
962
test x$CMDLIB = xyes \
963
&& LVM2CMD_LIB=-llvm2cmd \
966
################################################################################
967
dnl -- Enable pkg-config
968
AC_ARG_ENABLE(pkgconfig,
969
AC_HELP_STRING([--enable-pkgconfig], [install pkgconfig support]),
970
PKGCONFIG=$enableval, PKGCONFIG=no)
972
################################################################################
973
dnl -- Enable installation of writable files by user
974
AC_ARG_ENABLE(write_install,
975
AC_HELP_STRING([--enable-write_install],
976
[install user writable files]),
977
WRITE_INSTALL=$enableval, WRITE_INSTALL=no)
979
################################################################################
981
AC_MSG_CHECKING(whether to install fsadm)
982
AC_ARG_ENABLE(fsadm, AC_HELP_STRING([--disable-fsadm], [disable fsadm]),
984
AC_MSG_RESULT($FSADM)
986
################################################################################
987
dnl -- enable dmeventd handling
988
AC_MSG_CHECKING(whether to use dmeventd)
989
AC_ARG_ENABLE(dmeventd, AC_HELP_STRING([--enable-dmeventd],
990
[enable the device-mapper event daemon]),
992
AC_MSG_RESULT($DMEVENTD)
994
BUILD_DMEVENTD=$DMEVENTD
996
dnl -- dmeventd currently requires internal mirror support
997
if test x$DMEVENTD = xyes; then
998
if test x$MIRRORS != xinternal; then
1000
--enable-dmeventd currently requires --with-mirrors=internal
1003
if test x$CMDLIB = xno; then
1005
--enable-dmeventd requires --enable-cmdlib to be used as well
1010
if test x$DMEVENTD = xyes; then
1011
AC_DEFINE([DMEVENTD], 1, [Define to 1 to enable the device-mapper event daemon.])
1014
################################################################################
1015
dnl -- getline included in recent libc
1017
AC_CHECK_LIB(c, getline, AC_DEFINE([HAVE_GETLINE], 1,
1018
[Define to 1 if getline is available.]))
1020
################################################################################
1021
dnl -- canonicalize_file_name included in recent libc
1023
AC_CHECK_LIB(c, canonicalize_file_name,
1024
AC_DEFINE([HAVE_CANONICALIZE_FILE_NAME], 1,
1025
[Define to 1 if canonicalize_file_name is available.]))
1027
################################################################################
1028
dnl -- Clear default exec_prefix - install into /sbin rather than /usr/sbin
1029
if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]];
1030
then exec_prefix="";
1033
################################################################################
1034
dnl -- Check for dlopen
1035
AC_CHECK_LIB(dl, dlopen, [
1036
AC_DEFINE([HAVE_LIBDL], 1, [Define to 1 if dynamic libraries are available.])
1042
################################################################################
1043
dnl -- Check for shared/static conflicts
1044
if [[ \( "x$LVM1" = xshared -o "x$POOL" = xshared -o "x$CLUSTER" = xshared \
1045
-o "x$SNAPSHOTS" = xshared -o "x$MIRRORS" = xshared \
1046
-o "x$RAID" = xshared \
1047
\) -a "x$STATIC_LINK" = xyes ]];
1049
Features cannot be 'shared' when building statically
1053
################################################################################
1054
if [[ "$DMEVENTD" = yes -o "$CLVMD" != none ]] ; then
1055
AC_CHECK_LIB([pthread], [pthread_mutex_lock],
1056
[PTHREAD_LIBS="-lpthread"], hard_bailout)
1059
################################################################################
1060
dnl -- Disable selinux
1061
AC_MSG_CHECKING(whether to enable selinux support)
1062
AC_ARG_ENABLE(selinux,
1063
AC_HELP_STRING([--disable-selinux], [disable selinux support]),
1065
AC_MSG_RESULT($SELINUX)
1067
################################################################################
1068
dnl -- Check for selinux
1069
if test x$SELINUX = xyes; then
1070
AC_DEFINE([HAVE_SELINUX], 1, [Define to 1 to include support for selinux.])
1071
SELINUX_LIBS="$(pkg-config --libs libselinux)"
1072
SELINUX_LIBS_STATIC="$(pkg-config --libs --static libselinux)"
1075
################################################################################
1076
dnl -- Check for realtime clock support
1077
if test x$REALTIME = xyes; then
1078
AC_CHECK_LIB(rt, clock_gettime, HAVE_REALTIME=yes, HAVE_REALTIME=no)
1080
if test x$HAVE_REALTIME = xyes; then
1081
AC_DEFINE([HAVE_REALTIME], 1, [Define to 1 to include support for realtime clock.])
1084
AC_MSG_WARN(Disabling realtime clock)
1088
################################################################################
1089
dnl -- Check for getopt
1090
AC_CHECK_HEADERS(getopt.h, AC_DEFINE([HAVE_GETOPTLONG], 1, [Define to 1 if getopt_long is available.]))
1092
################################################################################
1093
dnl -- Internationalisation stuff
1094
AC_MSG_CHECKING(whether to enable internationalisation)
1096
AC_HELP_STRING([--enable-nls], [enable Native Language Support]),
1097
INTL=$enableval, INTL=no)
1098
AC_MSG_RESULT($INTL)
1100
if test x$INTL = xyes; then
1101
# FIXME - Move this - can be device-mapper too
1103
AC_PATH_PROG(MSGFMT, msgfmt)
1104
if [[ "x$MSGFMT" == x ]];
1106
msgfmt not found in path $PATH
1110
AC_ARG_WITH(localedir,
1111
AC_HELP_STRING([--with-localedir=DIR],
1112
[translation files in DIR
1113
[[PREFIX/share/locale]]]),
1114
LOCALEDIR=$withval, LOCALEDIR='${prefix}/share/locale')
1117
################################################################################
1118
AC_ARG_WITH(confdir,
1119
AC_HELP_STRING([--with-confdir=DIR],
1120
[configuration files in DIR [[/etc]]]),
1121
CONFDIR=$withval, CONFDIR="/etc")
1123
AC_ARG_WITH(staticdir,
1124
AC_HELP_STRING([--with-staticdir=DIR],
1125
[static binaries in DIR [[EPREFIX/sbin]]]),
1126
STATICDIR=$withval, STATICDIR='${exec_prefix}/sbin')
1128
AC_ARG_WITH(usrlibdir,
1129
AC_HELP_STRING([--with-usrlibdir=DIR],
1130
[usrlib in DIR [[PREFIX/lib]]]),
1131
usrlibdir=$withval, usrlibdir='${prefix}/lib')
1133
AC_ARG_WITH(usrsbindir,
1134
AC_HELP_STRING([--with-usrsbindir=DIR],
1135
[usrsbin executables in DIR [[PREFIX/sbin]]]),
1136
usrsbindir=$withval, usrsbindir='${prefix}/sbin')
1138
################################################################################
1139
AC_ARG_WITH(udev_prefix,
1140
AC_HELP_STRING([--with-udev-prefix=UPREFIX],
1141
[install udev rule files in UPREFIX [[EPREFIX]]]),
1142
udev_prefix=$withval, udev_prefix='${exec_prefix}')
1144
AC_ARG_WITH(udevdir,
1145
AC_HELP_STRING([--with-udevdir=DIR],
1146
[udev rules in DIR [[UPREFIX/lib/udev/rules.d]]]),
1147
udevdir=$withval, udevdir='${udev_prefix}/lib/udev/rules.d')
1149
################################################################################
1150
dnl -- Get the systemd system unit dir value from pkg_config automatically if value not given explicitly.
1151
dnl -- This follows the recommendation for systemd integration best practices mentioned in daemon(7) manpage.
1152
AC_ARG_WITH(systemdsystemunitdir,
1153
AC_HELP_STRING([--with-systemdsystemunitdir=DIR],
1154
[systemd service files in DIR]),
1155
systemdsystemunitdir=$withval,
1156
pkg_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd))
1158
if test -n "$pkg_systemdsystemunitdir"; then
1159
systemdsystemunitdir=$pkg_systemdsystemunitdir;
1162
if test -z "$systemdsystemunitdir"; then
1163
systemdsystemunitdir='/lib/systemd/system';
1165
################################################################################
1166
AC_ARG_WITH(tmpfilesdir,
1167
AC_HELP_STRING([--with-tmpfilesdir=DIR],
1168
[install configuration files for management of volatile files and directories in DIR [[SYSCONFDIR/tmpfiles.d]]]),
1169
tmpfilesdir=$withval, tmpfilesdir='${sysconfdir}/tmpfiles.d')
1170
################################################################################
1171
dnl -- Ensure additional headers required
1172
if test x$READLINE = xyes; then
1173
AC_CHECK_LIB([readline], [readline], [READLINE_LIBS="-lreadline"], AC_MSG_ERROR(bailing out))
1174
AC_DEFINE([READLINE_SUPPORT], 1, [Define to 1 to include the LVM readline shell.])
1177
if test x$CLVMD != xnone; then
1178
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))
1179
AC_CHECK_FUNCS(dup2 getmntent memmove select socket,,AC_MSG_ERROR(bailing out))
1181
AC_FUNC_SELECT_ARGTYPES
1184
if test x$CLUSTER != xnone; then
1185
AC_CHECK_HEADERS(sys/socket.h sys/un.h,,AC_MSG_ERROR(bailing out))
1186
AC_CHECK_FUNCS(socket,,AC_MSG_ERROR(bailing out))
1189
if test x$DMEVENTD = xyes; then
1190
AC_CHECK_HEADERS(arpa/inet.h,,AC_MSG_ERROR(bailing out))
1193
if test x$HAVE_LIBDL = xyes; then
1194
AC_CHECK_HEADERS(dlfcn.h,,AC_MSG_ERROR(bailing out))
1197
if test x$INTL = xyes; then
1198
AC_CHECK_HEADERS(libintl.h,,AC_MSG_ERROR(bailing out))
1201
if test x$UDEV_SYNC = xyes; then
1202
AC_CHECK_HEADERS(sys/ipc.h sys/sem.h,,AC_MSG_ERROR(bailing out))
1205
################################################################################
1206
AC_PATH_PROG(MODPROBE_CMD, modprobe)
1208
if test x$MODPROBE_CMD != x; then
1209
AC_DEFINE_UNQUOTED([MODPROBE_CMD], ["$MODPROBE_CMD"], [The path to 'modprobe', if available.])
1213
lvm_exec_prefix=$exec_prefix
1214
test "$lvm_exec_prefix" = NONE && lvm_exec_prefix=$prefix
1215
test "$lvm_exec_prefix" = NONE && lvm_exec_prefix=$ac_default_prefix
1216
LVM_PATH="$lvm_exec_prefix/sbin/lvm"
1217
AC_DEFINE_UNQUOTED(LVM_PATH, ["$LVM_PATH"], [Path to lvm binary.])
1219
if test "$CLVMD" != none; then
1220
clvmd_prefix=$ac_default_prefix
1221
CLVMD_PATH="$clvmd_prefix/sbin/clvmd"
1222
test "$prefix" != NONE && clvmd_prefix=$prefix
1223
AC_DEFINE_UNQUOTED(CLVMD_PATH, ["$CLVMD_PATH"], [Path to clvmd binary.])
1226
################################################################################
1227
dnl -- dmeventd pidfile and executable path
1228
if test "$BUILD_DMEVENTD" = yes; then
1229
AC_ARG_WITH(dmeventd-pidfile,
1230
AC_HELP_STRING([--with-dmeventd-pidfile=PATH],
1231
[dmeventd pidfile [[/var/run/dmeventd.pid]]]),
1232
DMEVENTD_PIDFILE=$withval,
1233
DMEVENTD_PIDFILE="/var/run/dmeventd.pid")
1234
AC_DEFINE_UNQUOTED(DMEVENTD_PIDFILE, ["$DMEVENTD_PIDFILE"],
1235
[Path to dmeventd pidfile.])
1238
if test "$BUILD_DMEVENTD" = yes; then
1239
AC_ARG_WITH(dmeventd-path,
1240
AC_HELP_STRING([--with-dmeventd-path=PATH],
1241
[dmeventd path [[EPREFIX/sbin/dmeventd]]]),
1242
DMEVENTD_PATH=$withval,
1243
DMEVENTD_PATH="$lvm_exec_prefix/sbin/dmeventd")
1244
AC_DEFINE_UNQUOTED(DMEVENTD_PATH, ["$DMEVENTD_PATH"],
1245
[Path to dmeventd binary.])
1248
AH_TEMPLATE(DEFAULT_RUN_DIR, [Name of default run directory.])
1249
AC_ARG_WITH(default-run-dir,
1250
[ --with-default-run-dir=DIR Default run directory [[/var/run/lvm]] ],
1251
[ DEFAULT_RUN_DIR="$withval" ],
1252
[ DEFAULT_RUN_DIR="/var/run/lvm" ])
1253
AC_DEFINE_UNQUOTED(DEFAULT_RUN_DIR,["$DEFAULT_RUN_DIR"] )
1255
################################################################################
1256
dnl -- various defaults
1257
AC_ARG_WITH(default-system-dir,
1258
AC_HELP_STRING([--with-default-system-dir=DIR],
1259
[default LVM system directory [[/etc/lvm]]]),
1260
DEFAULT_SYS_DIR=$withval, DEFAULT_SYS_DIR="/etc/lvm")
1261
AC_DEFINE_UNQUOTED(DEFAULT_SYS_DIR, ["$DEFAULT_SYS_DIR"],
1262
[Path to LVM system directory.])
1264
AC_ARG_WITH(default-archive-subdir,
1265
AC_HELP_STRING([--with-default-archive-subdir=SUBDIR],
1266
[default metadata archive subdir [[archive]]]),
1267
DEFAULT_ARCHIVE_SUBDIR=$withval, DEFAULT_ARCHIVE_SUBDIR=archive)
1268
AC_DEFINE_UNQUOTED(DEFAULT_ARCHIVE_SUBDIR, ["$DEFAULT_ARCHIVE_SUBDIR"],
1269
[Name of default metadata archive subdirectory.])
1271
AC_ARG_WITH(default-backup-subdir,
1272
AC_HELP_STRING([--with-default-backup-subdir=SUBDIR],
1273
[default metadata backup subdir [[backup]]]),
1274
DEFAULT_BACKUP_SUBDIR=$withval, DEFAULT_BACKUP_SUBDIR=backup)
1275
AC_DEFINE_UNQUOTED(DEFAULT_BACKUP_SUBDIR, ["$DEFAULT_BACKUP_SUBDIR"],
1276
[Name of default metadata backup subdirectory.])
1278
AC_ARG_WITH(default-cache-subdir,
1279
AC_HELP_STRING([--with-default-cache-subdir=SUBDIR],
1280
[default metadata cache subdir [[cache]]]),
1281
DEFAULT_CACHE_SUBDIR=$withval, DEFAULT_CACHE_SUBDIR=cache)
1282
AC_DEFINE_UNQUOTED(DEFAULT_CACHE_SUBDIR, ["$DEFAULT_CACHE_SUBDIR"],
1283
[Name of default metadata cache subdirectory.])
1285
AC_ARG_WITH(default-locking-dir,
1286
AC_HELP_STRING([--with-default-locking-dir=DIR],
1287
[default locking directory [[/var/lock/lvm]]]),
1288
DEFAULT_LOCK_DIR=$withval, DEFAULT_LOCK_DIR="/var/lock/lvm")
1289
AC_DEFINE_UNQUOTED(DEFAULT_LOCK_DIR, ["$DEFAULT_LOCK_DIR"],
1290
[Name of default locking directory.])
1292
################################################################################
1293
dnl -- Setup default data alignment
1294
AC_ARG_WITH(default-data-alignment,
1295
AC_HELP_STRING([--with-default-data-alignment=NUM],
1296
[set the default data alignment in MiB [[1]]]),
1297
DEFAULT_DATA_ALIGNMENT=$withval, DEFAULT_DATA_ALIGNMENT=1)
1298
AC_DEFINE_UNQUOTED(DEFAULT_DATA_ALIGNMENT, [$DEFAULT_DATA_ALIGNMENT],
1299
[Default data alignment.])
1301
################################################################################
1302
dnl -- which kernel interface to use (ioctl only)
1303
AC_MSG_CHECKING(for kernel interface choice)
1304
AC_ARG_WITH(interface,
1305
AC_HELP_STRING([--with-interface=IFACE],
1306
[choose kernel interface (ioctl) [[ioctl]]]),
1307
interface=$withval, interface=ioctl)
1308
if [[ "x$interface" != xioctl ]];
1310
AC_MSG_ERROR(--with-interface=ioctl required. fs no longer supported.)
1312
AC_MSG_RESULT($interface)
1314
################################################################################
1315
DM_LIB_VERSION="\"`cat "$srcdir"/VERSION_DM 2>/dev/null || echo Unknown`\""
1316
AC_DEFINE_UNQUOTED(DM_LIB_VERSION, $DM_LIB_VERSION, [Library version])
1318
DM_LIB_PATCHLEVEL=`cat "$srcdir"/VERSION_DM | $AWK -F '[[-. ]]' '{printf "%s.%s.%s",$1,$2,$3}'`
1320
LVM_VERSION="\"`cat "$srcdir"/VERSION 2>/dev/null || echo Unknown`\""
1322
VER=`cat "$srcdir"/VERSION`
1323
LVM_RELEASE_DATE="\"`echo $VER | $SED 's/.* (//;s/).*//'`\""
1324
VER=`echo "$VER" | $AWK '{print $1}'`
1325
LVM_RELEASE="\"`echo "$VER" | $AWK -F '-' '{print $2}'`\""
1326
VER=`echo "$VER" | $AWK -F '-' '{print $1}'`
1327
LVM_MAJOR=`echo "$VER" | $AWK -F '.' '{print $1}'`
1328
LVM_MINOR=`echo "$VER" | $AWK -F '.' '{print $2}'`
1329
LVM_PATCHLEVEL=`echo "$VER" | $AWK -F '[[(.]]' '{print $3}'`
1330
LVM_LIBAPI=`echo "$VER" | $AWK -F '[[()]]' '{print $2}'`
1332
################################################################################
1335
AC_SUBST(BUILD_CMIRRORD)
1336
AC_SUBST(BUILD_DMEVENTD)
1337
AC_SUBST(BUILD_LVMETAD)
1341
AC_SUBST(CLDNOWHOLEARCHIVE)
1342
AC_SUBST(CLDWHOLEARCHIVE)
1345
AC_SUBST(CLVMD_CMANAGERS)
1346
AC_SUBST(CLVMD_PATH)
1347
AC_SUBST(CMAN_CFLAGS)
1349
AC_SUBST(CMAP_CFLAGS)
1352
AC_SUBST(CONFDB_CFLAGS)
1353
AC_SUBST(CONFDB_LIBS)
1355
AC_SUBST(COPTIMISE_FLAG)
1356
AC_SUBST(CPG_CFLAGS)
1358
AC_SUBST(CSCOPE_CMD)
1360
AC_SUBST(DEFAULT_SYS_DIR)
1361
AC_SUBST(DEFAULT_ARCHIVE_SUBDIR)
1362
AC_SUBST(DEFAULT_BACKUP_SUBDIR)
1363
AC_SUBST(DEFAULT_CACHE_SUBDIR)
1364
AC_SUBST(DEFAULT_DATA_ALIGNMENT)
1365
AC_SUBST(DEFAULT_LOCK_DIR)
1366
AC_SUBST(DEFAULT_RUN_DIR)
1368
AC_SUBST(DLM_CFLAGS)
1372
AC_SUBST(DMEVENTD_PATH)
1374
AC_SUBST(DM_DEVICE_GID)
1375
AC_SUBST(DM_DEVICE_MODE)
1376
AC_SUBST(DM_DEVICE_UID)
1378
AC_SUBST(DM_LIB_VERSION)
1379
AC_SUBST(DM_LIB_PATCHLEVEL)
1382
AC_SUBST(HAVE_LIBDL)
1383
AC_SUBST(HAVE_REALTIME)
1385
AC_SUBST(INTL_PACKAGE)
1389
AC_SUBST(LIB_SUFFIX)
1392
AC_SUBST(LVM1_FALLBACK)
1393
AC_SUBST(LVM_VERSION)
1394
AC_SUBST(LVM_LIBAPI)
1397
AC_SUBST(LVM_PATCHLEVEL)
1399
AC_SUBST(LVM_RELEASE)
1400
AC_SUBST(LVM_RELEASE_DATE)
1407
AC_SUBST(PTHREAD_LIBS)
1408
AC_SUBST(QUORUM_CFLAGS)
1409
AC_SUBST(QUORUM_LIBS)
1411
AC_SUBST(READLINE_LIBS)
1412
AC_SUBST(REPLICATORS)
1413
AC_SUBST(SACKPT_CFLAGS)
1414
AC_SUBST(SACKPT_LIBS)
1415
AC_SUBST(SALCK_CFLAGS)
1416
AC_SUBST(SALCK_LIBS)
1417
AC_SUBST(SELINUX_LIBS)
1418
AC_SUBST(SELINUX_LIBS_STATIC)
1419
AC_SUBST(SELINUX_PC)
1422
AC_SUBST(STATIC_LINK)
1427
AC_SUBST(UDEV_RULES)
1429
AC_SUBST(UDEV_HAS_BUILTIN_BLKID)
1430
AC_SUBST(CUNIT_LIBS)
1431
AC_SUBST(CUNIT_CFLAGS)
1432
AC_SUBST(WRITE_INSTALL)
1433
AC_SUBST(DMEVENTD_PIDFILE)
1436
AC_SUBST(missingkernel)
1439
AC_SUBST(udev_prefix)
1441
AC_SUBST(systemdsystemunitdir)
1442
AC_SUBST(tmpfilesdir)
1444
AC_SUBST(usrsbindir)
1446
################################################################################
1447
dnl -- First and last lines should not contain files to generate in order to
1448
dnl -- keep utility scripts running properly
1453
daemons/clvmd/Makefile
1454
daemons/cmirrord/Makefile
1455
daemons/dmeventd/Makefile
1456
daemons/dmeventd/libdevmapper-event.pc
1457
daemons/dmeventd/plugins/Makefile
1458
daemons/dmeventd/plugins/lvm2/Makefile
1459
daemons/dmeventd/plugins/raid/Makefile
1460
daemons/dmeventd/plugins/mirror/Makefile
1461
daemons/dmeventd/plugins/snapshot/Makefile
1462
daemons/dmeventd/plugins/thin/Makefile
1463
daemons/lvmetad/Makefile
1469
lib/format1/Makefile
1470
lib/format_pool/Makefile
1471
lib/locking/Makefile
1473
lib/replicator/Makefile
1474
lib/misc/lvm-version.h
1476
lib/snapshot/Makefile
1479
libdaemon/client/Makefile
1480
libdaemon/server/Makefile
1482
libdm/libdevmapper.pc
1484
liblvm/liblvm2app.pc
1487
scripts/clvmd_init_red_hat
1488
scripts/cmirrord_init_red_hat
1489
scripts/lvm2_lvmetad_init_red_hat
1490
scripts/lvm2_lvmetad_systemd_red_hat.socket
1491
scripts/lvm2_lvmetad_systemd_red_hat.service
1492
scripts/lvm2_monitoring_init_red_hat
1493
scripts/dm_event_systemd_red_hat.service
1494
scripts/lvm2_monitoring_systemd_red_hat.service
1495
scripts/lvm2_tmpfiles_red_hat.conf
1502
unit-tests/datastruct/Makefile
1503
unit-tests/regex/Makefile
1504
unit-tests/mm/Makefile
1508
if test x$ODIRECT != xyes; then
1509
AC_MSG_WARN(Warning: O_DIRECT disabled: low-memory pvmove may lock up)