Files
rdkit/Code/RDGeneral/RDExportMacros.h

52 lines
1.3 KiB
C

//
// Copyright (C) 2021 Schrödinger, LLC
//
// @@ All Rights Reserved @@
// This file is part of the RDKit.
// The contents are covered by the terms of the BSD license
// which is included in the file license.txt, found at the root
// of the RDKit source tree.
//
#pragma once
#ifndef SWIG
#ifdef _MSC_VER
#pragma warning(disable : 4251)
#pragma warning(disable : 4275)
#endif
#ifdef BOOST_NO_CXX98_FUNCTION_BASE
#undef BOOST_NO_CXX98_FUNCTION_BASE
#ifndef _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE
#define _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE 1
#endif
#endif
#include <boost/config.hpp>
#ifdef _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE
#ifndef BOOST_NO_CXX98_FUNCTION_BASE
#define BOOST_NO_CXX98_FUNCTION_BASE 1
#endif
#endif
// RDKit export macro definitions
#ifdef RDKIT_DYN_LINK
#if defined(_WIN32) && defined(BOOST_HAS_DECLSPEC)
#define RDKIT_EXPORT_API __declspec(dllexport)
#define RDKIT_IMPORT_API __declspec(dllimport)
#elif __GNUC__ >= 4 || defined(__clang__)
#define RDKIT_EXPORT_API __attribute__((visibility("default")))
#define RDKIT_IMPORT_API __attribute__((visibility("default")))
#endif // WIN32
#endif // RDKIT_DYN_LINK
// RDKit end export macro definitions
#endif // SWIG
#ifndef RDKIT_EXPORT_API
#define RDKIT_EXPORT_API
#endif
#ifndef RDKIT_IMPORT_API
#define RDKIT_IMPORT_API
#endif