putty/version.c

64 строки
1.6 KiB
C

/*
* PuTTY version numbering
*/
#define STR1(x) #x
#define STR(x) STR1(x)
#ifdef INCLUDE_EMPTY_H
/*
* Horrible hack to force version.o to be rebuilt unconditionally in
* the automake world: empty.h is an empty header file, created by the
* makefile and forcibly updated every time make is run. Including it
* here causes automake to track it as a dependency, which will cause
* version.o to be rebuilt too.
*
* The space between # and include causes mkfiles.pl's dependency
* scanner (for all other makefile types) to ignore this include,
* which is correct because only the automake makefile passes
* -DINCLUDE_EMPTY_H to enable it.
*/
# include "empty.h"
#endif
#if defined SNAPSHOT
#if defined SVN_REV
#define SNAPSHOT_TEXT STR(SNAPSHOT) ":r" STR(SVN_REV)
#else
#define SNAPSHOT_TEXT STR(SNAPSHOT)
#endif
char ver[] = "Development snapshot " SNAPSHOT_TEXT;
char sshver[] = "PuTTY-Snapshot-" SNAPSHOT_TEXT;
#undef SNAPSHOT_TEXT
#elif defined RELEASE
char ver[] = "Release " STR(RELEASE);
char sshver[] = "PuTTY-Release-" STR(RELEASE);
#elif defined PRERELEASE
char ver[] = "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);
char sshver[] = "PuTTY-Prerelease-" STR(PRERELEASE) ":r" STR(SVN_REV);
#elif defined SVN_REV
char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;
char sshver[] = "PuTTY-Custom-r" STR(SVN_REV);
#else
char ver[] = "Unidentified build, " __DATE__ " " __TIME__;
char sshver[] = "PuTTY-Local: " __DATE__ " " __TIME__;
#endif
/*
* SSH local version string MUST be under 40 characters. Here's a
* compile time assertion to verify this.
*/
enum { vorpal_sword = 1 / (sizeof(sshver) <= 40) };