openmpi/VERSION

168 lines
6.6 KiB
Plaintext
Raw Normal View History

2022-11-01 14:45:02 +08:00
#if 0
# NOTE: The comments below cannot use tokens that will be intepreted
# as C++ preprocessor directives. So when you read "if 0", the reader
# must mentally prepend a # to the "if" token.
#
# This file is carefully constructed so that it can be a) run as a
# Bourne shell script and b) compiled as a C/C++ header file.
#
# Specifically, this file is used in the following ways:
#
# 1. This file is executed as a Bourne shell script to assign version
# numbers to shell variables in config/opal_get_version.* and
# configure.ac.
# 2. On case-insensitive filesystems, this file can get included by
# C++ STL header files when compiling the MPI C++ bindings (i.e.,
# when they "include <version>", that will end up including this
# file).
#
# Case #2 was discovered in
# https://github.com/open-mpi/ompi/issues/9122. The obvious fix for
# this issue would be to rename VERSION (e.g., VERSION.sh). However,
# since the MPI C++ bindings were removed in Open MPI v5.0.0, this
# issue issue only affects legacy Open MPI release series (namely:
# v4.1.x and v4.0.x). As such, do something simple / safe to fix it:
# protect the main body of this file with an "if" preprocessor
# directive.
#
# 1. For case 1, C++ preprocessor directives become Bourne shell comments.
# 2. For case 2, we "if 0" the main body of the file and in the "else"
# block, "include_next<version>" to get the "real" <version> file.
#
# This is a bit of a gross (or clever, depending on your viewpoint)
# hack, but it makes both cases work with minimal changes to the
# legacy v4.0.x and v4.1.x release series.
############################################################################
# Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved.
# Copyright (c) 2008-2021 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2011 NVIDIA Corporation. All rights reserved.
# Copyright (c) 2013 Mellanox Technologies, Inc.
# All rights reserved.
# Copyright (c) 2017 Los Alamos National Security, LLC. All rights
# reserved.
# Copyright (c) 2019 Triad National Security, LLC. All rights
# reserved.
# Copyright (c) 2018-2020 IBM Corporation. All rights reserved.
# Copyright (c) 2018 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2020-2021 Amazon.com, Inc. or its affiliates. All Rights
# reserved.
# This is the VERSION file for Open MPI, describing the precise
# version of Open MPI in this distribution. The various components of
# the version number below are combined to form a single version
# number string.
# major, minor, and release are generally combined in the form
# <major>.<minor>.<release>.
major=4
minor=1
release=4
# greek is generally used for alpha or beta release tags. If it is
# non-empty, it will be appended to the version number. It does not
# have to be numeric. Common examples include: a1 (alpha release 1),
# b1 (beta release 1), rc2 (release candidate 2). The only
# requirement is that it must be entirely printable ASCII characters
# and have no white space.
greek=
# If repo_rev is empty, then the repository version number will be
# obtained during "make dist" via the "git describe --tags --always"
# command, or with the date (if "git describe" fails) in the form of
# "date<date>".
repo_rev=v4.1.4
# If tarball_version is not empty, it is used as the version string in
# the tarball filename, regardless of all other versions listed in
# this file. For example, if tarball_version is empty, the tarball
# filename will be of the form
# openmpi-<major>.<minor>.<release><greek>.tar.*. However, if
# tarball_version is not empty, the tarball filename will be of the
# form openmpi-<tarball_version>.tar.*.
tarball_version=
# The date when this release was created
date="May 26, 2022"
# The shared library version of each of Open MPI's public libraries.
# These versions are maintained in accordance with the "Library
# Interface Versions" chapter from the GNU Libtool documentation. The
# first Open MPI release to programatically specify these versions was
# v1.3.4 (note that Libtool defaulted all prior releases to 0:0:0).
# All changes in these version numbers are dictated by the Open MPI
# release managers (not individual developers). Notes:
# 1. Since these version numbers are associated with *releases*, the
# version numbers maintained on the Open MPI GIT main (and developer
# branches) is always 0:0:0 for all libraries.
# 2. The version number of libmpi refers to the public MPI interfaces.
# It does not refer to any internal interfaces.
# 3. Similar to libmpi, the version numbers of the Fortran libraries
# refer to the public MPI interfaces. For example, that there have
# been typo fixes in the parameter types to mpif.h Fortran library
# functions over time; these technically did not change the interface
# because Fortran 77 does not link by parameter type.
# 4. Similar to libmpi, libmpi_cxx's version number refers to the
# public MPI interfaces. Note that this version number may or may not
# be affected by changes to inlined functions in OMPI's
# header-file-based C++ bindings implementation.
# 5. The ORTE and OPAL libraries will change versions when their
# public interfaces change (as relative to the layer(s) above them).
# None of the ORTE and OPAL interfaces are public to MPI applications,
# but they are "public" within the OMPI code base and select 3rd party
# software packages.
# Version numbers are described in the Libtool current:revision:age
# format.
libmpi_so_version=70:4:30
libmpi_cxx_so_version=70:1:30
libmpi_mpifh_so_version=70:0:30
libmpi_usempi_tkr_so_version=70:0:30
libmpi_usempi_ignore_tkr_so_version=70:0:30
libmpi_usempif08_so_version=70:0:30
libopen_rte_so_version=70:2:30
libopen_pal_so_version=70:2:30
libmpi_java_so_version=70:0:30
liboshmem_so_version=70:2:30
libompitrace_so_version=70:1:30
# "Common" components install standalone libraries that are run-time
# linked by one or more components. So they need to be versioned as
# well. Yuck; this somewhat breaks the
# components-don't-affect-the-build-system abstraction.
# OMPI layer
libmca_ompi_common_ompio_so_version=70:4:29
libmca_ompi_common_monitoring_so_version=70:0:20
# ORTE layer
libmca_orte_common_alps_so_version=70:0:30
# OPAL layer
libmca_opal_common_cuda_so_version=70:0:30
libmca_opal_common_ofi_so_version=10:2:0
libmca_opal_common_sm_so_version=70:0:30
libmca_opal_common_ucx_so_version=70:2:30
libmca_opal_common_ugni_so_version=70:0:30
libmca_opal_common_verbs_so_version=70:0:30
#else
#include_next <version>
#endif