xref: /aosp_15_r20/external/virglrenderer/src/mesa/util/detect_os.h (revision bbecb9d118dfdb95f99bd754f8fa9be01f189df3)
1*bbecb9d1SAndroid Build Coastguard Worker /* SPDX-License-Identifier: MIT */
2*bbecb9d1SAndroid Build Coastguard Worker /* Copyright 2008 VMware, Inc. */
3*bbecb9d1SAndroid Build Coastguard Worker 
4*bbecb9d1SAndroid Build Coastguard Worker /**
5*bbecb9d1SAndroid Build Coastguard Worker  * Auto-detect the operating system family.
6*bbecb9d1SAndroid Build Coastguard Worker  *
7*bbecb9d1SAndroid Build Coastguard Worker  * See also:
8*bbecb9d1SAndroid Build Coastguard Worker  * - http://gcc.gnu.org/onlinedocs/cpp/Common-Predefined-Macros.html
9*bbecb9d1SAndroid Build Coastguard Worker  * - echo | gcc -dM -E - | sort
10*bbecb9d1SAndroid Build Coastguard Worker  * - http://msdn.microsoft.com/en-us/library/b0084kay.aspx
11*bbecb9d1SAndroid Build Coastguard Worker  *
12*bbecb9d1SAndroid Build Coastguard Worker  * @author José Fonseca <[email protected]>
13*bbecb9d1SAndroid Build Coastguard Worker  */
14*bbecb9d1SAndroid Build Coastguard Worker 
15*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_H
16*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_H
17*bbecb9d1SAndroid Build Coastguard Worker 
18*bbecb9d1SAndroid Build Coastguard Worker #if defined(__linux__)
19*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_LINUX 1
20*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
21*bbecb9d1SAndroid Build Coastguard Worker #endif
22*bbecb9d1SAndroid Build Coastguard Worker 
23*bbecb9d1SAndroid Build Coastguard Worker /*
24*bbecb9d1SAndroid Build Coastguard Worker  * Android defines __linux__, so DETECT_OS_LINUX and DETECT_OS_UNIX will
25*bbecb9d1SAndroid Build Coastguard Worker  * also be defined.
26*bbecb9d1SAndroid Build Coastguard Worker  */
27*bbecb9d1SAndroid Build Coastguard Worker #if defined(__ANDROID__)
28*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_ANDROID 1
29*bbecb9d1SAndroid Build Coastguard Worker #endif
30*bbecb9d1SAndroid Build Coastguard Worker 
31*bbecb9d1SAndroid Build Coastguard Worker #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
32*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_FREEBSD 1
33*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_BSD 1
34*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
35*bbecb9d1SAndroid Build Coastguard Worker #endif
36*bbecb9d1SAndroid Build Coastguard Worker 
37*bbecb9d1SAndroid Build Coastguard Worker #if defined(__OpenBSD__)
38*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_OPENBSD 1
39*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_BSD 1
40*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
41*bbecb9d1SAndroid Build Coastguard Worker #endif
42*bbecb9d1SAndroid Build Coastguard Worker 
43*bbecb9d1SAndroid Build Coastguard Worker #if defined(__NetBSD__)
44*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_NETBSD 1
45*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_BSD 1
46*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
47*bbecb9d1SAndroid Build Coastguard Worker #endif
48*bbecb9d1SAndroid Build Coastguard Worker 
49*bbecb9d1SAndroid Build Coastguard Worker #if defined(__DragonFly__)
50*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_DRAGONFLY 1
51*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_BSD 1
52*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
53*bbecb9d1SAndroid Build Coastguard Worker #endif
54*bbecb9d1SAndroid Build Coastguard Worker 
55*bbecb9d1SAndroid Build Coastguard Worker #if defined(__GNU__)
56*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_HURD 1
57*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
58*bbecb9d1SAndroid Build Coastguard Worker #endif
59*bbecb9d1SAndroid Build Coastguard Worker 
60*bbecb9d1SAndroid Build Coastguard Worker #if defined(__sun)
61*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_SOLARIS 1
62*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
63*bbecb9d1SAndroid Build Coastguard Worker #endif
64*bbecb9d1SAndroid Build Coastguard Worker 
65*bbecb9d1SAndroid Build Coastguard Worker #if defined(__APPLE__)
66*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_APPLE 1
67*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
68*bbecb9d1SAndroid Build Coastguard Worker #endif
69*bbecb9d1SAndroid Build Coastguard Worker 
70*bbecb9d1SAndroid Build Coastguard Worker #if defined(_WIN32) || defined(WIN32)
71*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_WINDOWS 1
72*bbecb9d1SAndroid Build Coastguard Worker #endif
73*bbecb9d1SAndroid Build Coastguard Worker 
74*bbecb9d1SAndroid Build Coastguard Worker #if defined(__HAIKU__)
75*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_HAIKU 1
76*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
77*bbecb9d1SAndroid Build Coastguard Worker #endif
78*bbecb9d1SAndroid Build Coastguard Worker 
79*bbecb9d1SAndroid Build Coastguard Worker #if defined(__CYGWIN__)
80*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_CYGWIN 1
81*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 1
82*bbecb9d1SAndroid Build Coastguard Worker #endif
83*bbecb9d1SAndroid Build Coastguard Worker 
84*bbecb9d1SAndroid Build Coastguard Worker 
85*bbecb9d1SAndroid Build Coastguard Worker /*
86*bbecb9d1SAndroid Build Coastguard Worker  * Make sure DETECT_OS_* are always defined, so that they can be used with #if
87*bbecb9d1SAndroid Build Coastguard Worker  */
88*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_ANDROID
89*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_ANDROID 0
90*bbecb9d1SAndroid Build Coastguard Worker #endif
91*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_APPLE
92*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_APPLE 0
93*bbecb9d1SAndroid Build Coastguard Worker #endif
94*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_BSD
95*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_BSD 0
96*bbecb9d1SAndroid Build Coastguard Worker #endif
97*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_CYGWIN
98*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_CYGWIN 0
99*bbecb9d1SAndroid Build Coastguard Worker #endif
100*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_DRAGONFLY
101*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_DRAGONFLY 0
102*bbecb9d1SAndroid Build Coastguard Worker #endif
103*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_FREEBSD
104*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_FREEBSD 0
105*bbecb9d1SAndroid Build Coastguard Worker #endif
106*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_HAIKU
107*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_HAIKU 0
108*bbecb9d1SAndroid Build Coastguard Worker #endif
109*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_HURD
110*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_HURD 0
111*bbecb9d1SAndroid Build Coastguard Worker #endif
112*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_LINUX
113*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_LINUX 0
114*bbecb9d1SAndroid Build Coastguard Worker #endif
115*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_NETBSD
116*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_NETBSD 0
117*bbecb9d1SAndroid Build Coastguard Worker #endif
118*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_OPENBSD
119*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_OPENBSD 0
120*bbecb9d1SAndroid Build Coastguard Worker #endif
121*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_SOLARIS
122*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_SOLARIS 0
123*bbecb9d1SAndroid Build Coastguard Worker #endif
124*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_UNIX
125*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_UNIX 0
126*bbecb9d1SAndroid Build Coastguard Worker #endif
127*bbecb9d1SAndroid Build Coastguard Worker #ifndef DETECT_OS_WINDOWS
128*bbecb9d1SAndroid Build Coastguard Worker #define DETECT_OS_WINDOWS 0
129*bbecb9d1SAndroid Build Coastguard Worker #endif
130*bbecb9d1SAndroid Build Coastguard Worker 
131*bbecb9d1SAndroid Build Coastguard Worker #endif /* DETECT_OS_H */
132