xref: /Universal-ctags/main/general.h (revision 288a2fd5bcfd4c89f5015b2d1736160485504fb8)
1d4c6f1e6SMasatake YAMATO /*
2d4c6f1e6SMasatake YAMATO *   Copyright (c) 1998-2003, Darren Hiebert
3d4c6f1e6SMasatake YAMATO *
4d4c6f1e6SMasatake YAMATO *   This source code is released for free distribution under the terms of the
50ce38835Sviccuad *   GNU General Public License version 2 or (at your option) any later version.
6d4c6f1e6SMasatake YAMATO *
7d4c6f1e6SMasatake YAMATO *   Provides the general (non-ctags-specific) environment assumed by all.
8d4c6f1e6SMasatake YAMATO */
95474c2e5SMasatake YAMATO #ifndef CTAGS_MAIN_GENERAL_H
105474c2e5SMasatake YAMATO #define CTAGS_MAIN_GENERAL_H
11d4c6f1e6SMasatake YAMATO 
12d4c6f1e6SMasatake YAMATO /*
13d4c6f1e6SMasatake YAMATO *   INCLUDE FILES
14d4c6f1e6SMasatake YAMATO */
15d4c6f1e6SMasatake YAMATO #if defined (HAVE_CONFIG_H)
16d4c6f1e6SMasatake YAMATO # include <config.h>
17d4c6f1e6SMasatake YAMATO #elif defined (WIN32)
18d4c6f1e6SMasatake YAMATO # include "e_msoft.h"
19d4c6f1e6SMasatake YAMATO #endif
20d4c6f1e6SMasatake YAMATO 
21*288a2fd5SK.Takata /*  To provide timings features.
22df2449f1SMasatake YAMATO  */
23df2449f1SMasatake YAMATO #include <time.h>
24d4c6f1e6SMasatake YAMATO 
25d4c6f1e6SMasatake YAMATO /*
26d4c6f1e6SMasatake YAMATO *   MACROS
27d4c6f1e6SMasatake YAMATO */
2864ae08e5SMasatake YAMATO #include "gcc-attr.h"
29d4c6f1e6SMasatake YAMATO 
30d4c6f1e6SMasatake YAMATO /*
31d4c6f1e6SMasatake YAMATO  *  Portability macros
32d4c6f1e6SMasatake YAMATO  */
33d4c6f1e6SMasatake YAMATO #if !defined(HAVE_STRCASECMP) && !defined(strcasecmp)
34d4c6f1e6SMasatake YAMATO # ifdef HAVE_STRICMP
35d4c6f1e6SMasatake YAMATO #  define strcasecmp(s1,s2) stricmp(s1,s2)
36d4c6f1e6SMasatake YAMATO # else
37d4c6f1e6SMasatake YAMATO #  define strcasecmp(s1,s2) struppercmp(s1,s2)
38d4c6f1e6SMasatake YAMATO # endif
39d4c6f1e6SMasatake YAMATO #endif
40d4c6f1e6SMasatake YAMATO 
41d4c6f1e6SMasatake YAMATO #if !defined(HAVE_STRNCASECMP) && !defined(strncasecmp)
42d4c6f1e6SMasatake YAMATO # ifdef HAVE_STRNICMP
43d4c6f1e6SMasatake YAMATO #  define strncasecmp(s1,s2,n) strnicmp(s1,s2,n)
44d4c6f1e6SMasatake YAMATO # else
45d4c6f1e6SMasatake YAMATO #  define strncasecmp(s1,s2,n) strnuppercmp(s1,s2,n)
46d4c6f1e6SMasatake YAMATO # endif
47d4c6f1e6SMasatake YAMATO #endif
48d4c6f1e6SMasatake YAMATO 
49d4c6f1e6SMasatake YAMATO /*
50d4c6f1e6SMasatake YAMATO *   DATA DECLARATIONS
51d4c6f1e6SMasatake YAMATO */
52d4c6f1e6SMasatake YAMATO 
5380f291cfSMasatake YAMATO #ifdef HAVE_STDBOOL_H
544da1666eSP.Montanus # include <stdbool.h>
554da1666eSP.Montanus #endif
564da1666eSP.Montanus 
57d4c6f1e6SMasatake YAMATO /*
5888c2797bSMasatake YAMATO *   HACK for #1610.
5988c2797bSMasatake YAMATO */
6088c2797bSMasatake YAMATO 
6188c2797bSMasatake YAMATO #ifdef ICONV_USE_LIB_PREFIX
6288c2797bSMasatake YAMATO #define iconv libiconv
6388c2797bSMasatake YAMATO #define iconv_open libiconv_open
6488c2797bSMasatake YAMATO #define iconv_close libiconv_close
6588c2797bSMasatake YAMATO #endif
6688c2797bSMasatake YAMATO 
675474c2e5SMasatake YAMATO #endif  /* CTAGS_MAIN_GENERAL_H */
68