Skip to content

Commit 327301e

Browse files
committed
Added additional meta variables for other platforms
1 parent 637fad6 commit 327301e

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

src/AST/ast.c

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,69 @@ void ast_init(ast_t *ast, unsigned int cross_compile_for){
155155
// __wasm__
156156
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__wasm__", cross_compile_for == CROSS_COMPILE_WASM32);
157157

158+
// __bsd__
159+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__bsd__",
160+
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__) || defined(__MidnightBSD__)
161+
cross_compile_for == CROSS_COMPILE_NONE
162+
#else
163+
false
164+
#endif
165+
);
166+
167+
// __freebsd__
168+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__freebsd__",
169+
#ifdef __FreeBSD__
170+
cross_compile_for == CROSS_COMPILE_NONE
171+
#else
172+
false
173+
#endif
174+
);
175+
176+
// __openbsd__
177+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__openbsd__",
178+
#ifdef __OpenBSD__
179+
cross_compile_for == CROSS_COMPILE_NONE
180+
#else
181+
false
182+
#endif
183+
);
184+
185+
// __netbsd__
186+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__netbsd__",
187+
#ifdef __NetBSD__
188+
cross_compile_for == CROSS_COMPILE_NONE
189+
#else
190+
false
191+
#endif
192+
);
193+
194+
// __dragonfly__
195+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__dragonfly__",
196+
#ifdef __DragonFly_
197+
cross_compile_for == CROSS_COMPILE_NONE
198+
#else
199+
false
200+
#endif
201+
);
202+
203+
// __illumos__
204+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__illumos__",
205+
#ifdef __illumos__
206+
cross_compile_for == CROSS_COMPILE_NONE
207+
#else
208+
false
209+
#endif
210+
);
211+
212+
// __haiku__
213+
meta_definition_add_bool(&ast->meta_definitions, &ast->meta_definitions_length, &ast->meta_definitions_capacity, "__haiku__",
214+
#ifdef __HAIKU__
215+
cross_compile_for == CROSS_COMPILE_NONE
216+
#else
217+
false
218+
#endif
219+
);
220+
158221
unsigned short x = 0xEEFF;
159222
if (*((unsigned char*) &x) == 0xFF || cross_compile_for == CROSS_COMPILE_WINDOWS){
160223
// Little Endian

0 commit comments

Comments
 (0)