From: mquinson Date: Wed, 7 Feb 2007 10:15:43 +0000 (+0000) Subject: Cleanup XBT_PUBLIC stuff under windows X-Git-Tag: v3.3~2269 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/3f1191c057332228e29da2f83f848e0fca6ca19e?hp=f0666f91f2577928e5fa447a872eb55108202f66 Cleanup XBT_PUBLIC stuff under windows git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3090 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/include/xbt/misc.h b/include/xbt/misc.h index a49fbf0b31..7e339d6cc4 100644 --- a/include/xbt/misc.h +++ b/include/xbt/misc.h @@ -56,42 +56,20 @@ # 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) */ +/* Handle import/export stuff + * Rational: + * * If you compile the DLL you must pass the right value of XBT_PUBLIC in the project: -DXBT_PUBLIC=__dllspec(ddlexport) + * * If you do a static compilation, you must define this macro to empty: -DXBT_PUBLIC= + * * If you link your code against the DLL, this file defines the macro to '__declspec(dllimport)' for you + * * If you compile under unix, this file defines the macro to 'extern', even if it's not mandatory with modern compilers + */ +#ifndef XBT_PUBLIC +# ifdef _WIN32 +# define XBT_PUBLIC __declspec(dllimport) +# else +# define XBT_PUBLIC extern +# endif /* _WIN32 */ +#endif /* !XBT_PUBLIC */ /* Function calling convention (not used for now) */ #if !defined (_XBT_CALL) diff --git a/src/win32/compiler/borland.h b/src/win32/compiler/borland.h index 0f3ba951b3..587caf01b8 100644 --- a/src/win32/compiler/borland.h +++ b/src/win32/compiler/borland.h @@ -201,7 +201,7 @@ /* "disable the snprintf replacement ( this function is broken on system v only" */ -/* FIXEME TO ANALYZE +/* FIXME TO ANALYZE #if defined(PREFER_PORTABLE_SNPRINTF) #undef PREFER_PORTABLE_SNPRINTF #endif @@ -370,29 +370,6 @@ the double. For now, GRAS requires the structures to be compacted. */ #define _REENTRANT 1 #endif -#if defined ( __DEBUG ) && ( __DEBUG > 1 ) - #define _XBT_DEBUG -#endif - -#define _XBT_LIB_BASENAME "xbt" - -#ifndef _XBT_EXPORT_DECLSPEC -#define _XBT_EXPORT_DECLSPEC __declspec(dllexport) -#endif - -#ifndef _XBT_IMPORT_DECLSPEC -#define _XBT_IMPORT_DECLSPEC __declspec(dllimport) -#endif - -#ifndef _XBT_CLASS_EXPORT_DECLSPEC -#define _XBT_CLASS_EXPORT_DECLSPEC __declspec(dllexport) -#endif - -#ifndef _XBT_CLASS_IMPORT_DECLSPEC -#define _XBT_CLASS_IMPORT_DECLSPEC __declspec(dllimport) -#endif - - #if(__BORLANDC__>= 0x500) #define _XBT_HAS_NAMESPACES #endif