xref: /freebsd/lib/clang/include/llvm/Config/llvm-config.h (revision bdd1243df58e60e85101c09001d9812a789b6bc4)
142d8074aSDimitry Andric /* $FreeBSD$ */
2268335d0SDimitry Andric /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/
3e580952dSDimitry Andric /*                                                                            */
486aa9539SDimitry Andric /* Part of the LLVM Project, under the Apache License v2.0 with LLVM          */
586aa9539SDimitry Andric /* Exceptions.                                                                */
686aa9539SDimitry Andric /* See https://llvm.org/LICENSE.txt for license information.                  */
786aa9539SDimitry Andric /* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception                    */
8e580952dSDimitry Andric /*                                                                            */
9e580952dSDimitry Andric /*===----------------------------------------------------------------------===*/
10e580952dSDimitry Andric 
11268335d0SDimitry Andric /* This file enumerates variables from the LLVM configuration so that they
12268335d0SDimitry Andric    can be in exported headers and won't override package specific directives.
13268335d0SDimitry Andric    This is a C header that can be included in the llvm-c headers. */
14e580952dSDimitry Andric 
15268335d0SDimitry Andric #ifndef LLVM_CONFIG_H
16268335d0SDimitry Andric #define LLVM_CONFIG_H
17e580952dSDimitry Andric 
1802d2ad99SDimitry Andric /* Define if LLVM_ENABLE_DUMP is enabled */
1902d2ad99SDimitry Andric /* #undef LLVM_ENABLE_DUMP */
2002d2ad99SDimitry Andric 
21dff0c46cSDimitry Andric /* Target triple LLVM will generate code for by default */
2281ad6265SDimitry Andric /* Doesn't use `cmakedefine` because it is allowed to be empty. */
23dff0c46cSDimitry Andric /* #undef LLVM_DEFAULT_TARGET_TRIPLE */
24dff0c46cSDimitry Andric 
25dff0c46cSDimitry Andric /* Define if threads enabled */
26cc38b640SDimitry Andric #define LLVM_ENABLE_THREADS 1
27dff0c46cSDimitry Andric 
286122f3e6SDimitry Andric /* Has gcc/MSVC atomic intrinsics */
29cc38b640SDimitry Andric #define LLVM_HAS_ATOMICS 1
306122f3e6SDimitry Andric 
317ae0e2c9SDimitry Andric /* Host triple LLVM will be executed on */
32284c1978SDimitry Andric /* #undef LLVM_HOST_TRIPLE */
337ae0e2c9SDimitry Andric 
34e580952dSDimitry Andric /* LLVM architecture name for the native architecture, if available */
35cbafd263SDimitry Andric /* #undef LLVM_NATIVE_ARCH */
36e580952dSDimitry Andric 
376122f3e6SDimitry Andric /* LLVM name for the native AsmParser init function, if available */
38cbafd263SDimitry Andric /* #undef LLVM_NATIVE_ASMPARSER */
396122f3e6SDimitry Andric 
406122f3e6SDimitry Andric /* LLVM name for the native AsmPrinter init function, if available */
41cbafd263SDimitry Andric /* #undef LLVM_NATIVE_ASMPRINTER */
426122f3e6SDimitry Andric 
43dff0c46cSDimitry Andric /* LLVM name for the native Disassembler init function, if available */
44cbafd263SDimitry Andric /* #undef LLVM_NATIVE_DISASSEMBLER */
45dff0c46cSDimitry Andric 
462754fe60SDimitry Andric /* LLVM name for the native Target init function, if available */
47cbafd263SDimitry Andric /* #undef LLVM_NATIVE_TARGET */
482754fe60SDimitry Andric 
492754fe60SDimitry Andric /* LLVM name for the native TargetInfo init function, if available */
50cbafd263SDimitry Andric /* #undef LLVM_NATIVE_TARGETINFO */
512754fe60SDimitry Andric 
526122f3e6SDimitry Andric /* LLVM name for the native target MC init function, if available */
53cbafd263SDimitry Andric /* #undef LLVM_NATIVE_TARGETMC */
5417a519f9SDimitry Andric 
555e801ac6SDimitry Andric /* LLVM name for the native target MCA init function, if available */
565e801ac6SDimitry Andric /* #undef LLVM_NATIVE_TARGETMCA */
575e801ac6SDimitry Andric 
58e580952dSDimitry Andric /* Define if this is Unixish platform */
59e580952dSDimitry Andric #define LLVM_ON_UNIX 1
60e580952dSDimitry Andric 
61139f7f9bSDimitry Andric /* Define if we have the Intel JIT API runtime support library */
6209bfd043SDimitry Andric #define LLVM_USE_INTEL_JITEVENTS 0
63139f7f9bSDimitry Andric 
64139f7f9bSDimitry Andric /* Define if we have the oprofile JIT-support library */
6509bfd043SDimitry Andric #define LLVM_USE_OPROFILE 0
66e580952dSDimitry Andric 
676dfa117fSDimitry Andric /* Define if we have the perf JIT-support library */
686dfa117fSDimitry Andric #define LLVM_USE_PERF 0
696dfa117fSDimitry Andric 
70dff0c46cSDimitry Andric /* Major version of the LLVM API */
71*bdd1243dSDimitry Andric #define LLVM_VERSION_MAJOR 16
72dff0c46cSDimitry Andric 
73dff0c46cSDimitry Andric /* Minor version of the LLVM API */
7409bfd043SDimitry Andric #define LLVM_VERSION_MINOR 0
751ae6788eSDimitry Andric 
7609de9530SDimitry Andric /* Patch version of the LLVM API */
77*bdd1243dSDimitry Andric #define LLVM_VERSION_PATCH 0
7809de9530SDimitry Andric 
791ae6788eSDimitry Andric /* LLVM version string */
80*bdd1243dSDimitry Andric #define LLVM_VERSION_STRING "16.0.0git"
816dfa117fSDimitry Andric 
826dfa117fSDimitry Andric /* Whether LLVM records statistics for use with GetStatistics(),
836dfa117fSDimitry Andric  * PrintStatistics() or PrintStatisticsJSON()
846dfa117fSDimitry Andric  */
856dfa117fSDimitry Andric #define LLVM_FORCE_ENABLE_STATS 0
86ebeff3f9SDimitry Andric 
875f24ef21SDimitry Andric /* Define if we have z3 and want to build it */
885f24ef21SDimitry Andric /* #undef LLVM_WITH_Z3 */
895f24ef21SDimitry Andric 
9004eeddc0SDimitry Andric /* Define if we have curl and want to use it */
9104eeddc0SDimitry Andric /* #undef LLVM_ENABLE_CURL */
9204eeddc0SDimitry Andric 
93753f127fSDimitry Andric /* Define if we have cpp-httplib and want to use it */
94753f127fSDimitry Andric /* #undef LLVM_ENABLE_HTTPLIB */
95753f127fSDimitry Andric 
96d56accc7SDimitry Andric /* Define if zlib compression is available */
97d56accc7SDimitry Andric #define LLVM_ENABLE_ZLIB 1
98d56accc7SDimitry Andric 
99fcaf7f86SDimitry Andric /* Define if zstd compression is available */
100*bdd1243dSDimitry Andric #define LLVM_ENABLE_ZSTD 1
101fcaf7f86SDimitry Andric 
102*bdd1243dSDimitry Andric /* Define if LLVM is using tflite instead of libtensorflow */
103*bdd1243dSDimitry Andric /* #undef LLVM_HAVE_TFLITE */
1045f24ef21SDimitry Andric 
105e8d8bef9SDimitry Andric /* Define to 1 if you have the <sysexits.h> header file. */
106e8d8bef9SDimitry Andric #define HAVE_SYSEXITS_H 1
107e8d8bef9SDimitry Andric 
108fe6060f1SDimitry Andric /* Define if the xar_open() function is supported on this platform. */
109fe6060f1SDimitry Andric #if defined(__APPLE__)
110fe6060f1SDimitry Andric #define LLVM_HAVE_LIBXAR 1
111fe6060f1SDimitry Andric #endif
112fe6060f1SDimitry Andric 
11304eeddc0SDimitry Andric /* Define if building libLLVM shared library */
11404eeddc0SDimitry Andric /* #undef LLVM_BUILD_LLVM_DYLIB */
11504eeddc0SDimitry Andric 
11604eeddc0SDimitry Andric /* Define if building LLVM with BUILD_SHARED_LIBS */
11704eeddc0SDimitry Andric /* #undef LLVM_BUILD_SHARED_LIBS */
11804eeddc0SDimitry Andric 
119d56accc7SDimitry Andric /* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */
120d56accc7SDimitry Andric /* #undef LLVM_FORCE_USE_OLD_TOOLCHAIN */
121d56accc7SDimitry Andric 
12281ad6265SDimitry Andric /* Define if llvm_unreachable should be optimized with undefined behavior
12381ad6265SDimitry Andric  * in non assert builds */
12481ad6265SDimitry Andric #define LLVM_UNREACHABLE_OPTIMIZE 1
12581ad6265SDimitry Andric 
12681ad6265SDimitry Andric /* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
12781ad6265SDimitry Andric #define LLVM_ENABLE_DIA_SDK 0
12881ad6265SDimitry Andric 
129*bdd1243dSDimitry Andric /* Define if plugins enabled */
130*bdd1243dSDimitry Andric /* #undef LLVM_ENABLE_PLUGINS */
131*bdd1243dSDimitry Andric 
132e580952dSDimitry Andric #endif
133