SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
export.h
Go to the documentation of this file.
1 // Copyright (C) 2015 Edouard Griffiths, F4EXB. //
3 // //
4 // This program is free software; you can redistribute it and/or modify //
5 // it under the terms of the GNU General Public License as published by //
6 // the Free Software Foundation as version 3 of the License, or //
7 // (at your option) any later version. //
8 // //
9 // This program is distributed in the hope that it will be useful, //
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
12 // GNU General Public License V3 for more details. //
13 // //
14 // You should have received a copy of the GNU General Public License //
15 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
17 
18 #ifndef __SDRANGEL_EXPORT_H
19 #define __SDRANGEL_EXPORT_H
20 
21 #if defined (__GNUC__) && (__GNUC__ >= 4)
22 # define __SDR_EXPORT __attribute__((visibility("default")))
23 # define __SDR_IMPORT __attribute__((visibility("default")))
24 
25 #elif defined (_MSC_VER)
26 # define __SDR_EXPORT __declspec(dllexport)
27 # define __SDR_IMPORT __declspec(dllimport)
28 
29 #else
30 # define __SDR_EXPORT
31 # define __SDR_IMPORT
32 #endif
33 
34 /* The 'SDRBASE_API' controls the import/export of 'sdrbase' symbols and classes.
35  */
36 #if !defined(sdrangel_STATIC)
37 # if defined sdrbase_EXPORTS
38 # define SDRBASE_API __SDR_EXPORT
39 # else
40 # define SDRBASE_API __SDR_IMPORT
41 # endif
42 #else
43 # define SDRBASE_API
44 #endif
45 
46 /* the 'SDRGUI_API' controls the import/export of 'sdrgui' symbols
47  */
48 #if !defined(sdrangel_STATIC)
49 # ifdef sdrgui_EXPORTS
50 # define SDRGUI_API __SDR_EXPORT
51 # else
52 # define SDRGUI_API __SDR_IMPORT
53 # endif
54 #else
55 # define SDRGUI_API
56 #endif
57 
58 /* the 'SDRSRV_API' controls the import/export of 'sdrsrv' symbols
59  */
60 #if !defined(sdrangel_STATIC)
61 # ifdef sdrsrv_EXPORTS
62 # define SDRSRV_API __SDR_EXPORT
63 # else
64 # define SDRSRV_API __SDR_IMPORT
65 # endif
66 #else
67 # define SDRSRV_API
68 #endif
69 
70 /* the 'DEVICES_API' controls the import/export of 'devices' symbols
71  */
72 #if !defined(sdrangel_STATIC)
73 # ifdef devices_EXPORTS
74 # define DEVICES_API __SDR_EXPORT
75 # else
76 # define DEVICES_API __SDR_IMPORT
77 # endif
78 #else
79 # define DEVICES_API
80 #endif
81 
82 /* the 'HTTPSERVER_API' controls the import/export of 'httpserver' symbols
83  */
84 #if !defined(sdrangel_STATIC)
85 # ifdef httpserver_EXPORTS
86 # define HTTPSERVER_API __SDR_EXPORT
87 # else
88 # define HTTPSERVER_API __SDR_IMPORT
89 # endif
90 #else
91 # define HTTPSERVER_API
92 #endif
93 
94 /* the 'LOGGING_API' controls the import/export of 'logging' symbols
95  */
96 #if !defined(sdrangel_STATIC)
97 # ifdef logging_EXPORTS
98 # define LOGGING_API __SDR_EXPORT
99 # else
100 # define LOGGING_API __SDR_IMPORT
101 # endif
102 #else
103 # define LOGGING_API
104 #endif
105 
106 /* the 'QRTPLIB_API' controls the import/export of 'qrtplib' symbols
107  */
108 #if !defined(sdrangel_STATIC)
109 # ifdef qrtplib_EXPORTS
110 # define QRTPLIB_API __SDR_EXPORT
111 # else
112 # define QRTPLIB_API __SDR_IMPORT
113 # endif
114 #else
115 # define QRTPLIB_API
116 #endif
117 
118 /* the 'SWG_API' controls the import/export of 'swagger' symbols
119  */
120 #if !defined(sdrangel_STATIC)
121 # ifdef swagger_EXPORTS
122 # define SWG_API __SDR_EXPORT
123 # else
124 # define SWG_API __SDR_IMPORT
125 # endif
126 #else
127 # define SWG_API
128 #endif
129 
130 #endif /* __SDRANGEL_EXPORT_H */