Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Borland uses the thread implementation of the contextes
[simgrid.git] / src / win32 / compiler / borland.h
index 9b37148..6317ef7 100644 (file)
@@ -12,7 +12,7 @@
  *  Borland C++ compiler configuration
  */
 
-#include <platform/select_platform_features.h>
+#include <win32/platform/select_platform_features.h>
 
 /* 
  * include files. 
        #define NEED_ASPRINTF   1
 #endif
 
+/*#ifdef NEED_ASPRINTF
+#undef NEED_ASPRINTF
+#endif*/
+
+
 /* enable the vasprintf replacement */
 #if  !defined(NEED_VASPRINTF)
        #define NEED_VASPRINTF  1
 #endif
 
 /* "disable the snprintf replacement ( this function is broken on system v only" */
+
+/* FIXME TO ANALYZE */
 #if defined(PREFER_PORTABLE_SNPRINTF)
        #undef PREFER_PORTABLE_SNPRINTF 
 #endif
 
+#if !defined(PREFER_PORTABLE_SNPRINTF)
+       #define PREFER_PORTABLE_SNPRINTF        
+#endif
+
 /* The maximal size of any scalar on this arch */
 #if !defined(SIZEOF_MAX)
        #define SIZEOF_MAX 8
@@ -340,12 +351,14 @@ the double. For now, GRAS requires the structures to be compacted. */
 /* Define to id of used va_copy() implementation */
 #define __VA_COPY_USE __VA_COPY_USE_C99
 
-#if defined(_XBT_DESIGNATED_DLL)
-       #define _XBT_CALL __cdecl __export
-#elif defined(_RTLDLL)
-       #define  _XBT_CALL __cdecl __import
-#else
-       #define  _XBT_CALL __cdecl
+#ifndef _XBT_CALL
+       #if defined(_XBT_DESIGNATED_DLL)
+               #define _XBT_CALL __cdecl __export
+       #elif defined(_RTLDLL)
+               #define  _XBT_CALL __cdecl __import
+       #else
+               #define  _XBT_CALL __cdecl
+       #endif
 #endif
 
 /* auto enable thread safety and exceptions: */
@@ -357,37 +370,10 @@ the double. For now, GRAS requires the structures to be compacted. */
        #define _REENTRANT 1
 #endif
 
-#if defined ( __DEBUG ) && ( __DEBUG > 1 )
-       #define _XBT_DEBUG
+#if(__BORLANDC__>= 0x500)
+       #define _XBT_HAS_NAMESPACES
 #endif
 
-#define _XBT_LIB_BASENAME "xbt"
-
-#define _XBT_EXPORT_DECLSPEC __declspec(dllexport)
-#define _XBT_IMPORT_DECLSPEC __declspec(dllimport)
-       
-#define _XBT_CLASS_EXPORT_DECLSPEC __declspec(dllexport)
-#define _XBT_CLASS_IMPORT_DECLSPEC __declspec(dllimport)
-
-    #if(__BORLANDC__>= 0x500)
-            #define _XBT_HAS_NAMESPACES
-    #endif
-
-
-#if(__BORLANDC__ < 0x540)
-
-       #if (defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) || defined (_XBT_USE_DYNAMIC_LIB) ) && ! defined (_XBT_USE_STATIC_LIB)
-               #undef  _XBT_USE_DECLSPEC
-               #define _XBT_USE_DECLSPEC
-       #endif
-       
-#else
-               
-       #if ( defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) || defined(_AFXDLL) || defined (_XBT_USE_DYNAMIC_LIB) )
-               #undef  _XBT_USE_DECLSPEC
-               #define _XBT_USE_DECLSPEC 1
-       #endif
-#endif
 
 /* For open, read etc. file operations. */
 #include <io.h>
@@ -406,54 +392,18 @@ the double. For now, GRAS requires the structures to be compacted. */
 typedef unsigned int uint32_t;
 typedef int socklen_t;
 
-#define tcp_read( s, buf, len )        recv( s, buf, len, 0 )
-#define tcp_write( s, buf, len )       send( s, buf, len, 0 )
-#define ioctl( s, c, a )               ioctlsocket( (s), (c), (a) )
-#define ioctl_t                                                u_long
-#define AC_SOCKET_INVALID              ((unsigned int) ~0)
-
-#ifdef SD_BOTH
-       #define tcp_close(s)    (shutdown( s, SD_BOTH ), closesocket(s))
-#else
-       #define tcp_close( s )  closesocket( s )
-#endif
-
-#ifndef EWOULDBLOCK
-       #define EWOULDBLOCK WSAEWOULDBLOCK
-#endif
-
-#ifndef EINPROGRESS
-       #define EINPROGRESS WSAEINPROGRESS
-#endif
-
-#ifndef ETIMEDOUT
-       #define ETIMEDOUT   WSAETIMEDOUT
-#endif
-
-#ifdef sock_errno
-       #undef  sock_errno
-#endif
-
-#define sock_errno         WSAGetLastError()
-
-#ifdef sock_errstr
-       #undef  sock_errstr
-#endif
-
-#define sock_errstr(err)   gras_wsa_err2string(err)
-
-const char *gras_wsa_err2string(int errcode);
+/* Choose setjmp as exception implementation */
+#ifndef __EX_MCTX_SJLJ__
+#define __EX_MCTX_SJLJ__
+#endif 
 
-#ifdef S_IRGRP
-       #undef S_IRGRP
+/* this is used in context managment. */
+#ifdef CONTEXT_UCONTEXT
+#undef CONTEXT_UCONTEXT
 #endif
 
-#define S_IRGRP 0
-
-#ifdef S_IWGRP
-       #undef S_IWGRP
+#ifndef CONTEXT_THREADS
+#define CONTEXT_THREADS
 #endif
 
-#define S_IWGRP 0
-
-#endif /* #ifndef __XBT_BORLAND_COMPILER_CONFIG_H__ */
\ No newline at end of file
+#endif /* #ifndef __XBT_BORLAND_COMPILER_CONFIG_H__ */