1//
2// SPDX-License-Identifier: BSD-3-Clause
3// Copyright (c) Contributors to the OpenEXR Project.
4//
5
6#ifndef INCLUDED_IEXEXPORT_H
7#define INCLUDED_IEXEXPORT_H
8
9#include "OpenEXRConfig.h"
10
11#if defined(OPENEXR_DLL)
12
13// when building as a DLL for windows, typical dllexport / import case
14// where we need to switch depending on whether we are compiling
15// internally or not
16
17# if defined(IEX_EXPORTS)
18# define IEX_EXPORT __declspec(dllexport)
19# else
20# define IEX_EXPORT __declspec(dllimport)
21# endif
22
23// DLLs don't support these types of visibility controls, just leave them as empty
24# define IEX_EXPORT_TYPE
25# define IEX_EXPORT_ENUM
26
27#else // OPENEXR_DLL
28
29// just pass these through from the top level config
30# define IEX_EXPORT OPENEXR_EXPORT
31# define IEX_EXPORT_TYPE OPENEXR_EXPORT_TYPE
32# define IEX_EXPORT_ENUM OPENEXR_EXPORT_ENUM
33
34#endif // OPENEXR_DLL
35
36#endif // #ifndef INCLUDED_IEXEXPORT_H
37
38

source code of include/OpenEXR/IexExport.h