OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
version.h
Go to the documentation of this file.
1//
2// OWLNext
3//
4/// \file version.h
5/// Library version and build information header (template).
6///
7/// If you see $WC tags in this file, then this is the template for automatic generation of the
8/// public header "owl/version.h", and the path of the file should be "source/owlcore/version.h".
9/// The fields will be substituted by real build data by SubWCRev, or similar tools, during the
10/// build process. If you don't see $WC tags, then this file is the final result, and the path of
11/// the file should be "include/owl/version.h".
12///
13/// NOTE! Do not edit this file if it is located at "include/owl". Edit the source file located
14/// at "source/owlcore" instead.
15//
16// Copyright (c) 1991, 1996 by Borland International, All Rights Reserved
17// Copyright (c) 1998-2000 by Yura Bidus
18// See OWLNext for license information (http://owlnext.sourceforge.net).
19
20#if !defined(OWL_VERSION_H)
21#define OWL_VERSION_H
22
23// Flags
24//
25#define OWL_PRERELEASE 0
26
27// OWL Version Number (Major, Minor, Release, Build)
28// All other version numbers and strings should be defined in terms of this.
29// NB! No leading zeroes in the numbers! (leading zero = octal)
30//
31#define OWL_VERSION(v) v(7,0,15,$WCREV$)
32
33// OWL File Version (major, minor, release, build)
34//
35#define OWL_FORMAT_VERSION_4WORD(major, minor, release, build) major, minor, release, build
36#define OWL_FILEVERSION OWL_VERSION(OWL_FORMAT_VERSION_4WORD)
37
38// OWL Product Version (major, minor, release, build)
39//
40#define OWL_PRODUCTVERSION OWL_FILEVERSION
41
42// OWL File Version String ("major.minor.release.build")
43//
44#define OWL_FORMAT_VERSION_STRING(major, minor, release, build) #major "." #minor "." #release "." #build
45#define OWL_FILEVERSION_STRING OWL_VERSION(OWL_FORMAT_VERSION_STRING)
46
47// OWL Product Version String ("major.minor" for stable release, "major.minor.release" for prerelease)
48//
49#define OWL_FORMAT_VERSION_MAJOR_MINOR_STRING(major, minor, release, build) #major "." #minor
50#define OWL_FORMAT_VERSION_MAJOR_MINOR_RELEASE_STRING(major, minor, release, build) #major "." #minor "." #release
51#if OWL_PRERELEASE
52# define OWL_PRODUCTVERSION_STRING OWL_VERSION(OWL_FORMAT_VERSION_MAJOR_MINOR_RELEASE_STRING)
53#else
54# define OWL_PRODUCTVERSION_STRING OWL_VERSION(OWL_FORMAT_VERSION_MAJOR_MINOR_STRING)
55#endif
56
57// 16, 32 and 64-bit internal version numbers
58// 16-bit: 0xMmNn, where M = Major / 10, m = Major % 10, N = Minor / 10, n = minor % 10
59// 32-bit: 0xMmNnBBBB, where M = Major / 10, m = Major % 10, N= Minor / 10, n = minor % 10, B = Build % 65536
60// 64-bit: 0xMMMMNNNNRRRRBBBB, where M = Major, N = Minor, R = Release, B = Build % 65536
61// E.g. 0x0620, 0x06200193 and 0x0006001400010193 (6.20.1.403)
62//
63#define OWL_FORMAT_VERSION_16BIT(major, minor, release, build) (((major / 10) << 12) | ((major % 10) << 8) | ((minor / 10) << 4) | (minor % 10))
64#define OWL_FORMAT_VERSION_32BIT(major, minor, release, build) (((OWL_FORMAT_VERSION_16BIT(major, minor, 0, 0)) << 16) | (build % 65536))
65#define OWL_FORMAT_VERSION_64BIT(major, minor, release, build) ((uint64(major) << 48) | (uint64(minor) << 32) | (release << 16) | (build % 65536))
66#define OWL_VERSION_16BIT OWL_VERSION(OWL_FORMAT_VERSION_16BIT)
67#define OWL_VERSION_32BIT OWL_VERSION(OWL_FORMAT_VERSION_32BIT)
68#define OWL_VERSION_64BIT OWL_VERSION(OWL_FORMAT_VERSION_64BIT)
69
70// Revision information
71//
72#define OWL_BUILD_REVISION $WCREV$
73#define OWL_BUILD_REVISION_DATE "$WCDATEUTC$"
74#define OWL_BUILD_MIXED $WCMIXED?1:0$ // If the build is based on mixed revisions of code then 1, else 0.
75#define OWL_BUILD_DIRTY $WCMODS?1:0$ // If the build was using modified source code then 1, else 0.
76
77// Version Info
78//
79#define OWL_PRODUCTNAME "OWLNext"
80#define OWL_LEGALCOPYRIGHT "See OWLNext license."
81#define OWL_COMPANYNAME "OWLNext Project Community"
82#define OWL_URL "http://sourceforge.net/projects/owlnext"
83
84// Backwards compatibility support
85//
86#if !defined(OWL_COMPATIBILITY) || OWL_COMPATIBILITY < 632
87# define _OWL_VERSION(v) OWL_VERSION(v)
88# define OWLVersion OWL_VERSION_16BIT
89# define OWLInternalVersion OWL_VERSION_32BIT
90# define OWLFileVersion OWL_FILEVERSION
91# define OWLProductVersion OWL_PRODUCTVERSION
92# define OWLFileVersionString OWL_FILEVERSION_STRING
93# define OWLProductVersionString OWL_PRODUCTVERSION_STRING
94#endif
95
96#endif // OWL_VERSION_H