1999-02-09 15:18:34 +00:00
|
|
|
/*
|
|
|
|
* PuTTY version numbering
|
|
|
|
*/
|
|
|
|
|
|
|
|
#define STR1(x) #x
|
|
|
|
#define STR(x) STR1(x)
|
|
|
|
|
Switch to using automake for the Unix autoconfigured build.
mkfiles.pl no longer generates a Makefile.in, but instead generates a
Makefile.am on which mkauto.sh runs automake. This means that the
autoconfigured makefile now does build-time dependency tracking (a
standard feature of automake-generated makefiles), and is generally
more like what Unix people will expect.
Some of the old-style make command-line settings (VER=-DRELEASE=foo,
XFLAGS=-DDEBUG) will still work; the COMPAT settings are better done
by autoconfiguration, and my habitual 'XFLAGS="-g -O0"' for an easily
debuggable build will actually not work any more because CFLAGS is
specified _after_ XFLAGS, so I should instead write 'make CFLAGS=-O0'
(-g is the default in automake, removed at 'make install' time).
The new makefile will automatically degrade into one that builds the
command-line tools only, in the case where GTK could not be found. In
principle, therefore, it should be an adequate replacement for _both_
the static Unix makefiles, Makefile.gtk and Makefile.ux. I haven't
actually retired those in this commit, but I'm pretty tempted.
[originally from svn r9239]
2011-07-23 11:33:29 +00:00
|
|
|
#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
|
|
|
|
|
1999-02-09 15:18:34 +00:00
|
|
|
#if defined SNAPSHOT
|
|
|
|
|
2005-10-01 12:36:46 +00:00
|
|
|
#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
|
1999-02-09 15:18:34 +00:00
|
|
|
|
|
|
|
#elif defined RELEASE
|
|
|
|
|
|
|
|
char ver[] = "Release " STR(RELEASE);
|
2001-03-15 12:15:02 +00:00
|
|
|
char sshver[] = "PuTTY-Release-" STR(RELEASE);
|
1999-02-09 15:18:34 +00:00
|
|
|
|
2011-11-26 17:35:21 +00:00
|
|
|
#elif defined PRERELEASE
|
|
|
|
|
|
|
|
char ver[] = "Pre-release " STR(PRERELEASE) ":r" STR(SVN_REV);
|
|
|
|
char sshver[] = "PuTTY-Prerelease-" STR(PRERELEASE) ":r" STR(SVN_REV);
|
|
|
|
|
2007-02-04 12:30:39 +00:00
|
|
|
#elif defined SVN_REV
|
|
|
|
|
2010-04-26 17:28:42 +00:00
|
|
|
char ver[] = "Custom build r" STR(SVN_REV) ", " __DATE__ " " __TIME__;
|
2007-02-04 12:30:39 +00:00
|
|
|
char sshver[] = "PuTTY-Custom-r" STR(SVN_REV);
|
|
|
|
|
1999-02-09 15:18:34 +00:00
|
|
|
#else
|
|
|
|
|
|
|
|
char ver[] = "Unidentified build, " __DATE__ " " __TIME__;
|
2001-03-15 12:15:02 +00:00
|
|
|
char sshver[] = "PuTTY-Local: " __DATE__ " " __TIME__;
|
1999-02-09 15:18:34 +00:00
|
|
|
|
|
|
|
#endif
|
2001-03-15 12:15:02 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* 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) };
|