30 #ifndef IMPBASE_CONFIG_H
31 #define IMPBASE_CONFIG_H
33 #include <IMP/base/base_config.h>
39 #ifdef IMPBASE_EXPORTS
40 #define IMPBASEEXPORT __declspec(dllexport)
42 #define IMPBASEEXPORT __declspec(dllimport)
48 #define IMPBASEEXPORT __attribute__ ((visibility("default")))
49 #else // GCC_VISIBILITY
51 #endif // GCC_VISIBILITY
54 #if defined(_MSC_VER) && !defined(SWIG)
55 #ifdef IMPBASE_EXPORTS
57 #define IMPBASE_EXPORT_TEMPLATE(name) template class __declspec(dllexport) name
61 #define IMPBASE_EXPORT_TEMPLATE(name) template class __declspec(dllimport) name
66 #define IMPBASE_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE
68 #endif // MSC and SWIG
70 #if !defined(SWIG) && !defined(IMP_DOXYGEN)
72 #define IMPBASE_BEGIN_NAMESPACE \
73 IMP_COMPILER_ENABLE_WARNINGS \
74 namespace IMP { namespace base { \
76 #define IMPBASE_END_NAMESPACE \
78 IMP_COMPILER_DISABLE_WARNINGS
80 #define IMPBASE_BEGIN_INTERNAL_NAMESPACE \
81 IMPBASE_BEGIN_NAMESPACE namespace internal {
84 #define IMPBASE_END_INTERNAL_NAMESPACE \
85 } IMPBASE_END_NAMESPACE
88 #define IMPBASE_BEGIN_NAMESPACE \
89 namespace IMP { namespace base {
91 #define IMPBASE_END_NAMESPACE \
94 #define IMPBASE_BEGIN_INTERNAL_NAMESPACE \
95 IMPBASE_BEGIN_NAMESPACE namespace internal {
98 #define IMPBASE_END_INTERNAL_NAMESPACE \
99 } IMPBASE_END_NAMESPACE
103 #define IMP_BUILD IMP_RELEASE
104 #define IMP_HAS_DEPRECATED 1
105 #define IMP_HAS_LOG IMP_VERBOSE
106 #define IMP_HAS_CHECKS IMP_INTERNAL
108 #define IMP_RELEASE 1
110 #define IMP_PROGRESS 2
112 #define IMP_VERBOSE 4
115 #define IMP_INTERNAL 2
116 #define IMP_COMPILER_HAS_AUTO 0
117 #define IMP_COMPILER_HAS_DEBUG_VECTOR 1
118 #define IMP_COMPILER_HAS_NULLPTR 0
119 #define IMP_BASE_USE_BOOST_RANDOM
120 #define IMP_BASE_HAS_BOOST_RANDOM 1
121 #define IMP_BASE_NO_GPERFTOOLS
122 #define IMP_BASE_HAS_GPERFTOOLS 0
123 #define IMP_BASE_NO_LOG4CXX
124 #define IMP_BASE_HAS_LOG4CXX 0
125 #define IMP_BASE_NO_TCMALLOC_HEAPCHECKER
126 #define IMP_BASE_HAS_TCMALLOC_HEAPCHECKER 0
127 #define IMP_BASE_NO_TCMALLOC_HEAPPROFILER
128 #define IMP_BASE_HAS_TCMALLOC_HEAPPROFILER 0
132 namespace IMP {
namespace base {
139 IMPBASEEXPORT std::string get_module_version();
144 inline std::string get_module_name() {
155 namespace IMP {
namespace base {
168 IMPBASEEXPORT std::string
get_data_path(std::string file_name);