fml  0.1-0
Fused Matrix Library
platform.h
1 // This file is part of fml which is released under the Boost Software
2 // License, Version 1.0. See accompanying file LICENSE or copy at
3 // https://www.boost.org/LICENSE_1_0.txt
4 
5 #ifndef FML__INTERNALS_PLATFORM_H
6 #define FML__INTERNALS_PLATFORM_H
7 #pragma once
8 
9 
10 // "portability"
11 #if (defined(__gnu_linux__) || defined(__linux__) || defined(__linux) || defined(linux))
12 #define OS_LINUX 1
13 #else
14 #define OS_LINUX 0
15 #endif
16 
17 #if (defined(_WIN32) || defined(__WIN32__) || defined(_WIN64) || defined(__TOS_WIN__) || defined(__WINDOWS__))
18 #define OS_WINDOWS 1
19 #else
20 #define OS_WINDOWS 0
21 #endif
22 
23 #if ((defined(__APPLE__) && defined(__MACH__)) || macintosh || Macintosh)
24 #define OS_MAC 1
25 #else
26 #define OS_MAC 0
27 #endif
28 
29 #if defined(__FreeBSD__)
30 #define OS_FREEBSD 1
31 #else
32 #define OS_FREEBSD 0
33 #endif
34 
35 #if (defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__bsdi__) || defined(__DragonFly__))
36 #define OS_BSD 1
37 #else
38 #define OS_BSD 0
39 #endif
40 
41 #if (defined(__sun) || defined(sun))
42 #define OS_SOLARIS 1
43 #else
44 #define OS_SOLARIS 0
45 #endif
46 
47 // why the hell not
48 #if (defined(__GNU__) || defined(__gnu_hurd__))
49 #define OS_HURD 1
50 #else
51 #define OS_HURD 0
52 #endif
53 
54 #if (OS_BSD || OS_HURD || OS_LINUX || OS_MAC || OS_SOLARIS)
55 #define OS_NIX 1
56 #else
57 #define OS_NIX 0
58 #endif
59 
60 
61 #endif