DYT/Tool/OpenSceneGraph-3.6.5/include/OpenEXR/IlmThreadExport.h

44 lines
1.1 KiB
C
Raw Normal View History

2024-12-24 23:49:36 +00:00
//
// 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