Mercurial > hg > xemacs-beta
diff src/s/cygwin32.h @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | de805c49cfc1 |
children | 41dbb7a9d5f2 |
line wrap: on
line diff
--- a/src/s/cygwin32.h Mon Aug 13 11:19:22 2007 +0200 +++ b/src/s/cygwin32.h Mon Aug 13 11:20:41 2007 +0200 @@ -20,14 +20,13 @@ /* Building under cygwin * - * The approach I have taken with this port is to use primarily the - * UNIX code base adding stuff that is MS-Windows specific. This works - * quite well, and is in keeping with my perception of the cygwin - * philosophy. Note that if you make changes to this file you do NOT - * want to define WIN32_NATIVE (formerly "WINDOWSNT"), I repeat - do - * not define this, it will break everything horribly. What does get - * defined is HAVE_MS_WINDOWS, but this is done by configure and only - * applies to the window system. + * The approach I have taken with this port is to use primarily the UNIX + * code base adding stuff that is MS-Windows specific. This works quite + * well, and is in keeping with my perception of the cygwin philosophy. + * Note that if you make changes to this file you do NOT want to define + * WINDOWSNT, I repeat - do not define this, it will break everything + * horribly. What does get defined is HAVE_MS_WINDOWS, but this is + * done by configure and only applies to the window system. * * When building make sure your HOME path is unix style - i.e. without * a drive letter. @@ -39,63 +38,78 @@ * YMMV. I build with NT4 SP3. * * Andy Piper <andy@xemacs.org> 8/1/98 - * http://www.xemacs.freeserve.co.uk/ */ - -/* Identify ourselves */ -#define CYGWIN + * http://www.parallax.co.uk/~andyp */ /* cheesy way to determine cygwin version */ #ifndef NOT_C_CODE -# include <signal.h> -# ifdef HAVE_CYGWIN_VERSION_H -# include <cygwin/version.h> -# else -# ifdef SIGIO -# define CYGWIN_VERSION_DLL_MAJOR 19 -# define CYGWIN_VERSION_DLL_MINOR 0 -# define CYGWIN_B19 -# else -# define CYGWIN_VERSION_DLL_MAJOR 18 -# define CYGWIN_VERSION_DLL_MINOR 0 -# define BROKEN_CYGWIN -# endif -# endif +#include <signal.h> +#ifdef HAVE_CYGWIN_VERSION_H +#include <cygwin/version.h> +#else +#ifdef SIGIO +#define CYGWIN_B19 +#else +#define BROKEN_CYGWIN +#endif +#endif -void cygwin32_win32_to_posix_path_list (const char*, char*); -int cygwin32_win32_to_posix_path_list_buf_size (const char*); -void cygwin32_posix_to_win32_path_list (const char*, char*); -int cygwin32_posix_to_win32_path_list_buf_size (const char*); -# if CYGWIN_VERSION_DLL_MAJOR < 20 +extern void cygwin32_win32_to_posix_path_list(const char*, char*); +extern int cygwin32_win32_to_posix_path_list_buf_size(const char*); +extern void cygwin32_posix_to_win32_path_list(const char*, char*); +extern int cygwin32_posix_to_win32_path_list_buf_size(const char*); +#ifndef CYGWIN_VERSION_DLL_MAJOR struct timeval; struct timezone; struct itimerval; struct stat; -int gettimeofday (struct timeval *tp, struct timezone *tzp); -int gethostname (char* name, int namelen); -char* mktemp (char *); -double logb (double); -void sync (void); -int ioctl (int, int, ...); - /* sys/stat.h */ -int lstat (const char *path, struct stat *buf); - /* unistd.h */ -int readlink (const char *path, void *buf, unsigned int bufsiz); -int symlink (const char *name1, const char *name2); - /* sys/time.h */ -int setitimer (int which, const struct itimerval *value, - struct itimerval *ovalue); -int utimes (char *file, struct timeval *tvp); +extern int gettimeofday(struct timeval *tp, struct timezone *tzp); +extern int gethostname (char* name, int namelen); +extern char* mktemp(char *); +extern double logb(double); +extern void sync(); +extern int ioctl(int, int, ...); + /* sys/stat.h */ +extern int lstat(const char *path, struct stat *buf); + /* unistd.h */ +extern int readlink(const char *path, void *buf, unsigned int bufsiz); +extern int symlink(const char *name1, const char *name2); + /* sys/time.h */ +extern int setitimer(int which, const struct itimerval *value, + struct itimerval *ovalue); +extern int utimes(char *file, struct timeval *tvp); + +extern int srandom( unsigned seed); +extern long random(); -int srandom (unsigned seed); -long random (void); - -# endif /* CYGWIN_VERSION_DLL_MAJOR < 20 */ +#define SND_ASYNC 1 +#define SND_NODEFAULT 2 +#define SND_MEMORY 4 +#define SND_FILENAME 0x2000L +#define VK_APPS 0x5D +#define SIF_TRACKPOS 0x0010 +#define ICC_BAR_CLASSES 4 +#define FW_BLACK FW_HEAVY +#define FW_ULTRABOLD FW_EXTRABOLD +#define FW_DEMIBOLD FW_SEMIBOLD +#define FW_ULTRALIGHT FW_EXTRALIGHT +#define APPCMD_FILTERINITS 0x20L +#define CBF_FAIL_SELFCONNECTIONS 0x1000 +#define CBF_SKIP_ALLNOTIFICATIONS 0x3C0000 +#define CBF_FAIL_ADVISES 0x4000 +#define CBF_FAIL_POKES 0x10000 +#define CBF_FAIL_REQUESTS 0x20000 +#define SZDDESYS_TOPIC "System" +#define JOHAB_CHARSET 130 +#define MAC_CHARSET 77 -# if CYGWIN_VERSION_DLL_MAJOR <= 20 -char *getpass (const char *prompt); -double logb (double); -# endif /* CYGWIN_VERSION_DLL_MAJOR <= 20 */ +#endif +#endif +#define PBS_SMOOTH 0x01 + +#ifdef HAVE_MS_WINDOWS +#define HAVE_NTGUI +#define HAVE_FACES #endif #ifndef ORDINARY_LINK @@ -104,18 +118,17 @@ #define C_SWITCH_SYSTEM -Wno-sign-compare -fno-caller-saves #define LIBS_SYSTEM -lwinmm -#define WIN32_LEAN_AND_MEAN + #define TEXT_START -1 #define TEXT_END -1 #define DATA_END -1 #define HEAP_IN_DATA -#define NO_LIM_DATA #define UNEXEC "unexcw.o" #ifdef CYGWIN_VERSION_DLL_MAJOR #if 0 -/* #### FIXME: although defining BROKEN_SIGIO is correct for proper ^G +/* ### FIXME: although defining BROKEN_SIGIO is correct for proper ^G behavior, bugs in cygwin mean that xemacs locks up frequently if this is defined. */ #define BROKEN_SIGIO @@ -128,14 +141,29 @@ #define HAVE_SOCKETS #endif #define OBJECTS_SYSTEM ntplay.o +#define HAVE_NATIVE_SOUND #undef MAIL_USE_SYSTEM_LOCK +#define MAIL_USE_POP /* 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 + /* Data type of load average, as read out of kmem. */ #define LOAD_AVE_TYPE long @@ -154,6 +182,10 @@ /* 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