glooxd  0.3-svn
macros.h
1 /*
2  Copyright (c) 2008-2009 by Jakob Schroeter <js@camaya.net>
3  This file is part of the glooxd library. http://camaya.net/glooxd
4 
5  This software is distributed under a license. The full license
6  agreement can be found in the file LICENSE in this distribution.
7  This software may not be copied, modified, sold or distributed
8  other than expressed in the named license agreement.
9 
10  This software is distributed without any warranty.
11 */
12 
13 
14 #ifndef GLOOXDD_MACROS_H__
15 #define GLOOXD_MACROS_H__
16 
17 #if defined( _MSC_VER ) || defined( _WIN32_WCE )
18 # pragma warning( disable:4251 )
19 # pragma warning( disable:4786 )
20 #endif
21 
22 #ifdef _WIN32
23 # ifdef GLOOXD_EXPORTS
24 # define GLOOXD_API __declspec( dllexport )
25 # else
26 # ifdef GLOOXD_IMPORTS
27 # define GLOOXD_API __declspec( dllimport )
28 # endif
29 # endif
30 #endif
31 
32 #ifndef GLOOXD_API
33 # define GLOOXD_API
34 #endif
35 
36 
37 #if defined( __GNUC__ ) && ( __GNUC__ - 0 > 3 || ( __GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 >= 2 ) )
38 # define GLOOXD_DEPRECATED __attribute__ ( (__deprecated__) )
39 # define GLOOXD_DEPRECATED_CTOR explicit GLOOXD_DEPRECATED
40 #elif defined( _MSC_VER ) && ( _MSC_VER >= 1300 )
41 # define GLOOXD_DEPRECATED __declspec( deprecated )
42 # define GLOOXD_DEPRECATED_CTOR explicit GLOOXD_DEPRECATED
43 #else
44 # define GLOOXD_DEPRECATED
45 # define GLOOXD_DEPRECATED_CTOR
46 #endif
47 
48 
49 #endif // GLOOXD_MACROS_H__