Mercurial > hg > xemacs-beta
diff src/s/mingw32.h @ 771:943eaba38521
[xemacs-hg @ 2002-03-13 08:51:24 by ben]
The big ben-mule-21-5 check-in!
Various files were added and deleted. See CHANGES-ben-mule.
There are still some test suite failures. No crashes, though.
Many of the failures have to do with problems in the test suite itself
rather than in the actual code. I'll be addressing these in the next
day or so -- none of the test suite failures are at all critical.
Meanwhile I'll be trying to address the biggest issues -- i.e. build
or run failures, which will almost certainly happen on various platforms.
All comments should be sent to ben@xemacs.org -- use a Cc: if necessary
when sending to mailing lists. There will be pre- and post- tags,
something like
pre-ben-mule-21-5-merge-in, and
post-ben-mule-21-5-merge-in.
author | ben |
---|---|
date | Wed, 13 Mar 2002 08:54:06 +0000 |
parents | 023b83f4e54b |
children | 184461bc8de4 |
line wrap: on
line diff
--- a/src/s/mingw32.h Fri Mar 08 13:33:14 2002 +0000 +++ b/src/s/mingw32.h Wed Mar 13 08:54:06 2002 +0000 @@ -1,5 +1,6 @@ /* system description file for mingw32. Copyright (C) 1993, 1994, 1995, 1999 Free Software Foundation, Inc. + Copyright (C) 2001 Ben Wing. This file is part of XEmacs. @@ -20,10 +21,7 @@ /* based on cygwin32.h by Andy Piper <andy@xemacs.org> */ -/* Identify ourselves */ -#ifndef WIN32_NATIVE -#define WIN32_NATIVE -#endif +#include "win32-native.h" #define MINGW @@ -31,13 +29,11 @@ #define ORDINARY_LINK #endif -#define C_SWITCH_SYSTEM "-mno-cygwin -fno-caller-saves -DWIN32_NATIVE" +#define C_SWITCH_SYSTEM "-mno-cygwin -fno-caller-saves -DWIN32_NATIVE -DMINGW" #define LIBS_SYSTEM "-mno-cygwin -mwindows -lwinmm -lwsock32" #define WIN32_LEAN_AND_MEAN #define TEXT_START -1 -#define TEXT_END -1 -#define DATA_END -1 #define HEAP_IN_DATA #define UNEXEC "unexcw.o" @@ -55,144 +51,33 @@ /* #ifndef HAVE_SOCKETS */ #define HAVE_SOCKETS /* #endif */ -#define OBJECTS_SYSTEM ntplay.o nt.o ntheap.o ntproc.o dired-msw.o +#define OBJECTS_SYSTEM nt.o ntheap.o ntproc.o dired-msw.o #undef MAIL_USE_SYSTEM_LOCK #define HAVE_MSW_C_DIRED -/* System calls that are encapsulated */ -#define ENCAPSULATE_RENAME -#define ENCAPSULATE_OPEN -#define ENCAPSULATE_FOPEN -#define ENCAPSULATE_MKDIR -#define ENCAPSULATE_STAT -#define ENCAPSULATE_FSTAT - /* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT since there is no load average available. */ -/* Define VIRT_ADDR_VARIES if the virtual addresses of - pure and impure space as loaded can vary, and even their - relative order cannot be relied on. - - Otherwise Emacs assumes that text space precedes data space, - numerically. */ - -/* Text does precede data space, but this is never a safe assumption. */ -#define VIRT_ADDR_VARIES - -/* If you are compiling with a non-C calling convention but need to - declare vararg routines differently, put it here */ -#define _VARARGS_ __cdecl - -/* If you are providing a function to something that will call the - function back (like a signal handler and signal, or main) its calling - convention must be whatever standard the libraries expect */ -#define _CALLBACK_ __cdecl - -/* SYSTEM_TYPE should indicate the kind of system you are using. - It sets the Lisp variable system-type. */ - -#define SYSTEM_TYPE "windows-nt" - -#define NO_MATHERR - /* define MAIL_USE_FLOCK if the mailer uses flock to interlock access to /usr/spool/mail/$USER. The alternative is that a lock file named /usr/spool/mail/$USER.lock. */ -/* If the character used to separate elements of the executable path - is not ':', #define this to be the appropriate character constant. */ -#define SEPCHAR ';' - -/* ============================================================ */ - -/* Here, add any special hacks needed - to make Emacs work on this system. For example, - you might define certain system call names that don't - exist on your system, or that do different things on - your system and must be used only through an encapsulation - (Which you should place, by convention, in sysdep.c). */ - -/* Define this to be the separator between devices and paths */ -#define DEVICE_SEP ':' - -#define DIRECTORY_SEP ((char)XCHAR(Vdirectory_sep_char)) - -/* The null device on Windows NT. */ -#define NULL_DEVICE "NUL:" -#define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:" -/* We'll support either convention on NT. */ -#define IS_DIRECTORY_SEP(_c_) ((_c_) == '/' || (_c_) == '\\') -#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_)) -#define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:" - -/* We need a little extra space, see ../../lisp/loadup.el */ -#define SYSTEM_PURESIZE_EXTRA 15000 - #ifndef NOT_C_CODE #include <stdlib.h> #include <../mingw/process.h> #define mkdir __mkdir #include <dir.h> #undef mkdir - -/* IO calls that are emulated or shadowed */ -#define pipe sys_pipe -int sys_pipe (int * phandles); - -#ifndef HAVE_X_WINDOWS -#define sleep sys_sleep -void sleep (int seconds); +#ifdef HAVE_CYGWIN_VERSION_H +#include <cygwin/version.h> #endif - -/* subprocess calls that are emulated */ -#define spawnve sys_spawnve -int spawnve (int mode, const char *cmdname, - const char * const *argv, const char *const *envp); - -#define wait sys_wait -int wait (int *status); - -#define kill sys_kill -int kill (int pid, int sig); - -/* map to MSVC names */ -#define popen _popen -#define pclose _pclose - -/* Encapsulation of system calls */ -#ifndef DONT_ENCAPSULATE -#define getpid sys_getpid -pid_t getpid (void); -#endif - -/* Random global functions called everywhere. Implemented in nt.c */ -/* #### Most of these are FSFisms and must be avoided */ -/* #### All of these are FSFisms and must be avoided */ -void dostounix_filename (char *p); -void unixtodos_filename (char *p); -int crlf_to_lf (int n, unsigned char *buf, unsigned int *lf_count); - -char *getwd (char *dir); - -void *sbrk (unsigned long increment); - -struct passwd; -struct passwd *getpwuid (uid_t uid); -struct passwd *getpwnam (const char *name); -uid_t getuid (void); -uid_t geteuid (void); -gid_t getgid (void); -gid_t getegid (void); - -#endif /* !NOT_C_CODE */ +#endif /* NOT_C_CODE */ #define DONT_USE_LITOUT /* Stuff that gets set wrongly or otherwise */ -#define HAVE_SETITIMER #define HAVE_GETTIMEOFDAY #define HAVE_SELECT /* systime.h includes winsock.h which defines timeval */ @@ -211,25 +96,3 @@ #undef HAVE_TERMIOS #undef SYSV_SYSTEM_DIR #undef CLASH_DETECTION - -#ifndef MAXPATHLEN -#define MAXPATHLEN _MAX_PATH -#endif - -/* Define for those source files that do not include enough NT - system files. */ -#ifndef NULL -#ifdef __cplusplus -#define NULL 0 -#else -#define NULL ((void *)0) -#endif -#endif - -/* Define process implementation */ -#define HAVE_WIN32_PROCESSES - -#define CORRECT_DIR_SEPS(s) \ - do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \ - else unixtodos_filename (s); \ - } while (0)