Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
numba
GitHub Repository: numba/llvmlite
Path: blob/main/ffi/config.cpp
1154 views
1
#include "core.h"
2
3
extern "C" {
4
5
// NOTE: Keep in sync with CMakeLists definitions
6
#define LLVMLITE_PACKAGE_FORMAT_CONDA 1
7
#define LLVMLITE_PACKAGE_FORMAT_WHEEL 2
8
9
API_EXPORT(int)
10
LLVMPY_HasSVMLSupport(void) {
11
#ifdef HAVE_SVML
12
return 1;
13
#else
14
return 0;
15
#endif
16
}
17
18
API_EXPORT(int)
19
LLVMPY_IsDynamicLLVMLinkageBuild(void) {
20
#ifdef HAVE_LLVMLITE_SHARED
21
return 1;
22
#else
23
return 0;
24
#endif
25
}
26
27
API_EXPORT(const char *)
28
LLVMPY_PackageFormat(void) {
29
#ifndef LLVMLITE_PACKAGE_FORMAT
30
return "unspecified";
31
#elif LLVMLITE_PACKAGE_FORMAT == LLVMLITE_PACKAGE_FORMAT_WHEEL
32
return "wheel";
33
#elif LLVMLITE_PACKAGE_FORMAT == LLVMLITE_PACKAGE_FORMAT_CONDA
34
return "conda";
35
#else
36
#error "LLVMLITE_PACKAGE_FORMAT must be one of 'wheel' or 'conda'."
37
#endif
38
}
39
40
API_EXPORT(int)
41
LLVMPY_IsStaticLibstdcxxLinkageBuild(void) {
42
#ifdef LLVMLITE_CXX_STATIC_LINK
43
return 1;
44
#else
45
return 0;
46
#endif
47
}
48
49
// NOTE: Keep in sync with CMakeLists definitions
50
#define LLVMLITE_LLVM_ASSERTIONS_OFF 0
51
#define LLVMLITE_LLVM_ASSERTIONS_ON 1
52
#define LLVMLITE_LLVM_ASSERTIONS_UNKNOWN 2
53
54
API_EXPORT(const char *)
55
LLVMPY_LlvmAssertionsState(void) {
56
#ifndef LLVMLITE_LLVM_ASSERTIONS_STATE
57
return "unknown";
58
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_OFF
59
return "off";
60
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_ON
61
return "on";
62
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_UNKNOWN
63
return "unknown";
64
#else
65
#error "LLVMLITE_LLVM_ASSERTIONS_STATE is set to an unexpected value"
66
#endif
67
}
68
69
} // end extern "C"
70
71