|
||||
File indexing completed on 2025-01-18 10:15:43
0001 /******************************************************************************/ 0002 /* */ 0003 /* X r d V e r s i o n . h h . i n */ 0004 /* */ 0005 /* (c) 2012 by the Board of Trustees of the Leland Stanford, Jr., University */ 0006 /* */ 0007 /* This file is part of the XRootD software suite. */ 0008 /* */ 0009 /* XRootD is free software: you can redistribute it and/or modify it under */ 0010 /* the terms of the GNU Lesser General Public License as published by the */ 0011 /* Free Software Foundation, either version 3 of the License, or (at your */ 0012 /* option) any later version. */ 0013 /* */ 0014 /* XRootD is distributed in the hope that it will be useful, but WITHOUT */ 0015 /* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or */ 0016 /* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public */ 0017 /* License for more details. */ 0018 /* */ 0019 /* You should have received a copy of the GNU Lesser General Public License */ 0020 /* along with XRootD in a file called COPYING.LESSER (LGPL license) and file */ 0021 /* COPYING (GPL license). If not, see <http://www.gnu.org/licenses/>. */ 0022 /* */ 0023 /* The copyright holder's institutional names and contributor's names may not */ 0024 /* be used to endorse or promote products derived from this software without */ 0025 /* specific prior written permission of the institution or contributor. */ 0026 /******************************************************************************/ 0027 0028 #ifndef __XRD_VERSION_H__ 0029 #define __XRD_VERSION_H__ 0030 0031 #define XrdVERSION "v5.7.0" 0032 0033 // Numeric representation of the version tag 0034 // The format for the released code is: xyyzz, where: x is the major version, 0035 // y is the minor version and zz is the bugfix revision number 0036 // For the non-released code the value is 1000000 0037 #define XrdVNUMUNK 1000000 0038 #define XrdVNUMBER 50700 0039 0040 #if XrdDEBUG 0041 #define XrdVSTRING XrdVERSION "_dbg" 0042 #else 0043 #define XrdVSTRING XrdVERSION 0044 #endif 0045 0046 // The following defines the shared library version number of any plug-in. 0047 // Generally, all plug-ins have a uniform version number releative to a 0048 // specific compilation. This version is appended to the so-name and for 0049 // dylibs becomes part of he actual filename (MacOS format). 0050 // 0051 #ifndef XRDPLUGIN_SOVERSION 0052 #define XRDPLUGIN_SOVERSION "5" 0053 #endif 0054 0055 #define XrdDEFAULTPORT 1094; 0056 0057 // The following macros extract version digits from a numeric version number 0058 #define XrdMajorVNUM(x) x/10000 0059 #define XrdMinorVNUM(x) x/100%100 0060 #define XrdPatchVNUM(x) x%100 0061 0062 // The following structure defines the standard way to record a version. You can 0063 // determine component version numbers within an object file by simply executing 0064 // "strings <objectfile> | grep '@V:'". 0065 // 0066 struct XrdVersionInfo {int vNum; const char vOpt; const char vPfx[3];\ 0067 const char vStr[64];}; 0068 0069 // Macro to define the suffix to use when generating the extern version symbol. 0070 // This is used by SysPlugin. We cannot use it here as cpp does not expand the 0071 // macro when catenating tokens togther and we want to avoid yet another macro. 0072 // 0073 #define XrdVERSIONINFOSFX "_" 0074 0075 // The following macro defines a local copy of version information. Parameters: 0076 // x -> The variable name of the version information structure 0077 // y -> An unquoted 1- to 15-character component name (e.g. cmsd, seckrb5) 0078 // vn -> The integer version number to be used 0079 // vs -> The string version number to be used 0080 // 0081 #define XrdVERSIONINFODEF(x,y,vn,vs) \ 0082 XrdVersionInfo x = \ 0083 {vn, (sizeof(#y)-1) & 0x0f,{'@','V',':'}, #y " " vs} 0084 0085 // The following macro defines an externally referencable structure that records 0086 // the version used to compile code. It is used by the plugin loader. Parms: 0087 // x -> The variable name of the version information structure 0088 // y -> An unquoted 1- to 15-character component name (e.g. cmsd, seckrb5, etc). 0089 // 0090 #define XrdVERSIONINFO(x,y) \ 0091 extern "C" {XrdVERSIONINFODEF(x##_,y,XrdVNUMBER,XrdVERSION);} 0092 0093 // The following macro is an easy way to declare externally defined version 0094 // information. This macro must be used at file level. 0095 // 0096 #define XrdVERSIONINFOREF(x) extern "C" XrdVersionInfo x##_ 0097 0098 // The following macro can be used to reference externally defined version 0099 // information. As the composition of the symbolic name may change you should 0100 // use this macro to refer to the version information declaration. 0101 // 0102 #define XrdVERSIONINFOVAR(x) x##_ 0103 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |