File: PbcopperConfig.h

package info (click to toggle)
pbcopper 2.3.0%2Bdfsg-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 10,996 kB
  • sloc: ansic: 164,688; cpp: 53,414; sh: 184; makefile: 22
file content (87 lines) | stat: -rw-r--r-- 2,079 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#ifndef PBCOPPER_PBCOPPERCONFIG_H
#define PBCOPPER_PBCOPPERCONFIG_H

// Reduce the number of exposed symbols in order to speed up
// DSO load times
// https://gcc.gnu.org/wiki/Visibility

// clang-format off
#if defined _WIN32 || defined __CYGWIN__
#  ifdef PBCOPPER_BUILDING_LIBRARY
#    ifdef __GNUC__
#      define PBCOPPER_PUBLIC_API __attribute__((dllexport))
#    else
#      define PBCOPPER_PUBLIC_API __declspec(dllexport)  // Note: gcc seems to also supports this syntax
#    endif
#  else
#    ifdef __GNUC__
#      define PBCOPPER_PUBLIC_API __attribute__((dllimport))
#    else
#      define PBCOPPER_PUBLIC_API __declspec(dllimport)  // Note: gcc seems to also supports this syntax
#    endif
#  endif
#  define PBCOPPER_PRIVATE_API
#else
#  if __GNUC__ >= 4
#    define PBCOPPER_PUBLIC_API __attribute__((visibility("default")))
#    define PBCOPPER_PRIVATE_API __attribute__((visibility("hidden")))
#  else
#    define PBCOPPER_PUBLIC_API
#    define PBCOPPER_PRIVATE_API
#  endif
#endif
// clang-format on

/// Disable use of getrandom(), which requires Linux kernel 3.17+.
/// This define allows use of getentropy() in glibc 2.25+, otherwise
/// fallback to 'posix' provider
#ifndef BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM
#define BOOST_UUID_RANDOM_PROVIDER_DISABLE_GETRANDOM
#endif

/// Switch for warnings on deprecated APIs
#ifdef PACBIO_NODEPRECATED_API
#define PBCOPPER_DEPRECATED [[deprecated("see header for recommended alternative")]]
#else
#define PBCOPPER_DEPRECATED
#endif

#ifdef __CUDACC__

#ifndef PB_CUDA_HOST
#define PB_CUDA_HOST __host__
#endif

#ifndef PB_CUDA_DEVICE
#define PB_CUDA_DEVICE __device__
#endif

#ifndef PB_CUDA_CONSTANT
#define PB_CUDA_CONSTANT __constant__
#endif

#ifndef PB_CUDA_FORCEINLINE
#define PB_CUDA_FORCEINLINE __forceinline__
#endif

#else

#ifndef PB_CUDA_HOST
#define PB_CUDA_HOST
#endif

#ifndef PB_CUDA_DEVICE
#define PB_CUDA_DEVICE
#endif

#ifndef PB_CUDA_CONSTANT
#define PB_CUDA_CONSTANT
#endif

#ifndef PB_CUDA_FORCEINLINE
#define PB_CUDA_FORCEINLINE
#endif

#endif

#endif  // PBCOPPER_PBCOPPERCONFIG_H