1 /* 2 * Copyright (c) 1998-2003, Darren Hiebert 3 * 4 * This source code is released for free distribution under the terms of the 5 * GNU General Public License version 2 or (at your option) any later version. 6 * 7 * Provides the general (non-ctags-specific) environment assumed by all. 8 */ 9 #ifndef CTAGS_MAIN_GENERAL_H 10 #define CTAGS_MAIN_GENERAL_H 11 12 /* 13 * INCLUDE FILES 14 */ 15 #if defined (HAVE_CONFIG_H) 16 # include <config.h> 17 #elif defined (WIN32) 18 # include "e_msoft.h" 19 #endif 20 21 /* To provide timings features. 22 */ 23 #include <time.h> 24 25 /* 26 * MACROS 27 */ 28 #include "gcc-attr.h" 29 30 /* 31 * Portability macros 32 */ 33 #if !defined(HAVE_STRCASECMP) && !defined(strcasecmp) 34 # ifdef HAVE_STRICMP 35 # define strcasecmp(s1,s2) stricmp(s1,s2) 36 # else 37 # define strcasecmp(s1,s2) struppercmp(s1,s2) 38 # endif 39 #endif 40 41 #if !defined(HAVE_STRNCASECMP) && !defined(strncasecmp) 42 # ifdef HAVE_STRNICMP 43 # define strncasecmp(s1,s2,n) strnicmp(s1,s2,n) 44 # else 45 # define strncasecmp(s1,s2,n) strnuppercmp(s1,s2,n) 46 # endif 47 #endif 48 49 /* 50 * DATA DECLARATIONS 51 */ 52 53 #ifdef HAVE_STDBOOL_H 54 # include <stdbool.h> 55 #endif 56 57 /* 58 * HACK for #1610. 59 */ 60 61 #ifdef ICONV_USE_LIB_PREFIX 62 #define iconv libiconv 63 #define iconv_open libiconv_open 64 #define iconv_close libiconv_close 65 #endif 66 67 #endif /* CTAGS_MAIN_GENERAL_H */ 68