Loading...
Searching...
No Matches
Exports.h
Go to the documentation of this file.
1/**************************************************************************************************
2 * This file is a part of Ultralight. *
3 * *
4 * See <https://ultralig.ht> for licensing and more. *
5 * *
6 * (C) 2024 Ultralight, Inc. *
7 **************************************************************************************************/
8#ifndef __ULTRALIGHT_EXPORTS_H__
9#define __ULTRALIGHT_EXPORTS_H__
10
11#if defined(__WIN32__) || defined(_WIN32)
12# if defined(ULTRALIGHT_STATIC_BUILD)
13# define UExport
14# else
15# if defined(ULTRALIGHT_IMPLEMENTATION)
16# define UExport __declspec(dllexport)
17# else
18# define UExport __declspec(dllimport)
19# endif
20# endif
21#else
22# if defined(ULTRALIGHT_STATIC_BUILD)
23# define UExport
24# else
25# define UExport __attribute__((visibility("default")))
26# endif
27#endif
28
29// UCExport is for symbols that are exported strictly by UltralightCore
30#if defined(__WIN32__) || defined(_WIN32)
31# if defined(ULTRALIGHT_STATIC_BUILD)
32# define UCExport
33# else
34# if defined(ULTRALIGHT_IMPLEMENTATION) && defined(ULTRALIGHT_MODULE_ULTRALIGHTCORE)
35# define UCExport __declspec(dllexport)
36# else
37# define UCExport __declspec(dllimport)
38# endif
39# endif
40#else
41# if defined(ULTRALIGHT_STATIC_BUILD)
42# define UCExport
43# else
44# define UCExport __attribute__((visibility("default")))
45# endif
46#endif
47
48#endif // __ULTRALIGHT_EXPORTS_H__