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 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123
|
/*
* File: version.cc
* Summary: Version (and revision) functionality.
* Written by: Steven Noonan
*/
#include "AppHdr.h"
#include "build.h"
#include "compflag.h"
#include "libutil.h"
namespace Version
{
std::string Short()
{
return std::string(CRAWL_VERSION_TAG);
}
std::string Long()
{
return std::string(CRAWL_VERSION_LONG);
}
int Major()
{
return CRAWL_VERSION_MAJOR;
}
int Minor()
{
return CRAWL_VERSION_MINOR;
}
int Revision()
{
return CRAWL_VERSION_REVISION;
}
int Build()
{
return CRAWL_VERSION_BUILD;
}
Class ReleaseType()
{
return CRAWL_VERSION_PREREL_TYPE;
}
int ReleaseID()
{
return CRAWL_VERSION_PREREL_NUM;
}
std::string Compiler()
{
#if defined(__GNUC__) && defined(__VERSION__)
return make_stringf("GCC %s", __VERSION__);
#elif defined(__GNUC__)
return ("GCC (unknown version)");
#elif defined(TARGET_COMPILER_MINGW)
return ("MINGW");
#elif defined(TARGET_COMPILER_CYGWIN)
return ("CYGWIN");
#elif defined(TARGET_COMPILER_VC)
return ("Visual C++");
#elif defined(TARGET_COMPILER_ICC)
return ("Intel C++");
#else
return ("Unknown compiler");
#endif
}
std::string BuildOS()
{
return CRAWL_BUILD_OS;
}
std::string BuildOSVersion()
{
return CRAWL_BUILD_OS_VER;
}
std::string BuildMachine()
{
return CRAWL_BUILD_MACHINE;
}
std::string BuildProcessor()
{
return CRAWL_BUILD_PROCESSOR;
}
std::string CFLAGS()
{
return CRAWL_CFLAGS;
}
std::string LDFLAGS()
{
return CRAWL_LDFLAGS;
}
}
std::string compilation_info()
{
std::string out = "";
out += make_stringf("Compiled with %s on %s at %s\n",
Version::Compiler().c_str(), __DATE__, __TIME__);
out += make_stringf("Compiled on OS: %s %s\n",
Version::BuildOS().c_str(),
Version::BuildOSVersion().c_str());
out += make_stringf("Compiled on machine type: %s\n",
Version::BuildMachine().c_str());
out += make_stringf("Compiled on processor type: %s\n",
Version::BuildProcessor().c_str());
out += make_stringf("CLFAGS: %s\n", Version::CFLAGS().c_str());
out += make_stringf("LDFLAGS: %s\n", Version::LDFLAGS().c_str());
return (out);
}
|