SoapySDR: Config.h Source File

| SoapySDR 0.8.1-ARCH Vendor and platform neutral SDR interface library

Loading...
Searching...
No Matches
Config.h
Go to the documentation of this file.
1
10
11#pragma once
12// http://gcc.gnu.org/wiki/Visibility
13// Generic helper definitions for shared library support
14#if defined _WIN32 || defined __CYGWIN__
15 #define SOAPY_SDR_HELPER_DLL_IMPORT __declspec(dllimport)
16 #define SOAPY_SDR_HELPER_DLL_EXPORT __declspec(dllexport)
17 #define SOAPY_SDR_HELPER_DLL_LOCAL
18#else
19 #if __GNUC__ >= 4
20 #define SOAPY_SDR_HELPER_DLL_IMPORT __attribute__ ((visibility ("default")))
21 #define SOAPY_SDR_HELPER_DLL_EXPORT __attribute__ ((visibility ("default")))
22 #define SOAPY_SDR_HELPER_DLL_LOCAL __attribute__ ((visibility ("hidden")))
23 #else
24 #define SOAPY_SDR_HELPER_DLL_IMPORT
25 #define SOAPY_SDR_HELPER_DLL_EXPORT
26 #define SOAPY_SDR_HELPER_DLL_LOCAL
27 #endif
28#endif
29
30// Now we use the generic helper definitions above to define SOAPY_SDR_API and SOAPY_SDR_LOCAL.
31// SOAPY_SDR_API is used for the public API symbols. It either DLL imports or DLL exports (or does nothing for static build)
32// SOAPY_SDR_LOCAL is used for non-api symbols.
33
34#define SOAPY_SDR_DLL //always building a DLL
35
36#ifdef SOAPY_SDR_DLL // defined if SOAPY is compiled as a DLL
37 #ifdef SOAPY_SDR_DLL_EXPORTS // defined if we are building the SOAPY DLL (instead of using it)
38 #define SOAPY_SDR_API SOAPY_SDR_HELPER_DLL_EXPORT
39 #define SOAPY_SDR_EXTERN
40 #else
41 #define SOAPY_SDR_API SOAPY_SDR_HELPER_DLL_IMPORT
42 #define SOAPY_SDR_EXTERN extern
43 #endif // SOAPY_SDR_DLL_EXPORTS
44 #define SOAPY_SDR_LOCAL SOAPY_SDR_HELPER_DLL_LOCAL
45#else // SOAPY_SDR_DLL is not defined: this means SOAPY is a static lib.
46 #define SOAPY_SDR_API
47 #define SOAPY_SDR_LOCAL
48 #define SOAPY_SDR_EXTERN
49#endif // SOAPY_SDR_DLL
50
51
52#ifndef _MSC_VER
53#include <stdbool.h>
54#endif