64 lines
2.5 KiB
C
64 lines
2.5 KiB
C
/**
|
|
Macro to generate version and build date information for eCos platform
|
|
|
|
Macro to generate version and build date information for eCos platform.
|
|
|
|
@file eNvtVersion.h
|
|
@ingroup
|
|
@note Usage: #include <cyg/infra/eNvtVerInfo.h>
|
|
|
|
Copyright Novatek Microelectronics Corp. 2013. All rights reserved.
|
|
*/
|
|
|
|
#ifndef _NVTVERINFO_H
|
|
#define _NVTVERINFO_H
|
|
//
|
|
// Project leader should add this macro _PROJECT_CODE_ when project is branched.
|
|
//
|
|
//#define _PROJECT_CODE_ A0D1
|
|
|
|
#define __string(_x) #_x
|
|
#define __xstring(_x) __string(_x)
|
|
|
|
#if defined(__KERNEL__) //linux-kernel
|
|
#include <linux/module.h>
|
|
#include <linux/version.h>
|
|
|
|
#ifdef _PROJECT_CODE_
|
|
#define VOS_MODULE_VERSION(_l, _major, _minor, _bugfix, _ext) \
|
|
MODULE_VERSION(__xstring(_major) "." __xstring(_minor) "." __xstring(_bugfix) "." __xstring(_PROJECT_CODE_) "." __xstring(_ext))
|
|
#else //_PROJECT_CODE_
|
|
#define VOS_MODULE_VERSION(_l, _major, _minor, _bugfix, _ext) \
|
|
MODULE_VERSION(__xstring(_major) "." __xstring(_minor) "." __xstring(_bugfix))
|
|
#endif //_PROJECT_CODE_
|
|
|
|
#else //__KERNEL__
|
|
// Please don't reference these macro -begin
|
|
// Assign a defined variable to a specific section
|
|
#ifndef NVTVER_ATTRIB_SECTION
|
|
#define NVTVER_ATTRIB_SECTION(__sect__) __attribute__((section (__sect__)))
|
|
#endif
|
|
|
|
#ifdef _PROJECT_CODE_
|
|
#ifndef NVTVER_ID3
|
|
#define NVTVER_ID3( _name, _major, _minor, _bugfix, _ext ) \
|
|
NVTVER_ATTRIB_SECTION(".version.info." __xstring(_major) "_" __xstring(_minor) "_" __xstring(_bugfix) "_" __xstring(_PROJECT_CODE_) "_" __xstring(_ext) "." __xstring(_name))
|
|
#endif
|
|
|
|
// Macro to generate version and build date information
|
|
#define VOS_MODULE_VERSION(_l, _major, _minor, _bugfix, _ext) \
|
|
const char _l##_LIBRARY_VERSION_INFO[] NVTVER_ID3(_l,_major,_minor,_bugfix, _ext) = __xstring(_l) "#" __xstring(_major) "." __xstring(_minor) "." __xstring(_bugfix) "." __xstring(_PROJECT_CODE_) "." __xstring(_ext) "_SHA.00000000";
|
|
#else //_PROJECT_CODE_
|
|
#ifndef NVTVER_ID3
|
|
#define NVTVER_ID3( _name, _major, _minor, _bugfix, _ext ) \
|
|
NVTVER_ATTRIB_SECTION(".version.info." __xstring(_major) "_" __xstring(_minor) "_" __xstring(_bugfix) "." __xstring(_name))
|
|
#endif
|
|
|
|
// Macro to generate version and build date information
|
|
#define VOS_MODULE_VERSION(_l, _major, _minor, _bugfix, _ext) \
|
|
const char _l##_LIBRARY_VERSION_INFO[] NVTVER_ID3(_l,_major,_minor,_bugfix, _ext) = __xstring(_l) "#" __xstring(_major) "." __xstring(_minor) "." __xstring(_bugfix) "_SHA.00000000";
|
|
#endif //_PROJECT_CODE_
|
|
// Please don't reference these macro -end
|
|
#endif //__KERNEL__
|
|
#endif
|