Merge branch '1.37'
[geany-mirror.git] / ctags / main / general.h
blobc938b02bf9bb073647ee5e13f783bcf3d0cf2021
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 #if (defined (HAVE_FORK) && defined (HAVE_WAITPID) && defined (HAVE_EXECV) && defined (HAVE_PIPE))
18 #define HAVE_COPROC
19 #endif
20 #elif defined (WIN32)
21 # include "e_msoft.h"
22 #endif
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 USE_STDBOOL_H
54 # include <stdbool.h>
55 #endif
58 * FUNCTION PROTOTYPES
61 #if defined (NEED_PROTO_REMOVE) && defined (HAVE_REMOVE)
62 extern int remove (const char *);
63 #endif
65 #if defined (NEED_PROTO_UNLINK) && ! defined (HAVE_REMOVE)
66 extern void *unlink (const char *);
67 #endif
69 #ifdef NEED_PROTO_GETENV
70 extern char *getenv (const char *);
71 #endif
73 #endif /* CTAGS_MAIN_GENERAL_H */