Mercurial > hg > xemacs-beta
annotate src/s/cygwin32.h @ 5450:8c406331e77e
Copyright and license to src/s/sol2.h.
author | Mats Lidell <matsl@xemacs.org> |
---|---|
date | Thu, 06 Jan 2011 01:31:43 +0100 |
parents | 308d34e9f07d |
children | 4dee0387b9de |
rev | line source |
---|---|
428 | 1 /* system description file for cygwin32. |
2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. | |
558 | 3 Copyright (C) 2001 Ben Wing. |
428 | 4 |
613 | 5 This file is part of XEmacs. |
428 | 6 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
7 XEmacs is free software: you can redistribute it and/or modify it |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
8 under the terms of the GNU General Public License as published by the |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
9 Free Software Foundation, either version 3 of the License, or (at your |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
10 option) any later version. |
428 | 11 |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
15 for more details. |
428 | 16 |
17 You should have received a copy of the GNU General Public License | |
5402
308d34e9f07d
Changed bulk of GPLv2 or later files identified by script
Mats Lidell <matsl@xemacs.org>
parents:
4858
diff
changeset
|
18 along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */ |
428 | 19 |
20 /* Building under cygwin | |
21 * | |
442 | 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. | |
428 | 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 * windows '95 - I haven't tested this under '95, it will probably | |
37 * build but I konw there are some limitations with cygwin under 95 so | |
38 * YMMV. I build with NT4 SP3. | |
39 * | |
40 * Andy Piper <andy@xemacs.org> 8/1/98 | |
41 * http://www.xemacs.freeserve.co.uk/ */ | |
42 | |
771 | 43 #include "win32-common.h" |
44 | |
442 | 45 /* Identify ourselves */ |
46 #define CYGWIN | |
47 | |
4858
e1d8b6b0c589
Define CYGWIN_HEADERS in s/cygwin32.h and s/mingw32.h instead of syswindows.h, so they're available everywhere
Ben Wing <ben@xemacs.org>
parents:
4848
diff
changeset
|
48 /* We are using Cygwin-style headers in /usr/include, also used by MinGW */ |
e1d8b6b0c589
Define CYGWIN_HEADERS in s/cygwin32.h and s/mingw32.h instead of syswindows.h, so they're available everywhere
Ben Wing <ben@xemacs.org>
parents:
4848
diff
changeset
|
49 #define CYGWIN_HEADERS |
e1d8b6b0c589
Define CYGWIN_HEADERS in s/cygwin32.h and s/mingw32.h instead of syswindows.h, so they're available everywhere
Ben Wing <ben@xemacs.org>
parents:
4848
diff
changeset
|
50 |
428 | 51 /* cheesy way to determine cygwin version */ |
52 #ifndef NOT_C_CODE | |
442 | 53 # include <signal.h> |
558 | 54 # include <cygwin/version.h> |
442 | 55 |
56 /* Still left out of 1.1! */ | |
464 | 57 double logb (double); |
58 int killpg (int pgrp, int sig); | |
442 | 59 |
428 | 60 #endif |
61 | |
62 #ifndef ORDINARY_LINK | |
63 #define ORDINARY_LINK | |
64 #endif | |
65 | |
1111 | 66 #if __GNUC__ >= 3 |
67 #define C_SWITCH_SYSTEM -fno-caller-saves | |
68 #else | |
771 | 69 #define C_SWITCH_SYSTEM -fno-caller-saves -fvtable-thunks |
1111 | 70 #endif |
71 | |
428 | 72 #define LIBS_SYSTEM -lwinmm |
442 | 73 #define WIN32_LEAN_AND_MEAN |
428 | 74 |
75 #define TEXT_START -1 | |
76 #define HEAP_IN_DATA | |
442 | 77 #define NO_LIM_DATA |
428 | 78 |
79 #define BROKEN_SIGIO | |
558 | 80 |
613 | 81 #define CYGWIN_BROKEN_SIGNALS |
82 | |
428 | 83 #define strnicmp strncasecmp |
84 | |
85 #undef MAIL_USE_SYSTEM_LOCK | |
86 | |
87 /* SYSTEM_TYPE should indicate the kind of system you are using. | |
88 It sets the Lisp variable system-type. */ | |
89 | |
90 #define SYSTEM_TYPE "cygwin32" | |
872 | 91 |
92 /* Cygwin bogusly forgets to copy mmap()ed regions into the child when | |
93 a fork is done; thus, any reference to anything in mmap()ed space | |
94 (under PDUMP, in particular, this bites, since all data loaded from | |
95 PDUMP is normally done using mmap()) will cause an immediate segfault. */ | |
96 #undef HAVE_MMAP |