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
613
+ − 7 XEmacs is free software; you can redistribute it and/or modify
428
+ − 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
613
+ − 12 XEmacs is distributed in the hope that it will be useful,
428
+ − 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 XEmacs; see the file COPYING. If not, write to
+ − 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 20 Boston, MA 02111-1307, USA. */
+ − 21
+ − 22 /* Building under cygwin
+ − 23 *
442
+ − 24 * The approach I have taken with this port is to use primarily the
+ − 25 * UNIX code base adding stuff that is MS-Windows specific. This works
+ − 26 * quite well, and is in keeping with my perception of the cygwin
+ − 27 * philosophy. Note that if you make changes to this file you do NOT
+ − 28 * want to define WIN32_NATIVE (formerly "WINDOWSNT"), I repeat - do
+ − 29 * not define this, it will break everything horribly. What does get
+ − 30 * defined is HAVE_MS_WINDOWS, but this is done by configure and only
+ − 31 * applies to the window system.
428
+ − 32 *
+ − 33 * When building make sure your HOME path is unix style - i.e. without
+ − 34 * a drive letter.
+ − 35 *
+ − 36 * once you have done this, configure and make.
+ − 37 *
+ − 38 * windows '95 - I haven't tested this under '95, it will probably
+ − 39 * build but I konw there are some limitations with cygwin under 95 so
+ − 40 * YMMV. I build with NT4 SP3.
+ − 41 *
+ − 42 * Andy Piper <andy@xemacs.org> 8/1/98
+ − 43 * http://www.xemacs.freeserve.co.uk/ */
+ − 44
771
+ − 45 #include "win32-common.h"
+ − 46
442
+ − 47 /* Identify ourselves */
+ − 48 #define CYGWIN
+ − 49
428
+ − 50 /* cheesy way to determine cygwin version */
+ − 51 #ifndef NOT_C_CODE
442
+ − 52 # include <signal.h>
558
+ − 53 # include <cygwin/version.h>
442
+ − 54
+ − 55 /* Still left out of 1.1! */
464
+ − 56 double logb (double);
+ − 57 int killpg (int pgrp, int sig);
442
+ − 58
428
+ − 59 #endif
+ − 60
+ − 61 #ifndef ORDINARY_LINK
+ − 62 #define ORDINARY_LINK
+ − 63 #endif
+ − 64
771
+ − 65 #define C_SWITCH_SYSTEM -fno-caller-saves -fvtable-thunks
428
+ − 66 #define LIBS_SYSTEM -lwinmm
442
+ − 67 #define WIN32_LEAN_AND_MEAN
428
+ − 68
+ − 69 #define TEXT_START -1
+ − 70 #define HEAP_IN_DATA
442
+ − 71 #define NO_LIM_DATA
428
+ − 72 #define UNEXEC "unexcw.o"
+ − 73
+ − 74 #define BROKEN_SIGIO
558
+ − 75
613
+ − 76 #define CYGWIN_BROKEN_SIGNALS
+ − 77
428
+ − 78 #define strnicmp strncasecmp
+ − 79
+ − 80 #undef MAIL_USE_SYSTEM_LOCK
+ − 81
+ − 82 /* SYSTEM_TYPE should indicate the kind of system you are using.
+ − 83 It sets the Lisp variable system-type. */
+ − 84
+ − 85 #define SYSTEM_TYPE "cygwin32"
872
+ − 86
+ − 87 /* Cygwin bogusly forgets to copy mmap()ed regions into the child when
+ − 88 a fork is done; thus, any reference to anything in mmap()ed space
+ − 89 (under PDUMP, in particular, this bites, since all data loaded from
+ − 90 PDUMP is normally done using mmap()) will cause an immediate segfault. */
+ − 91 #undef HAVE_MMAP