1 /*
2 *   Copyright (c) 2002-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 *   Configures ctags for Microsoft environment.
8 */
9 #ifndef E_MSOFT_H
10 #define E_MSOFT_H
11 
12 #define CASE_INSENSITIVE_FILENAMES 1
13 #define MANUAL_GLOBBING 1
14 #define MSDOS_STYLE_PATH 1
15 #define HAVE_FCNTL_H 1
16 #define HAVE_IO_H 1
17 #define HAVE_SYS_STAT_H 1
18 #define HAVE_SYS_TYPES_H 1
19 #define HAVE_CHSIZE 1
20 #define HAVE_DIRECT_H 1
21 #define HAVE_STRICMP 1
22 #define HAVE_STRNICMP 1
23 #define HAVE_STRSTR 1
24 #define HAVE_STRERROR 1
25 #define HAVE__FINDFIRST 1
26 #define HAVE_FINDNEXT 1
27 #define findfirst_t intptr_t
28 #define HAVE_MKSTEMP 1
29 #define HAVE_FNMATCH 1
30 #define HAVE_FNMATCH_H 1
31 #define HAVE_PUTENV 1
32 #define TMPDIR "\\"
33 
34 int mkstemp (char *template_name);
35 
36 #ifdef _MSC_VER
37 
38 # if _MSC_VER < 1900
39 #  define snprintf _snprintf
40 # endif
41 
42 #if (_MSC_VER >= 1800) // Visual Studio 2013 or newer
43 #define HAVE_STDBOOL_H 1
44 #else
45 typedef enum { false, true } bool;
46 #endif
47 
48 # ifndef _CRT_SECURE_NO_DEPRECATE
49 #  define _CRT_SECURE_NO_DEPRECATE 1
50 # endif
51 # pragma warning(disable : 4996)
52 
53 #elif defined (__MINGW32__)
54 
55 # include <_mingw.h>
56 # define HAVE_STDBOOL_H 1
57 # define HAVE_DIRENT_H 1
58 # define ffblk _finddata_t
59 # define FA_DIREC _A_SUBDIR
60 # define ff_name name
61 
62 # if defined(__USE_MINGW_ANSI_STDIO) && defined(__MINGW64_VERSION_MAJOR)
63 #  define HAVE_ASPRINTF 1
64 # endif
65 
66 #endif
67 
68 #endif
69