RMS SDK for C++  0.2.1
A client library for using Microsoft RMS from Linux.
CryptoAPIExport.h
1 /*
2  * ======================================================================
3  * Copyright (c) Microsoft Open Technologies, Inc. All rights reserved.
4  * Licensed under the MIT License.
5  * See LICENSE.md in the project root for license information.
6  * ======================================================================
7 */
8 
9 #ifndef _RMS_LIB_EXPORT_H_
10 #define _RMS_LIB_EXPORT_H_
11 
12 // This code produces too many warnings
13 
14 #if defined _WIN32 || defined __CYGWIN__
15  #ifdef RMS_CRYPTO_LIBRARY
16  #ifdef __GNUC__
17  #define DLL_PUBLIC_CRYPTO __attribute__ ((dllexport))
18  #else
19  #define DLL_PUBLIC_CRYPTO __declspec(dllexport) // Note: actually gcc seems to also supports this syntax.
20  #endif
21  #else
22  #ifdef __GNUC__
23  #define DLL_PUBLIC_CRYPTO __attribute__ ((dllimport))
24  #else
25  #define DLL_PUBLIC_CRYPTO __declspec(dllimport) // Note: actually gcc seems to also supports this syntax.
26  #endif
27  #endif
28  #define DLL_LOCAL
29 #else
30  #if __GNUC__ >= 4
31  #define DLL_PUBLIC_CRYPTO __attribute__ ((visibility ("default")))
32  #define DLL_LOCAL_CRYPTO __attribute__ ((visibility ("hidden")))
33  #else
34  #define DLL_PUBLIC_CRYPTO
35  #define DLL_LOCAL_CRYPTO
36  #endif
37 #endif
38 
39 #endif // _RMS_LIB_EXPORT_H_