Mercurial > hg > xemacs-beta
diff src/s/mingw32.h @ 442:abe6d1db359e r21-2-36
Import from CVS: tag r21-2-36
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:35:02 +0200 |
parents | 3ecd8885ac67 |
children | 223736d75acb |
line wrap: on
line diff
--- a/src/s/mingw32.h Mon Aug 13 11:33:40 2007 +0200 +++ b/src/s/mingw32.h Mon Aug 13 11:35:02 2007 +0200 @@ -20,27 +20,20 @@ /* based on cygwin32.h by Andy Piper <andy@xemacs.org> */ -#ifndef WINDOWSNT -#define WINDOWSNT +/* Identify ourselves */ +#ifndef WIN32_NATIVE +#define WIN32_NATIVE #endif -#ifndef DOS_NT -#define DOS_NT /* MSDOS or WINDOWSNT */ -#endif - -#define PBS_SMOOTH 0x01 - -#ifdef HAVE_MS_WINDOWS -#define HAVE_NTGUI -#define HAVE_FACES -#endif +#define MINGW #ifndef ORDINARY_LINK #define ORDINARY_LINK #endif -#define C_SWITCH_SYSTEM "-mno-cygwin -Wno-sign-compare -fno-caller-saves -Int/inc -I../nt/inc -DWINDOWSNT" -#define LIBS_SYSTEM "-mno-cygwin -lwinmm -lwsock32" +#define C_SWITCH_SYSTEM "-mno-cygwin -Wno-sign-compare -fno-caller-saves -DWIN32_NATIVE" +#define LIBS_SYSTEM "-mno-cygwin -mwindows -lwinmm -lwsock32" +#define WIN32_LEAN_AND_MEAN #define TEXT_START -1 #define TEXT_END -1 @@ -51,21 +44,10 @@ #define TIME_ONESHOT 0 #define TIME_PERIODIC 1 #define LOCALE_USE_CP_ACP 0x40000000 -#define SHGFI_EXETYPE 0x2000 #define NSIG 23 -#ifndef SPI_GETWHEELSCROLLLINES -#define SPI_GETWHEELSCROLLLINES 104 -#endif -#ifndef WHEEL_PAGESCROLL -#define WHEEL_PAGESCROLL (UINT_MAX) -#endif -#ifndef WHEEL_DELTA -#define WHEEL_DELTA 120 -#endif -#ifndef WM_MOUSEWHEEL -#define WM_MOUSEWHEEL 0x20A -#endif +/* this is necessary to get the TCS_* definitions in <commctrl.h> */ +#define _WIN32_IE 0x0400 /* translate NT world unexec stuff to our a.out definitions */ @@ -74,42 +56,20 @@ #define HAVE_SOCKETS /* #endif */ #define OBJECTS_SYSTEM ntplay.o nt.o ntheap.o ntproc.o dired-msw.o -#define HAVE_NATIVE_SOUND #undef MAIL_USE_SYSTEM_LOCK -#define MAIL_USE_POP #define HAVE_MSW_C_DIRED -/* Define NO_ARG_ARRAY if you cannot take the address of the first of a - * group of arguments and treat it as an array of the arguments. */ - -#define NO_ARG_ARRAY - -/* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -#define WORD_MACHINE - -/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend - the 24-bit bit field into an int. In other words, if bit fields - are always unsigned. - - If you use NO_UNION_TYPE, this flag does not matter. */ - -#define EXPLICIT_SIGN_EXTEND /* System calls that are encapsulated */ #define ENCAPSULATE_RENAME #define ENCAPSULATE_OPEN #define ENCAPSULATE_FOPEN #define ENCAPSULATE_MKDIR - -/* Data type of load average, as read out of kmem. */ +#define ENCAPSULATE_STAT +#define ENCAPSULATE_FSTAT -#define LOAD_AVE_TYPE long - -/* Convert that into an integer that is 100 for a load average of 1.0 */ - -#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) +/* 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 @@ -121,10 +81,6 @@ /* Text does precede data space, but this is never a safe assumption. */ #define VIRT_ADDR_VARIES -/* set this if you have a new version of cygwin -#define DATA_SEG_BITS 0x10000000 -*/ - /* If you are compiling with a non-C calling convention but need to declare vararg routines differently, put it here */ #define _VARARGS_ __cdecl @@ -162,7 +118,7 @@ /* Define this to be the separator between devices and paths */ #define DEVICE_SEP ':' -#define DIRECTORY_SEP '\\' +#define DIRECTORY_SEP ((char)XCHAR(Vdirectory_sep_char)) /* The null device on Windows NT. */ #define NULL_DEVICE "NUL:" @@ -185,12 +141,6 @@ #include <cygwin/version.h> #endif -typedef unsigned int MMRESULT; -typedef struct timecaps_tag { - unsigned int wPeriodMin; - unsigned int wPeriodMax; -} TIMECAPS; - /* IO calls that are emulated or shadowed */ #define pipe sys_pipe int sys_pipe (int * phandles); @@ -202,8 +152,8 @@ /* subprocess calls that are emulated */ #define spawnve sys_spawnve -int spawnve (int mode, CONST char *cmdname, - CONST char * CONST *argv, CONST char *CONST *envp); +int spawnve (int mode, const char *cmdname, + const char * const *argv, const char *const *envp); #define wait sys_wait int wait (int *status); @@ -215,11 +165,6 @@ #define popen _popen #define pclose _pclose -typedef int uid_t; -typedef int gid_t; -typedef int pid_t; -typedef int ssize_t; - /* Encapsulation of system calls */ #ifndef DONT_ENCAPSULATE #define getpid sys_getpid @@ -246,25 +191,40 @@ uid_t geteuid (void); gid_t getgid (void); gid_t getegid (void); + +#if CYGWIN_VERSION_DLL_MAJOR <= 21 +#define _ftime ftime #define _timeb timeb +#endif /* Stuff that gets set wrongly or otherwise */ #define HAVE_SETITIMER #define HAVE_GETTIMEOFDAY #define HAVE_SELECT +/* systime.h includes winsock.h which defines timeval */ +#define HAVE_TIMEVAL +#define HAVE_GETPAGESIZE +#define getpagesize() 4096 /*#define HAVE_STRUCT_UTIMBUF*/ +#ifndef HAVE_H_ERRNO +#define HAVE_H_ERRNO +#endif +#ifndef HAVE_TZNAME +#define HAVE_TZNAME +#endif #undef GETTIMEOFDAY_ONE_ARGUMENT #undef HAVE_SYS_WAIT_H #undef HAVE_TERMIOS #undef SYSV_SYSTEM_DIR +#undef CLASH_DETECTION /* We now have emulation for some signals */ #define HAVE_SIGHOLD -#define sigset(s,h) msw_sigset(s,h) -#define sighold(s) msw_sighold(s) -#define sigrelse(s) msw_sigrelse(s) -#define sigpause(s) msw_sigpause(s) +#define sigset(s,h) mswindows_sigset(s,h) +#define sighold(s) mswindows_sighold(s) +#define sigrelse(s) mswindows_sigrelse(s) +#define sigpause(s) mswindows_sigpause(s) #define signal sigset /* Defines that we need that aren't in the standard signal.h */ @@ -277,11 +237,7 @@ #ifndef MAXPATHLEN #define MAXPATHLEN _MAX_PATH #endif - -/* For integration with MSDOS support. */ -#define getdisk() (_getdrive () - 1) -#define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN) -#endif +#endif /* !NOT_C_CODE */ /* Define for those source files that do not include enough NT system files. */ @@ -296,5 +252,7 @@ /* 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)