/* borland.h - simgrid config for Borland C++ Builder */
-/* Copyright (c) 2003, 2004 Cherier Malek. All rights reserved. */
+/* Copyright (c) 2007, 2008, 2010. The SimGrid Team.
+ * All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
#include <win32/platform/select_platform_features.h>
+#ifdef _WIN32_WINNT
+ #if _WIN32_WINNT < 0x0400
+ #undef _WIN32_WINNT
+ #define _WIN32_WINNT 0x0400
+ #endif
+#else
+ #define _WIN32_WINNT 0x0400
+#endif
+
/*
* include files.
*/
#undef GRAS_THISARCH
#endif
-#define GRAS_THISARCH 0
+#define GRAS_THISARCH 3
/* Path to the addr2line tool */
#undef ADDR2LINE
#endif
-#if !defined(HAVE_VA_COPY)
- #define HAVE_VA_COPY 1
-#endif
-/* This macro is not defined in borland stdarg.h include file, adds it. */
-#define va_copy(dest,src) ((dest)=(src))
+#ifndef __VISUALC__
-/* Predefined possible va_copy() implementation (id: ASP) */
-#define __VA_COPY_USE_ASP(d, s) do { *(d) = *(s); } while (0)
+ #if !defined(HAVE_VA_COPY)
+ #define HAVE_VA_COPY 1
+ #endif
-/* Predefined possible va_copy() implementation (id: ASS) */
-#define __VA_COPY_USE_ASS(d, s) do { (d) = (s); } while (0)
+ /* This macro is not defined in borland stdarg.h include file, adds it. */
+ #ifndef va_copy(dest,src)
+ #define va_copy(dest,src) ((dest)=(src))
+ #endif
-/* Predefined possible va_copy() implementation (id: C99) */
-#define __VA_COPY_USE_C99(d, s) va_copy((d), (s))
+ #ifndef __VA_COPY_USE_ASP(d, s)
+ /* Predefined possible va_copy() implementation (id: ASP) */
+ #define __VA_COPY_USE_ASP(d, s) do { *(d) = *(s); } while (0)
+ #endif
-/* Predefined possible va_copy() implementation (id: CPP) */
-#define __VA_COPY_USE_CPP(d, s) memcpy((void *)(d), (void *)(s)), sizeof(*(s))
+ #ifndef __VA_COPY_USE_ASS(d, s)
+ /* Predefined possible va_copy() implementation (id: ASS) */
+ #define __VA_COPY_USE_ASS(d, s) do { (d) = (s); } while (0)
+ #endif
-/* Predefined possible va_copy() implementation (id: CPS) */
-#define __VA_COPY_USE_CPS(d, s) memcpy((void *)&(d), (void *)&(s)), sizeof((s))
+ #ifndef __VA_COPY_USE_C99(d, s)
+ /* Predefined possible va_copy() implementation (id: C99) */
+ #define __VA_COPY_USE_C99(d, s) va_copy((d), (s))
+ #endif
-/* Predefined possible va_copy() implementation (id: GCB) */
-#define __VA_COPY_USE_GCB(d, s) __builtin_va_copy((d), (s))
+ #ifndef __VA_COPY_USE_CPP(d, s)
+ /* Predefined possible va_copy() implementation (id: CPP) */
+ #define __VA_COPY_USE_CPP(d, s) memcpy((void *)(d), (void *)(s)), sizeof(*(s))
+ #endif
-/* Predefined possible va_copy() implementation (id: GCH) */
-#define __VA_COPY_USE_GCH(d, s) __va_copy((d), (s))
+ #ifndef __VA_COPY_USE_CPS(d, s)
+ /* Predefined possible va_copy() implementation (id: CPS) */
+ #define __VA_COPY_USE_CPS(d, s) memcpy((void *)&(d), (void *)&(s)), sizeof((s))
+ #endif
+
+ #ifndef __VA_COPY_USE_GCB(d, s)
+ /* Predefined possible va_copy() implementation (id: GCB) */
+ #define __VA_COPY_USE_GCB(d, s) __builtin_va_copy((d), (s))
+ #endif
+
+ #ifndef __VA_COPY_USE_GCH(d, s)
+ /* Predefined possible va_copy() implementation (id: GCH) */
+ #define __VA_COPY_USE_GCH(d, s) __va_copy((d), (s))
+ #endif
+ /* Predefined possible va_copy() implementation (id: GCM) */
+ #define __VA_COPY_USE_GCM(d, s) VA_COPY((d), (s))
-/* Predefined possible va_copy() implementation (id: GCM) */
-#define __VA_COPY_USE_GCM(d, s) VA_COPY((d), (s))
+ /* Optional va_copy() implementation activation */
+ #ifndef HAVE_VA_COPY
+ #define va_copy(d, s) __VA_COPY_USE(d, s)
+ #endif
-/* Optional va_copy() implementation activation */
-#ifndef HAVE_VA_COPY
-#define va_copy(d, s) __VA_COPY_USE(d, s)
+ /* Define to id of used va_copy() implementation */
+ #ifndef __VA_COPY_USE
+ #define __VA_COPY_USE __VA_COPY_USE_C99
+ #endif
#endif
/* xbt contexts are based on our threads implementation */
#define CONTEXT_THREADS 1
#endif
+
/* xbt contexts are not based on ucontext */
#ifdef CONTEXT_UCONTEXT
#undef CONTEXT_UCONTEXT
#endif
-/* Define to id of used va_copy() implementation */
-#define __VA_COPY_USE __VA_COPY_USE_C99
#ifndef _XBT_CALL
#if defined(_XBT_DESIGNATED_DLL)
#define S_IWUSR _S_IWRITE
#define S_IRUSR _S_IREAD
-#ifdef _WIN32_WINNT
- #if _WIN32_WINNT < 0x0400
- #undef _WIN32_WINNT
- #define _WIN32_WINNT 0x0400
- #endif
-#else
- #define _WIN32_WINNT 0x0400
-#endif
/* Visual C++ does not declare the ssize_t type */
typedef int ssize_t;
/* Visual C++ does not declare the uint32_t type */
typedef unsigned int uint32_t;
+
#endif /* #ifndef __XBT_VISUALC_COMPILER_CONFIG_H__ */