00001 /* config.h. Generated from config.h.in by configure. */ 00002 // -*- Mode: C++; tab-width: 2; -*- 00003 // vi: set ts=2: 00004 // 00005 // $Id: config.h.in,v 1.50.16.1 2007/03/25 22:02:48 oliver Exp $ 00006 // 00007 00008 #ifndef BALL_CONFIG_CONFIG_H 00009 #define BALL_CONFIG_CONFIG_H 00010 00011 // Here are some global configuration flags for BALL 00012 00013 // This flag is used by GenericPDBFile 00014 // if it is not set, the length of each line has 00015 // to be meet the PDB spcifications exactly. 00016 // As virtually no existing PDB file fulfills 00017 // this requirement, we disencourage its usage. 00018 // Nevertheless, it can be quite useful for debugging. 00019 /* #undef BALL_STRICT_PDB_LINE_IMPORT */ 00020 00021 // BALL_DEBUG enables some debugging methods 00022 // change the DEBUG entry in configure to define this flag. 00023 // If in debug mode, inline functions won't be compiled 00024 // as inline by defining BALL_NO_INLINE_FUNCTIONS 00025 // This facilitates debugging, as the debugger can always 00026 // find the corresponding source code line. 00027 // See also COMMON/debug.h for these symbols. 00028 /* #undef BALL_DEBUG */ 00029 /* #undef BALL_NO_INLINE_FUNCTIONS */ 00030 00031 00032 // This define is used to determine 00033 // wheter BALL shall try to close a socket conection 00034 // via shutdown or close (see socket.C). 00035 #define BALL_USE_SOCKET_SHUTDOWN 00036 00037 // This define is used in string.C and enables a workaround 00038 // on on of these poor systems that do not define vsnprintf. 00039 /* #undef BALL_HAVE_VSNPRINTF */ 00040 00041 // The path to the directory where BALL is installed. 00042 #define BALL_PATH "/home/andreas/BALL" 00043 00044 // The string describing the binary format. 00045 #define BALL_BINFMT "Linux-x86_64-g++_4.3.3" 00046 00047 // Used in COMMON/namespace.h to cause the inclusion of COMMON/memory.h. 00048 /* #undef BALL_LOG_MEMORY */ 00049 #define BALL_LOG_MEMORY_FILE "memory.log" 00050 00051 // Define architecture 00052 /* #undef BALL_ARCH_SPARC */ 00053 /* #undef BALL_ARCH_MIPS */ 00054 /* #undef BALL_ARCH_I386 */ 00055 /* #undef BALL_ARCH_ALPHA */ 00056 /* #undef BALL_ARCH_POWERPC */ 00057 /* #undef BALL_ARCH_POWERPC32 */ 00058 /* #undef BALL_ARCH_POWERPC64 */ 00059 00060 // Define OS 00061 #define BALL_OS_LINUX LINUX 00062 /* #undef BALL_OS_SOLARIS */ 00063 /* #undef BALL_OS_SUNOS */ 00064 /* #undef BALL_OS_IRIX */ 00065 /* #undef BALL_OS_IRIX32 */ 00066 /* #undef BALL_OS_IRIX64 */ 00067 /* #undef BALL_OS_FREEBSD */ 00068 /* #undef BALL_OS_DARWIN */ 00069 00070 // Define compiler specifics (used in VERY few places only, e.g. COMMON/rtti.C). 00071 // Microsoft Visual Studio .NET 00072 /* #undef BALL_COMPILER_MSVC */ 00073 // GNU g++ 00074 #define BALL_COMPILER_GXX 00075 // Intel C++ 00076 /* #undef BALL_COMPILER_INTEL */ 00077 // SGI MipsPro 00078 /* #undef BALL_COMPILER_MIPSPRO */ 00079 // SUN SunPro (Forte, Workshop) 00080 /* #undef BALL_COMPILER_SUNPRO */ 00081 // Compaq cxx 00082 /* #undef BALL_COMPILER_COMPAQ */ 00083 // Kuck & Associate (KAI) C++ 00084 /* #undef BALL_COMPILER_KAI */ 00085 00086 // The compiler name. 00087 #define BALL_COMPILER GXX 00088 00089 // Defines for the compiler version (major.minor.minor_minor) 00090 #define BALL_COMPILER_VERSION_MAJOR 4 00091 #define BALL_COMPILER_VERSION_MINOR 3 00092 #define BALL_COMPILER_VERSION_MINOR_MINOR 3 00093 00094 // define if gethostname is supported 00095 #define BALL_HAVE_GETHOSTNAME 1 00096 00097 // define if sysinfo(SI_HOSTNAME,) has to be used instead of 00098 // gethostname (older Solaris variants) 00099 /* #undef BALL_HAVE_SYSINFO */ 00100 00101 // define if gethostname is not in the unistd.h header 00102 /* #undef BALL_DEFINE_GETHOSTNAME */ 00103 00104 // Define if you have the inet_aton function. 00105 // Note: inet_aton is a marginally improved version of inet_addr 00106 // If configure finds inet_aton, HAVE_INET_ATON is set and used 00107 // in SYSTEM/socket.C. 00108 /* #undef BALL_HAVE_INET_ATON */ 00109 00110 // Define the type needed for getsockname, getpeername, and accept 00111 // This type is probably one of socklen_t, size_t, or int 00112 // Refer to /usr/include/sys/socket.h in case of doubt 00113 #define BALL_SOCKLEN_TYPE socklen_t 00114 00115 // define some symbols for the (bit)size of some builtin types 00116 #define BALL_INT_SIZE 4 00117 #define BALL_CHAR_SIZE 1 00118 #define BALL_LONG_SIZE 8 00119 #define BALL_SIZE_T_SIZE 8 00120 #define BALL_POINTER_SIZE 8 00121 00122 // define symbols for the endianness of the system 00123 #define BALL_LITTLE_ENDIAN true 00124 /* #undef BALL_BIG_ENDIAN */ 00125 00126 // the signature of the function arguments used in xdrrec_create differs 00127 // from platform to platform, so we define some symbols describing the 00128 // correct arguments: (void*, char*, int), (char*, char*, int), or (void) 00129 // take arguments of type (void*, char*, int) 00130 /* #undef BALL_XDRREC_CREATE_VOID_VOID_INT */ 00131 /* #undef BALL_XDRREC_CREATE_VOID_CHAR_INT */ 00132 #define BALL_XDRREC_CREATE_CHAR_CHAR_INT 1 00133 /* #undef BALL_XDRREC_CREATE_VOID_VOID_UINT */ 00134 /* #undef BALL_XDRREC_CREATE_VOID */ 00135 00136 00137 // Defines the prefix needed when including extensions to the stl 00138 /* #undef BALL_EXT_INCLUDE_PREFIX */ 00139 00140 // Defines whether the HashMap already provides LongSize hashing 00141 /* #undef BALL_NEEDS_LONGSIZE_HASH */ 00142 00143 #define BALL_HAS_UNORDERED_MAP 1 00144 // If ext/hash_map is defined, we use this instead of std::map 00145 /* #undef BALL_HAS_HASH_MAP */ 00146 #define BALL_MAP_NAMESPACE tr1 00147 #define BALL_MAP_NAME std::tr1::unordered_map<Key,T> 00148 00149 // defined, if extensions to hash must be defined in namespace std 00150 #define BALL_EXTEND_HASH_IN_STD_NS true 00151 00152 // defined if BALL was configured with asio support 00153 #define BALL_HAS_ASIO 1 00154 00155 // defined if we have boost::iostreams support 00156 #define BALL_HAS_BOOST_IOSTREAMS 1 00157 00158 // defined if we have boost::thread support 00159 #define BALL_HAS_BOOST_THREAD 1 00160 00161 // defined if asio is taken from boost 00162 #define BALL_HAS_BOOST_ASIO 00163 00164 // the namespace to use for asio 00165 #define BALL_ASIO_NAMESPACE boost::asio 00166 00167 // some platforms (e.g. Debian 2.1) do not provide xdr_u_hyper, so we 00168 // need a workaround for this 00169 #define BALL_HAS_XDR_U_HYPER 1 00170 00171 // Define to `int' if <sys/types.h> doesn't define. 00172 /* #undef pid_t */ 00173 00174 // Define to `unsigned' if <sys/types.h> doesn't define. 00175 /* #undef size_t */ 00176 00177 // Define if you have the ANSI C header files. 00178 #define STDC_HEADERS 1 00179 00180 // Define if numeric_limits is defined in <limits> 00181 /* #undef BALL_HAS_NUMERIC_LIMITS */ 00182 00183 // Define the argument type for xdr_u_hyper (64 bit) 00184 #define BALL_XDR_UINT64_TYPE u_quad_t 00185 00186 // Define on 64 bit architectures to avoid the use of long long 00187 // which is required on 32 bit machines for comatibility 00188 #define BALL_64BIT_ARCHITECTURE 1 00189 00190 // Define a signed/unsigned numeric type of 64 bit length (used for 00191 // platform independent persistence: stores pointers) 00192 // this usually defaults to unsigned long on 64 bit architectures 00193 // and unsigned long long on 32 bit machines 00194 #define BALL_ULONG64_TYPE unsigned long 00195 #define BALL_LONG64_TYPE long 00196 00197 // Defines an unsigned type that has the same length as size_t 00198 #define BALL_SIZE_TYPE unsigned int 00199 00200 // Defines a signed type that has the same length as size_t 00201 #define BALL_INDEX_TYPE int 00202 00203 // Defines an unsigned integer type of the same size as void* 00204 #define BALL_POINTERSIZEUINT_TYPE unsigned long 00205 00206 // Define the template argument for friends of template classes: 00207 // either "" or "<>" 00208 #define BALL_NULL_TEMPLATE_ARGS 00209 00210 // Basically a work-around for the broken SUNPro CC (WS 6U2), 00211 // which handles function template incorrectly -- see amberNonBonded.C 00212 /* #undef BALL_MUST_CAST_TEMPLATE_FUNCTION_ARGS */ 00213 00214 // Define whether the compiler provides an ANSI-compliant implementation 00215 // of <iostream>. This is required in COMMON/socket.h/C since we need 00216 // the correct initialisation of the base classes. These base classes are 00217 // either something like std::basic_ios<char> etc., or ios, istream etc. 00218 #define BALL_HAS_ANSI_IOSTREAM 1 00219 00220 // Define whether we can use <sstream> or whether we have to use the 00221 // older <strstream> 00222 #define BALL_HAS_SSTREAM 1 00223 00224 // Define whether inline functions may be used as template parameters. 00225 #define BALL_HAS_INLINE_TPL_ARGS 1 00226 00227 // Define the precision for the BALL Complex type. This is mainly used 00228 // to determine the FFTW default type 00229 #define BALL_COMPLEX_PRECISION double 00230 00231 // Define whether the FFTW library/header is available. 00232 #define BALL_HAS_FFTW true 00233 #define BALL_HAS_FFTW_H true 00234 00235 // Define which versions of fftw can be used: double, float, long double 00236 #define BALL_HAS_FFTW_DOUBLE 00237 /* #undef BALL_HAS_FFTW_FLOAT */ 00238 /* #undef BALL_HAS_FFTW_LONG_DOUBLE */ 00239 00240 // The default traits for the FFTW classes 00241 #define BALL_FFTW_DEFAULT_TRAITS DoubleTraits 00242 00243 // Define whether BALL was built with lpsolve support 00244 #define BALL_HAS_LPSOLVE 1 00245 00246 // QT options 00247 #define BALL_HAS_VIEW 00248 #define BALL_QT_HAS_THREADS 00249 /* #undef BALL_QT_VERSION */ 00250 /* #undef BALL_QT_VERSION_STR */ 00251 #define QT_THREAD_SUPPORT 00252 #define BALL_USE_GLEW 00253 00254 // Define whether to use the ARM style or ANSI style access modifications 00255 // ARM style: BaseClass::foo; 00256 // ANSI style: using BaseClass::foo; 00257 #define BALL_CFG_USING_METHOD_DIRECTIVE 1 00258 00259 // Define for activated PYTHON support 00260 #define BALL_PYTHON_SUPPORT 1 00261 00262 // Maximum line length for reading from files (see source/FORMAT) 00263 #define BALL_MAX_LINE_LENGTH 65535 00264 00265 // on some systems (e.g. Solaris) we need to include /usr/include/ieeefp.h 00266 // for some floating point functions 00267 /* #undef BALL_HAS_IEEEFP_H */ 00268 00269 // on some systems (e.g. Solaris) we need to include /usr/include/values.h 00270 // for some floating point functions 00271 #define BALL_HAS_VALUES_H 00272 00273 // on some systems, we do not have regex.h, so we have to use regexp.h 00274 /* #undef BALL_HAS_REGEXP_H */ 00275 #define BALL_HAS_REGEX_H 00276 00277 // Define whether float.h has to be included along with limits.h 00278 #define BALL_HAS_FLOAT_H 1 00279 00280 #define BALL_HAS_UNISTD_H 00281 /* #undef BALL_HAS_PROCESS_H */ 00282 #define BALL_HAS_TIME_H 00283 #define BALL_HAS_LIMITS_H 00284 #define BALL_HAS_FLOAT_H 1 00285 #define BALL_HAS_DIRENT_H 00286 /* #undef BALL_HAS_DIRECT_H */ 00287 #define BALL_HAS_PWD_H 00288 #define BALL_HAS_SYS_IOCTL_H 00289 #define BALL_HAS_SYS_TIME_H 00290 #define BALL_HAS_SYS_STAT_H 00291 #define BALL_HAS_SYS_TIMES_H 00292 #define BALL_HAS_SYS_TYPES_H 00293 #define BALL_HAS_SYS_PARAM_H 00294 #define BALL_HAS_SYS_SOCKET_H 00295 #define BALL_HAS_SYS_SYSINFO_H 00296 00297 #define BALL_HAS_NETINET_IN_H 00298 #define BALL_HAS_NETDB_H 00299 #define BALL_HAS_ARPA_INET_H 00300 00301 #define BALL_HAS_KILL 00302 #define BALL_HAS_SYSCONF 00303 #define BALL_HAS_HYPOT 00304 00305 // Specific to the Windows port (and actually not used here, 00306 // included for completeness, rather). 00307 /* #undef BALL_HAS_CLOCKS_PER_SEC */ 00308 /* #undef BALL_HAS_WINDOWS_PERFORMANCE_COUNTER */ 00309 /* #undef BALL_USE_WINSOCK */ 00310 00311 #endif // BALL_CONFIG_CONFIG_H