1 #ifndef _NCBILCL_ 2 #define _NCBILCL_ 3 4 /* $Id: ncbilcl.hpp 550813 2017-11-08 12:52:45Z ivanov $ 5 * =========================================================================== 6 * 7 * PUBLIC DOMAIN NOTICE 8 * National Center for Biotechnology Information 9 * 10 * This software/database is a "United States Government Work" under the 11 * terms of the United States Copyright Act. It was written as part of 12 * the author's official duties as a United States Government employee and 13 * thus cannot be copyrighted. This software/database is freely available 14 * to the public for use. The National Library of Medicine and the U.S. 15 * Government have not placed any restriction on its use or reproduction. 16 * 17 * Although all reasonable efforts have been taken to ensure the accuracy 18 * and reliability of the software and data, the NLM and the U.S. 19 * Government do not and cannot warrant the performance or results that 20 * may be obtained by using this software or data. The NLM and the U.S. 21 * Government disclaim all warranties, express or implied, including 22 * warranties of performance, merchantability or fitness for any particular 23 * purpose. 24 * 25 * Please cite the author in any work or product based on this material. 26 * 27 * =========================================================================== 28 * 29 * Authors: Vladimir Ivanov 30 * 31 * File Description: 32 * Redefine C Toolkit configuration macros using C++ Toolkit definitions 33 * 34 */ 35 36 37 /// Define ctransition namespace, and defang ncbi_skew_guard.h. 38 39 #define CTRANSITION_NS ctransition 40 41 #include <corelib/ncbistl.hpp> 42 43 /** @addtogroup CToolsBridge 44 * 45 * @{ 46 */ 47 48 49 #define BEGIN_CTRANSITION_SCOPE BEGIN_SCOPE(CTRANSITION_NS) 50 #define END_CTRANSITION_SCOPE END_SCOPE(CTRANSITION_NS) 51 #define USING_CTRANSITION_SCOPE USING_SCOPE(CTRANSITION_NS) 52 53 54 /*----------------------------------------------------------------------*/ 55 /* OS */ 56 /*----------------------------------------------------------------------*/ 57 58 #ifdef NCBI_OS_UNIX 59 # define OS_UNIX 60 #endif 61 62 #ifdef NCBI_OS_MSWIN 63 # define OS_MSWIN 64 #endif 65 66 #ifdef NCBI_OS_BSD 67 # define OS_UNIX_FREEBSD 68 #endif 69 70 #ifdef NCBI_OS_DARWIN 71 # define OS_UNIX_DARWIN 72 #endif 73 74 #ifdef NCBI_OS_LINUX 75 # define OS_UNIX_LINUX 76 #endif 77 78 79 /* Define to 1 on Cygwin. */ 80 /* #undef NCBI_OS_CYGWIN */ 81 82 83 /*----------------------------------------------------------------------*/ 84 /* Compiler */ 85 /*----------------------------------------------------------------------*/ 86 87 88 #ifdef NCBI_COMPILER_MSVC 89 # define COMP_MSC 90 #endif 91 92 #ifdef NCBI_COMPILER_GCC 93 # define COMP_GNU 94 #endif 95 96 97 /*----------------------------------------------------------------------*/ 98 /* Desired or available feature list */ 99 /*----------------------------------------------------------------------*/ 100 101 // C++ Toolkit have the same definitions 102 //#define HAVE_STRCASECMP 1 103 //#define HAVE_STRDUP 1 104 105 106 /*----------------------------------------------------------------------*/ 107 /* #includes */ 108 /*----------------------------------------------------------------------*/ 109 110 #if defined(NCBI_OS_UNIX) 111 # include <sys/types.h> 112 # include <limits.h> 113 # include <sys/stat.h> 114 # include <stddef.h> 115 # include <stdio.h> 116 # include <ctype.h> 117 # include <string.h> 118 //# include <malloc.h> 119 # include <memory.h> 120 # include <stdlib.h> 121 # include <math.h> 122 # include <errno.h> 123 # include <float.h> 124 # include <unistd.h> 125 #endif 126 127 #if defined(NCBI_OS_MSWIN) 128 # include <stddef.h> 129 # include <sys/types.h> 130 # include <limits.h> 131 # include <sys/stat.h> 132 # include <stdio.h> 133 # include <ctype.h> 134 # include <string.h> 135 # include <stdlib.h> 136 # include <math.h> 137 # include <errno.h> 138 # include <float.h> 139 #endif 140 141 142 /*----------------------------------------------------------------------*/ 143 /* Missing ANSI-isms */ 144 /*----------------------------------------------------------------------*/ 145 146 #if 0 147 148 #ifndef offsetof 149 #define offsetof(__strctr,__fld) ((size_t)(&(((__strctr *)0)->__fld))) 150 #endif 151 152 #ifndef CLK_TCK 153 # define CLK_TCK 60 154 #endif 155 #ifndef SEEK_SET 156 # define SEEK_SET 0 157 # define SEEK_CUR 1 158 # define SEEK_END 2 159 #endif 160 161 #ifndef FILENAME_MAX 162 # if defined(NCBI_OS_UNIX) 163 # define FILENAME_MAX 1024 164 # elif 165 # define FILENAME_MAX 63 166 # endif 167 #endif 168 #ifndef PATH_MAX 169 # if defined(NCBI_OS_UNIX) 170 # define PATH_MAX 1024 171 # elif 172 # define PATH_MAX 256 173 # endif 174 #endif 175 176 #endif /* 0 */ 177 178 179 /*----------------------------------------------------------------------*/ 180 /* Misc Macros */ 181 /*----------------------------------------------------------------------*/ 182 183 #define PROTO(x) x 184 #define VPROTO(x) x 185 186 #define INLINE inline 187 188 #if 0 189 190 #ifdef NCBI_OS_MSWIN 191 # define DIRDELIMCHR '\\' 192 # define DIRDELIMSTR "\\" 193 #else 194 # define DIRDELIMCHR '/' 195 # define DIRDELIMSTR "/" 196 #endif 197 #define CWDSTR "." 198 199 #define KBYTE (1024) 200 #define MBYTE (1048576) 201 202 #define TEMPNAM_AVAIL 203 /*#define HAVE_MADVISE*/ 204 205 #if defined(WORDS_BIGENDIAN) 206 # define IS_BIG_ENDIAN 207 #elif 208 # define IS_LITTLE_ENDIAN 209 #endif 210 211 #endif /* 0 */ 212 213 214 215 /*----------------------------------------------------------------------*/ 216 /* Macros for Floating Point */ 217 /*----------------------------------------------------------------------*/ 218 219 /* 220 #if defined(NCBI_OS_DARWIN) || defined(OS_UNIX_LINUX) || defined(NCBI_OS_MSWIN) 221 # define EXP2(x) exp((x)*LN2) 222 # define LOG2(x) (log(x)*(1./LN2)) 223 # define EXP10(x) exp((x)*LN10) 224 # define LOG10(x) log10(x) 225 #endif 226 227 #if defined(???) 228 # define EXP2(x) exp2(x) 229 # define LOG2(x) log2(x) 230 # define EXP10(x) exp10(x) 231 # define LOG10(x) log10(x) 232 #endif 233 */ 234 235 236 /*----------------------------------------------------------------------*/ 237 /* Macros Defining Limits */ 238 /*----------------------------------------------------------------------*/ 239 240 /* Largest permissible memory request */ 241 /* 242 #ifdef NCBI_OS_MSWIN 243 # define MAXALLOC 0x7F000000 244 #else 245 # define MAXALLOC 0x40000000 246 #endif 247 */ 248 249 250 251 /* @} */ 252 253 #endif /* _NCBILCL_ */ 254