| Server IP : 35.154.56.2 / Your IP : 216.73.217.116 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-0-189 6.8.0-1029-aws #31-Ubuntu SMP Wed Apr 23 18:20:04 UTC 2025 aarch64 User : ubuntu ( 1000) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/include/OpenEXR/ |
Upload File : |
//
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (c) Contributors to the OpenEXR Project.
//
#ifndef INCLUDED_IMFEXPORT_H
#define INCLUDED_IMFEXPORT_H
#include "OpenEXRConfig.h"
/// \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(OPENEXR_EXPORTS)
# define IMF_EXPORT __declspec(dllexport)
// mingw needs the export when the extern is defined
# if defined(__MINGW32__)
# define IMF_EXPORT_EXTERN_TEMPLATE IMF_EXPORT
# define IMF_EXPORT_TEMPLATE_INSTANCE
// for mingw windows, we need to cause this to export the
// typeinfo tables (but you don't need to have the
// complementary import, because might be a local template too!)
# define IMF_EXPORT_TEMPLATE_TYPE IMF_EXPORT
# else
// for normal msvc, need to export the actual instantiation in
// the cpp code, and none of the others
# define IMF_EXPORT_EXTERN_TEMPLATE
# define IMF_EXPORT_TEMPLATE_INSTANCE IMF_EXPORT
# define IMF_EXPORT_TEMPLATE_TYPE
# endif
# else // OPENEXR_EXPORTS
# define IMF_EXPORT __declspec(dllimport)
# define IMF_EXPORT_EXTERN_TEMPLATE IMF_EXPORT
# define IMF_EXPORT_TEMPLATE_INSTANCE
# define IMF_EXPORT_TEMPLATE_TYPE
# endif
// DLLs don't support these types of visibility controls, just leave them as empty
# define IMF_EXPORT_TYPE
# define IMF_EXPORT_ENUM
# define IMF_HIDDEN
#else // not an OPENEXR_DLL
// just pass these through from the top level config
# define IMF_EXPORT OPENEXR_EXPORT
# define IMF_HIDDEN OPENEXR_HIDDEN
# define IMF_EXPORT_ENUM OPENEXR_EXPORT_ENUM
# define IMF_EXPORT_TYPE OPENEXR_EXPORT_TYPE
# define IMF_EXPORT_TEMPLATE_TYPE OPENEXR_EXPORT_TEMPLATE_TYPE
# define IMF_EXPORT_EXTERN_TEMPLATE OPENEXR_EXPORT_EXTERN_TEMPLATE
# define IMF_EXPORT_TEMPLATE_INSTANCE OPENEXR_EXPORT_TEMPLATE_INSTANCE
#endif // OPENEXR_DLL
/// @}
#endif // INCLUDED_IMFEXPORT_H