racket/racket/src/version/racket_version.h
Matthew Flatt a8819af26a cs & schemify: further refinments to left-to-right and letrec
More cases where the code can be mostly left alone, and then cp0 and
company can make further improvements.
2020-12-30 09:23:29 -07:00

37 lines
1.3 KiB
C

/* The version string has one of the forms:
X.Y
X.Y.Z Z != 0
X.Y.Z.W W != 0
where each X, Y, Z, W is a non-negative exact integer, Y must not
exceed 99, and Z or W must not exceed 999. Y>=90 means that this is
working towards {X+1}.0, and X.Y (Z=0, W=0) is an alpha version for
{X+1}.0; Z>=900 means working towards X.{Y+1}, and X.Y.Z as an
alpha release.
Note that the version number in the "base" package's "info.rkt"
needs to be updated separately.
*/
#define MZSCHEME_VERSION_X 7
#define MZSCHEME_VERSION_Y 9
#define MZSCHEME_VERSION_Z 0
#define MZSCHEME_VERSION_W 21
/* A level of indirection makes `#` work as needed: */
#define AS_a_STR_HELPER(x) #x
#define AS_a_STR(x) AS_a_STR_HELPER(x)
#if MZSCHEME_VERSION_W != 0
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z) "." AS_a_STR(MZSCHEME_VERSION_W)
#elif MZSCHEME_VERSION_Z != 0
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y) "." AS_a_STR(MZSCHEME_VERSION_Z)
#else
# define MZSCHEME_VERSION AS_a_STR(MZSCHEME_VERSION_X) "." AS_a_STR(MZSCHEME_VERSION_Y)
#endif
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
#define MZSCHEME_VM "racket"