Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Only adds the XBT_PUBLIC macro decoration a the begining of the public API functions.
[simgrid.git] / include / xbt / misc.h
index 9b232f3..6149e94 100644 (file)
 
 #if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
 # define _XBT_FUNCTION __FUNCTION__
-# define _XBT_INLINE inline
 #elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
 # define _XBT_FUNC__ __func__      /* ISO-C99 compliant */
-# define _XBT_INLINE inline
 #else
 # define _XBT_FUNCTION "function"
-# define _XBT_INLINE 
 #endif
 
-/* The cruft needed to export data in DLLs */
-#ifdef _WIN32
-# ifdef DLL_EXPORT 
-#  define XBT_EXPORT __declspec(dllexport) /* building the DLL */
+#ifndef __cplusplus
+#    if defined(__GNUC__) && ! defined(__STRICT_ANSI__)
+#        define XBT_INLINE inline
+#    elif (defined(__STDC__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L)
+#        define XBT_INLINE inline
+#    elif defined(__BORLANDC__) && !defined(__STRICT_ANSI__)
+#        define XBT_INLINE __inline
+#    else
+#        define XBT_INLINE
+#    endif
 # else
-#  define XBT_EXPORT extern __declspec(dllimport) /* using the DLL */
-# endif
-#else
-# define XBT_EXPORT
+#    define XBT_INLINE  inline
 #endif
 
 
-
 #ifndef max
 #  define max(a, b) (((a) > (b))?(a):(b))
 #endif
@@ -90,7 +89,7 @@
 
 SG_BEGIN_DECL()
 
-const char *xbt_procname(void);
+XBT_PUBLIC const char *xbt_procname(void);
 
 #define XBT_BACKTRACE_SIZE 10 /* FIXME: better place? Do document */