30 #ifndef IMPKERNEL_CONFIG_H 
   31 #define IMPKERNEL_CONFIG_H 
   33 #include <IMP/kernel_config.h> 
   39 #ifdef IMPKERNEL_EXPORTS 
   40 #define IMPKERNELEXPORT __declspec(dllexport) 
   42 #define IMPKERNELEXPORT __declspec(dllimport) 
   48 #define IMPKERNELEXPORT __attribute__((visibility("default"))) 
   49 #else  // GCC_VISIBILITY 
   50 #define IMPKERNELEXPORT 
   51 #endif  // GCC_VISIBILITY 
   55 #if defined(_MSC_VER) && !defined(SWIG) 
   56 #ifdef IMPKERNEL_EXPORTS 
   58 #define IMPKERNEL_EXPORT_TEMPLATE(name)     \ 
   59   template class __declspec(dllexport) name 
   63 #define IMPKERNEL_EXPORT_TEMPLATE(name)     \ 
   64   template class __declspec(dllimport) name 
   69 #define IMPKERNEL_EXPORT_TEMPLATE(name) IMP_REQUIRE_SEMICOLON_NAMESPACE 
   71 #endif  // MSC and SWIG 
   73 #if !defined(SWIG) && !defined(IMP_DOXYGEN) 
   75 #define IMPKERNEL_BEGIN_NAMESPACE \ 
   76   IMP_COMPILER_ENABLE_WARNINGS namespace IMP{ 
   78 #define IMPKERNEL_END_NAMESPACE } \ 
   79 IMP_COMPILER_DISABLE_WARNINGS 
   81 #define IMPKERNEL_BEGIN_INTERNAL_NAMESPACE IMPKERNEL_BEGIN_NAMESPACE \ 
   84 #define IMPKERNEL_END_INTERNAL_NAMESPACE } IMPKERNEL_END_NAMESPACE 
   86 #else  // SWIG and DOXYGEN 
   87 #define IMPKERNEL_BEGIN_NAMESPACE namespace IMP{ 
   89 #define IMPKERNEL_END_NAMESPACE } 
   91 #define IMPKERNEL_BEGIN_INTERNAL_NAMESPACE IMPKERNEL_BEGIN_NAMESPACE\ 
   94 #define IMPKERNEL_END_INTERNAL_NAMESPACE } IMPKERNEL_END_NAMESPACE 
   96 #endif  // SWIG AND DOXYGEN 
   98 #define IMP_BUILD IMP_RELEASE 
   99 #define IMP_HAS_LOG IMP_VERBOSE 
  100 #define IMP_HAS_CHECKS IMP_INTERNAL 
  102 #define IMP_RELEASE 1 
  104 #define IMP_PROGRESS 2 
  106 #define IMP_VERBOSE 4 
  110 #define IMP_INTERNAL 2 
  111 #define IMP_KERNEL_HAS_LOG4CXX 0 
  112 #define IMP_COMPILER_HAS_CEREAL_RAW_POINTER 0 
  113 #define IMP_COMPILER_HAS_DEBUG_VECTOR 0 
  114 #define IMP_COMPILER_HAS_RANDOM_SHUFFLE 0 
  115 #define IMP_COMPILER_HAS_THREE_WAY 0 
  116 #define IMP_KERNEL_USE_BOOST_RANDOM 
  117 #define IMP_KERNEL_HAS_BOOST_RANDOM 1 
  118 #define IMP_KERNEL_USE_NUMPY 
  119 #define IMP_KERNEL_HAS_NUMPY 1 
  120 #define IMP_KERNEL_NO_GPERFTOOLS 
  121 #define IMP_KERNEL_HAS_GPERFTOOLS 0 
  122 #define IMP_KERNEL_NO_TCMALLOC_HEAPCHECKER 
  123 #define IMP_KERNEL_HAS_TCMALLOC_HEAPCHECKER 0 
  124 #define IMP_KERNEL_NO_TCMALLOC_HEAPPROFILER 
  125 #define IMP_KERNEL_HAS_TCMALLOC_HEAPPROFILER 0 
  140     inline std::string get_module_name() { 
return "IMP"; }
 
  156     IMPKERNELEXPORT std::string 
get_data_path(std::string file_name);
 
  187 #ifdef IMPKERNEL_DEPRECATED_HEADER 
  188 #undef IMPKERNEL_DEPRECATED_HEADER 
  189 #undef IMPKERNEL_DEPRECATED_VALUE_DEF 
  190 #undef IMPKERNEL_DEPRECATED_VALUE_DECL 
  191 #undef IMPKERNEL_DEPRECATED_OBJECT_DEF 
  192 #undef IMPKERNEL_DEPRECATED_OBJECT_DECL 
  193 #undef IMPKERNEL_DEPRECATED_FUNCTION_DEF 
  194 #undef IMPKERNEL_DEPRECATED_FUNCTION_DECL 
  195 #undef IMPKERNEL_DEPRECATED_METHOD_DEF 
  196 #undef IMPKERNEL_DEPRECATED_METHOD_DECL 
  197 #undef IMPKERNEL_DEPRECATED_MACRO 
  198 #undef IMPKERNEL_SHOW_WARNINGS 
  202 #if defined( IMPKERNEL_COMPILATION)                                 \ 
  203   || defined(SWIG) || defined(IMP_SWIG_WRAPPER)                         \ 
  204   || defined( IMPKERNEL_ALL) || defined(IMP_DOXYGEN)                \ 
  205   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  206   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  207   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  208   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  209   || defined(IMPSCOREFUNCTOR_COMPILATION) || defined(IMPRMF_COMPILATION) \ 
  210   || defined(IMPGSL_COMPILATION) 
  211 #define IMPKERNEL_SHOW_WARNINGS 0 
  213 #define IMPKERNEL_SHOW_WARNINGS 1 
  217 #if IMPKERNEL_SHOW_WARNINGS 
  218 #define IMPKERNEL_DEPRECATED_HEADER(version, help_message)          \ 
  219     IMP_PRAGMA(message(__FILE__ " is deprecated: " help_message)) 
  220 #define IMPKERNEL_DEPRECATED_VALUE_DECL(version)    \ 
  221   IMP_DEPRECATED_ATTRIBUTE 
  222 #define IMPKERNEL_DEPRECATED_OBJECT_DECL(version)    \ 
  223   IMP_DEPRECATED_ATTRIBUTE 
  224 #define IMPKERNEL_DEPRECATED_FUNCTION_DECL(version) \ 
  225   IMP_DEPRECATED_ATTRIBUTE 
  226 #define IMPKERNEL_DEPRECATED_METHOD_DECL(version) \ 
  227   IMP_DEPRECATED_ATTRIBUTE 
  229 #else //IMPKERNEL_SHOW_WARNINGS 
  231 #define IMPKERNEL_DEPRECATED_HEADER(version, help_message) \ 
  233 #define IMPKERNEL_DEPRECATED_VALUE_DECL(version) 
  235 #define IMPKERNEL_DEPRECATED_OBJECT_DECL(version) 
  237 #define IMPKERNEL_DEPRECATED_FUNCTION_DECL(version) 
  239 #define IMPKERNEL_DEPRECATED_METHOD_DECL(version) 
  241 #endif // IMPKERNEL_SHOW_WARNINGS 
  244 #if !defined(IMP_ALL) || defined(SWIG) || defined(IMP_DOXYGEN)          \ 
  245   || defined(IMPBASE_COMPILATION) || defined(IMPKERNEL_COMPILATION)     \ 
  246   || defined(IMPCORE_COMPILATION) || defined(IMPATOM_COMPILATION)       \ 
  247   || defined(IMPSTATISTICS_COMPILATION) || defined(IMPDOMINO_COMPILATION) \ 
  248   || defined(IMPCONTAINER_COMPILATION) || defined(IMPDISPLAY_COMPILATION) \ 
  249   || defined(IMPSCOREFUNCTOR_COMPILATION) 
  251 #define IMPKERNEL_DEPRECATED_MACRO(version, message) 
  254 #define IMPKERNEL_DEPRECATED_MACRO(version, message)        \ 
  255   IMP_DEPRECATED_MACRO(version, message) 
  259 #define IMPKERNEL_DEPRECATED_VALUE_DEF(version, message) \ 
  260   IMP_DEPRECATED_VALUE_RUNTIME_WARNING(version, message) 
  263 #define IMPKERNEL_DEPRECATED_OBJECT_DEF(version, message) \ 
  264   IMP_DEPRECATED_OBJECT_RUNTIME_WARNING(version, message) 
  267 #define IMPKERNEL_DEPRECATED_FUNCTION_DEF(version, message) \ 
  268   IMP_DEPRECATED_FUNCTION_RUNTIME_WARNING(version, message) 
  271 #define IMPKERNEL_DEPRECATED_METHOD_DEF(version, message) \ 
  272   IMP_DEPRECATED_METHOD_RUNTIME_WARNING(version, message) 
  277 #if defined(IMP_EXECUTABLE) && !defined(IMP_EXECUTABLE_WARNINGS) 
  278 IMP_COMPILER_ENABLE_WARNINGS
 
  279 #define IMP_EXECUTABLE_WARNINGS 
std::string get_data_path(std::string file_name)
Return the full path to one of this module's data files. 
 
std::string get_example_path(std::string file_name)
Return the full path to one of this module's example files. 
 
Various compiler workarounds. 
 
std::string get_module_version()
Return the version of this module, as a string.