platform.h
Go to the documentation of this file.
1 // vim:set ft=c sw=2 sts=2 fenc=utf8:
2 
3 /*
4  * libasterix
5  * Copyright [2013-2020] SinoATC <http://www.sinoatc.com>.
6  * All Rights Reserved.
7  *
8  * NOTICE: All information contained herein is, and remains
9  * the property of SinoATC and its suppliers, if any.
10  * The intellectual and technical concepts contained herein
11  * are proprietary to Aerosys Corporation and its suppliers and may be
12  * covered by U.S. and Foreign Patents, patents in process,
13  * and are protected by trade secret or copyright law.
14  * Dissemination of this information or reproduction of this material
15  * is strictly forbidden unless prior written permission is obtained
16  * from SinoATC.
17  */
18 
25 #ifndef LIBASTERIX_PLATFORM_H
26 #define LIBASTERIX_PLATFORM_H
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 //Microsoft Visual C++
33 #if defined(_MSC_VER)
34  #define AST_CC_MSVC _MSC_VER
35 
36  #define AST_DECL_EXPORT __declspec(dllexport)
37  #define AST_DECL_IMPORT __declspec(dllimport)
38 
39 //GCC
40 #elif defined(__GNUC__)
41  #define AST_CC_GCC __GNUC__
42 
43  #define AST_DECL_EXPORT
44  #define AST_DECL_IMPORT
45 
46 //C++ Builder
47 #elif defined(__BORLANDC__)
48  #define AST_CC_BCC __BORLANDC__
49 
50  #define AST_DECL_EXPORT __declspec(dllexport)
51  #define AST_DECL_IMPORT __declspec(dllimport)
52 
53 //Other compiler
54 #else
55  #define AST_DECL_EXPORT
56  #define AST_DECL_IMPORT
57 #endif
58 
59 
60 #ifdef AST_LIBRARY
61  #define AST_API AST_DECL_EXPORT
62 #else
63  #define AST_API AST_DECL_IMPORT
64 #endif
65 
66 #ifdef __cplusplus
67  }
68 #endif // extern "C"
69 
70 #endif //LIBASTERIX_PLATFORM_H