1
1
openmpi/config/opal_check_version.m4

80 строки
2.7 KiB
Bash

dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2016 IBM Corporation. All rights reserved.
dnl $COPYRIGHT$
dnl
dnl Additional copyrights may follow
dnl
dnl $HEADER$
dnl
# Parameters: (use a version "1.1.4rc2" as the example)
# * prefix
# Will export a variable $prefix_version_cmp
# - action_if_less => "less"
# - action_if_equal => "equal"
# - action_if_equal_series => "series"
# - action_if_greater => "greater"
# * version_actual
# Actual version string
# * version_desired
# Desired version string to check against
# * action_if_less
# Action to take if the version is strictly less than
# "1.1.3" < "1.1.4rc2"
# * action_if_equal
# Action to take if the version matches exactly
# "1.1.4rc2" = "1.1.4rc2"
# * action_if_equal_series
# Action to take if the version matches to this series
# "1.1.4rc1" ~=~ "1.1.4rc2"
# "1.1.4" ~=~ "1.1.4rc2"
# * action_if_greater
# Action to take if the version is strictly greater than
# "1.1.5" > "1.1.4rc2"
# "2.0" > "1.1.4rc2"
#
# See documentation on m4_version_compare and AS_VERSION_COMPARE for more
# precise definitions
# OPAL_CHECK_VERSION(prefix, version_actual, version_desired,
# action_if_less, action_if_equal, action_if_equal_series,
# action_if_greater)
# ----------------------------------------------------
AC_DEFUN([OPAL_CHECK_VERSION],[
version_actual=$2
version_desired=$3
AC_MSG_CHECKING([Checking library version is $version_desired])
#
# Example: If version_desired=1.1.4 and
# version_actual=1.1.3 -> -1
# version_actual=1.1.4 -> 0
# version_actual=1.1.4rc1 -> 1
# version_actual=1.1.5 -> 1 (need further check)
#
AS_VERSION_COMPARE(["$version_actual"], [$version_desired],
[AC_MSG_RESULT([Earlier than expected ($version_actual < $$version_desired)])
$1_version_cmp="less"
$4],
[AC_MSG_RESULT([Equal])
$1_version_cmp="equal"
$5],
[
# Need further check to make sure we are < 1.1.5
# version_actual=1.1.4rc1 -> -1
# version_actual=1.1.4 -> 0 (caught above)
# version_actual=1.1.5 -> 1
AS_VERSION_COMPARE(["$version_actual"], [$version_desired"zzzz"],
[AC_MSG_RESULT([Within release series ($version_actual)])
$1_version_cmp="series"
$6],
[AC_MSG_RESULT([Within release series ($version_actual)])
$1_version_cmp="series"
$6],
[AC_MSG_RESULT([Later than expected ($version_actual > $$version_desired)])
$1_version_cmp="greater"
$7]
)]
)
])dnl