X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fs%2Fmingw32.h;h=3e56d9ebbfbad915539e8571326f6dc3a4b8b5cd;hb=a42cdfc742bbbbc16c3609300dab39fbd36c72e3;hp=1454e059ffb80f632e43cda91e7ecbc4577cf074;hpb=76759ab036458c54499a454399e19602b8ae6ce3;p=chise%2Fxemacs-chise.git diff --git a/src/s/mingw32.h b/src/s/mingw32.h index 1454e05..3e56d9e 100644 --- a/src/s/mingw32.h +++ b/src/s/mingw32.h @@ -20,25 +20,19 @@ Boston, MA 02111-1307, USA. */ /* based on cygwin32.h by Andy Piper */ -#ifndef WINDOWSNT -#define WINDOWSNT +/* Identify ourselves */ +#ifndef WIN32_NATIVE +#define WIN32_NATIVE #endif -#ifndef DOS_NT -#define DOS_NT /* MSDOS or WINDOWSNT */ -#endif - -#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 @@ -62,30 +56,20 @@ Boston, MA 02111-1307, USA. */ #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 - /* System calls that are encapsulated */ #define ENCAPSULATE_RENAME #define ENCAPSULATE_OPEN #define ENCAPSULATE_FOPEN #define ENCAPSULATE_MKDIR +#define ENCAPSULATE_STAT +#define ENCAPSULATE_FSTAT -/* Data type of load average, as read out of kmem. */ - -#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 @@ -134,7 +118,7 @@ Boston, MA 02111-1307, USA. */ /* 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:" @@ -149,13 +133,10 @@ Boston, MA 02111-1307, USA. */ #ifndef NOT_C_CODE #include -#include +#include <../mingw/process.h> #define mkdir __mkdir #include #undef mkdir -#ifdef HAVE_CYGWIN_VERSION_H -#include -#endif /* IO calls that are emulated or shadowed */ #define pipe sys_pipe @@ -208,16 +189,14 @@ 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 -/*#define HAVE_STRUCT_UTIMBUF*/ +/* systime.h includes winsock.h which defines timeval */ +#define HAVE_TIMEVAL +#define HAVE_GETPAGESIZE +#define getpagesize() 4096 #ifndef HAVE_H_ERRNO #define HAVE_H_ERRNO #endif @@ -233,10 +212,10 @@ gid_t getegid (void); /* 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 */ @@ -249,11 +228,7 @@ gid_t getegid (void); #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. */ @@ -268,5 +243,7 @@ gid_t getegid (void); /* 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)