xref: /dragonfly/contrib/lvm2/dist/configure.in (revision 86d7f5d3)
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