OWLNext
7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
owllink.h
Go to the documentation of this file.
1
//----------------------------------------------------------------------------
2
// Object Windows Library
3
// Copyright (c) 1998 by Yura Bidus, All Rights Reserved
4
// Copyright (c) 2008-2013 Vidar Hasfjord
5
//----------------------------------------------------------------------------
6
7
#if !defined(OWL_PRIVATE_OWLLINK_H)
8
#define OWL_PRIVATE_OWLLINK_H
9
10
#include <
owl/version.h
>
11
12
#define OWL_LIB_NAME "owl"
13
14
#define OWL_LIB_DELIMITER "-"
15
16
#define OWL_LIB_VERSION OWL_PRODUCTVERSION_STRING
17
18
#if defined(__BORLANDC__) && defined(__clang__)
19
20
#define OWL_LIB_COMPILER "c"
21
22
#if __BORLANDC__ >= 0x790
23
#error OWLNext: Unsupported compiler version (too new; please add support).
24
#elif __BORLANDC__ >= 0x780
// RAD Studio/C++Builder 13 Florence (RX/CX)
25
#define OWL_LIB_COMPILER_VERSION "780"
26
#elif __BORLANDC__ >= 0x770
// RAD Studio/C++Builder 12 Athens (RX/CX)
27
#define OWL_LIB_COMPILER_VERSION "770"
28
#elif __BORLANDC__ >= 0x760
// RAD Studio/C++Builder 11 Alexandria (RX/CX)
29
#define OWL_LIB_COMPILER_VERSION "760"
30
#elif __BORLANDC__ >= 0x750
// RAD Studio/C++Builder 10.4 Sydney (RX/CX)
31
#define OWL_LIB_COMPILER_VERSION "750"
32
#elif __BORLANDC__ >= 0x740
// RAD Studio/C++Builder 10.3 Rio (RX/CX)
33
#define OWL_LIB_COMPILER_VERSION "740"
34
#elif (__BORLANDC__ >= 0x730)
// RAD Studio/C++Builder 10.2 Tokyo (RX/CX)
35
#define OWL_LIB_COMPILER_VERSION "730"
36
#else
37
#error OWLNext: Unsupported compiler version (too old; update to a newer version).
38
#endif
39
40
#elif defined(_MSC_VER)
41
42
#define OWL_LIB_COMPILER "v"
43
44
#if _MSC_VER >= 1960
45
#error OWLNext: Unsupported compiler version (too new; please add support).
46
#elif _MSC_VER >= 1950
// VS 2026 (_MSC_VER: 1950)
47
#define OWL_LIB_COMPILER_VERSION "145"
// Platform toolset "v145"
48
#elif _MSC_VER >= 1930
// VS 2022 (_MSC_VER: 1930-1949)
49
#define OWL_LIB_COMPILER_VERSION "1930"
// Platform toolset "v143" (14.30-14.49)
50
#elif _MSC_VER >= 1920
// VS 2019
51
#define OWL_LIB_COMPILER_VERSION "1920"
52
#elif _MSC_VER >= 1910
// VS 2017
53
#define OWL_LIB_COMPILER_VERSION "1910"
54
#else
55
#error OWLNext: Unsupported compiler version (too old; update to a newer version).
56
#endif
57
58
#else
59
60
#error OWLNext: Unsupported compiler.
61
62
#endif
63
64
// Platform processor architecture (ISA)
65
66
#if defined(_M_AMD64)
67
#define OWL_LIB_PLATFORM "x64"
68
#elif defined(_M_IX86)
69
#define OWL_LIB_PLATFORM "x86"
70
#else
71
#error OWLNext: Unsupported platform.
72
#endif
73
74
// Compatibility modes
75
76
#if defined(OWL5_COMPAT)
77
#define OWL_LIB_COMPAT "5"
78
#else
79
#define OWL_LIB_COMPAT ""
80
#endif
81
82
// Debugging modes
83
84
#if defined(__CODEGUARD__)
85
#define OWL_LIB_DEBUG "g"
86
#elif defined(__DEBUG) && (__DEBUG > 0)
87
#define OWL_LIB_DEBUG "d"
88
#else
89
#define OWL_LIB_DEBUG ""
90
#endif
91
92
// Threading (concurrency) modes
93
94
#if defined(INC_VCL)
95
#define OWL_LIB_THREADING "v"
96
#elif defined(__MT__) || defined(_MT)
97
#define OWL_LIB_THREADING "t"
98
#else
99
#define OWL_LIB_THREADING "s"
100
#endif
101
102
// Character type modes
103
104
#if defined(UNICODE)
105
#define OWL_LIB_CHARACTERTYPE "u"
106
#else
107
#define OWL_LIB_CHARACTERTYPE ""
108
#endif
109
110
// Link (import) modes
111
112
#if defined(_OWLDLL)
113
#define OWL_LIB_IMPORT "i"
114
#else
115
#define OWL_LIB_IMPORT ""
116
#endif
117
118
// Compose the appropriate pragma link directive.
119
120
#pragma comment(lib, \
121
OWL_LIB_NAME \
122
OWL_LIB_DELIMITER \
123
OWL_LIB_VERSION \
124
OWL_LIB_DELIMITER \
125
OWL_LIB_COMPILER \
126
OWL_LIB_COMPILER_VERSION \
127
OWL_LIB_DELIMITER \
128
OWL_LIB_PLATFORM \
129
OWL_LIB_DELIMITER \
130
OWL_LIB_COMPAT \
131
OWL_LIB_DEBUG \
132
OWL_LIB_THREADING \
133
OWL_LIB_CHARACTERTYPE \
134
OWL_LIB_IMPORT \
135
".lib")
136
137
#endif
// OWL_PRIVATE_OWLLINK_H
version.h
Library version and build information header (template).
include
owl
private
owllink.h
Generated by
1.10.0