comparison src/s/cygwin-common.h @ 5877:abe88cd200c9

Configure support for 64-bit cygwin
author Vin Shelton <acs@xemacs.org>
date Thu, 26 Mar 2015 14:39:53 -0400
parents
children
comparison
equal deleted inserted replaced
5876:0cebf04c18b5 5877:abe88cd200c9
1 /* system description file for both 32-bit and 64-bit cygwin.
2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
3 Copyright (C) 2001 Ben Wing.
4
5 This file is part of XEmacs.
6
7 XEmacs is free software: you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published by the
9 Free Software Foundation, either version 3 of the License, or (at your
10 option) any later version.
11
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* Building under cygwin
21 *
22 * The approach I have taken with this port is to use primarily the
23 * UNIX code base adding stuff that is MS-Windows specific. This works
24 * quite well, and is in keeping with my perception of the cygwin
25 * philosophy. Note that if you make changes to this file you do NOT
26 * want to define WIN32_NATIVE (formerly "WINDOWSNT"), I repeat - do
27 * not define this, it will break everything horribly. What does get
28 * defined is HAVE_MS_WINDOWS, but this is done by configure and only
29 * applies to the window system.
30 *
31 * When building make sure your HOME path is unix style - i.e. without
32 * a drive letter.
33 *
34 * once you have done this, configure and make.
35 *
36 * Andy Piper <andy@xemacs.org> 8/1/98
37 * http://www.xemacs.freeserve.co.uk/ */
38
39 #include "win32-common.h"
40
41 /* Identify ourselves */
42 #define CYGWIN
43
44 /* We are using Cygwin-style headers in /usr/include, also used by MinGW */
45 #define CYGWIN_HEADERS
46
47 /* cheesy way to determine cygwin version */
48 #ifndef NOT_C_CODE
49 # include <signal.h>
50 # include <cygwin/version.h>
51
52 /* Still left out of 1.1! */
53 double logb (double);
54 int killpg (int pgrp, int sig);
55
56 #endif
57
58 #ifndef ORDINARY_LINK
59 #define ORDINARY_LINK
60 #endif
61
62 #if __GNUC__ >= 3
63 #define C_SWITCH_SYSTEM -fno-caller-saves
64 #else
65 #define C_SWITCH_SYSTEM -fno-caller-saves -fvtable-thunks
66 #endif
67
68 #define LIBS_SYSTEM -lwinmm
69 #define WIN32_LEAN_AND_MEAN
70
71 #define TEXT_START -1
72 #define HEAP_IN_DATA
73 #define NO_LIM_DATA
74
75 #define BROKEN_SIGIO
76
77 #define CYGWIN_BROKEN_SIGNALS
78
79 #define strnicmp strncasecmp
80
81 #undef MAIL_USE_SYSTEM_LOCK
82
83 /* Cygwin bogusly forgets to copy mmap()ed regions into the child when
84 a fork is done; thus, any reference to anything in mmap()ed space
85 (under PDUMP, in particular, this bites, since all data loaded from
86 PDUMP is normally done using mmap()) will cause an immediate segfault. */
87 #undef HAVE_MMAP