// // SPDX-License-Identifier: BSD-3-Clause // Copyright (c) Contributors to the OpenEXR Project. // #ifndef INCLUDED_ILMTHREADEXPORT_H #define INCLUDED_ILMTHREADEXPORT_H #include "OpenEXRConfig.h" // See website/SymbolVisibility.rst for more discussion /// \addtogroup ExportMacros /// @{ // are we making a DLL under windows (might be msvc or mingw or others) #if defined(OPENEXR_DLL) // when building as a DLL for windows, typical dllexport / import case // where we need to switch depending on whether we are compiling // internally or not # if defined(ILMTHREAD_EXPORTS) # define ILMTHREAD_EXPORT __declspec (dllexport) # else # define ILMTHREAD_EXPORT __declspec (dllimport) # endif // DLLs don't support these types of visibility controls, just leave them as empty # define ILMTHREAD_EXPORT_TYPE # define ILMTHREAD_HIDDEN #else // OPENEXR_DLL // just pass these through from the top level config # define ILMTHREAD_EXPORT OPENEXR_EXPORT # define ILMTHREAD_HIDDEN OPENEXR_HIDDEN # define ILMTHREAD_EXPORT_TYPE OPENEXR_EXPORT_TYPE #endif // OPENEXR_DLL /// @} #endif // INCLUDED_ILMTHREADEXPORT_H