* main - configure.ac: only use `AS_CASE` for conditional blocks
@ 2023-02-10 16:53 Zdenek Kabelac
0 siblings, 0 replies; only message in thread
From: Zdenek Kabelac @ 2023-02-10 16:53 UTC (permalink / raw)
To: lvm-devel
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=cf204ce55ea892ffaa4ff63dac548145544679fb
Commit: cf204ce55ea892ffaa4ff63dac548145544679fb
Parent: 583cb699cfc76237c5daf1165f599af05c4295dd
Author: David Seifert <soap@gentoo.org>
AuthorDate: Sun Nov 27 15:35:07 2022 +0100
Committer: Zdenek Kabelac <zkabelac@redhat.com>
CommitterDate: Fri Feb 10 17:50:27 2023 +0100
configure.ac: only use `AS_CASE` for conditional blocks
Like `AS_IF([...])`, `AS_CASE` bubbles nested `AC_REQUIRE()` to the
top-level.
---
configure.ac | 213 +++++++++++++++++++++++++----------------------------------
1 file changed, 91 insertions(+), 122 deletions(-)
diff --git a/configure.ac b/configure.ac
index b29e676bb..4ddf0a430 100644
--- a/configure.ac
+++ b/configure.ac
@@ -28,8 +28,8 @@ dnl -- Get system type
AC_CANONICAL_TARGET([])
AS_IF([test -z "$CFLAGS"], [COPTIMISE_FLAG="-O2"])
-case "$host_os" in
- linux*)
+AS_CASE(["$host_os"],
+ [linux*], [
# equivalent to -rdynamic
ELDFLAGS="-Wl,--export-dynamic"
# FIXME Generate list and use --dynamic-list=.dlopen.sym
@@ -43,9 +43,8 @@ case "$host_os" in
SELINUX=yes
FSADM=yes
LVMIMPORTVDO=yes
- BLKDEACTIVATE=yes
- ;;
- darwin*)
+ BLKDEACTIVATE=yes],
+ [darwin*], [
CFLAGS="$CFLAGS -no-cpp-precomp -fno-common"
ELDFLAGS=
CLDWHOLEARCHIVE="-all_load"
@@ -57,12 +56,8 @@ case "$host_os" in
SELINUX=no
FSADM=no
LVMIMPORTVDO=no
- BLKDEACTIVATE=no
- ;;
- *)
- CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"
- ;;
-esac
+ BLKDEACTIVATE=no],
+ [CLDFLAGS="${CLDFLAGS-"$LDFLAGS"}"])
################################################################################
dnl -- Checks for programs.
@@ -106,12 +101,9 @@ AC_CHECK_HEADERS([assert.h ctype.h dirent.h errno.h fcntl.h float.h \
AC_CHECK_HEADERS(termios.h sys/statvfs.h sys/timerfd.h sys/vfs.h linux/magic.h linux/fiemap.h)
AC_CHECK_HEADERS(libaio.h,LVM_NEEDS_LIBAIO_WARN=,LVM_NEEDS_LIBAIO_WARN=y)
-case "$host_os" in
- linux*)
- AC_CHECK_HEADERS(asm/byteorder.h linux/fs.h malloc.h,,AC_MSG_ERROR(bailing out)) ;;
- darwin*)
- AC_CHECK_HEADERS(machine/endian.h sys/disk.h,,AC_MSG_ERROR(bailing out)) ;;
-esac
+AS_CASE(["$host_os"],
+ [linux*], [AC_CHECK_HEADERS([asm/byteorder.h linux/fs.h malloc.h], [], [AC_MSG_ERROR(bailing out)])],
+ [darwin*], [AC_CHECK_HEADERS([machine/endian.h sys/disk.h], [], [AC_MSG_ERROR(bailing out)])])
################################################################################
dnl -- Check for typedefs, structures, and compiler characteristics.
@@ -270,11 +262,10 @@ AC_ARG_WITH(device-nodes-on,
AS_HELP_STRING([--with-device-nodes-on=ON],
[create nodes on resume or create [ON=resume]]),
ADD_NODE=$withval, ADD_NODE=resume)
-case "$ADD_NODE" in
- resume) add_on=DM_ADD_NODE_ON_RESUME;;
- create) add_on=DM_ADD_NODE_ON_CREATE;;
- *) AC_MSG_ERROR([--with-device-nodes-on parameter invalid]);;
-esac
+AS_CASE(["$ADD_NODE"],
+ [resume], [add_on=DM_ADD_NODE_ON_RESUME],
+ [create], [add_on=DM_ADD_NODE_ON_CREATE],
+ [AC_MSG_ERROR([--with-device-nodes-on parameter invalid])])
AC_MSG_RESULT(on $ADD_NODE)
AC_DEFINE_UNQUOTED([DEFAULT_DM_ADD_NODE], $add_on, [Define default node creation behavior with dmsetup create])
@@ -284,10 +275,9 @@ AC_MSG_CHECKING(default for use_devicesfile)
AC_ARG_WITH(default-use-devices-file,
AS_HELP_STRING([--with-default-use-devices-file], [default for lvm.conf devices/use_devicesfile = [0]]),
DEFAULT_USE_DEVICES_FILE=$withval, DEFAULT_USE_DEVICES_FILE=0)
-case "$DEFAULT_USE_DEVICES_FILE" in
- 0|1);;
- *) AC_MSG_ERROR([--with-default-use-devices-file parameter invalid]);;
-esac
+AS_CASE(["$DEFAULT_USE_DEVICES_FILE"],
+ [0|1], [],
+ [AC_MSG_ERROR([--with-default-use-devices-file parameter invalid])])
AC_MSG_RESULT($DEFAULT_USE_DEVICES_FILE)
AC_DEFINE_UNQUOTED(DEFAULT_USE_DEVICES_FILE, [$DEFAULT_USE_DEVICES_FILE],
[Default for lvm.conf use_devicesfile.])
@@ -297,12 +287,11 @@ AC_ARG_WITH(default-name-mangling,
AS_HELP_STRING([--with-default-name-mangling=MANGLING],
[default name mangling: auto/none/hex [auto]]),
MANGLING=$withval, MANGLING=auto)
-case "$MANGLING" in
- auto) mangling=DM_STRING_MANGLING_AUTO;;
- no|none|disabled) mangling=DM_STRING_MANGLING_NONE;;
- hex) mangling=DM_STRING_MANGLING_HEX;;
- *) AC_MSG_ERROR([--with-default-name-mangling parameter invalid]);;
-esac
+AS_CASE(["$MANGLING"],
+ [auto], [mangling=DM_STRING_MANGLING_AUTO],
+ [no|none|disabled], [mangling=DM_STRING_MANGLING_NONE],
+ [hex], [mangling=DM_STRING_MANGLING_HEX],
+ [AC_MSG_ERROR([--with-default-name-mangling parameter invalid])])
AC_MSG_RESULT($MANGLING)
AC_DEFINE_UNQUOTED([DEFAULT_DM_NAME_MANGLING], $mangling, [Define default name mangling behaviour])
@@ -315,12 +304,11 @@ AC_ARG_WITH(snapshots,
SNAPSHOTS=$withval, SNAPSHOTS=internal)
AC_MSG_RESULT($SNAPSHOTS)
-case "$SNAPSHOTS" in
- no|none|shared) ;;
- internal) AC_DEFINE([SNAPSHOT_INTERNAL], 1,
- [Define to 1 to include built-in support for snapshots.]) ;;
- *) AC_MSG_ERROR([--with-snapshots parameter invalid]) ;;
-esac
+AS_CASE(["$SNAPSHOTS"],
+ [no|none|shared], [],
+ [internal], [
+ AC_DEFINE([SNAPSHOT_INTERNAL], 1, [Define to 1 to include built-in support for snapshots.])],
+ [AC_MSG_ERROR([--with-snapshots parameter invalid])])
################################################################################
dnl -- mirrors inclusion type
@@ -331,12 +319,11 @@ AC_ARG_WITH(mirrors,
MIRRORS=$withval, MIRRORS=internal)
AC_MSG_RESULT($MIRRORS)
-case "$MIRRORS" in
- no|none|shared) ;;
- internal) AC_DEFINE([MIRRORED_INTERNAL], 1,
- [Define to 1 to include built-in support for mirrors.]) ;;
- *) AC_MSG_ERROR([--with-mirrors parameter invalid]) ;;
-esac
+AS_CASE(["$MIRRORS"],
+ [no|none|shared], [],
+ [internal], [
+ AC_DEFINE([MIRRORED_INTERNAL], 1, [Define to 1 to include built-in support for mirrors.])],
+ [AC_MSG_ERROR([--with-mirrors parameter invalid])])
################################################################################
dnl -- raid inclusion type
@@ -360,12 +347,11 @@ AC_DEFINE_UNQUOTED([DEFAULT_RAID10_SEGTYPE], ["$DEFAULT_RAID10_SEGTYPE"],
################################################################################
AC_ARG_WITH(default-sparse-segtype,
- AS_HELP_STRING([--with-default-sparse-segtype=TYPE],
- [default sparse segtype: thin/snapshot [thin]]),
- [ case "$withval" in
- thin|snapshot) DEFAULT_SPARSE_SEGTYPE=$withval ;;
- *) AC_MSG_ERROR(--with-default-sparse-segtype parameter invalid) ;;
- esac], DEFAULT_SPARSE_SEGTYPE="thin")
+ AS_HELP_STRING([--with-default-sparse-segtype=TYPE], [default sparse segtype: thin/snapshot [thin]]), [
+ AS_CASE(["$withval"],
+ [thin|snapshot], [DEFAULT_SPARSE_SEGTYPE=$withval],
+ [AC_MSG_ERROR([--with-default-sparse-segtype parameter invalid])])
+ ], [DEFAULT_SPARSE_SEGTYPE="thin"])
################################################################################
dnl -- thin provisioning
@@ -393,13 +379,12 @@ AC_ARG_WITH(thin-restore,
AC_MSG_RESULT($THIN)
-case "$THIN" in
- no|none) test "$DEFAULT_SPARSE_SEGTYPE" = "thin" && DEFAULT_SPARSE_SEGTYPE="snapshot" ;;
- shared) ;;
- internal) AC_DEFINE([THIN_INTERNAL], 1,
- [Define to 1 to include built-in support for thin provisioning.]) ;;
- *) AC_MSG_ERROR([--with-thin parameter invalid ($THIN)]) ;;
-esac
+AS_CASE(["$THIN"],
+ [no|none], [test "$DEFAULT_SPARSE_SEGTYPE" = "thin" && DEFAULT_SPARSE_SEGTYPE="snapshot"],
+ [shared], [],
+ [internal], [
+ AC_DEFINE([THIN_INTERNAL], 1, [Define to 1 to include built-in support for thin provisioning.])],
+ [AC_MSG_ERROR([--with-thin parameter invalid ($THIN)])])
AC_DEFINE_UNQUOTED([DEFAULT_SPARSE_SEGTYPE], ["$DEFAULT_SPARSE_SEGTYPE"],
[Default segtype used for sparse volumes.])
@@ -412,8 +397,8 @@ AC_ARG_ENABLE(thin_check_needs_check,
# Test if necessary thin tools are available
# if not - use plain defaults and warn user
-case "$THIN" in
- internal|shared)
+AS_CASE(["$THIN"],
+ [internal|shared], [
# Empty means a config way to ignore thin checking
AS_IF([test "$THIN_CHECK_CMD" = "autodetect"], [
AC_PATH_TOOL(THIN_CHECK_CMD, thin_check, [], [$PATH_SBIN])
@@ -471,8 +456,7 @@ case "$THIN" in
AS_IF([test "$THIN_CHECK_NEEDS_CHECK" = "yes"], [
AC_DEFINE([THIN_CHECK_NEEDS_CHECK], 1, [Define to 1 if the external 'thin_check' tool requires the --clear-needs-check-flag option])
])
- ;;
-esac
+])
AC_DEFINE_UNQUOTED([THIN_CHECK_CMD], ["$THIN_CHECK_CMD"],
[The path to 'thin_check', if available.])
@@ -511,11 +495,11 @@ AC_ARG_WITH(cache-restore,
CACHE_RESTORE_CMD=$withval, CACHE_RESTORE_CMD="autodetect")
AC_MSG_RESULT($CACHE)
-case "$CACHE" in
- no|none|shared) ;;
- internal) AC_DEFINE([CACHE_INTERNAL], 1, [Define to 1 to include built-in support for cache.]) ;;
- *) AC_MSG_ERROR([--with-cache parameter invalid]) ;;
-esac
+AS_CASE(["$CACHE"],
+ [no|none|shared], [],
+ [internal], [
+ AC_DEFINE([CACHE_INTERNAL], 1, [Define to 1 to include built-in support for cache.])],
+ [AC_MSG_ERROR([--with-cache parameter invalid])])
dnl -- cache_check needs-check flag
AC_ARG_ENABLE(cache_check_needs_check,
@@ -525,8 +509,8 @@ AC_ARG_ENABLE(cache_check_needs_check,
# Test if necessary cache tools are available
# if not - use plain defaults and warn user
-case "$CACHE" in
- internal|shared)
+AS_CASE(["$CACHE"],
+ [internal|shared], [
# Empty means a config way to ignore cache checking
AS_IF([test "$CACHE_CHECK_CMD" = "autodetect"], [
AC_PATH_TOOL(CACHE_CHECK_CMD, cache_check, [], [$PATH_SBIN])
@@ -595,8 +579,7 @@ case "$CACHE" in
AS_IF([test "$CACHE_CHECK_NEEDS_CHECK" = "yes"], [
AC_DEFINE([CACHE_CHECK_NEEDS_CHECK], 1, [Define to 1 if the external 'cache_check' tool requires the --clear-needs-check-flag option])
])
- ;;
-esac
+])
AC_DEFINE_UNQUOTED([CACHE_CHECK_CMD], ["$CACHE_CHECK_CMD"],
[The path to 'cache_check', if available.])
@@ -624,21 +607,19 @@ AC_ARG_WITH(vdo-format,
AS_HELP_STRING([--with-vdo-format=PATH],
[vdoformat tool: [autodetect]]),
VDO_FORMAT_CMD=$withval, VDO_FORMAT_CMD="autodetect")
-case "$VDO" in
- no|none) ;;
- internal)
- AC_DEFINE([VDO_INTERNAL], 1, [Define to 1 to include built-in support for vdo.])
- AS_IF([test "$VDO_FORMAT_CMD" = "autodetect"], [
- AC_PATH_TOOL(VDO_FORMAT_CMD, vdoformat, [], [$PATH])
- AS_IF([test -z "$VDO_FORMAT_CMD"], [
- AC_MSG_WARN([vdoformat not found in path $PATH])
- VDO_FORMAT_CMD=/usr/bin/vdoformat
- VDO_CONFIGURE_WARN=y
- ])
- ])
- ;;
- *) AC_MSG_ERROR([--with-vdo parameter invalid]) ;;
-esac
+AS_CASE(["$VDO"],
+ [no|none], [],
+ [internal], [
+ AC_DEFINE([VDO_INTERNAL], 1, [Define to 1 to include built-in support for vdo.])
+ AS_IF([test "$VDO_FORMAT_CMD" = "autodetect"], [
+ AC_PATH_TOOL(VDO_FORMAT_CMD, vdoformat, [], [$PATH])
+ AS_IF([test -z "$VDO_FORMAT_CMD"], [
+ AC_MSG_WARN([vdoformat not found in path $PATH])
+ VDO_FORMAT_CMD=/usr/bin/vdoformat
+ VDO_CONFIGURE_WARN=y
+ ])
+ ])],
+ [AC_MSG_ERROR([--with-vdo parameter invalid])])
AC_DEFINE_UNQUOTED([VDO_FORMAT_CMD], ["$VDO_FORMAT_CMD"],
[The path to 'vdoformat', if available.])
@@ -668,13 +649,11 @@ AC_ARG_WITH(writecache,
AC_MSG_RESULT($WRITECACHE)
-case "$WRITECACHE" in
- no|none) ;;
- internal)
- AC_DEFINE([WRITECACHE_INTERNAL], 1, [Define to 1 to include built-in support for writecache.])
- ;;
- *) AC_MSG_ERROR([--with-writecache parameter invalid]) ;;
-esac
+AS_CASE(["$WRITECACHE"],
+ [no|none], [],
+ [internal], [
+ AC_DEFINE([WRITECACHE_INTERNAL], 1, [Define to 1 to include built-in support for writecache.])],
+ [AC_MSG_ERROR([--with-writecache parameter invalid])])
################################################################################
dnl -- integrity inclusion type
@@ -686,13 +665,11 @@ AC_ARG_WITH(integrity,
AC_MSG_RESULT($INTEGRITY)
-case "$INTEGRITY" in
- no|none) ;;
- internal)
- AC_DEFINE([INTEGRITY_INTERNAL], 1, [Define to 1 to include built-in support for integrity.])
- ;;
- *) AC_MSG_ERROR([--with-integrity parameter invalid]) ;;
-esac
+AS_CASE(["$INTEGRITY"],
+ [no|none], [],
+ [internal], [
+ AC_DEFINE([INTEGRITY_INTERNAL], 1, [Define to 1 to include built-in support for integrity.])],
+ [AC_MSG_ERROR([--with-integrity parameter invalid])])
################################################################################
# Allow users to override default location for libaio
@@ -825,23 +802,21 @@ AC_MSG_RESULT($COPTIMISE_FLAG)
dnl -- Symbol versioning
AC_MSG_CHECKING(whether to use symbol versioning)
AC_ARG_WITH(symvers,
- AS_HELP_STRING([--with-symvers=STYLE],
- [use symbol versioning of the shared library [default=gnu]]),
- [ case "$withval" in
- gnu|no) symvers=$withval ;;
- *) AC_MSG_ERROR(--with-symvers parameter invalid) ;;
- esac], symvers=gnu)
+ AS_HELP_STRING([--with-symvers=STYLE],
+ [use symbol versioning of the shared library [default=gnu]]), [
+ AS_CASE(["$withval"],
+ [gnu|no], [symvers=$withval],
+ [AC_MSG_ERROR(--with-symvers parameter invalid)])],
+ [symvers=gnu])
AC_MSG_RESULT($symvers)
AS_IF([test "$GCC" = "yes" && test "$symvers" = "gnu"], [
AC_DEFINE(GNU_SYMVER, 1,
[Define to use GNU versioning in the shared library.])
- case "$host_os" in
- linux*)
+ AS_CASE(["$host_os"],
+ [linux*], [
CLDFLAGS="${CLDFLAGS-"$LDFLAGS"} -Wl,--version-script,.export.sym"
- LDDEPS="$LDDEPS .export.sym"
- ;;
- esac
+ LDDEPS="$LDDEPS .export.sym"])
])
################################################################################
@@ -1010,12 +985,9 @@ AS_IF([test "$BUILD_LVMLOCKD" = "yes"], [
AS_IF([test "$BUILD_LVMPOLLD" = "no"], [BUILD_LVMPOLLD=yes; AC_MSG_WARN([Enabling lvmpolld - required by lvmlockd.])])
AC_MSG_CHECKING([defaults for use_lvmlockd])
AC_ARG_ENABLE(use_lvmlockd,
- AS_HELP_STRING([--disable-use-lvmlockd],
- [disable usage of LVM lock daemon]),
- [case ${enableval} in
- yes) DEFAULT_USE_LVMLOCKD=1 ;;
- *) DEFAULT_USE_LVMLOCKD=0 ;;
- esac], DEFAULT_USE_LVMLOCKD=1)
+ [AS_HELP_STRING([--disable-use-lvmlockd], [disable usage of LVM lock daemon])],
+ [AS_IF([test "$enableval" = "yes"], [DEFAULT_USE_LVMLOCKD=1], [DEFAULT_USE_LVMLOCKD=0])],
+ [DEFAULT_USE_LVMLOCKD=1])
AC_MSG_RESULT($DEFAULT_USE_LVMLOCKD)
AC_DEFINE([LVMLOCKD_SUPPORT], 1, [Define to 1 to include code that uses lvmlockd.])
@@ -1037,12 +1009,9 @@ dnl -- Check lvmpolld
AS_IF([test "$BUILD_LVMPOLLD" = "yes"], [
AC_MSG_CHECKING([defaults for use_lvmpolld])
AC_ARG_ENABLE(use_lvmpolld,
- AS_HELP_STRING([--disable-use-lvmpolld],
- [disable usage of LVM Poll Daemon]),
- [case ${enableval} in
- yes) DEFAULT_USE_LVMPOLLD=1 ;;
- *) DEFAULT_USE_LVMPOLLD=0 ;;
- esac], DEFAULT_USE_LVMPOLLD=1)
+ [AS_HELP_STRING([--disable-use-lvmpolld], [disable usage of LVM Poll Daemon])],
+ [AS_IF([test "$enableval" = "yes"], [DEFAULT_USE_LVMPOLLD=1], [DEFAULT_USE_LVMPOLLD=0])],
+ [DEFAULT_USE_LVMPOLLD=1])
AC_MSG_RESULT($DEFAULT_USE_LVMPOLLD)
AC_DEFINE([LVMPOLLD_SUPPORT], 1, [Define to 1 to include code that uses lvmpolld.])
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2023-02-10 16:53 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-02-10 16:53 main - configure.ac: only use `AS_CASE` for conditional blocks Zdenek Kabelac
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.