portability/build.hpp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef STLPLUS_BUILD
#define STLPLUS_BUILD
////////////////////////////////////////////////////////////////////////////////
 
//   Author:    Andy Rushton
//   Copyright: (c) Southampton University 1999-2004
//              (c) Andy Rushton           2004 onwards
//   License:   BSD License, see ../docs/license.html
 
//   Provides a printable representation of the build characteristics in the form:
 
//     version, platform, compiler, variant
 
//   Where
//     version is the version of STLplus
//     platform is the target operating system
//     compiler is the compilation system and version that the function was compiled with
//     variant is the kind of build - debug or release
 
//   Example:
//     STLplus version 3.0, Generic Unix, gcc v3.4, debug
 
////////////////////////////////////////////////////////////////////////////////
#include "portability_fixes.hpp"
#include <string>
 
namespace stlplus
{
 
  // STLplus version in the form "STLplus version 3.0" - see version.hpp for a way of getting just the version number
  std::string stlplus_version(void);
 
  // platform is the target operating system in the form "Windows" or "Generic Unix"
  std::string platform(void);
 
  // compiler_name is the short name of the compiler, e.g. "gcc" or "MSVC"
  std::string compiler_name(void);
  // compiler_version is the version string of the compiler e.g. "3.4" for gcc or "15.00" for MSVC
  std::string compiler_version(void);
  // compiler is the compilation system and version above combined into a human- readable form e.g. "gcc v3.4"
  std::string compiler(void);
 
  // variant is the kind of build - "debug" or "release"
  std::string variant(void);
 
  // build is all of the above combined into a human-readable string
  std::string build(void);
 
}
////////////////////////////////////////////////////////////////////////////////
#endif