44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
//
|
|
// 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
|