Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Move the definition of XBT_PUBLIC from portable.h (which is a private header) to...
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 10 Oct 2006 08:16:05 +0000 (08:16 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 10 Oct 2006 08:16:05 +0000 (08:16 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2878 48e7efb5-ca39-0410-a469-dd3cf9ba447f

include/xbt/misc.h
src/portable.h

index 6149e94..a49fbf0 100644 (file)
 #    define XBT_INLINE  inline
 #endif
 
+/* Windows __declspec(). */
+#if defined(_WIN32) && defined(__BORLANDC__)
+#  if(__BORLANDC__ < 0x540)
+#    if (defined (__DLL) || defined (_DLL) || defined (_WINDLL) || defined (_RTLDLL) || defined (_XBT_USE_DYNAMIC_LIB) ) && ! defined (_XBT_USE_STAT
+#      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
+#endif
+
+#if defined (_XBT_USE_DECLSPEC) /* using export/import technique */
+
+#    ifndef _XBT_EXPORT_DECLSPEC
+#        define _XBT_EXPORT_DECLSPEC
+#    endif
+
+#    ifndef _XBT_IMPORT_DECLSPEC
+#        define _XBT_IMPORT_DECLSPEC
+#    endif
+
+#    if defined (_XBT_DESIGNATED_DLL) /* this is a lib which will contain xbt exports */
+#        define  XBT_PUBLIC        _XBT_EXPORT_DECLSPEC
+#    else
+#        define  XBT_PUBLIC        _XBT_IMPORT_DECLSPEC   /* other modules, importing xbt exports */
+#    endif
+
+#else /* not using DLL export/import specifications */
+
+#    define XBT_PUBLIC
+
+#endif /* #if defined (_XBT_USE_DECLSPEC) */
+
+/* Function calling convention (not used for now) */
+#if !defined (_XBT_CALL)
+#define _XBT_CALL
+#endif
+
+
 
 #ifndef max
 #  define max(a, b) (((a) > (b))?(a):(b))
index 86bba4e..4cded55 100644 (file)
@@ -161,33 +161,4 @@ extern int vasnprintf(char **ptr, size_t str_m, const char *fmt, va_list ap);
 void hexa_print(const char*name, unsigned char *data, int size);
 const char *hexa_str(unsigned char *data, int size, int downside);
 
-/* Windows __declspec(). */
-#if defined (_XBT_USE_DECLSPEC) /* using export/import technique */
-
-#    ifndef _XBT_EXPORT_DECLSPEC
-#        define _XBT_EXPORT_DECLSPEC
-#    endif
-
-#    ifndef _XBT_IMPORT_DECLSPEC
-#        define _XBT_IMPORT_DECLSPEC
-#    endif
-
-#    if defined (_XBT_DESIGNATED_DLL) /* this is a lib which will contain xbt exports */
-#        define  _XBT_DECLSPEC        _XBT_EXPORT_DECLSPEC 
-#    else
-#        define  _XBT_DECLSPEC        _XBT_IMPORT_DECLSPEC   /* other modules, importing xbt exports */
-#    endif
-
-#else /* not using DLL export/import specifications */
-
-#    define _XBT_DECLSPEC
-
-#endif /* #if defined (_XBT_USE_DECLSPEC) */
-
-#define XBT_PUBLIC _XBT_DECLSPEC
-
-#if !defined (_XBT_CALL)
-#define _XBT_CALL
-#endif
-
 #endif /* GRAS_PORTABLE_H */