USRP Hardware Driver and USRP Manual
Version: 4.6.0.0
UHD and USRP Manual
config.h
Go to the documentation of this file.
1
//
2
// Copyright 2015-2016 Ettus Research LLC
3
// Copyright 2018 Ettus Research, a National Instruments Company
4
//
5
// SPDX-License-Identifier: GPL-3.0-or-later
6
//
7
8
#pragma once
9
10
#ifdef _MSC_VER
11
// Bring in "and", "or", and "not"
12
# include <iso646.h>
13
14
// Define ssize_t
15
# ifndef _SSIZE_T_DEFINED
16
# define _SSIZE_T_DEFINED
17
# include <BaseTsd.h>
18
typedef
SSIZE_T ssize_t;
19
# endif
/* _SSIZE_T_DEFINED */
20
21
#endif
/* _MSC_VER */
22
23
// Define cross-platform macros
24
#if defined(_MSC_VER)
25
# define UHD_EXPORT __declspec(dllexport)
26
# define UHD_IMPORT __declspec(dllimport)
27
# define UHD_EXPORT_HEADER
28
# define UHD_IMPORT_HEADER
29
# define UHD_INLINE __forceinline
30
# define UHD_DEPRECATED __declspec(deprecated)
31
# define UHD_ALIGNED(x) __declspec(align(x))
32
# define UHD_UNUSED(x) x
33
#elif defined(__MINGW32__)
34
# define UHD_EXPORT __declspec(dllexport)
35
# define UHD_IMPORT __declspec(dllimport)
36
# define UHD_EXPORT_HEADER
37
# define UHD_IMPORT_HEADER
38
# define UHD_INLINE inline
39
# define UHD_DEPRECATED __declspec(deprecated)
40
# define UHD_ALIGNED(x) __declspec(align(x))
41
# define UHD_UNUSED(x) x __attribute__((unused))
42
#elif defined(__clang__)
43
# define UHD_EXPORT __attribute__((visibility("default")))
44
# define UHD_IMPORT __attribute__((visibility("default")))
45
# define UHD_EXPORT_HEADER __attribute__((visibility("default")))
46
# define UHD_IMPORT_HEADER __attribute__((visibility("default")))
47
# define UHD_INLINE inline __attribute__((always_inline))
48
# define UHD_DEPRECATED __attribute__((deprecated))
49
# define UHD_ALIGNED(x) __attribute__((aligned(x)))
50
# define UHD_UNUSED(x) x __attribute__((unused))
51
#elif defined(__GNUC__) && (__GNUC__ >= 4)
52
# define UHD_EXPORT __attribute__((visibility("default")))
53
# define UHD_IMPORT __attribute__((visibility("default")))
54
# define UHD_EXPORT_HEADER __attribute__((visibility("default")))
55
# define UHD_IMPORT_HEADER __attribute__((visibility("default")))
56
# define UHD_INLINE inline __attribute__((always_inline))
57
# define UHD_DEPRECATED __attribute__((deprecated))
58
# define UHD_ALIGNED(x) __attribute__((aligned(x)))
59
# define UHD_UNUSED(x) x __attribute__((unused))
60
#else
61
# define UHD_EXPORT
62
# define UHD_IMPORT
63
# define UHD_EXPORT_HEADER
64
# define UHD_IMPORT_HEADER
65
# define UHD_INLINE inline
66
# define UHD_DEPRECATED
67
# define UHD_ALIGNED(x)
68
# define UHD_UNUSED(x) x
69
#endif
70
71
// Define API declaration macro
72
//
73
// UHD_API should be used for classes/structs that
74
// have a direct cpp implementations that get directly
75
// built into a so/dylib/dll.
76
//
77
// UHD_API_HEADER should be used for classes/structs
78
// that are implemented in header only like hpp/ipp.
79
#ifdef UHD_STATIC_LIB
80
# define UHD_API
81
# define UHD_API_HEADER
82
#else
83
# ifdef UHD_DLL_EXPORTS
84
# define UHD_API UHD_EXPORT
85
# define UHD_API_HEADER UHD_EXPORT_HEADER
86
# else
87
# define UHD_API UHD_IMPORT
88
# define UHD_API_HEADER UHD_IMPORT_HEADER
89
# endif // UHD_DLL_EXPORTS
90
#endif // UHD_STATIC_LIB
91
92
// Platform defines for conditional code:
93
// Taken from boost/config/select_platform_config.hpp,
94
// However, we define macros, not strings, for platforms.
95
#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GLIBC__)) \
96
&& !defined(_CRAYC) && !defined(__FreeBSD_kernel__) && !defined(__GNU__)
97
# define UHD_PLATFORM_LINUX
98
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
99
# define UHD_PLATFORM_WIN32
100
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
101
# define UHD_PLATFORM_MACOS
102
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) \
103
|| defined(__FreeBSD_kernel__)
104
# define UHD_PLATFORM_BSD
105
#endif
include
uhd
config.h
Generated by
1.8.13