GCC + Threads on Win32 - best gcc results yet
[p5sagit/p5-mst-13.2.git] / win32 / win32.h
index 18bf8a2..93b74ef 100644 (file)
@@ -9,6 +9,14 @@
 #ifndef  _INC_WIN32_PERL5
 #define  _INC_WIN32_PERL5
 
+#ifdef __GNUC__
+#define __declspec(x)
+typedef long long __int64;
+#define Win32_Winsock
+#endif
+
+
+
 #define  WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
 #include "EXTERN.h"
 #endif
 
+struct tms {
+       long    tms_utime;
+       long    tms_stime;
+       long    tms_cutime;
+       long    tms_cstime;
+};
+
 #ifndef START_EXTERN_C
 #ifdef __cplusplus
 #  define START_EXTERN_C extern "C" {
@@ -111,6 +126,7 @@ extern  gid_t       getegid(void);
 extern  int    setuid(uid_t uid);
 extern  int    setgid(gid_t gid);
 extern  int    kill(int pid, int sig);
+extern  void   *sbrk(int need);
 
 #undef  Stat
 #define  Stat          win32_stat
@@ -128,8 +144,7 @@ extern int          my_fclose(FILE *);
 extern int             do_aspawn(void* really, void ** mark, void ** arglast);
 extern int             do_spawn(char *cmd);
 extern char            do_exec(char *cmd);
-extern char *          win32PerlLibPath(void);
-extern char *          win32SiteLibPath(void);
+extern char *          win32PerlLibPath(char *sfx,...);
 extern int             IsWin95(void);
 extern int             IsWinNT(void);
 
@@ -145,4 +160,22 @@ typedef  char *            caddr_t;        /* In malloc.c (core address). */
 #include <sys/socket.h>
 #include <netdb.h>
 
+#ifdef MYMALLOC
+#define EMBEDMYMALLOC  /**/
+/* #define USE_PERL_SBRK       /**/
+/* #define PERL_SBRK_VIA_MALLOC        /**/
+#endif
+
+#if defined(PERLDLL) && !defined(PERL_CORE)
+#define PERL_CORE
+#endif
+
+#ifdef USE_BINMODE_SCRIPTS
+#define PERL_SCRIPT_MODE "rb"
+EXT void win32_strip_return(struct sv *sv);
+#else
+#define PERL_SCRIPT_MODE "r"
+#define win32_strip_return(sv) NOOP
+#endif
+
 #endif /* _INC_WIN32_PERL5 */