Add llvm-10 configs for Android Generated by running 'third_party/llvm-10.0/scripts/update.py android'. Bug: b/152339534 Change-Id: Icdac1e219a4660181f95cb5a3e73c7abbe931c3b Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/46270 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by: Antonio Maiorano <amaiorano@google.com> Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmParsers.def b/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmParsers.def new file mode 100644 index 0000000..e6fc120 --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmParsers.def
@@ -0,0 +1,38 @@ +/*===- llvm/Config/AsmParsers.def - LLVM Assembly Parsers -------*- C++ -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file enumerates all of the assembly-language parsers *| +|* supported by this build of LLVM. Clients of this file should define *| +|* the LLVM_ASM_PARSER macro to be a function-like macro with a *| +|* single parameter (the name of the target whose assembly can be *| +|* generated); including this file will then enumerate all of the *| +|* targets with assembly parsers. *| +|* *| +|* The set of targets supported by LLVM is generated at configuration *| +|* time, at which point this header is generated. Do not modify this *| +|* header directly. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_ASM_PARSER +# error Please define the macro LLVM_ASM_PARSER(TargetName) +#endif + +#if defined(__aarch64__) +LLVM_ASM_PARSER(AArch64) +#endif +#if defined(__arm__) +LLVM_ASM_PARSER(ARM) +#endif +#if defined(__i386__) || defined(__x86_64__) +LLVM_ASM_PARSER(X86) +#endif + + +#undef LLVM_ASM_PARSER
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmPrinters.def b/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmPrinters.def new file mode 100644 index 0000000..e1d897c --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/AsmPrinters.def
@@ -0,0 +1,38 @@ +/*===- llvm/Config/AsmPrinters.def - LLVM Assembly Printers -----*- C++ -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file enumerates all of the assembly-language printers *| +|* supported by this build of LLVM. Clients of this file should define *| +|* the LLVM_ASM_PRINTER macro to be a function-like macro with a *| +|* single parameter (the name of the target whose assembly can be *| +|* generated); including this file will then enumerate all of the *| +|* targets with assembly printers. *| +|* *| +|* The set of targets supported by LLVM is generated at configuration *| +|* time, at which point this header is generated. Do not modify this *| +|* header directly. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_ASM_PRINTER +# error Please define the macro LLVM_ASM_PRINTER(TargetName) +#endif + +#if defined(__aarch64__) +LLVM_ASM_PRINTER(AArch64) +#endif +#if defined(__arm__) +LLVM_ASM_PRINTER(ARM) +#endif +#if defined(__i386__) || defined(__x86_64__) +LLVM_ASM_PRINTER(X86) +#endif + + +#undef LLVM_ASM_PRINTER
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/Disassemblers.def b/third_party/llvm-10.0/configs/android/include/llvm/Config/Disassemblers.def new file mode 100644 index 0000000..ffa8bd6 --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/Disassemblers.def
@@ -0,0 +1,38 @@ +/*===- llvm/Config/Disassemblers.def - LLVM Assembly Parsers ----*- C++ -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file enumerates all of the assembly-language parsers *| +|* supported by this build of LLVM. Clients of this file should define *| +|* the LLVM_DISASSEMBLER macro to be a function-like macro with a *| +|* single parameter (the name of the target whose assembly can be *| +|* generated); including this file will then enumerate all of the *| +|* targets with assembly parsers. *| +|* *| +|* The set of targets supported by LLVM is generated at configuration *| +|* time, at which point this header is generated. Do not modify this *| +|* header directly. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_DISASSEMBLER +# error Please define the macro LLVM_DISASSEMBLER(TargetName) +#endif + +#if defined(__aarch64__) +LLVM_DISASSEMBLER(AArch64) +#endif +#if defined(__arm__) +LLVM_DISASSEMBLER(ARM) +#endif +#if defined(__i386__) || defined(__x86_64__) +LLVM_DISASSEMBLER(X86) +#endif + + +#undef LLVM_DISASSEMBLER
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/Targets.def b/third_party/llvm-10.0/configs/android/include/llvm/Config/Targets.def new file mode 100644 index 0000000..b11757b --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/Targets.def
@@ -0,0 +1,37 @@ +/*===- llvm/Config/Targets.def - LLVM Target Architectures ------*- C++ -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +|*===----------------------------------------------------------------------===*| +|* *| +|* This file enumerates all of the target architectures supported by *| +|* this build of LLVM. Clients of this file should define the *| +|* LLVM_TARGET macro to be a function-like macro with a single *| +|* parameter (the name of the target); including this file will then *| +|* enumerate all of the targets. *| +|* *| +|* The set of targets supported by LLVM is generated at configuration *| +|* time, at which point this header is generated. Do not modify this *| +|* header directly. *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_TARGET +# error Please define the macro LLVM_TARGET(TargetName) +#endif + +#if defined(__aarch64__) +LLVM_TARGET(AArch64) +#endif +#if defined(__arm__) +LLVM_TARGET(ARM) +#endif +#if defined(__i386__) || defined(__x86_64__) +LLVM_TARGET(X86) +#endif + + +#undef LLVM_TARGET
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/abi-breaking.h b/third_party/llvm-10.0/configs/android/include/llvm/Config/abi-breaking.h new file mode 100644 index 0000000..fd32bf3 --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/abi-breaking.h
@@ -0,0 +1,62 @@ +/*===------- llvm/Config/abi-breaking.h - llvm configuration -------*- C -*-===*/ +/* */ +/* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ +/* Exceptions. */ +/* See https://llvm.org/LICENSE.txt for license information. */ +/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ +/* */ +/*===----------------------------------------------------------------------===*/ + +/* This file controls the C++ ABI break introduced in LLVM public header. */ + +#ifndef LLVM_ABI_BREAKING_CHECKS_H +#define LLVM_ABI_BREAKING_CHECKS_H + +/* Define to enable checks that alter the LLVM C++ ABI */ +#define LLVM_ENABLE_ABI_BREAKING_CHECKS 0 + +/* Define to enable reverse iteration of unordered llvm containers */ +#define LLVM_ENABLE_REVERSE_ITERATION 0 + +/* Allow selectively disabling link-time mismatch checking so that header-only + ADT content from LLVM can be used without linking libSupport. */ +#if !LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING + +// ABI_BREAKING_CHECKS protection: provides link-time failure when clients build +// mismatch with LLVM +#if defined(_MSC_VER) +// Use pragma with MSVC +#define LLVM_XSTR(s) LLVM_STR(s) +#define LLVM_STR(s) #s +#pragma detect_mismatch("LLVM_ENABLE_ABI_BREAKING_CHECKS", LLVM_XSTR(LLVM_ENABLE_ABI_BREAKING_CHECKS)) +#undef LLVM_XSTR +#undef LLVM_STR +#elif defined(_WIN32) || defined(__CYGWIN__) // Win32 w/o #pragma detect_mismatch +// FIXME: Implement checks without weak. +#elif defined(__cplusplus) +#if !(defined(_AIX) && defined(__GNUC__) && !defined(__clang__)) +#define LLVM_HIDDEN_VISIBILITY __attribute__ ((visibility("hidden"))) +#else +// GCC on AIX does not support visibility attributes. Symbols are not +// exported by default on AIX. +#define LLVM_HIDDEN_VISIBILITY +#endif +namespace llvm { +#if LLVM_ENABLE_ABI_BREAKING_CHECKS +extern int EnableABIBreakingChecks; +LLVM_HIDDEN_VISIBILITY +__attribute__((weak)) int *VerifyEnableABIBreakingChecks = + &EnableABIBreakingChecks; +#else +extern int DisableABIBreakingChecks; +LLVM_HIDDEN_VISIBILITY +__attribute__((weak)) int *VerifyDisableABIBreakingChecks = + &DisableABIBreakingChecks; +#endif +} +#undef LLVM_HIDDEN_VISIBILITY +#endif // _MSC_VER + +#endif // LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING + +#endif
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/config.h b/third_party/llvm-10.0/configs/android/include/llvm/Config/config.h new file mode 100644 index 0000000..ae0842b --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/config.h
@@ -0,0 +1,366 @@ +#ifndef CONFIG_H +#define CONFIG_H + +/* Exported configuration */ +#include "llvm/Config/llvm-config.h" + +/* Bug report URL. */ +#define BUG_REPORT_URL "https://bugs.llvm.org/" + +/* Define to 1 to enable backtraces, and to 0 otherwise. */ +/* #undef ENABLE_BACKTRACES */ + +/* Define to 1 to enable crash overrides, and to 0 otherwise. */ +/* #undef ENABLE_CRASH_OVERRIDES */ + +/* Define to 1 to enable crash memory dumps, and to 0 otherwise. */ +#define LLVM_ENABLE_CRASH_DUMPS 0 + +/* Define to 1 if you have the `backtrace' function. */ +/* #undef HAVE_BACKTRACE */ + +/* #undef BACKTRACE_HEADER */ + +/* Define to 1 if you have the <CrashReporterClient.h> header file. */ +/* #undef HAVE_CRASHREPORTERCLIENT_H */ + +/* can use __crashreporter_info__ */ +#define HAVE_CRASHREPORTER_INFO 0 + +/* Define to 1 if you have the declaration of `arc4random', and to 0 if you + don't. */ +#define HAVE_DECL_ARC4RANDOM 0 + +/* Define to 1 if you have the declaration of `FE_ALL_EXCEPT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_ALL_EXCEPT 1 + +/* Define to 1 if you have the declaration of `FE_INEXACT', and to 0 if you + don't. */ +#define HAVE_DECL_FE_INEXACT 1 + +/* Define to 1 if you have the declaration of `strerror_s', and to 0 if you + don't. */ +#define HAVE_DECL_STRERROR_S 0 + +/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */ +#define LLVM_ENABLE_DIA_SDK 0 + +/* Define to 1 if you have the <dlfcn.h> header file. */ +#define HAVE_DLFCN_H 1 + +/* Define if dlopen() is available on this platform. */ +#define HAVE_DLOPEN 1 + +/* Define if dladdr() is available on this platform. */ +/* #undef HAVE_DLADDR */ + +/* Define to 1 if you have the <errno.h> header file. */ +#define HAVE_ERRNO_H 1 + +/* Define to 1 if you have the <fcntl.h> header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the <fenv.h> header file. */ +#define HAVE_FENV_H 1 + +/* Define if libffi is available on this platform. */ +/* #undef HAVE_FFI_CALL */ + +/* Define to 1 if you have the <ffi/ffi.h> header file. */ +/* #undef HAVE_FFI_FFI_H */ + +/* Define to 1 if you have the <ffi.h> header file. */ +/* #undef HAVE_FFI_H */ + +/* Define to 1 if you have the `futimens' function. */ +#define HAVE_FUTIMENS 1 + +/* Define to 1 if you have the `futimes' function. */ +#define HAVE_FUTIMES 1 + +/* Define to 1 if you have the `getpagesize' function. */ +#define HAVE_GETPAGESIZE 1 + +/* Define to 1 if you have the `getrlimit' function. */ +#define HAVE_GETRLIMIT 1 + +/* Define to 1 if you have the `getrusage' function. */ +#define HAVE_GETRUSAGE 1 + +/* Define to 1 if you have the `isatty' function. */ +#define HAVE_ISATTY 1 + +/* Define to 1 if you have the `edit' library (-ledit). */ +/* #undef HAVE_LIBEDIT */ + +/* Define to 1 if you have the `pfm' library (-lpfm). */ +/* #undef HAVE_LIBPFM */ + +/* Define to 1 if you have the `psapi' library (-lpsapi). */ +/* #undef HAVE_LIBPSAPI */ + +/* Define to 1 if you have the `pthread' library (-lpthread). */ +#define HAVE_LIBPTHREAD 1 + +/* Define to 1 if you have the `pthread_getname_np' function. */ +/* #undef HAVE_PTHREAD_GETNAME_NP */ + +/* Define to 1 if you have the `pthread_setname_np' function. */ +/* #undef HAVE_PTHREAD_SETNAME_NP */ + +/* Define to 1 if you have the `z' library (-lz). */ +/* #undef HAVE_LIBZ */ + +/* Define to 1 if you have the <link.h> header file. */ +#define HAVE_LINK_H 1 + +/* Define to 1 if you have the `lseek64' function. */ +#define HAVE_LSEEK64 1 + +/* Define to 1 if you have the <mach/mach.h> header file. */ +/* #undef HAVE_MACH_MACH_H */ + +/* Define to 1 if you have the `mallctl' function. */ +/* #undef HAVE_MALLCTL */ + +/* Define to 1 if you have the `mallinfo' function. */ +#define HAVE_MALLINFO 1 + +/* Define to 1 if you have the <malloc/malloc.h> header file. */ +/* #undef HAVE_MALLOC_MALLOC_H */ + +/* Define to 1 if you have the `malloc_zone_statistics' function. */ +/* #undef HAVE_MALLOC_ZONE_STATISTICS */ + +/* Define to 1 if you have the `posix_fallocate' function. */ +#define HAVE_POSIX_FALLOCATE 1 + +/* Define to 1 if you have the `posix_spawn' function. */ +/* #undef HAVE_POSIX_SPAWN */ + +/* Define to 1 if you have the `pread' function. */ +#define HAVE_PREAD 1 + +/* Have pthread_getspecific */ +#define HAVE_PTHREAD_GETSPECIFIC 1 + +/* Define to 1 if you have the <pthread.h> header file. */ +#define HAVE_PTHREAD_H 1 + +/* Have pthread_mutex_lock */ +#define HAVE_PTHREAD_MUTEX_LOCK 1 + +/* Have pthread_rwlock_init */ +#define HAVE_PTHREAD_RWLOCK_INIT 1 + +/* Define to 1 if you have the `sbrk' function. */ +#define HAVE_SBRK 1 + +/* Define to 1 if you have the `setenv' function. */ +#define HAVE_SETENV 1 + +/* Define to 1 if you have the `sched_getaffinity' function. */ +#define HAVE_SCHED_GETAFFINITY 1 + +/* Define to 1 if you have the `CPU_COUNT' macro. */ +#define HAVE_CPU_COUNT 1 + +/* Define to 1 if you have the `setrlimit' function. */ +#define HAVE_SETRLIMIT 1 + +/* Define to 1 if you have the `sigaltstack' function. */ +#define HAVE_SIGALTSTACK 1 + +/* Define to 1 if you have the <signal.h> header file. */ +#define HAVE_SIGNAL_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the `strerror_r' function. */ +#define HAVE_STRERROR_R 1 + +/* Define to 1 if you have the `sysconf' function. */ +#define HAVE_SYSCONF 1 + +/* Define to 1 if you have the <sys/ioctl.h> header file. */ +#define HAVE_SYS_IOCTL_H 1 + +/* Define to 1 if you have the <sys/mman.h> header file. */ +#define HAVE_SYS_MMAN_H 1 + +/* Define to 1 if you have the <sys/param.h> header file. */ +#define HAVE_SYS_PARAM_H 1 + +/* Define to 1 if you have the <sys/resource.h> header file. */ +#define HAVE_SYS_RESOURCE_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/time.h> header file. */ +#define HAVE_SYS_TIME_H 1 + +/* Define to 1 if stat struct has st_mtimespec member .*/ +/* #undef HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC */ + +/* Define to 1 if stat struct has st_mtim member. */ +#define HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define if the setupterm() function is supported this platform. */ +/* #undef HAVE_TERMINFO */ + +/* Define if the xar_open() function is supported this platform. */ +/* #undef HAVE_LIBXAR */ + +/* Define to 1 if you have the <termios.h> header file. */ +/* #undef HAVE_TERMIOS_H */ + +/* Define to 1 if you have the <unistd.h> header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the <valgrind/valgrind.h> header file. */ +/* #undef HAVE_VALGRIND_VALGRIND_H */ + +/* Define to 1 if you have the <zlib.h> header file. */ +/* #undef HAVE_ZLIB_H */ + +/* Have host's _alloca */ +/* #undef HAVE__ALLOCA */ + +/* Define to 1 if you have the `_chsize_s' function. */ +/* #undef HAVE__CHSIZE_S */ + +/* Define to 1 if you have the `_Unwind_Backtrace' function. */ +/* #undef HAVE__UNWIND_BACKTRACE */ + +/* Have host's __alloca */ +/* #undef HAVE___ALLOCA */ + +/* Have host's __ashldi3 */ +/* #undef HAVE___ASHLDI3 */ + +/* Have host's __ashrdi3 */ +/* #undef HAVE___ASHRDI3 */ + +/* Have host's __chkstk */ +/* #undef HAVE___CHKSTK */ + +/* Have host's __chkstk_ms */ +/* #undef HAVE___CHKSTK_MS */ + +/* Have host's __cmpdi2 */ +/* #undef HAVE___CMPDI2 */ + +/* Have host's __divdi3 */ +/* #undef HAVE___DIVDI3 */ + +/* Have host's __fixdfdi */ +/* #undef HAVE___FIXDFDI */ + +/* Have host's __fixsfdi */ +/* #undef HAVE___FIXSFDI */ + +/* Have host's __floatdidf */ +/* #undef HAVE___FLOATDIDF */ + +/* Have host's __lshrdi3 */ +/* #undef HAVE___LSHRDI3 */ + +/* Have host's __main */ +/* #undef HAVE___MAIN */ + +/* Have host's __moddi3 */ +/* #undef HAVE___MODDI3 */ + +/* Have host's __udivdi3 */ +/* #undef HAVE___UDIVDI3 */ + +/* Have host's __umoddi3 */ +/* #undef HAVE___UMODDI3 */ + +/* Have host's ___chkstk */ +/* #undef HAVE____CHKSTK */ + +/* Have host's ___chkstk_ms */ +/* #undef HAVE____CHKSTK_MS */ + +/* Linker version detected at compile time. */ +/* #undef HOST_LINK_VERSION */ + +/* Target triple LLVM will generate code for by default */ +/* Doesn't use `cmakedefine` because it is allowed to be empty. */ +#if defined(__x86_64__) +#define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-linux-android" +#elif defined(__i386__) +#define LLVM_DEFAULT_TARGET_TRIPLE "i686-linux-android" +#elif defined(__arm__) +#define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-androideabi" +#elif defined(__aarch64__) +#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-android" +#else +#error "unknown architecture" +#endif + +/* Define if zlib compression is available */ +#define LLVM_ENABLE_ZLIB 0 + +/* Define if overriding target triple is enabled */ +/* #undef LLVM_TARGET_TRIPLE_ENV */ + +/* LLVM version information */ +/* #undef LLVM_VERSION_INFO */ + +/* Whether tools show host and target info when invoked with --version */ +#define LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO 1 + +/* Define if libxml2 is supported on this platform. */ +/* #undef LLVM_LIBXML2_ENABLED */ + +/* Define to the extension used for shared libraries, say, ".so". */ +#define LTDL_SHLIB_EXT ".so" + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "https://bugs.llvm.org/" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "LLVM" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "LLVM 10.0.0" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "10.0.0" + +/* Define to the vendor of this package. */ +/* #undef PACKAGE_VENDOR */ + +/* Define as the return type of signal handlers (`int' or `void'). */ +#define RETSIGTYPE void + +/* Define if std::is_trivially_copyable is supported */ +#define HAVE_STD_IS_TRIVIALLY_COPYABLE 1 + +/* Define to a function implementing stricmp */ +/* #undef stricmp */ + +/* Define to a function implementing strdup */ +/* #undef strdup */ + +/* Whether GlobalISel rule coverage is being collected */ +#define LLVM_GISEL_COV_ENABLED 0 + +/* Define if we have z3 and want to build it */ +#define LLVM_WITH_Z3 1 + +/* Define to the default GlobalISel coverage file prefix */ +/* #undef LLVM_GISEL_COV_PREFIX */ + +/* Whether Timers signpost passes in Xcode Instruments */ +#define LLVM_SUPPORT_XCODE_SIGNPOSTS 0 + +#endif
diff --git a/third_party/llvm-10.0/configs/android/include/llvm/Config/llvm-config.h b/third_party/llvm-10.0/configs/android/include/llvm/Config/llvm-config.h new file mode 100644 index 0000000..b123349 --- /dev/null +++ b/third_party/llvm-10.0/configs/android/include/llvm/Config/llvm-config.h
@@ -0,0 +1,196 @@ +/*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ +/* */ +/* Part of the LLVM Project, under the Apache License v2.0 with LLVM */ +/* Exceptions. */ +/* See https://llvm.org/LICENSE.txt for license information. */ +/* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception */ +/* */ +/*===----------------------------------------------------------------------===*/ + +/* This file enumerates variables from the LLVM configuration so that they + can be in exported headers and won't override package specific directives. + This is a C header that can be included in the llvm-c headers. */ + +#ifndef LLVM_CONFIG_H +#define LLVM_CONFIG_H + +#if !defined(__i386__) && defined(_M_IX86) +#define __i386__ 1 +#endif + +#if !defined(__x86_64__) && (defined(_M_AMD64) || defined (_M_X64)) +#define __x86_64__ 1 +#endif + +#define LLVM_CONFIG_H + +/* Define if LLVM_ENABLE_DUMP is enabled */ +/* #undef LLVM_ENABLE_DUMP */ + +/* Target triple LLVM will generate code for by default */ +#if defined(__x86_64__) +#define LLVM_DEFAULT_TARGET_TRIPLE "x86_64-linux-android" +#elif defined(__i386__) +#define LLVM_DEFAULT_TARGET_TRIPLE "i686-linux-android" +#elif defined(__arm__) +#define LLVM_DEFAULT_TARGET_TRIPLE "armv7-linux-androideabi" +#elif defined(__aarch64__) +#define LLVM_DEFAULT_TARGET_TRIPLE "aarch64-linux-android" +#else +#error "unknown architecture" +#endif + +/* Define if threads enabled */ +#define LLVM_ENABLE_THREADS 1 + +/* Has gcc/MSVC atomic intrinsics */ +#define LLVM_HAS_ATOMICS 1 + +/* Host triple LLVM will be executed on */ +#if defined(__x86_64__) +#define LLVM_HOST_TRIPLE "x86_64-linux-android" +#elif defined(__i386__) +#define LLVM_HOST_TRIPLE "i686-linux-android" +#elif defined(__arm__) +#define LLVM_HOST_TRIPLE "armv7-linux-androideabi" +#elif defined(__aarch64__) +#define LLVM_HOST_TRIPLE "aarch64-linux-android" +#else +#error "unknown architecture" +#endif + +/* LLVM architecture name for the native architecture, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_ARCH AArch64 +#elif defined(__arm__) +#define LLVM_NATIVE_ARCH ARM +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_ARCH X86 +#elif defined(__mips__) +#define LLVM_NATIVE_ARCH Mips +#elif defined(__powerpc64__) +#define LLVM_NATIVE_ARCH PowerPC +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native AsmParser init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_ASMPARSER LLVMInitializeAArch64AsmParser +#elif defined(__arm__) +#define LLVM_NATIVE_ASMPARSER LLVMInitializeARMAsmParser +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_ASMPARSER LLVMInitializeX86AsmParser +#elif defined(__mips__) +#define LLVM_NATIVE_ASMPARSER LLVMInitializeMipsAsmParser +#elif defined(__powerpc64__) +#define LLVM_NATIVE_ASMPARSER LLVMInitializePowerPCAsmParser +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native AsmPrinter init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeAArch64AsmPrinter +#elif defined(__arm__) +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeARMAsmPrinter +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeX86AsmPrinter +#elif defined(__mips__) +#define LLVM_NATIVE_ASMPRINTER LLVMInitializeMipsAsmPrinter +#elif defined(__powerpc64__) +#define LLVM_NATIVE_ASMPRINTER LLVMInitializePowerPCAsmPrinter +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native Disassembler init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeAArch64Disassembler +#elif defined(__arm__) +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeARMDisassembler +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeX86Disassembler +#elif defined(__mips__) +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializeMipsDisassembler +#elif defined(__powerpc64__) +#define LLVM_NATIVE_DISASSEMBLER LLVMInitializePowerPCDisassembler +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native Target init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_TARGET LLVMInitializeAArch64Target +#elif defined(__arm__) +#define LLVM_NATIVE_TARGET LLVMInitializeARMTarget +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_TARGET LLVMInitializeX86Target +#elif defined(__mips__) +#define LLVM_NATIVE_TARGET LLVMInitializeMipsTarget +#elif defined(__powerpc64__) +#define LLVM_NATIVE_TARGET LLVMInitializePowerPCTarget +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native TargetInfo init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_TARGETINFO LLVMInitializeAArch64TargetInfo +#elif defined(__arm__) +#define LLVM_NATIVE_TARGETINFO LLVMInitializeARMTargetInfo +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_TARGETINFO LLVMInitializeX86TargetInfo +#elif defined(__mips__) +#define LLVM_NATIVE_TARGETINFO LLVMInitializeMipsTargetInfo +#elif defined(__powerpc64__) +#define LLVM_NATIVE_TARGETINFO LLVMInitializePowerPCTargetInfo +#else +#error "unknown architecture" +#endif + +/* LLVM name for the native target MC init function, if available */ +#if defined(__aarch64__) +#define LLVM_NATIVE_TARGETMC LLVMInitializeAArch64TargetMC +#elif defined(__arm__) +#define LLVM_NATIVE_TARGETMC LLVMInitializeARMTargetMC +#elif defined(__i386__) || defined(__x86_64__) +#define LLVM_NATIVE_TARGETMC LLVMInitializeX86TargetMC +#elif defined(__mips__) +#define LLVM_NATIVE_TARGETMC LLVMInitializeMipsTargetMC +#elif defined(__powerpc64__) +#define LLVM_NATIVE_TARGETMC LLVMInitializePowerPCTargetMC +#else +#error "unknown architecture" +#endif + +/* Define if this is Unixish platform */ +#define LLVM_ON_UNIX 1 + +/* Define if we have the Intel JIT API runtime support library */ +#define LLVM_USE_INTEL_JITEVENTS 0 + +/* Define if we have the oprofile JIT-support library */ +#define LLVM_USE_OPROFILE 0 + +/* Define if we have the perf JIT-support library */ +#define LLVM_USE_PERF 0 + +/* Major version of the LLVM API */ +#define LLVM_VERSION_MAJOR 10 + +/* Minor version of the LLVM API */ +#define LLVM_VERSION_MINOR 0 + +/* Patch version of the LLVM API */ +#define LLVM_VERSION_PATCH 0 + +/* LLVM version string */ +#define LLVM_VERSION_STRING "10.0.0" + +/* Whether LLVM records statistics for use with GetStatistics(), + * PrintStatistics() or PrintStatisticsJSON() + */ +#define LLVM_FORCE_ENABLE_STATS 0 + +#endif