Monado OpenXR Runtime
xrt_config_os.h
Go to the documentation of this file.
1 // Copyright 2019, Collabora, Ltd.
2 // SPDX-License-Identifier: BSL-1.0
3 /*!
4  * @file
5  * @brief Auto detect OS and certain features.
6  * @author Jakob Bornecrantz <jakob@collabora.com>
7  * @ingroup xrt_iface
8  */
9 
10 #pragma once
11 
12 
13 /*
14  *
15  * Auto detect OS.
16  *
17  */
18 
19 #if defined(__ANDROID__)
20 #define XRT_OS_ANDROID
21 #define XRT_OS_LINUX
22 #define XRT_OS_UNIX
23 #define XRT_OS_WAS_AUTODETECTED
24 #endif
25 
26 #if defined(__linux__) && !defined(XRT_OS_WAS_AUTODETECTED)
27 #define XRT_OS_LINUX
28 #define XRT_OS_UNIX
29 #define XRT_OS_WAS_AUTODETECTED
30 #endif
31 
32 #if defined(_WIN32)
33 #define XRT_OS_WINDOWS
34 #define XRT_OS_WAS_AUTODETECTED
35 #endif
36 
37 #if defined(__MINGW32__)
38 #define XRT_ENV_MINGW
39 #endif
40 
41 #ifndef XRT_OS_WAS_AUTODETECTED
42 #error "OS type not found during compile"
43 #endif
44 #undef XRT_OS_WAS_AUTODETECTED