Fast RTPS  Version 2.11.2
Fast RTPS
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_