From baaae56657b1199ede860d61c1d9e27fe6813fac Mon Sep 17 00:00:00 2001 From: Oliver Sander <sander@dune-project.org> Date: Tue, 28 Jun 2011 18:45:35 +0000 Subject: [PATCH] properly document how the module names are formed. Thanks to Andreas Lauser for the patch [[Imported from SVN: r6473]] --- dune/common/version.hh | 95 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 89 insertions(+), 6 deletions(-) diff --git a/dune/common/version.hh b/dune/common/version.hh index 2f3e7bb57..b412ff68d 100644 --- a/dune/common/version.hh +++ b/dune/common/version.hh @@ -8,38 +8,121 @@ */ /** \brief Constructs the preprocessor name used in config.h to hold version numbers + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + * * \param module The name of the Dune module * \param type The version number type, one of MAJOR, MINOR, or REVISION */ #define DUNE_VERSION_JOIN(module,type) module ## _VERSION_ ## type -/** \brief True if 'module' has the version major.minor */ +/** + * \brief True if 'module' has the version major.minor + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_VERSION_EQUAL(module,major,minor) \ ((DUNE_VERSION_JOIN(module,MAJOR) == major) && \ (DUNE_VERSION_JOIN(module,MINOR) == minor)) -/** \brief True if 'module' has the version major.minor.revision */ +/** + * \brief True if 'module' has the version major.minor.revision + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_VERSION_EQUAL_REV(module,major,minor,revision) \ ( DUNE_VERSION_EQUAL(module,major,minor) && \ (DUNE_VERSION_JOIN(module,REVISION) == revision)) -/** \brief True if 'module' has the version major.minor or newer */ +/** + * \brief True if 'module' has the version major.minor or newer + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_VERSION_NEWER(module,major,minor) \ ((DUNE_VERSION_JOIN(module,MAJOR) > major) \ || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) >= minor))) -/** \brief True if 'module' has the version major.minor.revision or newer */ +/** + * \brief True if 'module' has the version major.minor.revision or newer + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_VERSION_NEWER_REV(module,major,minor,revision) \ ((DUNE_VERSION_JOIN(module,MAJOR) > major) \ || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) > minor)) \ || ((DUNE_VERSION_JOIN(module,MAJOR) == major) && (DUNE_VERSION_JOIN(module,MINOR) == minor) \ && (DUNE_VERSION_JOIN(module,REVISION) >= revision))) -/** \brief Compute a unique uint id from the major, minor, and revision numbers */ +/** + * \brief Compute a unique uint id from the major, minor, and revision numbers + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_VERSION_ID(major,minor,revision) \ ((unsigned int)((major << 24) + (minor << 16) + revision)) -/** \brief Compute a unique uint id for the given module */ +/** + * \brief Compute a unique uint id for the given module + * + * For the DUNE core modules you need to use the following module names: + * - DUNE_COMMON for dune-common + * - DUNE_GRID for dune-grid + * - DUNE_ISTL for dune-istl + * - DUNE_LOCALFUNCTIONS for dune-localfunctions + * + * For external DUNE modules, you should capitalize the name and + * replace '-' by underscores. For example for the module foo-bar you + * need to use FOO_BAR as module name in the context of this macro. + */ #define DUNE_MODULE_VERSION_ID(module) \ DUNE_VERSION_ID( DUNE_VERSION_JOIN(module,MAJOR), DUNE_VERSION_JOIN(module,MINOR), DUNE_VERSION_JOIN(module,REVISION) ) -- GitLab