Pothos
0.7.0-gf7fbae99
The Pothos dataflow programming software suite
include
Pothos
Config.hpp
Go to the documentation of this file.
1
11
#pragma once
12
// http://gcc.gnu.org/wiki/Visibility
13
// Generic helper definitions for shared library support
14
#if defined _WIN32 || defined __CYGWIN__
15
#define POTHOS_HELPER_DLL_IMPORT __declspec(dllimport)
16
#define POTHOS_HELPER_DLL_EXPORT __declspec(dllexport)
17
#define POTHOS_HELPER_DLL_LOCAL
18
#else
19
#if __GNUC__ >= 4
20
#define POTHOS_HELPER_DLL_IMPORT __attribute__ ((visibility ("default")))
21
#define POTHOS_HELPER_DLL_EXPORT __attribute__ ((visibility ("default")))
22
#define POTHOS_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden")))
23
#else
24
#define POTHOS_HELPER_DLL_IMPORT
25
#define POTHOS_HELPER_DLL_EXPORT
26
#define POTHOS_HELPER_DLL_LOCAL
27
#endif
28
#endif
29
30
// Now we use the generic helper definitions above to define POTHOS_API and POTHOS_LOCAL.
31
// POTHOS_API is used for the public API symbols. It either DLL imports or DLL exports (or does nothing for static build)
32
// POTHOS_LOCAL is used for non-api symbols.
33
34
#define POTHOS_DLL //always building a DLL
35
36
#ifdef POTHOS_DLL // defined if POTHOS is compiled as a DLL
37
#ifdef POTHOS_DLL_EXPORTS // defined if we are building the POTHOS DLL (instead of using it)
38
#define POTHOS_API POTHOS_HELPER_DLL_EXPORT
39
#define POTHOS_EXTERN
40
#else
41
#define POTHOS_API POTHOS_HELPER_DLL_IMPORT
42
#define POTHOS_EXTERN extern
43
#endif // POTHOS_DLL_EXPORTS
44
#define POTHOS_LOCAL POTHOS_HELPER_DLL_LOCAL
45
#else // POTHOS_DLL is not defined: this means POTHOS is a static lib.
46
#define POTHOS_API
47
#define POTHOS_LOCAL
48
#define POTHOS_EXTERN
49
#endif // POTHOS_DLL
50
51
#ifdef _MSC_VER
52
#ifndef _USE_MATH_DEFINES
53
#define _USE_MATH_DEFINES //math.h M_* constants
54
#endif //_USE_MATH_DEFINES
55
#endif //_MSC_VER
56
57
//deprecated macro for causing warnings on old calls
58
#ifdef __has_cpp_attribute
59
# if __has_cpp_attribute(deprecated)
60
# define POTHOS_DEPRECATED(msg) [[deprecated(msg)]]
61
# endif
62
#endif
63
64
//fall-back compiler specific support for deprecated
65
#ifndef POTHOS_DEPRECATED
66
# if defined(__GNUC__)
67
# define POTHOS_DEPRECATED(msg) __attribute__((deprecated(msg)))
68
# elif defined(_MSC_VER)
69
# define POTHOS_DEPRECATED(msg) __declspec(deprecated(msg))
70
# else
71
# pragma message("WARNING: You need to implement DEPRECATED for this compiler")
72
# define POTHOS_DEPRECATED(msg)
73
# endif
74
#endif
75
88
#define POTHOS_FCN_TUPLE(classPath, functionName) \
89
#functionName, &classPath::functionName
90
91
#include <ciso646>
Generated on Tue Apr 10 2018 20:23:41 for Pothos by
1.8.13