LibTRO 0
Uma biblioteca com funções semelhantes às do C para fins educacionais na Eletrônica, IF Sul Pelotas.
Carregando...
Procurando...
Nenhuma entrada encontrado
conditionals.h
Ir para a documentação desse arquivo.
1
2
3#ifndef TRO_CONDITIONALS_H_
4#define TRO_CONDITIONALS_H_
5
6#if defined(__CYGWIN__) || defined(__MSYS__)
7# error "Cygwin and MSYS are not currently supported."
8#endif
9
10// ===== Definições das Condicionais ===== //
11
18#define TRO_COMPILER_MSVC 0
19
27#define TRO_COMPILER_GCC_LIKE 0
28
35#define TRO_SYSTEM_WIN32 0
36
43#define TRO_SYSTEM_UNIX_LIKE 0
44
53#define TRO_SYSTEM_DARWIN 0
54
64#define TRO_SYSTEM_LINUX 0
65
80#define TRO_SYSTEM_ANDROID_LINUX 0
81
90#define TRO_SYSTEM_GENERIC_LINUX 0
91
100#define TRO_SYSTEM_BSD 0
101
110#define TRO_SYSTEM_BSD_LIKE 0
111
112// ===== Implementação das Condicionais ===== //
113
114#if defined(_MSC_VER)
115# undef TRO_COMPILER_MSVC
116# define TRO_COMPILER_MSVC 1
117#endif
118
119#if defined(__GNUC__)
120# undef TRO_COMPILER_GCC_LIKE
121# define TRO_COMPILER_GCC_LIKE 1
122#endif
123
124#if defined(_WIN32)
125# undef TRO_SYSTEM_WIN32
126# define TRO_SYSTEM_WIN32 1
127#endif
128
129#if defined(__unix__) || defined(__ANDROID__) || defined(__APPLE__)
130# undef TRO_SYSTEM_UNIX_LIKE
131# define TRO_SYSTEM_UNIX_LIKE 1
132#endif
133
134#if defined(__APPLE__)
135# undef TRO_SYSTEM_DARWIN
136# define TRO_SYSTEM_DARWIN 1
137#endif
138
139#if defined(__linux__)
140# undef TRO_SYSTEM_LINUX
141# define TRO_SYSTEM_LINUX 1
142#endif
143
144#if defined(__ANDROID__)
145# undef TRO_SYSTEM_ANDROID_LINUX
146# define TRO_SYSTEM_ANDROID_LINUX 1
147#elif defined(__linux__)
148# undef TRO_SYSTEM_GENERIC_LINUX
149# define TRO_SYSTEM_GENERIC_LINUX 1
150#endif
151
152// clang-format off
153#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__)
154# undef TRO_SYSTEM_BSD
155# define TRO_SYSTEM_BSD 1
156#endif
157// clang-format on
158
159#if TRO_SYSTEM_BSD || TRO_SYSTEM_DARWIN
160# undef TRO_SYSTEM_BSD_LIKE
161# define TRO_SYSTEM_BSD_LIKE 1
162#endif
163
164#endif // TRO_CONDITIONALS_H_