RDKit: RDExportMacros.h Source File

| RDKit Open-source cheminformatics and machine learning.

Loading...
Searching...
No Matches
RDExportMacros.h
Go to the documentation of this file.
1//
2// Copyright (C) 2021 Schrödinger, LLC
3//
4// @@ All Rights Reserved @@
5// This file is part of the RDKit.
6// The contents are covered by the terms of the BSD license
7// which is included in the file license.txt, found at the root
8// of the RDKit source tree.
9//
10
11#pragma once
12
13#ifndef SWIG
14#ifdef _MSC_VER
15#pragma warning(disable : 4251)
16#pragma warning(disable : 4275)
17#endif
18
19#ifdef BOOST_NO_CXX98_FUNCTION_BASE
20#undef BOOST_NO_CXX98_FUNCTION_BASE
21#ifndef _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE
22#define _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE 1
23#endif
24#endif
25#include <boost/config.hpp>
26#ifdef _SHOULD_DEFINE_BOOST_NO_CXX98_FUNCTION_BASE
27#ifndef BOOST_NO_CXX98_FUNCTION_BASE
28#define BOOST_NO_CXX98_FUNCTION_BASE 1
29#endif
30#endif
31
32// RDKit export macro definitions
33#ifdef RDKIT_DYN_LINK
34#if defined(_WIN32) && defined(BOOST_HAS_DECLSPEC)
35#define RDKIT_EXPORT_API __declspec(dllexport)
36#define RDKIT_IMPORT_API __declspec(dllimport)
37#elif __GNUC__ >= 4 || defined(__clang__)
38#define RDKIT_EXPORT_API __attribute__((visibility("default")))
39#define RDKIT_IMPORT_API __attribute__((visibility("default")))
40#endif // WIN32
41#endif // RDKIT_DYN_LINK
42// RDKit end export macro definitions
43
44#endif // SWIG
45
46#ifndef RDKIT_EXPORT_API
47#define RDKIT_EXPORT_API
48#endif
49#ifndef RDKIT_IMPORT_API
50#define RDKIT_IMPORT_API
51#endif