Fast RTPS  Version 2.11.2
Fast RTPS
Loading...
Searching...
No Matches
config.h
1// Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef _FASTRTPS_CONFIG_H_
16#define _FASTRTPS_CONFIG_H_
17
18#define FASTRTPS_VERSION_MAJOR 2
19#define FASTRTPS_VERSION_MINOR 11
20#define FASTRTPS_VERSION_MICRO 2
21#define FASTRTPS_VERSION_STR "2.11.2"
22
23#define GEN_API_VER 1
24
25// C++20 support defines
26#ifndef HAVE_CXX20
27#define HAVE_CXX20 0
28#endif /* ifndef HAVE_CXX20 */
29
30// C++17 support defines
31#ifndef HAVE_CXX17
32#define HAVE_CXX17 0
33#endif /* ifndef HAVE_CXX17 */
34
35// C++14 support defines
36#ifndef HAVE_CXX14
37#define HAVE_CXX14 0
38#endif /* ifndef HAVE_CXX14 */
39
40// C++1Y support defines
41#ifndef HAVE_CXX1Y
42#define HAVE_CXX1Y 0
43#endif /* ifndef HAVE_CXX1Y */
44
45// C++11 support defines
46#ifndef HAVE_CXX11
47#define HAVE_CXX11 1
48#endif /* ifndef HAVE_CXX11 */
49
50// Endianness defines
51#ifndef FASTDDS_IS_BIG_ENDIAN_TARGET
52#define FASTDDS_IS_BIG_ENDIAN_TARGET 0
53#endif /* ifndef FASTDDS_IS_BIG_ENDIAN_TARGET */
54
55// Security
56#ifndef HAVE_SECURITY
57#define HAVE_SECURITY 0
58#endif /* ifndef HAVE_SECURITY */
59
60//Sqlite3 support
61#ifndef HAVE_SQLITE3
62#define HAVE_SQLITE3 1
63#endif /* ifndef HAVE_SQLITE3 */
64
65// Using thirdparty shared_mutex
66#define USE_THIRDPARTY_SHARED_MUTEX 1
67
68// TLS support
69#ifndef TLS_FOUND
70#define TLS_FOUND 1
71#endif /* ifndef TLS_FOUND */
72
73// Strict real-time
74#ifndef HAVE_STRICT_REALTIME
75#define HAVE_STRICT_REALTIME 0
76#endif /* ifndef HAVE_STRICT_REALTIME */
77
78/* Log Macros */
79
80// Enable compilation for eProsima Log Macros
81#ifndef ENABLE_OLD_LOG_MACROS_
82#define ENABLE_OLD_LOG_MACROS_ 1
83#endif /* ifndef ENABLE_OLD_LOG_MACROS_ */
84
85// Log Info
86#ifndef FASTDDS_ENFORCE_LOG_INFO
87/* #undef FASTDDS_ENFORCE_LOG_INFO */
88#endif
89#ifndef HAVE_LOG_NO_INFO
90#define HAVE_LOG_NO_INFO 1
91#endif /* ifndef HAVE_LOG_NO_INFO */
92
93// Log Warning
94#ifndef HAVE_LOG_NO_WARNING
95#define HAVE_LOG_NO_WARNING 0
96#endif /* ifndef HAVE_LOG_NO_WARNING */
97
98// Log Error
99#ifndef HAVE_LOG_NO_ERROR
100#define HAVE_LOG_NO_ERROR 0
101#endif /* ifndef HAVE_LOG_NO_ERROR */
102
103// Statistics
104#define FASTDDS_STATISTICS
105
106// Deprecated macro
107#if __cplusplus >= 201402L
108#define FASTRTPS_DEPRECATED(msg) [[ deprecated(msg) ]]
109#elif defined(__GNUC__) || defined(__clang__)
110#define FASTRTPS_DEPRECATED(msg) __attribute__ ((deprecated(msg)))
111#elif defined(_MSC_VER)
112#define FASTRTPS_DEPRECATED(msg) __declspec(deprecated(msg))
113#else
114#define FASTRTPS_DEPRECATED(msg)
115#endif /* if __cplusplus >= 201402L */
116
117// Deprecation with version
118#define FASTDDS_DEPRECATED_UNTIL(major, entity_name, msg) \
119 static_assert(FASTRTPS_VERSION_MAJOR < major, #entity_name " reached deprecation version " #major); \
120 FASTRTPS_DEPRECATED(#entity_name " has been deprecated and will be removed on major version " #major ". " msg)
121
122#define FASTDDS_TODO_BEFORE(major, minor, msg) \
123 static_assert((FASTRTPS_VERSION_MAJOR < major) || \
124 (FASTRTPS_VERSION_MAJOR == major && FASTRTPS_VERSION_MINOR < minor), \
125 "TODO before version " #major "." #minor " : " #msg);
126
127#endif // _FASTRTPS_CONFIG_H_