OSDN Git Service

define HAVE_DOS_BASED_FILED_SYSTEM on cygwin
[pf3gnuchains/gcc-fork.git] / gcc / config / i386 / xm-cygwin.h
1 /* Configuration for GNU C-compiler for hosting on Windows NT.
2    using a unix style C library.
3    Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
4
5 This file is part of GNU CC.
6
7 GNU CC is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2, or (at your option)
10 any later version.
11
12 GNU CC is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GNU CC; see the file COPYING.  If not, write to
19 the Free Software Foundation, 59 Temple Place - Suite 330,
20 Boston, MA 02111-1307, USA. */
21
22 #define EXECUTABLE_SUFFIX ".exe"
23 #define NO_SYS_SIGLIST 1
24
25 /* Even though Cygwin tries to hide the DOS based filesystem, it
26    still shows though at times.  */
27 #define HAVE_DOS_BASED_FILE_SYSTEM
28
29 /* We support both "/" and "\" since everybody tests both but we
30    default to "/".  This is important because if gcc produces Win32
31    paths containing backslashes, make and configure may treat the
32    backslashes as escape characters.  Many Win32 programs use forward
33    slashes so using a forward slash shouldn't be problematic from the
34    perspective of wanting gcc to produce native Win32 paths. */
35 #define DIR_SEPARATOR '/'
36 #define DIR_SEPARATOR_2 '\\'
37
38 /* Convert win32 style path lists to POSIX style for consistency. */ 
39 #undef GET_ENV_PATH_LIST
40 #define GET_ENV_PATH_LIST(VAR,NAME)                                     \
41 do {                                                                    \
42   char *_epath;                                                         \
43   char *_posixepath;                                                    \
44   _epath = _posixepath = getenv (NAME);                                 \
45   /* if we have a posix path list, convert to posix path list */        \
46   if (_epath != NULL && *_epath != 0                                    \
47       && ! cygwin_posix_path_list_p (_epath))                           \
48     {                                                                   \
49       char *p;                                                          \
50       _posixepath = (char *) xmalloc                                    \
51         (cygwin_win32_to_posix_path_list_buf_size (_epath));            \
52       cygwin_win32_to_posix_path_list (_epath, _posixepath);            \
53     }                                                                   \
54   (VAR) = _posixepath;                                                  \
55 } while (0)
56
57 #define PATH_SEPARATOR ':'
58
59 /* This is needed so that protoize will compile.  */
60 #ifndef POSIX
61 #define POSIX
62 #endif