tlm_version.h revision 12027
112027Sjungma@eit.uni-kl.de/***************************************************************************** 212027Sjungma@eit.uni-kl.de 312027Sjungma@eit.uni-kl.de Licensed to Accellera Systems Initiative Inc. (Accellera) under one or 412027Sjungma@eit.uni-kl.de more contributor license agreements. See the NOTICE file distributed 512027Sjungma@eit.uni-kl.de with this work for additional information regarding copyright ownership. 612027Sjungma@eit.uni-kl.de Accellera licenses this file to you under the Apache License, Version 2.0 712027Sjungma@eit.uni-kl.de (the "License"); you may not use this file except in compliance with the 812027Sjungma@eit.uni-kl.de License. You may obtain a copy of the License at 912027Sjungma@eit.uni-kl.de 1012027Sjungma@eit.uni-kl.de http://www.apache.org/licenses/LICENSE-2.0 1112027Sjungma@eit.uni-kl.de 1212027Sjungma@eit.uni-kl.de Unless required by applicable law or agreed to in writing, software 1312027Sjungma@eit.uni-kl.de distributed under the License is distributed on an "AS IS" BASIS, 1412027Sjungma@eit.uni-kl.de WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 1512027Sjungma@eit.uni-kl.de implied. See the License for the specific language governing 1612027Sjungma@eit.uni-kl.de permissions and limitations under the License. 1712027Sjungma@eit.uni-kl.de 1812027Sjungma@eit.uni-kl.de *****************************************************************************/ 1912027Sjungma@eit.uni-kl.de 2012027Sjungma@eit.uni-kl.de/* --------------------------------------------------------------------------------------- 2112027Sjungma@eit.uni-kl.de @file tlm_version.h 2212027Sjungma@eit.uni-kl.de 2312027Sjungma@eit.uni-kl.de @brief TLM version header 2412027Sjungma@eit.uni-kl.de 2512027Sjungma@eit.uni-kl.de Original Author: 2612027Sjungma@eit.uni-kl.de Charles Wilson, XtremeEDA Corporation 2712027Sjungma@eit.uni-kl.de 2812027Sjungma@eit.uni-kl.de @description 2912027Sjungma@eit.uni-kl.de This header contains preprocessor and compiler symbols to allow for the determination 3012027Sjungma@eit.uni-kl.de of the TLM version information. This conforms to IEEE 1666-2005 section 8.5.5 - 8.5.7 3112027Sjungma@eit.uni-kl.de . 3212027Sjungma@eit.uni-kl.de The following are provided: 3312027Sjungma@eit.uni-kl.de . 3412027Sjungma@eit.uni-kl.de preprocessor: TLM_VERSION_MAJOR numeric 3512027Sjungma@eit.uni-kl.de TLM_VERSION_MINOR numeric 3612027Sjungma@eit.uni-kl.de TLM_VERSION_PATCH numeric 3712027Sjungma@eit.uni-kl.de TLM_VERSION_ORIGINATOR string ([A-Z][a-z][0-9]_) 3812027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_DATE ISO8601 date (YYYYMMDD) 3912027Sjungma@eit.uni-kl.de TLM_VERSION_PRERELEASE string ([A-Z][a-z][0-9]_) 4012027Sjungma@eit.uni-kl.de TLM_IS_PRERELEASE bool (1,0) 4112027Sjungma@eit.uni-kl.de TLM_VERSION string {2.0.0_DR3-TLMWG} 4212027Sjungma@eit.uni-kl.de TLM_COPYRIGHT string 4312027Sjungma@eit.uni-kl.de . 4412027Sjungma@eit.uni-kl.de compiler: tlm_version_major const unsigned int 4512027Sjungma@eit.uni-kl.de tlm_version_minor const unsigned int 4612027Sjungma@eit.uni-kl.de tlm_version_patch const unsigned int 4712027Sjungma@eit.uni-kl.de tlm_version_originator const std::string 4812027Sjungma@eit.uni-kl.de tlm_version_release_date const std::string 4912027Sjungma@eit.uni-kl.de tlm_version_prerelease const std::string 5012027Sjungma@eit.uni-kl.de tlm_is_prerelease const bool 5112027Sjungma@eit.uni-kl.de tlm_version const string 5212027Sjungma@eit.uni-kl.de tlm_copyright const string 5312027Sjungma@eit.uni-kl.de . 5412027Sjungma@eit.uni-kl.de accessors: inline const char* tlm_release (void) 5512027Sjungma@eit.uni-kl.de inline const char* tlm_version (void) 5612027Sjungma@eit.uni-kl.de inline const char* tlm_copyright (void) 5712027Sjungma@eit.uni-kl.de 5812027Sjungma@eit.uni-kl.de--------------------------------------------------------------------------------------- */ 5912027Sjungma@eit.uni-kl.de 6012027Sjungma@eit.uni-kl.de#ifndef __TLM_VERSION_H__ 6112027Sjungma@eit.uni-kl.de#define __TLM_VERSION_H__ 6212027Sjungma@eit.uni-kl.de 6312027Sjungma@eit.uni-kl.denamespace tlm 6412027Sjungma@eit.uni-kl.de{ 6512027Sjungma@eit.uni-kl.de 6612027Sjungma@eit.uni-kl.de#define TLM_VERSION_MAJOR 2 ///< version major level ( numeric ) 6712027Sjungma@eit.uni-kl.de#define TLM_VERSION_MINOR 0 ///< version minor level ( numeric ) 6812027Sjungma@eit.uni-kl.de#define TLM_VERSION_PATCH 3 ///< version patch level ( numeric ) 6912027Sjungma@eit.uni-kl.de#define TLM_VERSION_ORIGINATOR "Accellera" ///< TLM creator string 7012027Sjungma@eit.uni-kl.de#define TLM_VERSION_SEPARATOR "." ///< version string separator 7112027Sjungma@eit.uni-kl.de 7212027Sjungma@eit.uni-kl.de#define TLM_IS_PRERELEASE 0 ///< pre-release flag ( 1 / 0 ) 7312027Sjungma@eit.uni-kl.de 7412027Sjungma@eit.uni-kl.de#if TLM_IS_PRERELEASE 7512027Sjungma@eit.uni-kl.de# define TLM_VERSION_PRERELEASE "pub_rev" ///< pre-release version string 7612027Sjungma@eit.uni-kl.de#else 7712027Sjungma@eit.uni-kl.de# define TLM_VERSION_PRERELEASE "" ///< pre-release version string 7812027Sjungma@eit.uni-kl.de#endif 7912027Sjungma@eit.uni-kl.de 8012027Sjungma@eit.uni-kl.de#define TLM_VERSION_RELEASE_YEAR "2013" ///< release year ( YYYY ) 8112027Sjungma@eit.uni-kl.de#define TLM_VERSION_RELEASE_MONTH "12" ///< release month ( MM ) 8212027Sjungma@eit.uni-kl.de#define TLM_VERSION_RELEASE_DAY "15" ///< release day ( DD ) 8312027Sjungma@eit.uni-kl.de 8412027Sjungma@eit.uni-kl.de#define TLM_COPYRIGHT \ 8512027Sjungma@eit.uni-kl.de "Copyright (c) 1996-" TLM_VERSION_RELEASE_YEAR " by all Contributors\n" \ 8612027Sjungma@eit.uni-kl.de "ALL RIGHTS RESERVED" 8712027Sjungma@eit.uni-kl.de 8812027Sjungma@eit.uni-kl.de/************************** do not modify below this line *******************************/ 8912027Sjungma@eit.uni-kl.de 9012027Sjungma@eit.uni-kl.de/******************************* preprocessor symbols ***********************************/ 9112027Sjungma@eit.uni-kl.de 9212027Sjungma@eit.uni-kl.de#define TLM_VERSION_RELEASE_DATE TLM_VERSION_RELEASE_YEAR \ 9312027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_MONTH \ 9412027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_DAY 9512027Sjungma@eit.uni-kl.de 9612027Sjungma@eit.uni-kl.de#define TLM_VERSION_STR(x) TLM_VERSION_STR_HELPER(x) 9712027Sjungma@eit.uni-kl.de#define TLM_VERSION_STR_HELPER(x) #x 9812027Sjungma@eit.uni-kl.de 9912027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_MAJOR TLM_VERSION_STR(TLM_VERSION_MAJOR) 10012027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_MINOR TLM_VERSION_STR(TLM_VERSION_MINOR) 10112027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_PATCH TLM_VERSION_STR(TLM_VERSION_PATCH) 10212027Sjungma@eit.uni-kl.de 10312027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_MMP TLM_VERSION_STRING_MAJOR TLM_VERSION_SEPARATOR \ 10412027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_MINOR TLM_VERSION_SEPARATOR \ 10512027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_PATCH 10612027Sjungma@eit.uni-kl.de 10712027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_PRE_START "_" 10812027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_PRE_END "-" 10912027Sjungma@eit.uni-kl.de 11012027Sjungma@eit.uni-kl.de#if ( TLM_IS_PRERELEASE == 1 ) 11112027Sjungma@eit.uni-kl.de 11212027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_PRERELEASE TLM_VERSION_PRERELEASE 11312027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_RELEASE_DATE "" 11412027Sjungma@eit.uni-kl.de 11512027Sjungma@eit.uni-kl.de#else /* TLM_IS_PRERELEASE == 1 */ 11612027Sjungma@eit.uni-kl.de 11712027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_PRERELEASE "" 11812027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_RELEASE_DATE TLM_VERSION_RELEASE_DATE 11912027Sjungma@eit.uni-kl.de 12012027Sjungma@eit.uni-kl.de#endif /* TLM_IS_PRERELEASE == 1 */ 12112027Sjungma@eit.uni-kl.de 12212027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING TLM_VERSION_STRING_MMP \ 12312027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_PRE_START \ 12412027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_PRERELEASE \ 12512027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_PRE_END \ 12612027Sjungma@eit.uni-kl.de TLM_VERSION_ORIGINATOR 12712027Sjungma@eit.uni-kl.de 12812027Sjungma@eit.uni-kl.de#define TLM_VERSION_STRING_2 "TLM " \ 12912027Sjungma@eit.uni-kl.de TLM_VERSION_STRING_MMP \ 13012027Sjungma@eit.uni-kl.de " --- " \ 13112027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_YEAR \ 13212027Sjungma@eit.uni-kl.de "-" \ 13312027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_MONTH \ 13412027Sjungma@eit.uni-kl.de "-" \ 13512027Sjungma@eit.uni-kl.de TLM_VERSION_RELEASE_DAY 13612027Sjungma@eit.uni-kl.de 13712027Sjungma@eit.uni-kl.de#define TLM_VERSION TLM_VERSION_STRING 13812027Sjungma@eit.uni-kl.de 13912027Sjungma@eit.uni-kl.de/********************************* compiler symbols **************************************/ 14012027Sjungma@eit.uni-kl.de 14112027Sjungma@eit.uni-kl.deconst unsigned int tlm_version_major ( TLM_VERSION_MAJOR ); 14212027Sjungma@eit.uni-kl.deconst unsigned int tlm_version_minor ( TLM_VERSION_MINOR ); 14312027Sjungma@eit.uni-kl.deconst unsigned int tlm_version_patch ( TLM_VERSION_PATCH ); 14412027Sjungma@eit.uni-kl.de 14512027Sjungma@eit.uni-kl.deconst bool tlm_is_prerelease ( TLM_IS_PRERELEASE ); 14612027Sjungma@eit.uni-kl.de 14712027Sjungma@eit.uni-kl.deconst std::string tlm_version_string ( TLM_VERSION_STRING ); 14812027Sjungma@eit.uni-kl.deconst std::string tlm_version_originator ( TLM_VERSION_ORIGINATOR ); 14912027Sjungma@eit.uni-kl.deconst std::string tlm_version_prerelease ( TLM_VERSION_PRERELEASE ); 15012027Sjungma@eit.uni-kl.deconst std::string tlm_version_release_date ( TLM_VERSION_STRING_RELEASE_DATE ); 15112027Sjungma@eit.uni-kl.deconst std::string tlm_copyright_string ( TLM_COPYRIGHT ); 15212027Sjungma@eit.uni-kl.deconst std::string tlm_version_string_2 ( TLM_VERSION_STRING_2 ); 15312027Sjungma@eit.uni-kl.de 15412027Sjungma@eit.uni-kl.deinline const char* 15512027Sjungma@eit.uni-kl.detlm_release 15612027Sjungma@eit.uni-kl.de( void 15712027Sjungma@eit.uni-kl.de) 15812027Sjungma@eit.uni-kl.de{ 15912027Sjungma@eit.uni-kl.de return tlm_version_string.c_str (); 16012027Sjungma@eit.uni-kl.de} 16112027Sjungma@eit.uni-kl.de 16212027Sjungma@eit.uni-kl.deinline const char* 16312027Sjungma@eit.uni-kl.detlm_version 16412027Sjungma@eit.uni-kl.de( void 16512027Sjungma@eit.uni-kl.de) 16612027Sjungma@eit.uni-kl.de{ 16712027Sjungma@eit.uni-kl.de return tlm_version_string_2.c_str (); 16812027Sjungma@eit.uni-kl.de} 16912027Sjungma@eit.uni-kl.de 17012027Sjungma@eit.uni-kl.deinline const char* 17112027Sjungma@eit.uni-kl.detlm_copyright 17212027Sjungma@eit.uni-kl.de( void 17312027Sjungma@eit.uni-kl.de) 17412027Sjungma@eit.uni-kl.de{ 17512027Sjungma@eit.uni-kl.de return tlm_copyright_string.c_str (); 17612027Sjungma@eit.uni-kl.de} 17712027Sjungma@eit.uni-kl.de 17812027Sjungma@eit.uni-kl.de} // namespace tlm 17912027Sjungma@eit.uni-kl.de 18012027Sjungma@eit.uni-kl.de#endif /* __TLM_VERSION_H__ */ 181