12584ca0bSjsg/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ 22584ca0bSjsg/* */ 3*1ad61ae0Srobert/* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ 4*1ad61ae0Srobert/* Exceptions. */ 5*1ad61ae0Srobert/* See https://llvm.org/LICENSE.txt for license information. */ 6*1ad61ae0Srobert/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ 72584ca0bSjsg/* */ 82584ca0bSjsg/*===----------------------------------------------------------------------===*/ 92584ca0bSjsg 102584ca0bSjsg/* This file enumerates variables from the LLVM configuration so that they 112584ca0bSjsg can be in exported headers and won't override package specific directives. 122584ca0bSjsg This is a C header that can be included in the llvm-c headers. */ 132584ca0bSjsg 142584ca0bSjsg#ifndef LLVM_CONFIG_H 152584ca0bSjsg#define LLVM_CONFIG_H 162584ca0bSjsg 172584ca0bSjsg/* 182584ca0bSjsg * When bsd.lib.mk builds shared libraries it builds with -DPIC which 192584ca0bSjsg * causes problems in the following files which use PIC as a variable name. 202584ca0bSjsg * undefine PIC here to minimise the diff to upstream LLVM 212584ca0bSjsg * 222584ca0bSjsg * include/llvm/MC/MCObjectFileInfo.h 232584ca0bSjsg * lib/MC/MCObjectFileInfo.cpp 242584ca0bSjsg * lib/Transforms/Scalar/LICM.cpp 252584ca0bSjsg * lib/Transforms/Utils/PredicateInfo.cpp 262584ca0bSjsg */ 272584ca0bSjsg#undef PIC 282584ca0bSjsg 292584ca0bSjsg/* Define if LLVM_ENABLE_DUMP is enabled */ 302584ca0bSjsg/* #undef LLVM_ENABLE_DUMP */ 312584ca0bSjsg 322584ca0bSjsg/* Define if threads enabled */ 332584ca0bSjsg#define LLVM_ENABLE_THREADS 1 342584ca0bSjsg 352584ca0bSjsg/* Has gcc/MSVC atomic intrinsics */ 362584ca0bSjsg#define LLVM_HAS_ATOMICS 1 372584ca0bSjsg 382584ca0bSjsg/* Define if this is Unixish platform */ 392584ca0bSjsg#define LLVM_ON_UNIX 1 402584ca0bSjsg 412584ca0bSjsg/* Define if we have the Intel JIT API runtime support library */ 422584ca0bSjsg#define LLVM_USE_INTEL_JITEVENTS 0 432584ca0bSjsg 442584ca0bSjsg/* Define if we have the oprofile JIT-support library */ 452584ca0bSjsg#define LLVM_USE_OPROFILE 0 462584ca0bSjsg 472584ca0bSjsg/* Define if we have the perf JIT-support library */ 482584ca0bSjsg#define LLVM_USE_PERF 0 492584ca0bSjsg 502584ca0bSjsg/* Major version of the LLVM API */ 51*1ad61ae0Srobert#define LLVM_VERSION_MAJOR 16 522584ca0bSjsg 532584ca0bSjsg/* Minor version of the LLVM API */ 545a38ef86Spatrick#define LLVM_VERSION_MINOR 0 552584ca0bSjsg 562584ca0bSjsg/* Patch version of the LLVM API */ 57*1ad61ae0Srobert#define LLVM_VERSION_PATCH 6 582584ca0bSjsg 592584ca0bSjsg/* LLVM version string */ 60*1ad61ae0Srobert#define LLVM_VERSION_STRING "16.0.6" 612584ca0bSjsg 622584ca0bSjsg/* Whether LLVM records statistics for use with GetStatistics(), 632584ca0bSjsg * PrintStatistics() or PrintStatisticsJSON() 642584ca0bSjsg */ 652584ca0bSjsg#define LLVM_FORCE_ENABLE_STATS 0 665a38ef86Spatrick 675a38ef86Spatrick/* Define if we have z3 and want to build it */ 685a38ef86Spatrick/* #undef LLVM_WITH_Z3 */ 695a38ef86Spatrick 70*1ad61ae0Srobert/* Define if we have curl and want to use it */ 71*1ad61ae0Srobert/* #undef LLVM_ENABLE_CURL */ 725a38ef86Spatrick 73*1ad61ae0Srobert/* Define if we have cpp-httplib and want to use it */ 74*1ad61ae0Srobert/* #undef LLVM_ENABLE_HTTPLIB */ 75*1ad61ae0Srobert 76*1ad61ae0Srobert/* Define if zlib compression is available */ 77*1ad61ae0Srobert#define LLVM_ENABLE_ZLIB 0 78*1ad61ae0Srobert 79*1ad61ae0Srobert/* Define if zstd compression is available */ 80*1ad61ae0Srobert#define LLVM_ENABLE_ZSTD 0 815a38ef86Spatrick 825a38ef86Spatrick/* Define to 1 if you have the <sysexits.h> header file. */ 835a38ef86Spatrick#define HAVE_SYSEXITS_H 1 845a38ef86Spatrick 855a38ef86Spatrick/* Define if the xar_open() function is supported on this platform. */ 865a38ef86Spatrick/* #undef LLVM_HAVE_LIBXAR */ 875a38ef86Spatrick 88*1ad61ae0Srobert/* Define if building LLVM with LLVM_FORCE_USE_OLD_TOOLCHAIN_LIBS */ 89*1ad61ae0Srobert/* #undef LLVM_FORCE_USE_OLD_TOOLCHAIN */ 90*1ad61ae0Srobert 91*1ad61ae0Srobert/* Define if llvm_unreachable should be optimized with undefined behavior 92*1ad61ae0Srobert * in non assert builds */ 93*1ad61ae0Srobert#define LLVM_UNREACHABLE_OPTIMIZE 1 94*1ad61ae0Srobert 95*1ad61ae0Srobert/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */ 96*1ad61ae0Srobert#define LLVM_ENABLE_DIA_SDK 0 97*1ad61ae0Srobert 98*1ad61ae0Srobert/* Define if plugins enabled */ 99*1ad61ae0Srobert/* #undef LLVM_ENABLE_PLUGINS */ 1005a38ef86Spatrick 101