sandbox
Loading...
Searching...
No Matches
platform.hpp
1// SPDX-License-Identifier: MIT
2#ifndef LIBSBX_SCRIPTING_MANAGED_PLATFORM_HPP_
3#define LIBSBX_SCRIPTING_MANAGED_PLATFORM_HPP_
4
5#include <string_view>
6
7#include <libsbx/utility/target.hpp>
8
9namespace sbx::scripting::managed {
10
11#ifdef SBX_WINDOWS
12#define SBX_SCRIPTING_CALLTYPE __cdecl
13#define SBX_SCRIPTING_HOSTFXR_NAME "hostfxr.dll"
14
15#ifdef _WCHAR_T_DEFINED
16#define SBX_SCRIPTING_STR(s) L##s
17#define SBX_SCRIPTING_WIDE_CHARS
18
19using char_type = wchar_t;
20
21#else
22#define SBX_SCRIPTING_STR(s) s
23
24using char_type = unsigned short;
25#endif
26#else
27#define SBX_SCRIPTING_CALLTYPE
28#define SBX_SCRIPTING_STR(s) s
29#define SBX_SCRIPTING_HOSTFXR_NAME "libhostfxr.so"
30
31using char_type = char;
32#endif
33
34#define SBX_SCRIPTING_DOTNET_TARGET_VERSION_MAJOR 9
35#define SBX_SCRIPTING_DOTNET_TARGET_VERSION_MAJOR_STR '9'
36#define SBX_SCRIPTING_UNMANAGED_CALLERS_ONLY (reinterpret_cast<const char_type*>(-1))
37
38using string_type = std::basic_string<char_type>;
39using string_view_type = std::basic_string_view<char_type>;
40
41} // namespace sbx::scripting::managed
42
43#endif // LIBSBX_SCRIPTING_MANAGED_PLATFORM_HPP_