File: config.cpp

package info (click to toggle)
llvmlite 0.46.0-0.1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,140 kB
  • sloc: python: 13,605; cpp: 3,192; makefile: 185; sh: 168
file content (69 lines) | stat: -rw-r--r-- 1,564 bytes parent folder | download
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
#include "core.h"

extern "C" {

// NOTE: Keep in sync with CMakeLists definitions
#define LLVMLITE_PACKAGE_FORMAT_CONDA 1
#define LLVMLITE_PACKAGE_FORMAT_WHEEL 2

API_EXPORT(int)
LLVMPY_HasSVMLSupport(void) {
#ifdef HAVE_SVML
    return 1;
#else
    return 0;
#endif
}

API_EXPORT(int)
LLVMPY_IsDynamicLLVMLinkageBuild(void) {
#ifdef HAVE_LLVMLITE_SHARED
    return 1;
#else
    return 0;
#endif
}

API_EXPORT(const char *)
LLVMPY_PackageFormat(void) {
#ifndef LLVMLITE_PACKAGE_FORMAT
    return "unspecified";
#elif LLVMLITE_PACKAGE_FORMAT == LLVMLITE_PACKAGE_FORMAT_WHEEL
    return "wheel";
#elif LLVMLITE_PACKAGE_FORMAT == LLVMLITE_PACKAGE_FORMAT_CONDA
    return "conda";
#else
#error "LLVMLITE_PACKAGE_FORMAT must be one of 'wheel' or 'conda'."
#endif
}

API_EXPORT(int)
LLVMPY_IsStaticLibstdcxxLinkageBuild(void) {
#ifdef LLVMLITE_CXX_STATIC_LINK
    return 1;
#else
    return 0;
#endif
}

// NOTE: Keep in sync with CMakeLists definitions
#define LLVMLITE_LLVM_ASSERTIONS_OFF 0
#define LLVMLITE_LLVM_ASSERTIONS_ON 1
#define LLVMLITE_LLVM_ASSERTIONS_UNKNOWN 2

API_EXPORT(const char *)
LLVMPY_LlvmAssertionsState(void) {
#ifndef LLVMLITE_LLVM_ASSERTIONS_STATE
    return "unknown";
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_OFF
    return "off";
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_ON
    return "on";
#elif LLVMLITE_LLVM_ASSERTIONS_STATE == LLVMLITE_LLVM_ASSERTIONS_UNKNOWN
    return "unknown";
#else
#error "LLVMLITE_LLVM_ASSERTIONS_STATE is set to an unexpected value"
#endif
}

} // end extern "C"