Update all parsers and related files to ctags p6.1.20240421.0
[geany-mirror.git] / ctags / main / general.h
blob14318f8fae70938d0e269341687e99ed1d6f6a01
1 /*
2 * Copyright (c) 1998-2003, Darren Hiebert
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.
7 * Provides the general (non-ctags-specific) environment assumed by all.
8 */
9 #ifndef CTAGS_MAIN_GENERAL_H
10 #define CTAGS_MAIN_GENERAL_H
13 * INCLUDE FILES
15 #if defined (HAVE_CONFIG_H)
16 # include <config.h>
17 #elif defined (_WIN32)
18 # include "e_msoft.h"
19 #endif
21 /* To provide timings features.
23 #include <time.h>
26 * MACROS
28 #include "gcc-attr.h"
31 * Portability macros
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
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
50 * DATA DECLARATIONS
53 #ifdef HAVE_STDBOOL_H
54 # include <stdbool.h>
55 #endif
58 * HACK for #1610.
61 #ifdef ICONV_USE_LIB_PREFIX
62 #define iconv libiconv
63 #define iconv_open libiconv_open
64 #define iconv_close libiconv_close
65 #endif
67 #endif /* CTAGS_MAIN_GENERAL_H */