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 4b4d140..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,5 +392,18 @@ the double. For now, GRAS requires the structures to be compacted. */
 typedef unsigned int uint32_t;
 typedef int socklen_t;
 
+/* Choose setjmp as exception implementation */
+#ifndef __EX_MCTX_SJLJ__
+#define __EX_MCTX_SJLJ__
+#endif 
+
+/* this is used in context managment. */
+#ifdef CONTEXT_UCONTEXT
+#undef CONTEXT_UCONTEXT
+#endif
+
+#ifndef CONTEXT_THREADS
+#define CONTEXT_THREADS
+#endif
 
-#endif /* #ifndef __XBT_BORLAND_COMPILER_CONFIG_H__ */
\ No newline at end of file
+#endif /* #ifndef __XBT_BORLAND_COMPILER_CONFIG_H__ */