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