Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

383 Commits   1 Branch   1 Tag
Index: radix-1.9/X11/libs/mesa/22.3.4/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4/Makefile	(revision 39)
+++ radix-1.9/X11/libs/mesa/22.3.4/Makefile	(revision 40)
@@ -63,7 +63,7 @@
 REQUIRES          += libs/eudev/3.2.10
 REQUIRES          += libs/elfutils/0.187
 REQUIRES          += media/libomxil-bellagio/0.9.3
-REQUIRES          += dev/llvm/15.0.4
+REQUIRES          += dev/llvm/16.0.2
 REQUIRES          += app/lm-sensors/3.6.0
 REQUIRES          += X11/libs/libdrm/2.4.114
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2
Index: radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile	(revision 39)
+++ radix-1.9/X11/libs/mesa/22.3.4-ppc32/Makefile	(revision 40)
@@ -21,7 +21,7 @@
 REQUIRES          += libs/eudev/3.2.10-ppc32
 REQUIRES          += libs/elfutils/0.187-ppc32
 REQUIRES          += media/libomxil-bellagio/0.9.3-ppc32
-REQUIRES          += dev/llvm/15.0.4-ppc32
+REQUIRES          += dev/llvm/16.0.2-ppc32
 REQUIRES          += app/lm-sensors/3.6.0-ppc32
 REQUIRES          += X11/libs/libdrm/2.4.114-ppc32
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2-ppc32
Index: radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile
===================================================================
--- radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile	(revision 39)
+++ radix-1.9/X11/libs/mesa/22.3.4-x86_32/Makefile	(revision 40)
@@ -18,7 +18,7 @@
 REQUIRES          += libs/eudev/3.2.10-x86_32
 REQUIRES          += libs/elfutils/0.187-x86_32
 REQUIRES          += media/libomxil-bellagio/0.9.3-x86_32
-REQUIRES          += dev/llvm/15.0.4-x86_32
+REQUIRES          += dev/llvm/16.0.2-x86_32
 REQUIRES          += app/lm-sensors/3.6.0-x86_32
 REQUIRES          += X11/libs/libdrm/2.4.114-x86_32
 REQUIRES          += X11/X.org/lib/libxshmfence/1.3.2-x86_32
Index: radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
-llvm-x32:
-llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
-llvm-x32: highly optimized compilers, optimizers, and runtime environments.
-llvm-x32:
-llvm-x32: This package also includes the clang frontend for the C family of
-llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
-llvm-x32:
-llvm-x32: Homepage: http://llvm.org
-llvm-x32:
-llvm-x32:
Index: radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/13.0.0-ppc32/llvm-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/13.0.0-ppc32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/13.0.0-ppc32/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-ppc32/PATCHES	(nonexistent)
@@ -1,13 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-p5600.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-pass-variables.patch  -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-scan-build-py-x32.patch    -p0
Index: radix-1.9/dev/llvm/13.0.0-ppc32/Makefile
===================================================================
--- radix-1.9/dev/llvm/13.0.0-ppc32/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-ppc32/Makefile	(nonexistent)
@@ -1,449 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-NOT_PARALLEL       = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/llvm/13.0.0
-REQUIRES          += libs/libffi/3.4.4-ppc32
-REQUIRES          += libs/elfutils/0.187-ppc32
-REQUIRES          += libs/libxml2/2.9.9-ppc32
-REQUIRES          += libs/libedit/20191231-3.1-ppc32
-REQUIRES          += libs/ncurses/6.3-ppc32
-REQUIRES          += dev/python2/2.7.18-ppc32
-REQUIRES          += dev/python3/3.10.8-ppc32
-REQUIRES          += dev/lua/5.4.2-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 13.0.0
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_32_PKG_NAME                = llvm-x32
-LLVM_32_PKG_VERSION             = 13.0.0
-LLVM_32_PKG_ARCH                = $(PKGARCH)
-LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_32_PKG_URL                 = $(BUG_URL)
-LLVM_32_PKG_LICENSE             = custom
-LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
-LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
-LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
-
-LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_32_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-explicit_atomic = -latomic
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_SYSTEM_NAME:STRING='Linux'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_PPC32_SUFFIX)/clang/$(version)'
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;AMDGPU;BPF'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = no
-__ENABLE_LLDB_SERVER__ = no
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = no
-
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = ;libunwind
-else
-libunwind =
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = ;openmp
-else
-openmp =
-endif
-
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;libcxx;libcxxabi;lldb;lld;compiler-rt;polly$(openmp)$(libunwind)'
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblzma.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libxml2.so
-
-configure_switches += -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=False
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libelf.so
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo:FILEPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH:STRING=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX) \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_C_FLAGS:STRING='-I/usr/include $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS:STRING='-I/usr/include $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_32_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET32)-clang   ; \
-	   ln -sf clang++ $(TARGET32)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
-	 )
-	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
-	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	   find . -type l | xargs mv -t 32 ; \
-	 )
-	# ======= Install $(TARGET32)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-llvm-config  ; \
-	 )
-	# ======= Save config.h and llvm-config.h =======
-	@for header in config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@rm -rf $(LLVM_32_PKG)/usr/include
-	@rm -rf $(LLVM_32_PKG)/usr/libexec
-	@rm -rf $(LLVM_32_PKG)/usr/share
-	# ======= Restore config-32.h and llvm-config-32.h =======
-	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
-	@for header in config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
-	 done
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
-	   ln -sf ../../../../bin/32/lldb-argdumper ; \
-	 )
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g' polly/PollyConfig.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),,g'      llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(TARGET_DEST_DIR),,g'          llvm/LLVMExports.cmake ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_32_PKG))
-	# ======= Remove $(TARGET32)-llvm-config from target package =======
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_32_PKG); \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
-	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/13.0.0-ppc32
===================================================================
--- radix-1.9/dev/llvm/13.0.0-ppc32	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-ppc32	(nonexistent)

Property changes on: radix-1.9/dev/llvm/13.0.0-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
-llvm-x32:
-llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
-llvm-x32: highly optimized compilers, optimizers, and runtime environments.
-llvm-x32:
-llvm-x32: This package also includes the clang frontend for the C family of
-llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
-llvm-x32:
-llvm-x32: Homepage: http://llvm.org
-llvm-x32:
-llvm-x32:
Index: radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/13.0.0-x86_32/llvm-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/13.0.0-x86_32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/13.0.0-x86_32/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-x86_32/PATCHES	(nonexistent)
@@ -1,13 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-p5600.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-pass-variables.patch  -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-scan-build-py-x32.patch    -p0
Index: radix-1.9/dev/llvm/13.0.0-x86_32/Makefile
===================================================================
--- radix-1.9/dev/llvm/13.0.0-x86_32/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-x86_32/Makefile	(nonexistent)
@@ -1,444 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-NOT_PARALLEL       = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/llvm/13.0.0
-REQUIRES          += libs/libffi/3.4.4-x86_32
-REQUIRES          += libs/elfutils/0.187-x86_32
-REQUIRES          += libs/libxml2/2.9.9-x86_32
-REQUIRES          += libs/libedit/20191231-3.1-x86_32
-REQUIRES          += libs/ncurses/6.3-x86_32
-REQUIRES          += dev/python2/2.7.18-x86_32
-REQUIRES          += dev/python3/3.10.8-x86_32
-REQUIRES          += dev/lua/5.4.2-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 13.0.0
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_32_PKG_NAME                = llvm-x32
-LLVM_32_PKG_VERSION             = 13.0.0
-LLVM_32_PKG_ARCH                = $(PKGARCH)
-LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_32_PKG_URL                 = $(BUG_URL)
-LLVM_32_PKG_LICENSE             = custom
-LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
-LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
-LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
-
-LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_32_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_SYSTEM_NAME:STRING='Linux'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_X86_32_SUFFIX)/clang/$(version)'
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;AMDGPU;BPF'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = yes
-__ENABLE_LLDB_SERVER__ = yes
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = yes
-
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = ;libunwind
-else
-libunwind =
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = ;openmp
-else
-openmp =
-endif
-
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;libcxx;libcxxabi;lldb;lld;compiler-rt;polly$(openmp)$(libunwind)'
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblzma.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libxml2.so
-
-configure_switches += -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=False
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libelf.so
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH:STRING=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX) \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_C_FLAGS:STRING='-I/usr/include $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS:STRING='-I/usr/include $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_32_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET32)-clang   ; \
-	   ln -sf clang++ $(TARGET32)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
-	 )
-	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
-	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   find . -type f | xargs mv -t 32 ; \
-	   find . -type l | xargs mv -t 32 ; \
-	 )
-	# ======= Install $(TARGET32)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/32/$(TARGET32)-llvm-config  ; \
-	 )
-	# ======= Save config.h and llvm-config.h =======
-	@for header in config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@rm -rf $(LLVM_32_PKG)/usr/include
-	@rm -rf $(LLVM_32_PKG)/usr/libexec
-	@rm -rf $(LLVM_32_PKG)/usr/share
-	# ======= Restore config-32.h and llvm-config-32.h =======
-	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
-	@for header in config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
-	 done
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
-	   ln -sf ../../../../bin/32/lldb-argdumper ; \
-	 )
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g' polly/PollyConfig.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),,g'      llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(TARGET_DEST_DIR),,g'          llvm/LLVMExports.cmake ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_32_PKG))
-	# ======= Remove $(TARGET32)-llvm-config from target package =======
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_32_PKG); \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
-	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/13.0.0-x86_32
===================================================================
--- radix-1.9/dev/llvm/13.0.0-x86_32	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0-x86_32	(nonexistent)

Property changes on: radix-1.9/dev/llvm/13.0.0-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
-llvm-x32:
-llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
-llvm-x32: highly optimized compilers, optimizers, and runtime environments.
-llvm-x32:
-llvm-x32: This package also includes the clang frontend for the C family of
-llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
-llvm-x32:
-llvm-x32: Homepage: http://llvm.org
-llvm-x32:
-llvm-x32:
Index: radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/15.0.4-ppc32/llvm-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/15.0.4-ppc32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/15.0.4-ppc32/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-ppc32/PATCHES	(nonexistent)
@@ -1,17 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-mips.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-riscv64.patch         -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-install-symlink.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-lua-version.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-openmp-perl.patch          -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-scan-build-py-x32.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-pstl-x32.patch             -p0
Index: radix-1.9/dev/llvm/15.0.4-ppc32/Makefile
===================================================================
--- radix-1.9/dev/llvm/15.0.4-ppc32/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-ppc32/Makefile	(nonexistent)
@@ -1,542 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/llvm/15.0.4
-REQUIRES          += libs/libffi/3.4.4-ppc32
-REQUIRES          += libs/elfutils/0.187-ppc32
-REQUIRES          += libs/libxml2/2.9.9-ppc32
-REQUIRES          += libs/libedit/20191231-3.1-ppc32
-REQUIRES          += libs/ncurses/6.3-ppc32
-REQUIRES          += dev/python2/2.7.18-ppc32
-REQUIRES          += dev/python3/3.10.8-ppc32
-REQUIRES          += dev/lua/5.4.2-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 15.0.4
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_32_PKG_NAME                = llvm-x32
-LLVM_32_PKG_VERSION             = 15.0.4
-LLVM_32_PKG_ARCH                = $(PKGARCH)
-LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_32_PKG_URL                 = $(BUG_URL)
-LLVM_32_PKG_LICENSE             = custom
-LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
-LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
-LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
-
-LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_32_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
-
-
-CFLAGS += -flarge-source-files
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer
-CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
-CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
-CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-explicit_atomic = -latomic
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(MULTILIB_PPC32_SUFFIX)/lua/5.4
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_PPC32_SUFFIX)/clang/$(version)'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = no
-__ENABLE_LLDB_SERVER__ = no
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = yes
-
-
-__ENABLE_AMDGPU__      = yes
-__ENABLE_BPF__         = yes
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = openmp
-else
-openmp =
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = libunwind
-else
-libunwind =
-endif
-
-ifeq ($(__ENABLE_AMDGPU__),yes)
-amdgpu = AMDGPU
-else
-amdgpu =
-endif
-ifeq ($(__ENABLE_BPF__),yes)
-bpf = BPF
-else
-bpf =
-endif
-
-
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;$(amdgpu);$(bpf)'
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld;lldb;mlir;polly;pstl'
-configure_switches += -DLLVM_ENABLE_RUNTIMES='$(openmp);$(libunwind)'
-
-configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
-configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
-
-configure_switches += -DPERL_EXECUTABLE=$(PERL)
-configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblzma.so
-
-configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libzstd.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libxml2.so
-
-configure_switches += -DOPENMP_STANDALONE_BUILD=ON
-configure_switches += -DOPENMP_ENABLE_LIBOMPTARGET=OFF
-configure_switches += -DOPENMP_LIBDIR_SUFFIX='$(MULTILIB_PPC32_SUFFIX)'
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libffi.so
-configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
-
-configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
-configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
-configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
-configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
-
-
-llvm-config-targets = PowerPC
-
-
-#
-# NOTE:
-# ====
-#
-#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
-#
-toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
-
-configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
-
-cpu_arch = $(word 1,$(subst -, ,$(TARGET32)))
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
-	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
-	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX) \
-	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
-	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
-	                  -DLLVM_ENABLE_RTTI=ON \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
-	                  -DCMAKE_SKIP_RPATH=YES \
-	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
-	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja clang-pseudo-gen ; \
-	   ninja clang-tidy-confusable-chars-gen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	   ninja  mlir-linalg-ods-yaml-gen ; \
-	   ninja  mlir-pdll ; \
-	   ninja  mlir-tblgen ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_32_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET32)-clang   ; \
-	   ln -sf clang++ $(TARGET32)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
-	 )
-	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
-	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   find . -maxdepth 1 -type f | xargs mv -t 32 ; \
-	   find . -maxdepth 1 -type l | xargs mv -t 32 ; \
-	 )
-	# ======= Install $(TARGET32)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config  ; \
-	 )
-	@( cd $(LLVM_32_PKG)/usr/bin/32 ; \
-	   for file in clang-tblgen llvm-tblgen lldb-tblgen llvm-config ; do \
-	     ln -sf ../$(TARGET32)-$${file} . ; \
-	   done ; \
-	 )
-	# ======= Save config.h and llvm-config.h =======
-	@for header in config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in Config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/lldb/Host/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@rm -rf $(LLVM_32_PKG)/usr/include
-	@rm -rf $(LLVM_32_PKG)/usr/libexec
-	@rm -rf $(LLVM_32_PKG)/usr/share
-	# ======= Restore config-32.h and llvm-config-32.h =======
-	@mkdir -p $(LLVM_32_PKG)/usr/include/lldb/Host
-	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
-	@for header in config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
-	 done
-	@for header in Config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/lldb/Host/$$header-32.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
-	 done
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
-	   ln -sf ../../../../bin/32/lldb-argdumper ; \
-	 )
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),,g'                                 llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(TARGET_DEST_DIR),,g'                                     llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
-	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_32_PKG))
-	# ======= Remove $(TARGET32)-llvm-config from target package =======
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-clang-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-lldb-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_32_PKG); \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
-	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/15.0.4-ppc32
===================================================================
--- radix-1.9/dev/llvm/15.0.4-ppc32	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-ppc32	(nonexistent)

Property changes on: radix-1.9/dev/llvm/15.0.4-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-        |-----handy-ruler------------------------------------------------------|
-llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
-llvm-x32:
-llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
-llvm-x32: highly optimized compilers, optimizers, and runtime environments.
-llvm-x32:
-llvm-x32: This package also includes the clang frontend for the C family of
-llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
-llvm-x32:
-llvm-x32: Homepage: http://llvm.org
-llvm-x32:
-llvm-x32:
Index: radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/15.0.4-x86_32/llvm-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/15.0.4-x86_32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/15.0.4-x86_32/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-x86_32/PATCHES	(nonexistent)
@@ -1,17 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-mips.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-riscv64.patch         -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-install-symlink.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-lua-version.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-openmp-perl.patch          -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-scan-build-py-x32.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-pstl-x32.patch             -p0
Index: radix-1.9/dev/llvm/15.0.4-x86_32/Makefile
===================================================================
--- radix-1.9/dev/llvm/15.0.4-x86_32/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-x86_32/Makefile	(nonexistent)
@@ -1,537 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/llvm/15.0.4
-REQUIRES          += libs/libffi/3.4.4-x86_32
-REQUIRES          += libs/elfutils/0.187-x86_32
-REQUIRES          += libs/libxml2/2.9.9-x86_32
-REQUIRES          += libs/libedit/20191231-3.1-x86_32
-REQUIRES          += libs/ncurses/6.3-x86_32
-REQUIRES          += dev/python2/2.7.18-x86_32
-REQUIRES          += dev/python3/3.10.8-x86_32
-REQUIRES          += dev/lua/5.4.2-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 15.0.4
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_32_PKG_NAME                = llvm-x32
-LLVM_32_PKG_VERSION             = 15.0.4
-LLVM_32_PKG_ARCH                = $(PKGARCH)
-LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_32_PKG_GROUP               = $(PKG_GROUP)
-###                              |---handy-ruler-------------------------------|
-LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_32_PKG_URL                 = $(BUG_URL)
-LLVM_32_PKG_LICENSE             = custom
-LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
-LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
-LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
-
-LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_32_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
-
-
-CFLAGS += -flarge-source-files
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer
-CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
-CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
-CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(MULTILIB_X86_32_SUFFIX)/lua/5.4
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_X86_32_SUFFIX)/clang/$(version)'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = yes
-__ENABLE_LLDB_SERVER__ = yes
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = yes
-
-
-__ENABLE_AMDGPU__      = yes
-__ENABLE_BPF__         = yes
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = openmp
-else
-openmp =
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = libunwind
-else
-libunwind =
-endif
-
-ifeq ($(__ENABLE_AMDGPU__),yes)
-amdgpu = AMDGPU
-else
-amdgpu =
-endif
-ifeq ($(__ENABLE_BPF__),yes)
-bpf = BPF
-else
-bpf =
-endif
-
-
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;$(amdgpu);$(bpf)'
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld;lldb;mlir;polly;pstl'
-configure_switches += -DLLVM_ENABLE_RUNTIMES='$(openmp);$(libunwind)'
-
-configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
-configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
-
-configure_switches += -DPERL_EXECUTABLE=$(PERL)
-configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblzma.so
-
-configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libzstd.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libxml2.so
-
-configure_switches += -DOPENMP_STANDALONE_BUILD=ON
-configure_switches += -DOPENMP_ENABLE_LIBOMPTARGET=OFF
-configure_switches += -DOPENMP_LIBDIR_SUFFIX='$(MULTILIB_X86_32_SUFFIX)'
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libffi.so
-configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
-
-configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
-configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
-configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
-configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
-
-
-llvm-config-targets = X86
-
-
-#
-# NOTE:
-# ====
-#
-#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
-#
-toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
-
-configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
-
-cpu_arch = $(word 1,$(subst -, ,$(TARGET32)))
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-	$(APPLY_PATCHES)
-	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
-	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
-	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX) \
-	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
-	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
-	                  -DLLVM_ENABLE_RTTI=ON \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
-	                  -DCMAKE_SKIP_RPATH=YES \
-	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
-	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja clang-pseudo-gen ; \
-	   ninja clang-tidy-confusable-chars-gen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	   ninja  mlir-linalg-ods-yaml-gen ; \
-	   ninja  mlir-pdll ; \
-	   ninja  mlir-tblgen ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-	           -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_32_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET32)-clang   ; \
-	   ln -sf clang++ $(TARGET32)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
-	 )
-	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
-	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
-	@( cd $(LLVM_32_PKG)/usr/bin ; \
-	   find . -maxdepth 1 -type f | xargs mv -t 32 ; \
-	   find . -maxdepth 1 -type l | xargs mv -t 32 ; \
-	 )
-	# ======= Install $(TARGET32)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config  ; \
-	 )
-	@( cd $(LLVM_32_PKG)/usr/bin/32 ; \
-	   for file in clang-tblgen llvm-tblgen lldb-tblgen llvm-config ; do \
-	     ln -sf ../$(TARGET32)-$${file} . ; \
-	   done ; \
-	 )
-	# ======= Save config.h and llvm-config.h =======
-	@for header in config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in Config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/lldb/Host/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
-	 done
-	@rm -rf $(LLVM_32_PKG)/usr/include
-	@rm -rf $(LLVM_32_PKG)/usr/libexec
-	@rm -rf $(LLVM_32_PKG)/usr/share
-	# ======= Restore config-32.h and llvm-config-32.h =======
-	@mkdir -p $(LLVM_32_PKG)/usr/include/lldb/Host
-	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
-	@for header in config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
-	 done
-	@for header in Config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/lldb/Host/$$header-32.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
-	 done
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
-	   ln -sf ../../../../bin/32/lldb-argdumper ; \
-	 )
-	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),,g'                                 llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(TARGET_DEST_DIR),,g'                                     llvm/LLVMExports.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
-	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_32_PKG))
-	# ======= Remove $(TARGET32)-llvm-config from target package =======
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-clang-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-lldb-tblgen
-	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_32_PKG); \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
-	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/15.0.4-x86_32
===================================================================
--- radix-1.9/dev/llvm/15.0.4-x86_32	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4-x86_32	(nonexistent)

Property changes on: radix-1.9/dev/llvm/15.0.4-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/13.0.0/llvm-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/13.0.0/llvm-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/llvm-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/13.0.0/llvm-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/13.0.0/PATCHES.p5600
===================================================================
--- radix-1.9/dev/llvm/13.0.0/PATCHES.p5600	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/PATCHES.p5600	(nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-p5600.patch    -p0
-
Index: radix-1.9/dev/llvm/13.0.0/PATCHES
===================================================================
--- radix-1.9/dev/llvm/13.0.0/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/PATCHES	(nonexistent)
@@ -1,15 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-clangd-riscv64.patch       -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-lldb-riscv64.patch         -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-pass-variables.patch  -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-13.0.0-python3.patch              -p0
-
Index: radix-1.9/dev/llvm/13.0.0/config/config.h
===================================================================
--- radix-1.9/dev/llvm/13.0.0/config/config.h	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/config/config.h	(nonexistent)
@@ -1,10 +0,0 @@
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "config-32.h"
-#elif __WORDSIZE == 64
-#include "config-64.h"
-#else
-#error "Unknown word size"
-#endif
Index: radix-1.9/dev/llvm/13.0.0/config/llvm-config.h
===================================================================
--- radix-1.9/dev/llvm/13.0.0/config/llvm-config.h	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/config/llvm-config.h	(nonexistent)
@@ -1,10 +0,0 @@
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "llvm-config-32.h"
-#elif __WORDSIZE == 64
-#include "llvm-config-64.h"
-#else
-#error "Unknown word size"
-#endif
Index: radix-1.9/dev/llvm/13.0.0/config
===================================================================
--- radix-1.9/dev/llvm/13.0.0/config	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/config	(nonexistent)

Property changes on: radix-1.9/dev/llvm/13.0.0/config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/13.0.0/Makefile
===================================================================
--- radix-1.9/dev/llvm/13.0.0/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/Makefile	(nonexistent)
@@ -1,619 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-NOT_PARALLEL       = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/gcc/12.2.0
-REQUIRES          += libs/libffi/3.4.4
-REQUIRES          += libs/elfutils/0.187
-REQUIRES          += libs/libxml2/2.9.9
-REQUIRES          += libs/libedit/20191231-3.1
-REQUIRES          += libs/ncurses/6.3
-REQUIRES          += dev/python2/2.7.18
-REQUIRES          += dev/python3/3.10.8
-REQUIRES          += dev/lua/5.4.2
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 13.0.0
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-config_dir         = $(CURDIR)/config
-
-PATCHES = PATCHES
-
-ifeq ($(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC))
-OPT_PATCHES = PATCHES.p5600
-endif
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_PKG_NAME                = llvm
-LLVM_PKG_VERSION             = 13.0.0
-LLVM_PKG_ARCH                = $(PKGARCH)
-LLVM_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_PKG_GROUP               = $(PKG_GROUP)
-###                           |---handy-ruler-------------------------------|
-LLVM_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_PKG_URL                 = $(BUG_URL)
-LLVM_PKG_LICENSE             = custom
-LLVM_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-pkg-description
-LLVM_PKG_DESCRIPTION_FILE_IN = $(LLVM_PKG_NAME)-pkg-description.in
-LLVM_PKG_INSTALL_SCRIPT      = $(LLVM_PKG_NAME)-pkg-install.sh
-
-LLVM_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_PKG_NAME)-$(LLVM_PKG_VERSION)-$(LLVM_PKG_ARCH)-$(LLVM_PKG_DISTRO_NAME)-$(LLVM_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-extra
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-type-limits -Wno-unused-variable -Wno-return-type
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS:STRING='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
-                             $(TOOLCHAIN_P5600_GLIBC)),)
-explicit_atomic = -latomic
-else
-explicit_atomic =
-endif
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-
-ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
-configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
-configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
-configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
-endif
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_SYSTEM_NAME:STRING='Linux'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(LIBSUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(LIBSUFFIX)
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../lib$(LIBSUFFIX)/clang/$(version)'
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;AMDGPU;BPF'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = yes
-__ENABLE_LLDB_SERVER__ = yes
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = yes
-
-#
-# Configuring:
-#
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
-                             $(TOOLCHAIN_P5600_GLIBC)  \
-                             $(TOOLCHAIN_RISCV64_GLIBC)),)
-__ENABLE_LLDB_SERVER__ = no
-endif
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = ;libunwind
-else
-libunwind =
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = ;openmp
-else
-openmp =
-endif
-
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;libcxx;libcxxabi;lldb;lld;compiler-rt;polly$(openmp)$(libunwind)'
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblzma.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libxml2.so
-
-configure_switches += -DLIBOMPTARGET_BUILD_AMDGCN_BCLIB=False
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libelf.so
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET)
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH:STRING=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-ifneq ($(OPT_PATCHES),)
-	$(call apply-opt-patches, $(SRC_DIR))
-endif
-	$(APPLY_PATCHES)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX) \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR:STRING='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS:STRING='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_C_FLAGS:STRING='-I/usr/include $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS:STRING='-I/usr/include $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) \
-                             $(TOOLCHAIN_POWER8_GLIBC) \
-                             $(TOOLCHAIN_POWER9_GLIBC)),)
-	@for header in config ; do \
-	   mv $(LLVM_PKG)/usr/include/clang/Config/$$header{,-64}.h ; \
-	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/clang/Config/$$header.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   mv $(LLVM_PKG)/usr/include/llvm/Config/$$header{,-64}.h ; \
-	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/llvm/Config/$$header.h ; \
-	 done
-endif
-	@( cd $(LLVM_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET)-clang   ; \
-	   ln -sf clang++ $(TARGET)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin ; \
-	 )
-	# ======= Install $(TARGET)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config  ; \
-	 )
-	# ======= Install clang-static-analyzer =======
-	@( cd $(LLVM_PKG)/usr/bin ; \
-	   for i in ccc c++ ; do \
-	     ln -sf ../libexec/$$i-analyzer $$i-analyzer ; \
-	   done ; \
-	 )
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
-	@$(PYTHON2)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
-	@$(PYTHON2) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Compile bindings by Python3 =======
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/clang
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/clang
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/opt-viewer
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/opt-viewer
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/scan-view
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/scan-view
-	# ======= Install Documentation =======
-	@( cd $(LLVM_PKG)/usr/share/man/man1 ; \
-	   chmod 644 *.1 ; \
-	 )
-	@if [ -d $(LLVM_PKG)/usr/share/man ] ; then \
-	  ( cd $(LLVM_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	# ======= Install Licenses only into /usr/doc =======
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
-	@( cd $(SRC_DIR) ; \
-	   cp -a clang/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang ; \
-	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang-tools-extra ; \
-	   cp -a compiler-rt/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/compiler-rt ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld
-	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb
-	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm
-	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm ; \
-	 )
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind
-	@( cd $(SRC_DIR) ; cp -a libunwind/LICENSE* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind ; \
-	 )
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp
-	@( cd $(SRC_DIR) ; cp -a openmp/LICENSE* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp ; \
-	 )
-endif
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly
-	@( cd $(SRC_DIR) ; cp -a polly/LICENSE* \
-	                   $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly ; \
-	 )
-	# ======= Install README files into /usr/share/doc =======
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
-	@( cd $(SRC_DIR) ; \
-	   cp -a {CONTRIBUTING,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name) ; \
-	   cp -a clang/{CODE_OWNERS,INSTALL,LICENSE,NOTES,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang ; \
-	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang-tools-extra ; \
-	   cp -a compiler-rt/{CODE_OWNERS,CREDITS,LICENSE,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/compiler-rt ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld
-	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb
-	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm
-	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,CREDITS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm ; \
-	 )
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind
-	@( cd $(SRC_DIR) ; cp -a libunwind/{LICENSE}* \
-	                         libunwind/docs/{BuildingLibunwind,README,index}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind ; \
-	 )
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp
-	@( cd $(SRC_DIR) ; cp -a openmp/{CREDITS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp ; \
-	 )
-endif
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly
-	@( cd $(SRC_DIR) ; cp -a polly/{CREDITS,LICENSE,README}* \
-	                   $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly ; \
-	 )
-	# ======= Install ChangeLog if exists =======
-	@( cd $(SRC_DIR) ; \
-	   if [ -r ChangeLog ]; then \
-	     DOCSDIR=`echo $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)` ; \
-	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
-	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
-	   fi \
-	 )
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g' polly/PollyConfig.cmake ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_PKG))
-	# ======= Remove $(TARGET)-llvm-config from target package =======
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_PKG_DESCRIPTION_FILE): $(LLVM_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG)/.DESCRIPTION
-	@cp $(LLVM_PKG_INSTALL_SCRIPT) $(LLVM_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_PKG_NAME)"                            >  $(LLVM_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_PKG_VERSION)"                          >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_PKG_ARCH)"                               >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_PKG_DISTRO_NAME)"                  >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_PKG_DISTRO_VERSION)"                >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_PKG_GROUP)"                             >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_PKG_URL)"                                 >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_PKG_LICENSE)"                         >> $(LLVM_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/13.0.0/llvm-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/13.0.0/llvm-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0/llvm-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-    |-----handy-ruler------------------------------------------------------|
-llvm: llvm @VERSION@ (LLVM compiler toolkit)
-llvm:
-llvm: Low Level Virtual Machine is a toolkit for the construction of
-llvm: highly optimized compilers, optimizers, and runtime environments.
-llvm:
-llvm: This package also includes the clang frontend for the C family of
-llvm: languages:  C, C++, Objective-C, and Objective-C++
-llvm:
-llvm: Homepage: http://llvm.org
-llvm:
-llvm:
Index: radix-1.9/dev/llvm/13.0.0
===================================================================
--- radix-1.9/dev/llvm/13.0.0	(revision 39)
+++ radix-1.9/dev/llvm/13.0.0	(nonexistent)

Property changes on: radix-1.9/dev/llvm/13.0.0
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/15.0.4/llvm-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/15.0.4/llvm-pkg-install.sh	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/llvm-pkg-install.sh	(nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1:  the new package version
-pre_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-post_install() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-pre_update() {
-  /bin/true
-}
-
-# arg 1:  the new package version
-# arg 2:  the old package version
-post_update() {
-  post_install
-}
-
-# arg 1:  the old package version
-pre_remove() {
-  /bin/true
-}
-
-# arg 1:  the old package version
-post_remove() {
-  /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*

Property changes on: radix-1.9/dev/llvm/15.0.4/llvm-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/dev/llvm/15.0.4/PATCHES.p5600
===================================================================
--- radix-1.9/dev/llvm/15.0.4/PATCHES.p5600	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/PATCHES.p5600	(nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-p5600.patch    -p0
-
Index: radix-1.9/dev/llvm/15.0.4/PATCHES
===================================================================
--- radix-1.9/dev/llvm/15.0.4/PATCHES	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/PATCHES	(nonexistent)
@@ -1,18 +0,0 @@
-
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-gnu-triple.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clang-set-revision.patch   -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-clangd-riscv64.patch       -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-ppc64.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-synonyms.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-compiler-rt-mips.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-riscv64.patch         -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-set-revision.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-64bit-atomic.patch    -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-ppc64.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-versioning.patch      -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-llvm-install-symlink.patch -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-lldb-lua-version.patch     -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-openmp-perl.patch          -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-polly-hack.patch           -p0
-../../../sources/packages/d/llvm/patches/llvm-15.0.4-python3.patch              -p0
-
Index: radix-1.9/dev/llvm/15.0.4/config/Config.h
===================================================================
--- radix-1.9/dev/llvm/15.0.4/config/Config.h	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/config/Config.h	(nonexistent)
@@ -1,10 +0,0 @@
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "Config-32.h"
-#elif __WORDSIZE == 64
-#include "Config-64.h"
-#else
-#error "Unknown word size"
-#endif
Index: radix-1.9/dev/llvm/15.0.4/config/config.h
===================================================================
--- radix-1.9/dev/llvm/15.0.4/config/config.h	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/config/config.h	(nonexistent)
@@ -1,10 +0,0 @@
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "config-32.h"
-#elif __WORDSIZE == 64
-#include "config-64.h"
-#else
-#error "Unknown word size"
-#endif
Index: radix-1.9/dev/llvm/15.0.4/config/llvm-config.h
===================================================================
--- radix-1.9/dev/llvm/15.0.4/config/llvm-config.h	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/config/llvm-config.h	(nonexistent)
@@ -1,10 +0,0 @@
-
-#include <bits/wordsize.h>
-
-#if __WORDSIZE == 32
-#include "llvm-config-32.h"
-#elif __WORDSIZE == 64
-#include "llvm-config-64.h"
-#else
-#error "Unknown word size"
-#endif
Index: radix-1.9/dev/llvm/15.0.4/config
===================================================================
--- radix-1.9/dev/llvm/15.0.4/config	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/config	(nonexistent)

Property changes on: radix-1.9/dev/llvm/15.0.4/config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/15.0.4/Makefile
===================================================================
--- radix-1.9/dev/llvm/15.0.4/Makefile	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/Makefile	(nonexistent)
@@ -1,783 +0,0 @@
-
-COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH      = true
-COMPONENT_IS_3PP   = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES    = sources/packages/d/llvm
-
-REQUIRES           = dev/gcc/12.2.0
-REQUIRES          += libs/libffi/3.4.4
-REQUIRES          += libs/elfutils/0.187
-REQUIRES          += libs/libxml2/2.9.9
-REQUIRES          += libs/libedit/20191231-3.1
-REQUIRES          += libs/ncurses/6.3
-REQUIRES          += dev/python2/2.7.18
-REQUIRES          += dev/python3/3.10.8
-REQUIRES          += dev/lua/5.4.2
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version            = 15.0.4
-tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
-SRC_ARCHIVE        = $(tar_xz_archive)
-SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
-src_dir_name       = llvm-$(version)
-doc_dir_name       = llvm-$(version)
-src_done           = $(TARGET_BUILD_DIR)/.source_done
-
-config_dir         = $(CURDIR)/config
-
-PATCHES = PATCHES
-
-ifeq ($(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC))
-OPT_PATCHES = PATCHES.p5600
-endif
-
-build_dir          = $(TARGET_BUILD_DIR)/build
-build_target       = $(TARGET_BUILD_DIR)/.build_done
-install_target     = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = dev
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-LLVM_PKG_NAME                = llvm
-LLVM_PKG_VERSION             = 15.0.4
-LLVM_PKG_ARCH                = $(PKGARCH)
-LLVM_PKG_DISTRO_NAME         = $(DISTRO_NAME)
-LLVM_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
-LLVM_PKG_GROUP               = $(PKG_GROUP)
-###                           |---handy-ruler-------------------------------|
-LLVM_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
-LLVM_PKG_URL                 = $(BUG_URL)
-LLVM_PKG_LICENSE             = custom
-LLVM_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-pkg-description
-LLVM_PKG_DESCRIPTION_FILE_IN = $(LLVM_PKG_NAME)-pkg-description.in
-LLVM_PKG_INSTALL_SCRIPT      = $(LLVM_PKG_NAME)-pkg-install.sh
-
-LLVM_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-package
-
-pkg_basename     = $(LLVM_PKG_NAME)-$(LLVM_PKG_VERSION)-$(LLVM_PKG_ARCH)-$(LLVM_PKG_DISTRO_NAME)-$(LLVM_PKG_DISTRO_VERSION)
-
-pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate  = $(call cert-name,$(pkg_archive))
-pkg_signature    = $(call sign-name,$(pkg_archive))
-pkg_description  = $(call desc-name,$(pkg_archive))
-products         = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS    = $(build_target)
-BUILD_TARGETS   += $(install_target)
-
-PRODUCT_TARGETS  = $(products)
-
-ROOTFS_TARGETS   = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(LLVM_PKG)
-
-
-JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
-LLVM_JOBS := -j$(JOBS) -l$(JOBS)
-
-
-TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
-
-
-CFLAGS += -flarge-source-files
-
-CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
-CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
-
-CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
-CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format-overflow -Wno-unused-but-set-variable
-CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
-CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
-CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes
-CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
-CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
-CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer
-CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
-CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
-CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor
-
-
-configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
-
-configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
-configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
-#
-# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
-# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
-# practice for GNU Assembler.  GNU AS  compiler doesn't understand
-# options like -D_GNU_SOURCE .
-#
-configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
-
-configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
-configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
-configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
-configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
-configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
-configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
-configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
-configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
-
-configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
-configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
-                             $(TOOLCHAIN_P5600_GLIBC)  \
-                             $(TOOLCHAIN_RISCV64_GLIBC)),)
-explicit_atomic = -latomic
-else
-explicit_atomic =
-endif
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
-                             $(TOOLCHAIN_P5600_GLIBC)),)
-configure_switches += -DLIBOMP_LIBFLAGS='-latomic'
-endif
-
-configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
-
-configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
-configure_switches += -DCMAKE_SKIP_RPATH=YES
-
-
-ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
-configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
-configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
-configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
-endif
-
-configure_switches += -DLLVM_CCACHE_BUILD=ON
-configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
-configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
-configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
-
-configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
-configure_switches += -DCMAKE_INSTALL_BINDIR=bin
-configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(LIBSUFFIX)
-configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec
-configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
-configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
-
-configure_switches += -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(LIBSUFFIX)
-configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(LIBSUFFIX)/lua/5.4
-
-configure_switches += -DCMAKE_BUILD_TYPE=Release
-configure_switches += -DBUILD_SHARED_LIBS=ON
-configure_switches += -DLLVM_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DLIBCXX_ENABLE_RTTI=ON
-configure_switches += -DLLVM_ENABLE_ZLIB=ON
-configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
-
-configure_switches += -DLLVM_INSTALL_UTILS=ON
-
-configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
-configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
-configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
-configure_switches += -DLLDB_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
-configure_switches += -DCLANG_INCLUDE_TESTS=OFF
-configure_switches += -DLLVM_BUILD_TESTS=OFF
-configure_switches += -DLLVM_INCLUDE_TESTS=OFF
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
-configure_switches += -DLLVM_ENABLE_PIC=ON
-endif
-
-#
-# Libc++ 15.0.0 looze std::__1::basic_string symbol during build shared library for ARM 32-bit:
-# ============================================================================================
-#
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
-                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
-                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
-                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-configure_switches += -DLIBCXXABI_ENABLE_SHARED=OFF
-configure_switches += -DLIBCXX_ENABLE_SHARED=OFF
-endif
-
-configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCLANG_RESOURCE_DIR='../lib$(LIBSUFFIX)/clang/$(version)'
-configure_switches += -DLLDB_USE_SYSTEM_SIX=1
-
-#
-# libunwind:
-#
-configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
-configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
-configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
-
-
-#
-# Settings:
-#
-__ENABLE_CLANGD__      = yes
-__ENABLE_LLDB_SERVER__ = yes
-
-__ENABLE_LIBUNWIND__   = no
-__ENABLE_OPENMP__      = yes
-
-
-__ENABLE_AMDGPU__      = yes
-__ENABLE_BPF__         = yes
-
-#
-# Configuring:
-#
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
-                             $(TOOLCHAIN_P5600_GLIBC)  \
-                             $(TOOLCHAIN_RISCV64_GLIBC)),)
-__ENABLE_LLDB_SERVER__ = no
-endif
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
-configure_switches += -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
-configure_switches += -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
-endif
-
-#
-# Evaluation:
-#
-ifeq ($(__ENABLE_CLANGD__),yes)
-clangd = ON
-else
-clangd = OFF
-endif
-ifeq ($(__ENABLE_LLDB_SERVER__),yes)
-lldb-server = ON
-else
-lldb-server = OFF
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-openmp = openmp
-else
-openmp =
-endif
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-libunwind = libunwind
-else
-libunwind =
-endif
-
-ifeq ($(__ENABLE_AMDGPU__),yes)
-amdgpu = AMDGPU
-else
-amdgpu =
-endif
-ifeq ($(__ENABLE_BPF__),yes)
-bpf = BPF
-else
-bpf =
-endif
-
-#
-# Available progects:
-#   bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly;pstl;flang
-#
-# Available runtimes:
-#   compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp
-#
-
-configure_switches += -DLLVM_TARGETS_TO_BUILD='host;$(amdgpu);$(bpf)'
-
-configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;libcxx;libcxxabi;lld;lldb;mlir;polly;pstl'
-configure_switches += -DLLVM_ENABLE_RUNTIMES='$(openmp);$(libunwind)'
-
-configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
-
-configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
-configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
-
-
-PYTHON_VERSION = 3.10
-
-configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
-configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
-configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpython$(PYTHON_VERSION).so
-
-configure_switches += -DPERL_EXECUTABLE=$(PERL)
-configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
-
-configure_switches += -DLLDB_ENABLE_PYTHON=On
-configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
-configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
-
-configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libz.so
-
-configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblzma.so
-
-configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libzstd.so
-
-configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
-configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libxml2.so
-
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libelf.so
-
-configure_switches += -DLIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLIBOMPTARGET_DEP_LIBFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
-
-configure_switches += -DLLVM_ENABLE_FFI=ON
-configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)
-configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
-configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
-
-configure_switches += -DLLDB_ENABLE_LUA=ON
-configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblua.so
-configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libm.so
-
-configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
-configure_switches += -DLLVM_ENABLE_TERMINFO=ON
-
-configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-
-configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libcursesw.so
-configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libformw.so
-configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
-configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
-configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpanelw.so
-
-configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
-configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
-
-configure_switches += -DLLDB_ENABLE_CURSES=On
-
-configure_switches += -DLLVM_BUILD_DOCS=OFF
-
-configure_switches += -DCMAKE_CROSSCOMPILING=True
-
-configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET)
-configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET)
-configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET)
-
-configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
-
-configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
-configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
-configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
-configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
-configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
-configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
-configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
-configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
-configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
-
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
-                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
-                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
-                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-llvm-config-targets = ARM
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
-                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
-                             $(TOOLCHAIN_S9XX_GLIBC)   \
-                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
-llvm-config-targets = AArch64
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
-llvm-config-targets = Mips
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-llvm-config-targets = PowerPC
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
-llvm-config-targets = PowerPC
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
-llvm-config-targets = RISCV
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
-llvm-config-targets = X86
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-llvm-config-targets = X86
-endif
-
-
-#
-# NOTE:
-# ====
-#
-#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
-#
-toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
-
-configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
-
-cpu_arch = $(word 1,$(subst -, ,$(TARGET)))
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
-	$(UNPACK_SRC_ARCHIVE)
-ifneq ($(OPT_PATCHES),)
-	$(call apply-opt-patches, $(SRC_DIR))
-endif
-	$(APPLY_PATCHES)
-	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
-	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
-	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
-	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
-	@touch $@
-
-$(build_target): $(src_done)
-	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
-	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
-	   cmake -Wno-dev \
-	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
-	                  -DCMAKE_BUILD_TYPE=Release \
-	                  -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX) \
-	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
-	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
-	                  -DLLVM_ENABLE_RTTI=ON \
-	                  -DLLVM_INCLUDE_TESTS=OFF \
-	                  -DLLVM_CCACHE_BUILD=ON \
-	                  -DCCACHE_PROGRAM=$(CCACHE) \
-	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
-	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
-	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
-	                  -DCMAKE_SKIP_RPATH=YES \
-	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
-	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
-	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
-	                  ../llvm-$(version)/llvm ; \
-	   ninja  llvm-tblgen ; \
-	   ninja clang-tblgen ; \
-	   ninja clang-pseudo-gen ; \
-	   ninja clang-tidy-confusable-chars-gen ; \
-	   ninja  lldb-tblgen ; \
-	   ninja  llvm-config ; \
-	   ninja  mlir-linalg-ods-yaml-gen ; \
-	   ninja  mlir-pdll ; \
-	   ninja  mlir-tblgen ; \
-	 )
-	@mkdir -p $(build_dir)
-	@( cd $(build_dir) ; \
-	   $(BUILD_ENVIRONMENT) \
-	     cmake -Wno-dev --trace-expand \
-                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
-	 )
-	@( cd $(build_dir) ; \
-	   ninja $(LLVM_JOBS) all ; \
-	 )
-	@touch $@
-
-$(install_target): $(build_target)
-	@mkdir -p $(LLVM_PKG)
-	@cd $(build_dir) && $(env_sysroot) ninja install
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) \
-                             $(TOOLCHAIN_POWER8_GLIBC) \
-                             $(TOOLCHAIN_POWER9_GLIBC)),)
-	@for header in config ; do \
-	   mv $(LLVM_PKG)/usr/include/clang/Config/$$header{,-64}.h ; \
-	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/clang/Config/$$header.h ; \
-	 done
-	@for header in Config ; do \
-	   mv $(LLVM_PKG)/usr/include/lldb/Host/$$header{,-64}.h ; \
-	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/lldb/Host/$$header.h ; \
-	 done
-	@for header in llvm-config ; do \
-	   mv $(LLVM_PKG)/usr/include/llvm/Config/$$header{,-64}.h ; \
-	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/llvm/Config/$$header.h ; \
-	 done
-endif
-	@( cd $(LLVM_PKG)/usr/bin ; \
-	   ln -sf clang   $(TARGET)-clang   ; \
-	   ln -sf clang++ $(TARGET)-clang++ ; \
-	 )
-	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
-	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin ; \
-	 )
-	# ======= Install $(TARGET)-llvm-config =======
-	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
-	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen ; \
-	   cp -a llvm-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen  ; \
-	   cp -a lldb-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen  ; \
-	   cp -a llvm-config  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config  ; \
-	 )
-	# ======= Install clang-static-analyzer =======
-	@( cd $(LLVM_PKG)/usr/bin ; \
-	   for i in ccc c++ ; do \
-	     ln -sf ../libexec/$$i-analyzer $$i-analyzer ; \
-	   done ; \
-	 )
-	# ======= Remove bundled python-six =======
-	@rm -f $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
-	# ======= Install Python bindings =======
-	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
-	@$(PYTHON2)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
-	@$(PYTHON2) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
-	# ======= Install Python3 bindings =======
-	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
-	# ======= Compile bindings by Python3 =======
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/clang
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/clang
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/opt-viewer
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/opt-viewer
-	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/scan-view
-	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/scan-view
-	# ======= Install Documentation =======
-	@( cd $(LLVM_PKG)/usr/share/man/man1 ; \
-	   chmod 644 *.1 ; \
-	 )
-	@if [ -d $(LLVM_PKG)/usr/share/man ] ; then \
-	  ( cd $(LLVM_PKG)/usr/share/man ; \
-	    for manpagedir in `find . -type d -name "man*"` ; do \
-	      ( cd $$manpagedir ; \
-	        for eachpage in `find . -type l -maxdepth 1` ; do \
-	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
-	          rm $$eachpage ; \
-	        done ; \
-	        gzip -9 *.?  ; \
-	      ) \
-	    done \
-	  ) \
-	 fi
-	# ======= Install Licenses only into /usr/doc =======
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
-	@( cd $(SRC_DIR) ; \
-	   cp -a clang/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang ; \
-	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang-tools-extra ; \
-	   cp -a compiler-rt/{CODE_OWNERS,LICENSE}* \
-	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/compiler-rt ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld
-	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb
-	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm
-	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/mlir
-	@( cd $(SRC_DIR) ; cp -a mlir/LICENSE* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/mlir ; \
-	 )
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind
-	@( cd $(SRC_DIR) ; cp -a libunwind/LICENSE* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind ; \
-	 )
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp
-	@( cd $(SRC_DIR) ; cp -a openmp/LICENSE* \
-	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp ; \
-	 )
-endif
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly
-	@( cd $(SRC_DIR) ; cp -a polly/LICENSE* \
-	                   $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/pstl
-	@( cd $(SRC_DIR) ; cp -a pstl/LICENSE* \
-	                   $(LLVM_PKG)/usr/doc/$(doc_dir_name)/pstl ; \
-	 )
-	# ======= Install README files into /usr/share/doc =======
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
-	@( cd $(SRC_DIR) ; \
-	   cp -a {CONTRIBUTING,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name) ; \
-	   cp -a clang/{CODE_OWNERS,INSTALL,LICENSE,NOTES,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang ; \
-	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang-tools-extra ; \
-	   cp -a compiler-rt/{CODE_OWNERS,CREDITS,LICENSE,README}* \
-	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/compiler-rt ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld
-	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb
-	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm
-	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,CREDITS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/mlir
-	@( cd $(SRC_DIR) ; cp -a mlir/{LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/mlir ; \
-	 )
-ifeq ($(__ENABLE_LIBUNWIND__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind
-	@( cd $(SRC_DIR) ; cp -a libunwind/{LICENSE}* \
-	                         libunwind/docs/{BuildingLibunwind,README,index}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind ; \
-	 )
-endif
-ifeq ($(__ENABLE_OPENMP__),yes)
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp
-	@( cd $(SRC_DIR) ; cp -a openmp/{CREDITS,LICENSE,README}* \
-	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp ; \
-	 )
-endif
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly
-	@( cd $(SRC_DIR) ; cp -a polly/{CREDITS,LICENSE,README}* \
-	                   $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly ; \
-	 )
-	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/pstl
-	@( cd $(SRC_DIR) ; cp -a pstl/{CREDITS,LICENSE,README}* \
-	                   $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/pstl ; \
-	 )
-	# ======= Install ChangeLog if exists =======
-	@( cd $(SRC_DIR) ; \
-	   if [ -r ChangeLog ]; then \
-	     DOCSDIR=`echo $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)` ; \
-	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
-	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
-	   fi \
-	 )
-	# ======= Remove build-dir from cmake files =======
-	@( cd $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
-	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
-	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
-	 )
-	# ======= Install the same to $(TARGET_DEST_DIR) =======
-	$(call install-into-devenv, $(LLVM_PKG))
-	# ======= Remove $(TARGET)-llvm-config from target package =======
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen
-	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config
-	# ======= Strip Binaries =======
-	@( cd $(LLVM_PKG) ; \
-	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
-	 )
-	@touch $@
-
-$(LLVM_PKG_DESCRIPTION_FILE): $(LLVM_PKG_DESCRIPTION_FILE_IN)
-	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature)   : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG_INSTALL_SCRIPT)
-	@cp $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG)/.DESCRIPTION
-	@cp $(LLVM_PKG_INSTALL_SCRIPT) $(LLVM_PKG)/.INSTALL
-	@$(BUILD_PKG_REQUIRES) $(LLVM_PKG)/.REQUIRES
-	@echo "pkgname=$(LLVM_PKG_NAME)"                            >  $(LLVM_PKG)/.PKGINFO ; \
-	 echo "pkgver=$(LLVM_PKG_VERSION)"                          >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "arch=$(LLVM_PKG_ARCH)"                               >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "distroname=$(LLVM_PKG_DISTRO_NAME)"                  >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "distrover=$(LLVM_PKG_DISTRO_VERSION)"                >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "group=$(LLVM_PKG_GROUP)"                             >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "short_description=\"$(LLVM_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "url=$(LLVM_PKG_URL)"                                 >> $(LLVM_PKG)/.PKGINFO ; \
-	 echo "license=$(LLVM_PKG_LICENSE)"                         >> $(LLVM_PKG)/.PKGINFO
-	@$(PSEUDO) sh -c "cd $(LLVM_PKG) && \
-	                  chown -R root:root . && \
-	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/15.0.4/llvm-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/15.0.4/llvm-pkg-description.in	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4/llvm-pkg-description.in	(nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description.  Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in.  You must
-# make exactly 11 lines for the formatting to be correct.  It's also
-# customary to leave one space after the ':'.
-
-    |-----handy-ruler------------------------------------------------------|
-llvm: llvm @VERSION@ (LLVM compiler toolkit)
-llvm:
-llvm: Low Level Virtual Machine is a toolkit for the construction of
-llvm: highly optimized compilers, optimizers, and runtime environments.
-llvm:
-llvm: This package also includes the clang frontend for the C family of
-llvm: languages:  C, C++, Objective-C, and Objective-C++
-llvm:
-llvm: Homepage: http://llvm.org
-llvm:
-llvm:
Index: radix-1.9/dev/llvm/15.0.4
===================================================================
--- radix-1.9/dev/llvm/15.0.4	(revision 39)
+++ radix-1.9/dev/llvm/15.0.4	(nonexistent)

Property changes on: radix-1.9/dev/llvm/15.0.4
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/dev/llvm/16.0.2/Makefile
===================================================================
--- radix-1.9/dev/llvm/16.0.2/Makefile	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/Makefile	(revision 40)
@@ -0,0 +1,791 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/d/llvm
+
+REQUIRES           = dev/gcc/12.2.0
+REQUIRES          += libs/libffi/3.4.4
+REQUIRES          += libs/elfutils/0.187
+REQUIRES          += libs/libxml2/2.9.9
+REQUIRES          += libs/libedit/20191231-3.1
+REQUIRES          += libs/ncurses/6.3
+REQUIRES          += dev/python2/2.7.18
+REQUIRES          += dev/python3/3.10.8
+REQUIRES          += dev/lua/5.4.2
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 16.0.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
+src_dir_name       = llvm-$(version)
+doc_dir_name       = llvm-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+config_dir         = $(CURDIR)/config
+
+PATCHES = PATCHES
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+OPT_PATCHES = PATCHES.jz47xx
+endif
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_P5600_GLIBC))
+OPT_PATCHES = PATCHES.p5600
+endif
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = dev
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LLVM_PKG_NAME                = llvm
+LLVM_PKG_VERSION             = 16.0.2
+LLVM_PKG_ARCH                = $(PKGARCH)
+LLVM_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LLVM_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LLVM_PKG_GROUP               = $(PKG_GROUP)
+###                           |---handy-ruler-------------------------------|
+LLVM_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
+LLVM_PKG_URL                 = $(BUG_URL)
+LLVM_PKG_LICENSE             = custom
+LLVM_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-pkg-description
+LLVM_PKG_DESCRIPTION_FILE_IN = $(LLVM_PKG_NAME)-pkg-description.in
+LLVM_PKG_INSTALL_SCRIPT      = $(LLVM_PKG_NAME)-pkg-install.sh
+
+LLVM_PKG         = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_PKG_NAME)-package
+
+pkg_basename     = $(LLVM_PKG_NAME)-$(LLVM_PKG_VERSION)-$(LLVM_PKG_ARCH)-$(LLVM_PKG_DISTRO_NAME)-$(LLVM_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LLVM_PKG)
+
+
+JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
+LLVM_JOBS := -j$(JOBS) -l$(JOBS)
+
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
+
+
+CFLAGS += -flarge-source-files
+
+CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
+CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
+
+CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
+CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer -Wno-extra
+CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
+CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
+CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor -Wno-narrowing
+
+
+configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
+#
+# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
+# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
+# practice for GNU Assembler.  GNU AS  compiler doesn't understand
+# options like -D_GNU_SOURCE .
+#
+configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
+
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
+configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
+                             $(TOOLCHAIN_P5600_GLIBC)  \
+                             $(TOOLCHAIN_RISCV64_GLIBC)),)
+explicit_atomic = -latomic
+else
+explicit_atomic =
+endif
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
+                             $(TOOLCHAIN_P5600_GLIBC)  \
+                             $(TOOLCHAIN_RISCV64_GLIBC)),)
+configure_switches += -DLIBOMP_LIBFLAGS='-latomic'
+endif
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(LIBSUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) $(explicit_atomic)'
+
+configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
+configure_switches += -DCMAKE_SKIP_RPATH=YES
+
+
+ifeq ($(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC))
+configure_switches += -DCMAKE_C_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_CXX_FLAGS_RELEASE='-O2 -DNDEBUG'
+configure_switches += -DCMAKE_ASM_FLAGS_RELEASE='-O2 -DNDEBUG'
+endif
+
+configure_switches += -DLLVM_CCACHE_BUILD=ON
+configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
+configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
+configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+configure_switches += -DCMAKE_INSTALL_BINDIR=bin
+configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(LIBSUFFIX)
+configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec
+configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
+configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
+
+configure_switches += -DCLANG_LIBDIR_SUFFIX=$(LIBSUFFIX)
+configure_switches += -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX)
+configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(LIBSUFFIX)
+configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(LIBSUFFIX)
+configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(LIBSUFFIX)
+configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(LIBSUFFIX)/lua/5.4
+
+configure_switches += -DCMAKE_BUILD_TYPE=Release
+configure_switches += -DBUILD_SHARED_LIBS=ON
+configure_switches += -DLLVM_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DLIBCXX_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_ZLIB=ON
+configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
+
+configure_switches += -DLLVM_INSTALL_UTILS=ON
+
+configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
+configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
+configure_switches += -DLLDB_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
+configure_switches += -DCLANG_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_BUILD_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_TESTS=OFF
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
+configure_switches += -DLLVM_ENABLE_PIC=ON
+endif
+
+#
+# Libc++ 15.0.0 looze std::__1::basic_string symbol during build shared library for ARM 32-bit:
+# ============================================================================================
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+configure_switches += -DLIBCXXABI_ENABLE_SHARED=OFF
+configure_switches += -DLIBCXX_ENABLE_SHARED=OFF
+endif
+
+configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCLANG_RESOURCE_DIR='../lib$(LIBSUFFIX)/clang/$(version)'
+configure_switches += -DLLDB_USE_SYSTEM_SIX=1
+
+#
+# libunwind:
+#
+configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
+configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
+
+
+#
+# Settings:
+#
+__ENABLE_CLANGD__      = yes
+__ENABLE_LLDB_SERVER__ = yes
+
+__ENABLE_LIBUNWIND__   = no
+__ENABLE_OPENMP__      = no
+
+__ENABLE_AMDGPU__      = yes
+__ENABLE_BPF__         = yes
+
+#
+# Configuring:
+#
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) \
+                             $(TOOLCHAIN_P5600_GLIBC)),)
+__ENABLE_LLDB_SERVER__ = no
+endif
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+configure_switches += -DLIBOMPTARGET_BUILD_AMDGPU_PLUGIN=OFF
+configure_switches += -DLIBOMPTARGET_BUILD_CUDA_PLUGIN=OFF
+endif
+
+#
+# Evaluation:
+#
+ifeq ($(__ENABLE_CLANGD__),yes)
+clangd = ON
+else
+clangd = OFF
+endif
+ifeq ($(__ENABLE_LLDB_SERVER__),yes)
+lldb-server = ON
+else
+lldb-server = OFF
+endif
+ifeq ($(__ENABLE_OPENMP__),yes)
+openmp = ;openmp
+else
+openmp =
+endif
+ifeq ($(__ENABLE_LIBUNWIND__),yes)
+libunwind = ;libunwind
+else
+libunwind =
+endif
+
+ifeq ($(__ENABLE_AMDGPU__),yes)
+amdgpu = ;AMDGPU
+else
+amdgpu =
+endif
+ifeq ($(__ENABLE_BPF__),yes)
+bpf = ;BPF
+else
+bpf =
+endif
+
+#
+# Available progects:
+#   bolt;clang;clang-tools-extra;compiler-rt;cross-project-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;mlir;openmp;polly;pstl;flang
+#
+# Available runtimes:
+#   compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp
+#
+
+configure_switches += -DLLVM_TARGETS_TO_BUILD='host$(amdgpu)$(bpf)'
+
+configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;lld;lldb;mlir;polly;pstl'
+configure_switches += -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi$(openmp)$(libunwind)'
+
+configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
+
+configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
+configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
+
+
+PYTHON_VERSION = 3.10
+
+configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
+configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
+configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpython$(PYTHON_VERSION).so
+
+configure_switches += -DPERL_EXECUTABLE=$(PERL)
+configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
+
+configure_switches += -DLLDB_ENABLE_PYTHON=On
+configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
+configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
+configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
+
+configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libz.so
+
+configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblzma.so
+
+configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libzstd.so
+
+configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
+configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libxml2.so
+
+configure_switches += -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libelf.so
+
+configure_switches += -DLIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLIBOMPTARGET_DEP_LIBFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
+
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)
+configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
+configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libffi.so
+
+configure_switches += -DLLDB_ENABLE_LUA=ON
+configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/liblua.so
+configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libm.so
+
+configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_TERMINFO=ON
+
+configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
+configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
+configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
+
+configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libcursesw.so
+configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libformw.so
+configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
+configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libpanelw.so
+
+configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libncursesw.so
+configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/libtinfo.so
+
+configure_switches += -DLLDB_ENABLE_CURSES=On
+
+configure_switches += -DLLVM_BUILD_DOCS=OFF
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET)
+configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET)
+configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET)
+
+configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
+
+configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
+configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
+configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
+configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
+configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
+configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
+configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
+configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
+configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
+
+configure_switches += -DOPENMP_LLVM_LIT_EXECUTABLE=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-lit
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC)    $(TOOLCHAIN_A2X_GLIBC)    \
+                             $(TOOLCHAIN_H3_GLIBC)     $(TOOLCHAIN_RK328X_GLIBC) \
+                             $(TOOLCHAIN_S8XX_GLIBC)   $(TOOLCHAIN_IMX6_GLIBC)   \
+                             $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+llvm-config-targets = ARM
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC)     $(TOOLCHAIN_RK33XX_GLIBC) \
+                             $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
+                             $(TOOLCHAIN_S9XX_GLIBC)   \
+                             $(TOOLCHAIN_A311X_GLIBC)  $(TOOLCHAIN_M1000_GLIBC)),)
+llvm-config-targets = AArch64
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+llvm-config-targets = Mips
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+llvm-config-targets = PowerPC
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+llvm-config-targets = PowerPC
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+llvm-config-targets = RISCV
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC) $(TOOLCHAIN_I686_GLIBC)),)
+llvm-config-targets = X86
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+llvm-config-targets = X86
+endif
+
+
+#
+# NOTE:
+# ====
+#
+#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
+#
+toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
+
+configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
+
+cpu_arch = $(word 1,$(subst -, ,$(TARGET)))
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+ifneq ($(OPT_PATCHES),)
+	$(call apply-opt-patches, $(SRC_DIR))
+endif
+	$(APPLY_PATCHES)
+	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
+	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
+	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
+	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
+	   cmake -Wno-dev \
+	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
+	                  -DCMAKE_BUILD_TYPE=Release \
+	                  -DLLVM_LIBDIR_SUFFIX=$(LIBSUFFIX) \
+	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
+	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
+	                  -DLLVM_ENABLE_RTTI=ON \
+	                  -DLLVM_INCLUDE_TESTS=OFF \
+	                  -DLLVM_CCACHE_BUILD=ON \
+	                  -DCCACHE_PROGRAM=$(CCACHE) \
+	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
+	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
+	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
+	                  -DCMAKE_SKIP_RPATH=YES \
+	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
+	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
+	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
+	                  ../llvm-$(version)/llvm ; \
+	   ninja  llvm-tblgen ; \
+	   ninja clang-tblgen ; \
+	   ninja clang-pseudo-gen ; \
+	   ninja clang-tidy-confusable-chars-gen ; \
+	   ninja  lldb-tblgen ; \
+	   ninja  llvm-config ; \
+	   ninja  mlir-linalg-ods-yaml-gen ; \
+	   ninja  mlir-pdll ; \
+	   ninja  mlir-tblgen ; \
+	 )
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) \
+	     cmake -Wno-dev --trace-expand \
+                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
+	 )
+	@( cd $(build_dir) ; \
+	   ninja $(LLVM_JOBS) all ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LLVM_PKG)
+	@cd $(build_dir) && $(env_sysroot) ninja install
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) \
+                             $(TOOLCHAIN_POWER8_GLIBC) \
+                             $(TOOLCHAIN_POWER9_GLIBC)),)
+	@for header in config ; do \
+	   mv $(LLVM_PKG)/usr/include/clang/Config/$$header{,-64}.h ; \
+	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/clang/Config/$$header.h ; \
+	 done
+	@for header in Config ; do \
+	   mv $(LLVM_PKG)/usr/include/lldb/Host/$$header{,-64}.h ; \
+	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/lldb/Host/$$header.h ; \
+	 done
+	@for header in llvm-config ; do \
+	   mv $(LLVM_PKG)/usr/include/llvm/Config/$$header{,-64}.h ; \
+	   cp -a $(config_dir)/$$header.h $(LLVM_PKG)/usr/include/llvm/Config/$$header.h ; \
+	 done
+endif
+	@( cd $(LLVM_PKG)/usr/bin ; \
+	   ln -sf clang   $(TARGET)-clang   ; \
+	   ln -sf clang++ $(TARGET)-clang++ ; \
+	 )
+	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
+	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin ; \
+	 )
+	# ======= Install $(TARGET)-llvm-config =======
+	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
+	   cp -a clang-tblgen $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen ; \
+	   cp -a llvm-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen  ; \
+	   cp -a lldb-tblgen  $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen  ; \
+	   cp -a llvm-config  $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config  ; \
+	 )
+	# ======= Install clang-static-analyzer =======
+	@( cd $(LLVM_PKG)/usr/bin ; \
+	   for i in ccc c++ ; do \
+	     ln -sf ../libexec/$$i-analyzer $$i-analyzer ; \
+	   done ; \
+	 )
+	# ======= Remove bundled python-six =======
+	@rm -f $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
+	# ======= Install Python bindings =======
+	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages
+	@$(PYTHON2)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
+	@$(PYTHON2) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python2.7/site-packages/clang
+	# ======= Install Python3 bindings =======
+	@mkdir -p $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	# ======= Compile bindings by Python3 =======
+	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/clang
+	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/clang
+	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/opt-viewer
+	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/opt-viewer
+	@$(PYTHON3)    -m compileall $(LLVM_PKG)/usr/share/scan-view
+	@$(PYTHON3) -O -m compileall $(LLVM_PKG)/usr/share/scan-view
+	# ======= Install Documentation =======
+	@( cd $(LLVM_PKG)/usr/share/man/man1 ; \
+	   chmod 644 *.1 ; \
+	 )
+	@if [ -d $(LLVM_PKG)/usr/share/man ] ; then \
+	  ( cd $(LLVM_PKG)/usr/share/man ; \
+	    for manpagedir in `find . -type d -name "man*"` ; do \
+	      ( cd $$manpagedir ; \
+	        for eachpage in `find . -type l -maxdepth 1` ; do \
+	          ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+	          rm $$eachpage ; \
+	        done ; \
+	        gzip -9 *.?  ; \
+	      ) \
+	    done \
+	  ) \
+	 fi
+	# ======= Install Licenses only into /usr/doc =======
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
+	@( cd $(SRC_DIR) ; \
+	   cp -a clang/{CodeOwners,LICENSE}* \
+	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang ; \
+	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE}* \
+	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/clang-tools-extra ; \
+	   cp -a compiler-rt/{CODE_OWNERS,LICENSE}* \
+	         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/compiler-rt ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld
+	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE}* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lld ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb
+	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/lldb ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm
+	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,LICENSE}* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/llvm ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/mlir
+	@( cd $(SRC_DIR) ; cp -a mlir/LICENSE* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/mlir ; \
+	 )
+ifeq ($(__ENABLE_LIBUNWIND__),yes)
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind
+	@( cd $(SRC_DIR) ; cp -a libunwind/LICENSE* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/libunwind ; \
+	 )
+endif
+ifeq ($(__ENABLE_OPENMP__),yes)
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp
+	@( cd $(SRC_DIR) ; cp -a openmp/LICENSE* \
+	                         $(LLVM_PKG)/usr/doc/$(doc_dir_name)/openmp ; \
+	 )
+endif
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly
+	@( cd $(SRC_DIR) ; cp -a polly/LICENSE* \
+	                   $(LLVM_PKG)/usr/doc/$(doc_dir_name)/polly ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/doc/$(doc_dir_name)/pstl
+	@( cd $(SRC_DIR) ; cp -a pstl/LICENSE* \
+	                   $(LLVM_PKG)/usr/doc/$(doc_dir_name)/pstl ; \
+	 )
+	# ======= Install README files into /usr/share/doc =======
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/{clang,clang-tools-extra,compiler-rt}
+	@( cd $(SRC_DIR) ; \
+	   cp -a {CONTRIBUTING,README}* \
+	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name) ; \
+	   cp -a clang/{CodeOwners,INSTALL,LICENSE,NOTES,README}* \
+	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang ; \
+	   cp -a clang-tools-extra/{CODE_OWNERS,LICENSE,README}* \
+	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/clang-tools-extra ; \
+	   cp -a compiler-rt/{CODE_OWNERS,CREDITS,LICENSE,README}* \
+	         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/compiler-rt ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld
+	@( cd $(SRC_DIR) ; cp -a lld/{CODE_OWNERS,LICENSE,README}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lld ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb
+	@( cd $(SRC_DIR) ; cp -a lldb/{CODE_OWNERS,LICENSE}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/lldb ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm
+	@( cd $(SRC_DIR) ; cp -a llvm/{CODE_OWNERS,CREDITS,LICENSE,README}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/llvm ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/mlir
+	@( cd $(SRC_DIR) ; cp -a mlir/{LICENSE,README}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/mlir ; \
+	 )
+ifeq ($(__ENABLE_LIBUNWIND__),yes)
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind
+	@( cd $(SRC_DIR) ; cp -a libunwind/{LICENSE}* \
+	                         libunwind/docs/{BuildingLibunwind,README,index}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/libunwind ; \
+	 )
+endif
+ifeq ($(__ENABLE_OPENMP__),yes)
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp
+	@( cd $(SRC_DIR) ; cp -a openmp/{CREDITS,LICENSE,README}* \
+	                         $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/openmp ; \
+	 )
+endif
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly
+	@( cd $(SRC_DIR) ; cp -a polly/{CREDITS,LICENSE,README}* \
+	                   $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/polly ; \
+	 )
+	@mkdir -p $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/pstl
+	@( cd $(SRC_DIR) ; cp -a pstl/{CREDITS,LICENSE,README}* \
+	                   $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)/pstl ; \
+	 )
+	# ======= Install ChangeLog if exists =======
+	@( cd $(SRC_DIR) ; \
+	   if [ -r ChangeLog ]; then \
+	     DOCSDIR=`echo $(LLVM_PKG)/usr/share/doc/$(doc_dir_name)` ; \
+	     cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+	     touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+	   fi \
+	 )
+	# ======= Remove build-dir from cmake files =======
+	@( cd $(LLVM_PKG)/usr/lib$(LIBSUFFIX)/cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
+	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LLVM_PKG))
+	# ======= Remove $(TARGET)-llvm-config from target package =======
+	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-clang-tblgen
+	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-tblgen
+	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-lldb-tblgen
+	@rm -f $(LLVM_PKG)/usr/bin/$(TARGET)-llvm-config
+	# ======= Chmod shared objects =======
+	@( cd $(LLVM_PKG) ; \
+	   find . -type f -name '*.so' | xargs chmod +w 2> /dev/null ; \
+	 )
+	# ======= Strip Binaries =======
+	@( cd $(LLVM_PKG) ; \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LLVM_PKG_DESCRIPTION_FILE): $(LLVM_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG_INSTALL_SCRIPT)
+	@cp $(LLVM_PKG_DESCRIPTION_FILE) $(LLVM_PKG)/.DESCRIPTION
+	@cp $(LLVM_PKG_INSTALL_SCRIPT) $(LLVM_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LLVM_PKG)/.REQUIRES
+	@echo "pkgname=$(LLVM_PKG_NAME)"                            >  $(LLVM_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LLVM_PKG_VERSION)"                          >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "arch=$(LLVM_PKG_ARCH)"                               >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LLVM_PKG_DISTRO_NAME)"                  >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LLVM_PKG_DISTRO_VERSION)"                >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "group=$(LLVM_PKG_GROUP)"                             >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LLVM_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "url=$(LLVM_PKG_URL)"                                 >> $(LLVM_PKG)/.PKGINFO ; \
+	 echo "license=$(LLVM_PKG_LICENSE)"                         >> $(LLVM_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(LLVM_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/16.0.2/PATCHES
===================================================================
--- radix-1.9/dev/llvm/16.0.2/PATCHES	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/PATCHES	(revision 40)
@@ -0,0 +1,20 @@
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-gnu-triple.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-set-revision.patch   -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clangd-riscv64.patch       -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-ppc64.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-synonyms.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-mips.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-riscv64.patch         -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-set-revision.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-instr-link.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-pass-variables.patch  -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-64bit-atomic.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-ppc64.patch           -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-versioning.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-install-symlink.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-lua-version.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-openmp-perl.patch          -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-polly-hack.patch           -p0
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-x64-interpreter.patch      -p0
Index: radix-1.9/dev/llvm/16.0.2/PATCHES.jz47xx
===================================================================
--- radix-1.9/dev/llvm/16.0.2/PATCHES.jz47xx	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/PATCHES.jz47xx	(revision 40)
@@ -0,0 +1,3 @@
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-jz47xx.patch -p0
+
Index: radix-1.9/dev/llvm/16.0.2/PATCHES.p5600
===================================================================
--- radix-1.9/dev/llvm/16.0.2/PATCHES.p5600	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/PATCHES.p5600	(revision 40)
@@ -0,0 +1,3 @@
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-p5600.patch -p0
+
Index: radix-1.9/dev/llvm/16.0.2/config/Config.h
===================================================================
--- radix-1.9/dev/llvm/16.0.2/config/Config.h	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/config/Config.h	(revision 40)
@@ -0,0 +1,10 @@
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "Config-32.h"
+#elif __WORDSIZE == 64
+#include "Config-64.h"
+#else
+#error "Unknown word size"
+#endif
Index: radix-1.9/dev/llvm/16.0.2/config/config.h
===================================================================
--- radix-1.9/dev/llvm/16.0.2/config/config.h	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/config/config.h	(revision 40)
@@ -0,0 +1,10 @@
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "config-32.h"
+#elif __WORDSIZE == 64
+#include "config-64.h"
+#else
+#error "Unknown word size"
+#endif
Index: radix-1.9/dev/llvm/16.0.2/config/llvm-config.h
===================================================================
--- radix-1.9/dev/llvm/16.0.2/config/llvm-config.h	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/config/llvm-config.h	(revision 40)
@@ -0,0 +1,10 @@
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+#include "llvm-config-32.h"
+#elif __WORDSIZE == 64
+#include "llvm-config-64.h"
+#else
+#error "Unknown word size"
+#endif
Index: radix-1.9/dev/llvm/16.0.2/llvm-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/16.0.2/llvm-pkg-description.in	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/llvm-pkg-description.in	(revision 40)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+    |-----handy-ruler------------------------------------------------------|
+llvm: llvm @VERSION@ (LLVM compiler toolkit)
+llvm:
+llvm: Low Level Virtual Machine is a toolkit for the construction of
+llvm: highly optimized compilers, optimizers, and runtime environments.
+llvm:
+llvm: This package also includes the clang frontend for the C family of
+llvm: languages:  C, C++, Objective-C, and Objective-C++
+llvm:
+llvm: Homepage: http://llvm.org
+llvm:
+llvm:
Index: radix-1.9/dev/llvm/16.0.2/llvm-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/16.0.2/llvm-pkg-install.sh	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2/llvm-pkg-install.sh	(revision 40)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: radix-1.9/dev/llvm/16.0.2/llvm-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/dev/llvm/16.0.2
===================================================================
--- radix-1.9/dev/llvm/16.0.2	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2	(revision 40)

Property changes on: radix-1.9/dev/llvm/16.0.2
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: radix-1.9/dev/llvm/16.0.2-ppc32/Makefile
===================================================================
--- radix-1.9/dev/llvm/16.0.2-ppc32/Makefile	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-ppc32/Makefile	(revision 40)
@@ -0,0 +1,548 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/d/llvm
+
+REQUIRES           = dev/llvm/16.0.2
+REQUIRES          += libs/libffi/3.4.4-ppc32
+REQUIRES          += libs/elfutils/0.187-ppc32
+REQUIRES          += libs/libxml2/2.9.9-ppc32
+REQUIRES          += libs/libedit/20191231-3.1-ppc32
+REQUIRES          += libs/ncurses/6.3-ppc32
+REQUIRES          += dev/python2/2.7.18-ppc32
+REQUIRES          += dev/python3/3.10.8-ppc32
+REQUIRES          += dev/lua/5.4.2-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 16.0.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
+src_dir_name       = llvm-$(version)
+doc_dir_name       = llvm-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = dev
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LLVM_32_PKG_NAME                = llvm-x32
+LLVM_32_PKG_VERSION             = 16.0.2
+LLVM_32_PKG_ARCH                = $(PKGARCH)
+LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LLVM_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
+LLVM_32_PKG_URL                 = $(BUG_URL)
+LLVM_32_PKG_LICENSE             = custom
+LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
+LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
+LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
+
+LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
+
+pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LLVM_32_PKG)
+
+
+JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
+LLVM_JOBS := -j$(JOBS) -l$(JOBS)
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
+
+
+CFLAGS += -flarge-source-files
+
+CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
+CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
+
+CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
+CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer -Wno-extra
+CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
+CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
+CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor -Wno-narrowing
+
+
+configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
+#
+# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
+# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
+# practice for GNU Assembler.  GNU AS  compiler doesn't understand
+# options like -D_GNU_SOURCE .
+#
+configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
+
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
+configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
+
+explicit_atomic = -latomic
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_PPC32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) $(explicit_atomic)'
+
+configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
+configure_switches += -DCMAKE_SKIP_RPATH=YES
+
+configure_switches += -DLLVM_CCACHE_BUILD=ON
+configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
+configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
+configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
+configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
+configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
+configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
+
+configure_switches += -DCLANG_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(MULTILIB_PPC32_SUFFIX)/lua/5.4
+
+configure_switches += -DCMAKE_BUILD_TYPE=Release
+configure_switches += -DBUILD_SHARED_LIBS=ON
+configure_switches += -DLLVM_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DLIBCXX_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_ZLIB=ON
+configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
+
+configure_switches += -DLLVM_INSTALL_UTILS=ON
+
+configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
+configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
+configure_switches += -DLLDB_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
+configure_switches += -DCLANG_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_BUILD_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_TESTS=OFF
+
+configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
+configure_switches += -DLLVM_ENABLE_PIC=ON
+
+configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_PPC32_SUFFIX)/clang/$(version)'
+configure_switches += -DLLDB_USE_SYSTEM_SIX=1
+
+#
+# libunwind:
+#
+configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
+configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
+
+
+#
+# Settings:
+#
+__ENABLE_CLANGD__      = no
+__ENABLE_LLDB_SERVER__ = no
+
+__ENABLE_LIBUNWIND__   = no
+__ENABLE_OPENMP__      = no
+
+
+__ENABLE_AMDGPU__      = yes
+__ENABLE_BPF__         = yes
+
+#
+# Evaluation:
+#
+ifeq ($(__ENABLE_CLANGD__),yes)
+clangd = ON
+else
+clangd = OFF
+endif
+ifeq ($(__ENABLE_LLDB_SERVER__),yes)
+lldb-server = ON
+else
+lldb-server = OFF
+endif
+ifeq ($(__ENABLE_OPENMP__),yes)
+openmp = ;openmp
+else
+openmp =
+endif
+ifeq ($(__ENABLE_LIBUNWIND__),yes)
+libunwind = ;libunwind
+else
+libunwind =
+endif
+
+ifeq ($(__ENABLE_AMDGPU__),yes)
+amdgpu = ;AMDGPU
+else
+amdgpu =
+endif
+ifeq ($(__ENABLE_BPF__),yes)
+bpf = ;BPF
+else
+bpf =
+endif
+
+
+configure_switches += -DLLVM_TARGETS_TO_BUILD='host$(amdgpu)$(bpf)'
+
+configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;lld;lldb;mlir;polly;pstl'
+configure_switches += -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi$(openmp)$(libunwind)'
+
+configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
+
+configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
+configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
+
+
+PYTHON_VERSION = 3.10
+
+configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
+configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
+configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpython$(PYTHON_VERSION).so
+
+configure_switches += -DLLDB_ENABLE_PYTHON=On
+configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
+configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
+
+configure_switches += -DPERL_EXECUTABLE=$(PERL)
+configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
+
+configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libz.so
+
+configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblzma.so
+
+configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libzstd.so
+
+configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
+configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libxml2.so
+
+configure_switches += -DOPENMP_STANDALONE_BUILD=ON
+configure_switches += -DOPENMP_ENABLE_LIBOMPTARGET=OFF
+configure_switches += -DOPENMP_LIBDIR_SUFFIX='$(MULTILIB_PPC32_SUFFIX)'
+
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)
+configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libffi.so
+configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libffi.so
+
+configure_switches += -DLLDB_ENABLE_LUA=ON
+configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/liblua.so
+configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libm.so
+
+configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_TERMINFO=ON
+
+configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
+configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
+configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
+
+configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libcursesw.so
+configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libformw.so
+configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
+configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libpanelw.so
+
+configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libncursesw.so
+configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/libtinfo.so
+
+configure_switches += -DLLDB_ENABLE_CURSES=On
+
+configure_switches += -DLLVM_BUILD_DOCS=OFF
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
+configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
+configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
+
+configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
+
+configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
+configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
+configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
+configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
+configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
+configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
+configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
+configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
+configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
+
+configure_switches += -DOPENMP_LLVM_LIT_EXECUTABLE=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-lit
+
+llvm-config-targets = PowerPC
+
+
+#
+# NOTE:
+# ====
+#
+#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
+#
+toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
+
+configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
+
+cpu_arch = $(word 1,$(subst -, ,$(TARGET32)))
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
+	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
+	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
+	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
+	   cmake -Wno-dev \
+	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
+	                  -DCMAKE_BUILD_TYPE=Release \
+	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_PPC32_SUFFIX) \
+	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
+	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
+	                  -DLLVM_ENABLE_RTTI=ON \
+	                  -DLLVM_INCLUDE_TESTS=OFF \
+	                  -DLLVM_CCACHE_BUILD=ON \
+	                  -DCCACHE_PROGRAM=$(CCACHE) \
+	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
+	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
+	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
+	                  -DCMAKE_SKIP_RPATH=YES \
+	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
+	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
+	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
+	                  ../llvm-$(version)/llvm ; \
+	   ninja  llvm-tblgen ; \
+	   ninja clang-tblgen ; \
+	   ninja clang-pseudo-gen ; \
+	   ninja clang-tidy-confusable-chars-gen ; \
+	   ninja  lldb-tblgen ; \
+	   ninja  llvm-config ; \
+	   ninja  mlir-linalg-ods-yaml-gen ; \
+	   ninja  mlir-pdll ; \
+	   ninja  mlir-tblgen ; \
+	 )
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) \
+	     cmake -Wno-dev --trace-expand \
+                   -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
+	 )
+	@( cd $(build_dir) ; \
+	   ninja $(LLVM_JOBS) all ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LLVM_32_PKG)
+	@cd $(build_dir) && $(env_sysroot) ninja install
+	@( cd $(LLVM_32_PKG)/usr/bin ; \
+	   ln -sf clang   $(TARGET32)-clang   ; \
+	   ln -sf clang++ $(TARGET32)-clang++ ; \
+	 )
+	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
+	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
+	 )
+	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
+	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
+	@( cd $(LLVM_32_PKG)/usr/bin ; \
+	   find . -maxdepth 1 -type f | xargs mv -t 32 ; \
+	   find . -maxdepth 1 -type l | xargs mv -t 32 ; \
+	 )
+	# ======= Install $(TARGET32)-llvm-config =======
+	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
+	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen ; \
+	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen  ; \
+	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen  ; \
+	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config  ; \
+	 )
+	@( cd $(LLVM_32_PKG)/usr/bin/32 ; \
+	   for file in clang-tblgen llvm-tblgen lldb-tblgen llvm-config ; do \
+	     ln -sf ../$(TARGET32)-$${file} . ; \
+	   done ; \
+	 )
+	# ======= Save config.h and llvm-config.h =======
+	@for header in config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@for header in Config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/lldb/Host/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@for header in llvm-config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@rm -rf $(LLVM_32_PKG)/usr/include
+	@rm -rf $(LLVM_32_PKG)/usr/libexec
+	@rm -rf $(LLVM_32_PKG)/usr/share
+	# ======= Restore config-32.h and llvm-config-32.h =======
+	@mkdir -p $(LLVM_32_PKG)/usr/include/lldb/Host
+	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
+	@for header in config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
+	 done
+	@for header in Config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/lldb/Host/$$header-32.h ; \
+	 done
+	@for header in llvm-config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
+	 done
+	# ======= Remove bundled python-six =======
+	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
+	# ======= Install Python bindings =======
+	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python2.7/site-packages/clang
+	# ======= Install Python3 bindings =======
+	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
+	   ln -sf ../../../../bin/32/lldb-argdumper ; \
+	 )
+	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	# ======= Remove build-dir from cmake files =======
+	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX)/cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir),,g'                                 llvm/LLVMExports.cmake ; \
+	   sed -i 's,$(TARGET_DEST_DIR),,g'                                     llvm/LLVMExports.cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
+	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LLVM_32_PKG))
+	# ======= Remove $(TARGET32)-llvm-config from target package =======
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-clang-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-lldb-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-config
+	# ======= Chmod shared objects =======
+	@( cd $(LLVM_32_PKG) ; \
+	   find . -type f -name '*.so' | xargs chmod +w 2> /dev/null ; \
+	 )
+	# ======= Strip Binaries =======
+	@( cd $(LLVM_32_PKG); \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
+	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
+	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/16.0.2-ppc32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/16.0.2-ppc32/PATCHES	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-ppc32/PATCHES	(revision 40)
@@ -0,0 +1,20 @@
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-gnu-triple.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-set-revision.patch   -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-ppc64.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-synonyms.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-mips.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-riscv64.patch         -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-set-revision.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-instr-link.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-pass-variables.patch  -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-64bit-atomic.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-ppc64.patch           -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-versioning.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-install-symlink.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-lua-version.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-openmp-perl.patch          -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-polly-hack.patch           -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-pstl-x32.patch             -p0
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-x32-interpreter.patch      -p0
Index: radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-description.in	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-description.in	(revision 40)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
+llvm-x32:
+llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
+llvm-x32: highly optimized compilers, optimizers, and runtime environments.
+llvm-x32:
+llvm-x32: This package also includes the clang frontend for the C family of
+llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
+llvm-x32:
+llvm-x32: Homepage: http://llvm.org
+llvm-x32:
+llvm-x32:
Index: radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-install.sh	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-install.sh	(revision 40)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: radix-1.9/dev/llvm/16.0.2-ppc32/llvm-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/dev/llvm/16.0.2-ppc32
===================================================================
--- radix-1.9/dev/llvm/16.0.2-ppc32	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-ppc32	(revision 40)

Property changes on: radix-1.9/dev/llvm/16.0.2-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: radix-1.9/dev/llvm/16.0.2-x86_32/Makefile
===================================================================
--- radix-1.9/dev/llvm/16.0.2-x86_32/Makefile	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-x86_32/Makefile	(revision 40)
@@ -0,0 +1,542 @@
+
+COMPONENT_TARGETS  = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH      = true
+COMPONENT_IS_3PP   = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES    = sources/packages/d/llvm
+
+REQUIRES           = dev/llvm/16.0.2
+REQUIRES          += libs/libffi/3.4.4-x86_32
+REQUIRES          += libs/elfutils/0.187-x86_32
+REQUIRES          += libs/libxml2/2.9.9-x86_32
+REQUIRES          += libs/libedit/20191231-3.1-x86_32
+REQUIRES          += libs/ncurses/6.3-x86_32
+REQUIRES          += dev/python2/2.7.18-x86_32
+REQUIRES          += dev/python3/3.10.8-x86_32
+REQUIRES          += dev/lua/5.4.2-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version            = 16.0.2
+tar_xz_archive     = $(SRC_PACKAGE_PATH)/packages/d/llvm/llvm-$(version).tar.xz
+SRC_ARCHIVE        = $(tar_xz_archive)
+SRC_DIR            = $(TARGET_BUILD_DIR)/llvm-$(version)
+src_dir_name       = llvm-$(version)
+doc_dir_name       = llvm-$(version)
+src_done           = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir          = $(TARGET_BUILD_DIR)/build
+build_target       = $(TARGET_BUILD_DIR)/.build_done
+install_target     = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = dev
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+LLVM_32_PKG_NAME                = llvm-x32
+LLVM_32_PKG_VERSION             = 16.0.2
+LLVM_32_PKG_ARCH                = $(PKGARCH)
+LLVM_32_PKG_DISTRO_NAME         = $(DISTRO_NAME)
+LLVM_32_PKG_DISTRO_VERSION      = $(DISTRO_VERSION)
+LLVM_32_PKG_GROUP               = $(PKG_GROUP)
+###                              |---handy-ruler-------------------------------|
+LLVM_32_PKG_SHORT_DESCRIPTION   = LLVM compiler toolkit
+LLVM_32_PKG_URL                 = $(BUG_URL)
+LLVM_32_PKG_LICENSE             = custom
+LLVM_32_PKG_DESCRIPTION_FILE    = $(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-pkg-description
+LLVM_32_PKG_DESCRIPTION_FILE_IN = $(LLVM_32_PKG_NAME)-pkg-description.in
+LLVM_32_PKG_INSTALL_SCRIPT      = $(LLVM_32_PKG_NAME)-pkg-install.sh
+
+LLVM_32_PKG      = $(CURDIR)/$(TARGET_BUILD_DIR)/$(LLVM_32_PKG_NAME)-package
+
+pkg_basename     = $(LLVM_32_PKG_NAME)-$(LLVM_32_PKG_VERSION)-$(LLVM_32_PKG_ARCH)-$(LLVM_32_PKG_DISTRO_NAME)-$(LLVM_32_PKG_DISTRO_VERSION)
+
+pkg_archive      = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate  = $(call cert-name,$(pkg_archive))
+pkg_signature    = $(call sign-name,$(pkg_archive))
+pkg_description  = $(call desc-name,$(pkg_archive))
+products         = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS    = $(build_target)
+BUILD_TARGETS   += $(install_target)
+
+PRODUCT_TARGETS  = $(products)
+
+ROOTFS_TARGETS   = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(LLVM_32_PKG)
+
+
+JOBS := $(shell echo 'if( $(NUMPROCS) > 2) { $(NUMPROCS) / 2 } else { 1 }' | bc)
+LLVM_JOBS := -j$(JOBS) -l$(JOBS)
+
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+BUILD_BIN_RPATH  = /lib$(BUILD_MULTILIB_SUFFIX):/usr/lib$(BUILD_MULTILIB_SUFFIX)
+
+
+CFLAGS += -flarge-source-files
+
+CC_NO_WARNINGS   = -Wno-old-style-declaration -Wno-array-bounds -Wno-deprecated-declarations
+CC_NO_WARNINGS  += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CC_NO_WARNINGS  += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CC_NO_WARNINGS  += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CC_NO_WARNINGS  += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CC_NO_WARNINGS  += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CC_NO_WARNINGS  += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CC_NO_WARNINGS  += -Wno-psabi -Wno-stringop-overflow
+
+CXX_NO_WARNINGS  = -Wno-pessimizing-move -Wno-array-bounds -Wno-deprecated-declarations
+CXX_NO_WARNINGS += -Wno-cast-function-type -Wno-format -Wno-format-overflow -Wno-unused-but-set-variable
+CXX_NO_WARNINGS += -Wno-unused-function -Wimplicit-fallthrough=0 -Wno-misleading-indentation
+CXX_NO_WARNINGS += -Wno-strict-aliasing -Wno-empty-body -Wno-pedantic -Wno-sign-conversion
+CXX_NO_WARNINGS += -Wno-unused-parameter -Wno-shadow -Wno-address -Wno-attributes -Wno-format-nonliteral
+CXX_NO_WARNINGS += -Wno-uninitialized -Wno-maybe-uninitialized -Wno-unused-value -Wno-type-limits
+CXX_NO_WARNINGS += -Wno-enum-compare -Wno-sign-compare -Wno-unused-variable -Wno-return-type
+CXX_NO_WARNINGS += -Wno-psabi -Wno-stringop-overflow -Wno-nonnull -Wno-dangling-pointer -Wno-extra
+CXX_NO_WARNINGS += -Wno-alloc-size-larger-than -Wno-missing-attributes -Wno-free-nonheap-object
+CXX_NO_WARNINGS += -Wno-variadic-macros -Wno-format-nonliteral -Wno-parentheses -Wno-sized-deallocation
+CXX_NO_WARNINGS += -Wno-overflow -Wno-builtin-declaration-mismatch -Wno-prio-ctor-dtor -Wno-narrowing
+
+
+configure_switches  = -DBUG_REPORT_URL='https://llvm.org'
+
+configure_switches += -DCMAKE_C_COMPILER='$(CROSS_PREFIX)gcc'
+configure_switches += -DCMAKE_CXX_COMPILER='$(CROSS_PREFIX)g++'
+#
+# CMAKE passes the same {ASM|C}_DEFINES to the C and ASM compilers
+# by the SET(CMAKE_TARGET_DEFINITIONS ..) function.  This is a bad
+# practice for GNU Assembler.  GNU AS  compiler doesn't understand
+# options like -D_GNU_SOURCE .
+#
+configure_switches += -DCMAKE_ASM_COMPILER='$(CROSS_PREFIX)gcc'
+
+configure_switches += -DCMAKE_LINKER='$(CROSS_PREFIX)ld'
+configure_switches += -DGOLD_EXECUTABLE='$(CROSS_PREFIX)ld.gold'
+configure_switches += -DCMAKE_AR='$(CROSS_PREFIX)ar'
+configure_switches += -DCMAKE_NM='$(CROSS_PREFIX)nm'
+configure_switches += -DCMAKE_RANLIB='$(CROSS_PREFIX)ranlib'
+configure_switches += -DCMAKE_OBJCOPY='$(CROSS_PREFIX)objcopy'
+configure_switches += -DCMAKE_OBJDUMP='$(CROSS_PREFIX)objdump'
+configure_switches += -DCMAKE_STRIP='$(CROSS_PREFIX)strip'
+
+configure_switches += -DCMAKE_C_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CC_NO_WARNINGS)'
+configure_switches += -DCMAKE_CXX_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 $(CFLAGS) $(ARCH_FLAGS) $(ARCH_DEFS) $(HW_FLAGS) $(CXX_NO_WARNINGS)'
+
+configure_switches += -DCMAKE_EXE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_BIN_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_MODULE_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+configure_switches += -DCMAKE_SHARED_LINKER_FLAGS='--sysroot=$(TARGET_DEST_DIR) -m32 -Wl,-rpath,$(TARGET_LIB_RPATH) -L$(TARGET_DEST_DIR)/lib$(MULTILIB_X86_32_SUFFIX) -L$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DCMAKE_SKIP_INSTALL_RPATH=NO
+configure_switches += -DCMAKE_SKIP_RPATH=YES
+
+configure_switches += -DLLVM_CCACHE_BUILD=ON
+configure_switches += -DCCACHE_PROGRAM=$(CCACHE)
+configure_switches += -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)'
+configure_switches += -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)'
+
+configure_switches += -DCMAKE_INSTALL_PREFIX=/usr
+configure_switches += -DCMAKE_INSTALL_BINDIR=bin/32
+configure_switches += -DCMAKE_INSTALL_LIBDIR=lib$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DCMAKE_INSTALL_LIBEXECDIR=libexec/32
+configure_switches += -DCMAKE_INSTALL_MANDIR='share/man'
+configure_switches += -DCMAKE_INSTALL_DOCDIR='share/doc/$(doc_dir_name)'
+
+configure_switches += -DCLANG_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DLIBCXXABI_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DLIBCXX_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DLIBUNWIND_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DLLDB_LUA_RELATIVE_PATH=lib$(MULTILIB_X86_32_SUFFIX)/lua/5.4
+
+configure_switches += -DCMAKE_BUILD_TYPE=Release
+configure_switches += -DBUILD_SHARED_LIBS=ON
+configure_switches += -DLLVM_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DLIBCXX_ENABLE_RTTI=ON
+configure_switches += -DLLVM_ENABLE_ZLIB=ON
+configure_switches += -DLLVM_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXXABI_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBCXX_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBOMP_ENABLE_ASSERTIONS=OFF
+
+configure_switches += -DLLVM_INSTALL_UTILS=ON
+
+configure_switches += -DCOMPILER_RT_CAN_EXECUTE_TESTS=OFF
+configure_switches += -DCOMPILER_RT_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXXABI_INCLUDE_TESTS=OFF
+configure_switches += -DLIBCXX_INCLUDE_TESTS=OFF
+configure_switches += -DLLDB_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_GO_TESTS=OFF
+configure_switches += -DCLANG_INCLUDE_TESTS=OFF
+configure_switches += -DLLVM_BUILD_TESTS=OFF
+configure_switches += -DLLVM_INCLUDE_TESTS=OFF
+
+configure_switches += -DLIBCXXABI_ENABLE_PIC=ON
+configure_switches += -DLLVM_ENABLE_PIC=ON
+
+configure_switches += -DLLVM_BINUTILS_INCDIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCLANG_RESOURCE_DIR='../../lib$(MULTILIB_X86_32_SUFFIX)/clang/$(version)'
+configure_switches += -DLLDB_USE_SYSTEM_SIX=1
+
+#
+# libunwind:
+#
+configure_switches += -DLIBUNWIND_ENABLE_ASSERTIONS=OFF
+configure_switches += -DLIBUNWIND_ENABLE_SHARED=ON
+configure_switches += -DLIBUNWIND_ENABLE_STATIC=OFF
+
+
+#
+# Settings:
+#
+__ENABLE_CLANGD__      = yes
+__ENABLE_LLDB_SERVER__ = yes
+
+__ENABLE_LIBUNWIND__   = no
+__ENABLE_OPENMP__      = no
+
+__ENABLE_AMDGPU__      = yes
+__ENABLE_BPF__         = yes
+
+#
+# Evaluation:
+#
+ifeq ($(__ENABLE_CLANGD__),yes)
+clangd = ON
+else
+clangd = OFF
+endif
+ifeq ($(__ENABLE_LLDB_SERVER__),yes)
+lldb-server = ON
+else
+lldb-server = OFF
+endif
+ifeq ($(__ENABLE_OPENMP__),yes)
+openmp = ;openmp
+else
+openmp =
+endif
+ifeq ($(__ENABLE_LIBUNWIND__),yes)
+libunwind = ;libunwind
+else
+libunwind =
+endif
+
+ifeq ($(__ENABLE_AMDGPU__),yes)
+amdgpu = ;AMDGPU
+else
+amdgpu =
+endif
+ifeq ($(__ENABLE_BPF__),yes)
+bpf = ;BPF
+else
+bpf =
+endif
+
+
+configure_switches += -DLLVM_TARGETS_TO_BUILD='host$(amdgpu)$(bpf)'
+
+configure_switches += -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;compiler-rt;lld;lldb;mlir;polly;pstl'
+configure_switches += -DLLVM_ENABLE_RUNTIMES='libcxx;libcxxabi$(openmp)$(libunwind)'
+
+configure_switches += -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=OFF
+
+configure_switches += -DCLANG_ENABLE_CLANGD=$(clangd)
+configure_switches += -DLLDB_TOOL_LLDB_SERVER_BUILD=$(lldb-server)
+
+
+PYTHON_VERSION = 3.10
+
+configure_switches += -DPython3_EXECUTABLE=$(PYTHON3)
+configure_switches += -DPython3_INCLUDE_DIRS=$(TARGET_DEST_DIR)/usr/include/python$(PYTHON_VERSION)
+configure_switches += -DPython3_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpython$(PYTHON_VERSION).so
+
+configure_switches += -DLLDB_ENABLE_PYTHON=On
+configure_switches += -DLLDB_PYTHON_RELATIVE_PATH=lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+configure_switches += -DLLDB_PYTHON_EXE_RELATIVE_PATH=$(PYTHON3)
+configure_switches += -DLLDB_PYTHON_EXT_SUFFIX='.so'
+
+configure_switches += -DPERL_EXECUTABLE=$(PERL)
+configure_switches += -DPKG_CONFIG_EXECUTABLE=/usr/bin/pkg-config
+
+configure_switches += -DZLIB_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DZLIB_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libz.so
+
+configure_switches += -DLIBLZMA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLIBLZMA_LIBRARY_RELEASE=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblzma.so
+
+configure_switches += -Dzstd_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -Dzstd_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libzstd.so
+
+configure_switches += -DLIBXML2_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include/libxml2
+configure_switches += -DLIBXML2_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libxml2.so
+
+configure_switches += -DOPENMP_STANDALONE_BUILD=ON
+configure_switches += -DOPENMP_ENABLE_LIBOMPTARGET=OFF
+configure_switches += -DOPENMP_LIBDIR_SUFFIX='$(MULTILIB_X86_32_SUFFIX)'
+
+configure_switches += -DLLVM_ENABLE_FFI=ON
+configure_switches += -DFFI_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DFFI_LIBRARY_DIR=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)
+configure_switches += -DFFI_LIBRARY_PATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libffi.so
+configure_switches += -DFFI_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libffi.so
+
+configure_switches += -DLLDB_ENABLE_LUA=ON
+configure_switches += -DLUA_INCLUDE_DIR=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DLUA_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/liblua.so
+configure_switches += -DLUA_MATH_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libm.so
+
+configure_switches += -DLLDB_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_LIBEDIT=ON
+configure_switches += -DLLVM_ENABLE_TERMINFO=ON
+
+configure_switches += -DTERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
+configure_switches += -DCOMPILER_RT_TERMINFO_LIB=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
+configure_switches += -DTerminfo_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
+
+configure_switches += -DCURSES_CURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libcursesw.so
+configure_switches += -DCURSES_FORM_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libformw.so
+configure_switches += -DCURSES_INCLUDE_PATH=$(TARGET_DEST_DIR)/usr/include
+configure_switches += -DCURSES_NCURSES_LIBRARY=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
+configure_switches += -DPANEL_LIBRARIES=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libpanelw.so
+
+configure_switches += -Dpkgcfg_lib_NCURSES_ncurses=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libncursesw.so
+configure_switches += -Dpkgcfg_lib_NCURSES_tinfo=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/libtinfo.so
+
+configure_switches += -DLLDB_ENABLE_CURSES=On
+
+configure_switches += -DLLVM_BUILD_DOCS=OFF
+
+configure_switches += -DCMAKE_CROSSCOMPILING=True
+
+configure_switches += -DLLVM_DEFAULT_TARGET_TRIPLE=$(TARGET32)
+configure_switches += -DCOMPILER_RT_DEFAULT_TARGET_TRIPLE=$(TARGET32)
+configure_switches += -DLLVM_HOST_TRIPLE=$(TARGET32)
+
+configure_switches += -DLLVM_BUILD_LLVM_DYLIB=ON
+
+configure_switches += -DLLVM_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-tblgen
+configure_switches += -DLLVM_CONFIG_PATH=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-config
+configure_switches += -DCLANG_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tblgen
+configure_switches += -DCLANG_PSEUDO_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-pseudo-gen
+configure_switches += -DCLANG_TIDY_CONFUSABLE_CHARS_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/clang-tidy-confusable-chars-gen
+configure_switches += -DLLDB_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/lldb-tblgen
+configure_switches += -DMLIR_LINALG_ODS_YAML_GEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-linalg-ods-yaml-gen
+configure_switches += -DMLIR_PDLL_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-pdll
+configure_switches += -DMLIR_TABLEGEN=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/mlir-tblgen
+
+configure_switches += -DOPENMP_LLVM_LIT_EXECUTABLE=$(CURDIR)/$(TARGET_BUILD_DIR)/build-machine/bin/llvm-lit
+
+llvm-config-targets = X86
+
+
+#
+# NOTE:
+# ====
+#
+#   CMAKE_SYSTEM_PROCESSOR cannot be defined by command line option:
+#
+toolchain-file = $(CURDIR)/$(TARGET_BUILD_DIR)/toolchain.cmake
+
+configure_switches += -DCMAKE_TOOLCHAIN_FILE=$(toolchain-file)
+
+cpu_arch = $(word 1,$(subst -, ,$(TARGET32)))
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+	$(UNPACK_SRC_ARCHIVE)
+	$(APPLY_PATCHES)
+	@echo "set(CMAKE_SYSTEM_NAME Linux)"                  > $(toolchain-file)
+	@echo "set(CMAKE_SYSTEM_PROCESSOR $(cpu_arch))"      >> $(toolchain-file)
+	@echo "set(CMAKE_SYSROOT $(TARGET_DEST_DIR))"        >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)" >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)"  >> $(toolchain-file)
+	@echo "set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)"  >> $(toolchain-file)
+	@touch $@
+
+$(build_target): $(src_done)
+	@mkdir -p $(TARGET_BUILD_DIR)/build-machine
+	@( cd $(TARGET_BUILD_DIR)/build-machine ; \
+	   cmake -Wno-dev \
+	         -G Ninja -DLLVM_ENABLE_PROJECTS='clang;lldb;clang-tools-extra;mlir' \
+	                  -DCMAKE_BUILD_TYPE=Release \
+	                  -DLLVM_LIBDIR_SUFFIX=$(MULTILIB_X86_32_SUFFIX) \
+	                  -DLLVM_TARGETS_TO_BUILD='$(llvm-config-targets);$(amdgpu);$(bpf)' \
+	                  -DLLVM_BUILD_LLVM_DYLIB=ON \
+	                  -DLLVM_ENABLE_RTTI=ON \
+	                  -DLLVM_INCLUDE_TESTS=OFF \
+	                  -DLLVM_CCACHE_BUILD=ON \
+	                  -DCCACHE_PROGRAM=$(CCACHE) \
+	                  -DLLVM_CCACHE_DIR='$(CACHED_CC_OUTPUT)' \
+	                  -DLLVM_CCACHE_PARAMS='CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_BASEDIR=$(CCACHE_BASEDIR)' \
+	                  -DCMAKE_SKIP_INSTALL_RPATH=YES \
+	                  -DCMAKE_SKIP_RPATH=YES \
+	                  -DCMAKE_EXE_LINKER_FLAGS='-Wl,-rpath,$(BUILD_BIN_RPATH) -L/lib$(BUILD_MULTILIB_SUFFIX) -L/usr/lib$(BUILD_MULTILIB_SUFFIX)' \
+	                  -DCMAKE_C_FLAGS='-I/usr/include -flarge-source-files $(CC_NO_WARNINGS)' \
+	                  -DCMAKE_CXX_FLAGS='-I/usr/include -flarge-source-files $(CXX_NO_WARNINGS)' \
+	                  ../llvm-$(version)/llvm ; \
+	   ninja  llvm-tblgen ; \
+	   ninja clang-tblgen ; \
+	   ninja clang-pseudo-gen ; \
+	   ninja clang-tidy-confusable-chars-gen ; \
+	   ninja  lldb-tblgen ; \
+	   ninja  llvm-config ; \
+	   ninja  mlir-linalg-ods-yaml-gen ; \
+	   ninja  mlir-pdll ; \
+	   ninja  mlir-tblgen ; \
+	 )
+	@mkdir -p $(build_dir)
+	@( cd $(build_dir) ; \
+	   $(BUILD_ENVIRONMENT) \
+	     cmake -Wno-dev --trace-expand \
+	           -G Ninja $(configure_switches) ../llvm-$(version)/llvm 2> CMakeTrace.txt ; \
+	 )
+	@( cd $(build_dir) ; \
+	   ninja $(LLVM_JOBS) all ; \
+	 )
+	@touch $@
+
+$(install_target): $(build_target)
+	@mkdir -p $(LLVM_32_PKG)
+	@cd $(build_dir) && $(env_sysroot) ninja install
+	@( cd $(LLVM_32_PKG)/usr/bin ; \
+	   ln -sf clang   $(TARGET32)-clang   ; \
+	   ln -sf clang++ $(TARGET32)-clang++ ; \
+	 )
+	@( cd $(TARGET_BUILD_DIR)/build/bin ; \
+	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin ; \
+	 )
+	# ======= Move 32-Bit binaries into /usr/bin/32 directory =======
+	@mkdir -p $(LLVM_32_PKG)/usr/bin/32
+	@( cd $(LLVM_32_PKG)/usr/bin ; \
+	   find . -maxdepth 1 -type f | xargs mv -t 32 ; \
+	   find . -maxdepth 1 -type l | xargs mv -t 32 ; \
+	 )
+	# ======= Install $(TARGET32)-llvm-config =======
+	@( cd $(TARGET_BUILD_DIR)/build-machine/bin ; \
+	   cp -a clang-tblgen $(LLVM_32_PKG)/usr/bin/$(TARGET32)-clang-tblgen ; \
+	   cp -a llvm-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-tblgen  ; \
+	   cp -a lldb-tblgen  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-lldb-tblgen  ; \
+	   cp -a llvm-config  $(LLVM_32_PKG)/usr/bin/$(TARGET32)-llvm-config  ; \
+	 )
+	@( cd $(LLVM_32_PKG)/usr/bin/32 ; \
+	   for file in clang-tblgen llvm-tblgen lldb-tblgen llvm-config ; do \
+	     ln -sf ../$(TARGET32)-$${file} . ; \
+	   done ; \
+	 )
+	# ======= Save config.h and llvm-config.h =======
+	@for header in config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/clang/Config/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@for header in Config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/lldb/Host/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@for header in llvm-config ; do \
+	   cp -a $(LLVM_32_PKG)/usr/include/llvm/Config/$$header.h $(TARGET_BUILD_DIR) ; \
+	 done
+	@rm -rf $(LLVM_32_PKG)/usr/include
+	@rm -rf $(LLVM_32_PKG)/usr/libexec
+	@rm -rf $(LLVM_32_PKG)/usr/share
+	# ======= Restore config-32.h and llvm-config-32.h =======
+	@mkdir -p $(LLVM_32_PKG)/usr/include/lldb/Host
+	@mkdir -p $(LLVM_32_PKG)/usr/include/{clang,llvm}/Config
+	@for header in config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/clang/Config/$$header-32.h ; \
+	 done
+	@for header in Config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/lldb/Host/$$header-32.h ; \
+	 done
+	@for header in llvm-config ; do \
+	   cp -a $(TARGET_BUILD_DIR)/$$header.h $(LLVM_32_PKG)/usr/include/llvm/Config/$$header-32.h ; \
+	 done
+	# ======= Remove bundled python-six =======
+	@rm -f $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/six.py
+	# ======= Install Python bindings =======
+	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7 $(PYTHON2) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python2.7/site-packages/clang
+	# ======= Install Python3 bindings =======
+	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb ; \
+	   ln -sf ../../../../bin/32/lldb-argdumper ; \
+	 )
+	@mkdir -p $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@cp -a $(SRC_DIR)/clang/bindings/python/clang $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/clang
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3)    -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	@PYTHONPATH=$(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION) $(PYTHON3) -O -m compileall $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/python$(PYTHON_VERSION)/site-packages/lldb
+	# ======= Remove build-dir from cmake files =======
+	@( cd $(LLVM_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX)/cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir),/usr,g'                            polly/PollyConfig.cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir),,g'                                 llvm/LLVMExports.cmake ; \
+	   sed -i 's,$(TARGET_DEST_DIR),,g'                                     llvm/LLVMExports.cmake ; \
+	   sed -i 's,$(CURDIR)/$(build_dir)/tools/mlir/include,/usr/include,g'  mlir/MLIRConfig.cmake  ; \
+	   sed -i 's,$(CURDIR)/$(TARGET_BUILD_DIR),/usr/src,g'                  mlir/MLIRConfig.cmake  ; \
+	 )
+	# ======= Install the same to $(TARGET_DEST_DIR) =======
+	$(call install-into-devenv, $(LLVM_32_PKG))
+	# ======= Remove $(TARGET32)-llvm-config from target package =======
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-clang-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-lldb-tblgen
+	@rm -f $(LLVM_32_PKG)/usr/bin{,/32}/$(TARGET32)-llvm-config
+	# ======= Chmod shared objects =======
+	@( cd $(LLVM_32_PKG) ; \
+	   find . -type f -name '*.so' | xargs chmod +w 2> /dev/null ; \
+	 )
+	# ======= Strip Binaries =======
+	@( cd $(LLVM_32_PKG); \
+	   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+	 )
+	@touch $@
+
+$(LLVM_32_PKG_DESCRIPTION_FILE): $(LLVM_32_PKG_DESCRIPTION_FILE_IN)
+	@cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature)   : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG_INSTALL_SCRIPT)
+	@cp $(LLVM_32_PKG_DESCRIPTION_FILE) $(LLVM_32_PKG)/.DESCRIPTION
+	@cp $(LLVM_32_PKG_INSTALL_SCRIPT) $(LLVM_32_PKG)/.INSTALL
+	@$(BUILD_PKG_REQUIRES) $(LLVM_32_PKG)/.REQUIRES
+	@echo "pkgname=$(LLVM_32_PKG_NAME)"                            >  $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "pkgver=$(LLVM_32_PKG_VERSION)"                          >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "arch=$(LLVM_32_PKG_ARCH)"                               >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "distroname=$(LLVM_32_PKG_DISTRO_NAME)"                  >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "distrover=$(LLVM_32_PKG_DISTRO_VERSION)"                >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "group=$(LLVM_32_PKG_GROUP)"                             >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "short_description=\"$(LLVM_32_PKG_SHORT_DESCRIPTION)\"" >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "url=$(LLVM_32_PKG_URL)"                                 >> $(LLVM_32_PKG)/.PKGINFO ; \
+	 echo "license=$(LLVM_32_PKG_LICENSE)"                         >> $(LLVM_32_PKG)/.PKGINFO
+	@$(PSEUDO) sh -c "cd $(LLVM_32_PKG) && \
+	                  chown -R root:root . && \
+	                  $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: radix-1.9/dev/llvm/16.0.2-x86_32/PATCHES
===================================================================
--- radix-1.9/dev/llvm/16.0.2-x86_32/PATCHES	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-x86_32/PATCHES	(revision 40)
@@ -0,0 +1,20 @@
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-gnu-triple.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-clang-set-revision.patch   -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-ppc64.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-synonyms.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-compiler-rt-mips.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-riscv64.patch         -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-set-revision.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-instr-link.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-pass-variables.patch  -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-64bit-atomic.patch    -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-ppc64.patch           -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-versioning.patch      -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-llvm-install-symlink.patch -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-lldb-lua-version.patch     -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-openmp-perl.patch          -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-polly-hack.patch           -p0
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-pstl-x32.patch             -p0
+
+../../../sources/packages/d/llvm/patches/llvm-16.0.2-x32-interpreter.patch      -p0
Index: radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-description.in
===================================================================
--- radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-description.in	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-description.in	(revision 40)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.  Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in.  You must
+# make exactly 11 lines for the formatting to be correct.  It's also
+# customary to leave one space after the ':'.
+
+        |-----handy-ruler------------------------------------------------------|
+llvm-x32: llvm-x32 @VERSION@ (LLVM compiler toolkit)
+llvm-x32:
+llvm-x32: Low Level Virtual Machine is a toolkit for the construction of
+llvm-x32: highly optimized compilers, optimizers, and runtime environments.
+llvm-x32:
+llvm-x32: This package also includes the clang frontend for the C family of
+llvm-x32: languages:  C, C++, Objective-C, and Objective-C++
+llvm-x32:
+llvm-x32: Homepage: http://llvm.org
+llvm-x32:
+llvm-x32:
Index: radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-install.sh
===================================================================
--- radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-install.sh	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-install.sh	(revision 40)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1:  the new package version
+pre_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+post_install() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+pre_update() {
+  /bin/true
+}
+
+# arg 1:  the new package version
+# arg 2:  the old package version
+post_update() {
+  post_install
+}
+
+# arg 1:  the old package version
+pre_remove() {
+  /bin/true
+}
+
+# arg 1:  the old package version
+post_remove() {
+  /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*

Property changes on: radix-1.9/dev/llvm/16.0.2-x86_32/llvm-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/dev/llvm/16.0.2-x86_32
===================================================================
--- radix-1.9/dev/llvm/16.0.2-x86_32	(nonexistent)
+++ radix-1.9/dev/llvm/16.0.2-x86_32	(revision 40)

Property changes on: radix-1.9/dev/llvm/16.0.2-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,73 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: radix-1.9/products/base/Makefile
===================================================================
--- radix-1.9/products/base/Makefile	(revision 39)
+++ radix-1.9/products/base/Makefile	(revision 40)
@@ -1302,12 +1302,12 @@
 #######
 REQUIRES += dev/gdb/13.1
 
-REQUIRES += dev/llvm/15.0.4
+REQUIRES += dev/llvm/16.0.2
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-REQUIRES += dev/llvm/15.0.4-ppc32
+REQUIRES += dev/llvm/16.0.2-ppc32
 endif
 ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-REQUIRES += dev/llvm/15.0.4-x86_32
+REQUIRES += dev/llvm/16.0.2-x86_32
 endif
 
 REQUIRES += libs/shared-mime-info/2.2
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/llvm/cmake/modules/CheckAtomic.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules/CheckAtomic.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules/CheckAtomic.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules/CheckAtomic.cmake	(nonexistent)
@@ -1,115 +0,0 @@
-# atomic builtins are required for threading support.
-
-INCLUDE(CheckCXXSourceCompiles)
-INCLUDE(CheckLibraryExists)
-
-# Sometimes linking against libatomic is required for atomic ops, if
-# the platform doesn't support lock-free atomics.
-
-function(check_working_cxx_atomics varname)
-  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
-  CHECK_CXX_SOURCE_COMPILES("
-#include <atomic>
-std::atomic<int> x;
-std::atomic<short> y;
-std::atomic<char> z;
-int main() {
-  ++z;
-  ++y;
-  return ++x;
-}
-" ${varname})
-  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-endfunction(check_working_cxx_atomics)
-
-function(check_working_cxx_atomics64 varname)
-  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-  set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
-  CHECK_CXX_SOURCE_COMPILES("
-#include <atomic>
-#include <cstdint>
-std::atomic<uint64_t> x (0);
-std::atomic<double> y (0);
-int main() {
-  uint64_t i = x.load(std::memory_order_relaxed);
-  double j = y.load(std::memory_order_relaxed);
-  (void)i;
-  (void)j;
-  return 0;
-}
-" ${varname})
-  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-endfunction(check_working_cxx_atomics64)
-
-
-# Check for (non-64-bit) atomic operations.
-if(MSVC)
-  set(HAVE_CXX_ATOMICS_WITHOUT_LIB True)
-elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE OR CMAKE_CXX_COMPILER_ID MATCHES "XL")
-  # First check if atomics work without the library.
-  check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
-  # If not, check if the library exists, and atomics work with it.
-  if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
-    check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
-    if(HAVE_LIBATOMIC)
-      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-      check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
-      if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
-        message(FATAL_ERROR "Host compiler must support std::atomic!")
-      endif()
-    else()
-      message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
-    endif()
-  endif()
-endif()
-
-# Check for 64 bit atomic operations.
-if(MSVC)
-  set(HAVE_CXX_ATOMICS64_WITHOUT_LIB True)
-elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE OR CMAKE_CXX_COMPILER_ID MATCHES "XL")
-  # First check if atomics work without the library.
-  check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
-  # If not, check if the library exists, and atomics work with it.
-  if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
-    check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64)
-    if(HAVE_CXX_LIBATOMICS64)
-      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-      check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
-      if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
-        message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!")
-      endif()
-    else()
-      message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, but cannot find it.")
-    endif()
-  endif()
-endif()
-
-## TODO: This define is only used for the legacy atomic operations in
-## llvm's Atomic.h, which should be replaced.  Other code simply
-## assumes C++11 <atomic> works.
-CHECK_CXX_SOURCE_COMPILES("
-#ifdef _MSC_VER
-#include <windows.h>
-#endif
-int main() {
-#ifdef _MSC_VER
-        volatile LONG val = 1;
-        MemoryBarrier();
-        InterlockedCompareExchange(&val, 0, 1);
-        InterlockedIncrement(&val);
-        InterlockedDecrement(&val);
-#else
-        volatile unsigned long val = 1;
-        __sync_synchronize();
-        __sync_val_compare_and_swap(&val, 1, 0);
-        __sync_add_and_fetch(&val, 1);
-        __sync_sub_and_fetch(&val, 1);
-#endif
-        return 0;
-      }
-" LLVM_HAS_ATOMICS)
-
-if( NOT LLVM_HAS_ATOMICS )
-  message(STATUS "Warning: LLVM will be built thread-unsafe because atomic builtins are missing")
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake/modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-64bit-atomic.patch
-
-mv llvm-$VERSION-llvm-64bit-atomic.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-64bit-atomic-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/clang/lib/Driver/ToolChains/Gnu.cpp
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains/Gnu.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains/Gnu.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains/Gnu.cpp	(nonexistent)
@@ -1,3227 +0,0 @@
-//===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "Gnu.h"
-#include "Arch/ARM.h"
-#include "Arch/CSKY.h"
-#include "Arch/Mips.h"
-#include "Arch/PPC.h"
-#include "Arch/RISCV.h"
-#include "Arch/Sparc.h"
-#include "Arch/SystemZ.h"
-#include "CommonArgs.h"
-#include "Linux.h"
-#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
-#include "clang/Driver/Compilation.h"
-#include "clang/Driver/Driver.h"
-#include "clang/Driver/DriverDiagnostic.h"
-#include "clang/Driver/Options.h"
-#include "clang/Driver/Tool.h"
-#include "clang/Driver/ToolChain.h"
-#include "llvm/Option/ArgList.h"
-#include "llvm/Support/CodeGen.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/TargetParser.h"
-#include "llvm/Support/VirtualFileSystem.h"
-#include <system_error>
-
-using namespace clang::driver;
-using namespace clang::driver::toolchains;
-using namespace clang;
-using namespace llvm::opt;
-
-using tools::addMultilibFlag;
-using tools::addPathIfExists;
-
-static bool forwardToGCC(const Option &O) {
-  // LinkerInput options have been forwarded. Don't duplicate.
-  if (O.hasFlag(options::LinkerInput))
-    return false;
-  return O.matches(options::OPT_Link_Group) || O.hasFlag(options::LinkOption);
-}
-
-// Switch CPU names not recognized by GNU assembler to a close CPU that it does
-// recognize, instead of a lower march from being picked in the absence of a cpu
-// flag.
-static void normalizeCPUNamesForAssembler(const ArgList &Args,
-                                          ArgStringList &CmdArgs) {
-  if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) {
-    StringRef CPUArg(A->getValue());
-    if (CPUArg.equals_insensitive("krait"))
-      CmdArgs.push_back("-mcpu=cortex-a15");
-    else if (CPUArg.equals_insensitive("kryo"))
-      CmdArgs.push_back("-mcpu=cortex-a57");
-    else
-      Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
-  }
-}
-
-void tools::gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
-                                      const InputInfo &Output,
-                                      const InputInfoList &Inputs,
-                                      const ArgList &Args,
-                                      const char *LinkingOutput) const {
-  const Driver &D = getToolChain().getDriver();
-  ArgStringList CmdArgs;
-
-  for (const auto &A : Args) {
-    if (forwardToGCC(A->getOption())) {
-      // It is unfortunate that we have to claim here, as this means
-      // we will basically never report anything interesting for
-      // platforms using a generic gcc, even if we are just using gcc
-      // to get to the assembler.
-      A->claim();
-
-      A->render(Args, CmdArgs);
-    }
-  }
-
-  RenderExtraToolArgs(JA, CmdArgs);
-
-  // If using a driver driver, force the arch.
-  if (getToolChain().getTriple().isOSDarwin()) {
-    CmdArgs.push_back("-arch");
-    CmdArgs.push_back(
-        Args.MakeArgString(getToolChain().getDefaultUniversalArchName()));
-  }
-
-  // Try to force gcc to match the tool chain we want, if we recognize
-  // the arch.
-  //
-  // FIXME: The triple class should directly provide the information we want
-  // here.
-  switch (getToolChain().getArch()) {
-  default:
-    break;
-  case llvm::Triple::x86:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-    CmdArgs.push_back("-m32");
-    break;
-  case llvm::Triple::x86_64:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-    CmdArgs.push_back("-m64");
-    break;
-  case llvm::Triple::sparcel:
-    CmdArgs.push_back("-EL");
-    break;
-  }
-
-  if (Output.isFilename()) {
-    CmdArgs.push_back("-o");
-    CmdArgs.push_back(Output.getFilename());
-  } else {
-    assert(Output.isNothing() && "Unexpected output");
-    CmdArgs.push_back("-fsyntax-only");
-  }
-
-  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
-
-  // Only pass -x if gcc will understand it; otherwise hope gcc
-  // understands the suffix correctly. The main use case this would go
-  // wrong in is for linker inputs if they happened to have an odd
-  // suffix; really the only way to get this to happen is a command
-  // like '-x foobar a.c' which will treat a.c like a linker input.
-  //
-  // FIXME: For the linker case specifically, can we safely convert
-  // inputs into '-Wl,' options?
-  for (const auto &II : Inputs) {
-    // Don't try to pass LLVM or AST inputs to a generic gcc.
-    if (types::isLLVMIR(II.getType()))
-      D.Diag(clang::diag::err_drv_no_linker_llvm_support)
-          << getToolChain().getTripleString();
-    else if (II.getType() == types::TY_AST)
-      D.Diag(diag::err_drv_no_ast_support) << getToolChain().getTripleString();
-    else if (II.getType() == types::TY_ModuleFile)
-      D.Diag(diag::err_drv_no_module_support)
-          << getToolChain().getTripleString();
-
-    if (types::canTypeBeUserSpecified(II.getType())) {
-      CmdArgs.push_back("-x");
-      CmdArgs.push_back(types::getTypeName(II.getType()));
-    }
-
-    if (II.isFilename())
-      CmdArgs.push_back(II.getFilename());
-    else {
-      const Arg &A = II.getInputArg();
-
-      // Reverse translate some rewritten options.
-      if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) {
-        CmdArgs.push_back("-lstdc++");
-        continue;
-      }
-
-      // Don't render as input, we need gcc to do the translations.
-      A.render(Args, CmdArgs);
-    }
-  }
-
-  const std::string &customGCCName = D.getCCCGenericGCCName();
-  const char *GCCName;
-  if (!customGCCName.empty())
-    GCCName = customGCCName.c_str();
-  else if (D.CCCIsCXX()) {
-    GCCName = "g++";
-  } else
-    GCCName = "gcc";
-
-  const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath(GCCName));
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gcc::Preprocessor::RenderExtraToolArgs(
-    const JobAction &JA, ArgStringList &CmdArgs) const {
-  CmdArgs.push_back("-E");
-}
-
-void tools::gcc::Compiler::RenderExtraToolArgs(const JobAction &JA,
-                                               ArgStringList &CmdArgs) const {
-  const Driver &D = getToolChain().getDriver();
-
-  switch (JA.getType()) {
-  // If -flto, etc. are present then make sure not to force assembly output.
-  case types::TY_LLVM_IR:
-  case types::TY_LTO_IR:
-  case types::TY_LLVM_BC:
-  case types::TY_LTO_BC:
-    CmdArgs.push_back("-c");
-    break;
-  // We assume we've got an "integrated" assembler in that gcc will produce an
-  // object file itself.
-  case types::TY_Object:
-    CmdArgs.push_back("-c");
-    break;
-  case types::TY_PP_Asm:
-    CmdArgs.push_back("-S");
-    break;
-  case types::TY_Nothing:
-    CmdArgs.push_back("-fsyntax-only");
-    break;
-  default:
-    D.Diag(diag::err_drv_invalid_gcc_output_type) << getTypeName(JA.getType());
-  }
-}
-
-void tools::gcc::Linker::RenderExtraToolArgs(const JobAction &JA,
-                                             ArgStringList &CmdArgs) const {
-  // The types are (hopefully) good enough.
-}
-
-// On Arm the endianness of the output file is determined by the target and
-// can be overridden by the pseudo-target flags '-mlittle-endian'/'-EL' and
-// '-mbig-endian'/'-EB'. Unlike other targets the flag does not result in a
-// normalized triple so we must handle the flag here.
-static bool isArmBigEndian(const llvm::Triple &Triple,
-                           const ArgList &Args) {
-  bool IsBigEndian = false;
-  switch (Triple.getArch()) {
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    IsBigEndian = true;
-    LLVM_FALLTHROUGH;
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-    if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
-                               options::OPT_mbig_endian))
-      IsBigEndian = !A->getOption().matches(options::OPT_mlittle_endian);
-    break;
-  default:
-    break;
-  }
-  return IsBigEndian;
-}
-
-static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
-  switch (T.getArch()) {
-  case llvm::Triple::x86:
-    if (T.isOSIAMCU())
-      return "elf_iamcu";
-    return "elf_i386";
-  case llvm::Triple::aarch64:
-    return "aarch64linux";
-  case llvm::Triple::aarch64_be:
-    return "aarch64linuxb";
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    return isArmBigEndian(T, Args) ? "armelfb_linux_eabi" : "armelf_linux_eabi";
-  case llvm::Triple::m68k:
-    return "m68kelf";
-  case llvm::Triple::ppc:
-    if (T.isOSLinux())
-      return "elf32ppclinux";
-    return "elf32ppc";
-  case llvm::Triple::ppcle:
-    if (T.isOSLinux())
-      return "elf32lppclinux";
-    return "elf32lppc";
-  case llvm::Triple::ppc64:
-    return "elf64ppc";
-  case llvm::Triple::ppc64le:
-    return "elf64lppc";
-  case llvm::Triple::riscv32:
-    return "elf32lriscv";
-  case llvm::Triple::riscv64:
-    return "elf64lriscv";
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-    return "elf32_sparc";
-  case llvm::Triple::sparcv9:
-    return "elf64_sparc";
-  case llvm::Triple::mips:
-    return "elf32btsmip";
-  case llvm::Triple::mipsel:
-    return "elf32ltsmip";
-  case llvm::Triple::mips64:
-    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
-        T.getEnvironment() == llvm::Triple::GNUABIN32)
-      return "elf32btsmipn32";
-    return "elf64btsmip";
-  case llvm::Triple::mips64el:
-    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
-        T.getEnvironment() == llvm::Triple::GNUABIN32)
-      return "elf32ltsmipn32";
-    return "elf64ltsmip";
-  case llvm::Triple::systemz:
-    return "elf64_s390";
-  case llvm::Triple::x86_64:
-    if (T.isX32())
-      return "elf32_x86_64";
-    return "elf_x86_64";
-  case llvm::Triple::ve:
-    return "elf64ve";
-  case llvm::Triple::csky:
-    return "cskyelf_linux";
-  default:
-    return nullptr;
-  }
-}
-
-static bool getPIE(const ArgList &Args, const ToolChain &TC) {
-  if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
-      Args.hasArg(options::OPT_r) || Args.hasArg(options::OPT_static_pie))
-    return false;
-
-  Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
-                           options::OPT_nopie);
-  if (!A)
-    return TC.isPIEDefault(Args);
-  return A->getOption().matches(options::OPT_pie);
-}
-
-static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
-  bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
-  // -no-pie is an alias for -nopie. So, handling -nopie takes care of
-  // -no-pie as well.
-  if (HasStaticPIE && Args.hasArg(options::OPT_nopie)) {
-    const Driver &D = TC.getDriver();
-    const llvm::opt::OptTable &Opts = D.getOpts();
-    const char *StaticPIEName = Opts.getOptionName(options::OPT_static_pie);
-    const char *NoPIEName = Opts.getOptionName(options::OPT_nopie);
-    D.Diag(diag::err_drv_cannot_mix_options) << StaticPIEName << NoPIEName;
-  }
-  return HasStaticPIE;
-}
-
-static bool getStatic(const ArgList &Args) {
-  return Args.hasArg(options::OPT_static) &&
-      !Args.hasArg(options::OPT_static_pie);
-}
-
-void tools::gnutools::StaticLibTool::ConstructJob(
-    Compilation &C, const JobAction &JA, const InputInfo &Output,
-    const InputInfoList &Inputs, const ArgList &Args,
-    const char *LinkingOutput) const {
-  const Driver &D = getToolChain().getDriver();
-
-  // Silence warning for "clang -g foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_g_Group);
-  // and "clang -emit-llvm foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_emit_llvm);
-  // and for "clang -w foo.o -o foo". Other warning options are already
-  // handled somewhere else.
-  Args.ClaimAllArgs(options::OPT_w);
-  // Silence warnings when linking C code with a C++ '-stdlib' argument.
-  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
-
-  // ar tool command "llvm-ar <options> <output_file> <input_files>".
-  ArgStringList CmdArgs;
-  // Create and insert file members with a deterministic index.
-  CmdArgs.push_back("rcsD");
-  CmdArgs.push_back(Output.getFilename());
-
-  for (const auto &II : Inputs) {
-    if (II.isFilename()) {
-       CmdArgs.push_back(II.getFilename());
-    }
-  }
-
-  // Delete old output archive file if it already exists before generating a new
-  // archive file.
-  auto OutputFileName = Output.getFilename();
-  if (Output.isFilename() && llvm::sys::fs::exists(OutputFileName)) {
-    if (std::error_code EC = llvm::sys::fs::remove(OutputFileName)) {
-      D.Diag(diag::err_drv_unable_to_remove_file) << EC.message();
-      return;
-    }
-  }
-
-  const char *Exec = Args.MakeArgString(getToolChain().GetStaticLibToolPath());
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-                                           const InputInfo &Output,
-                                           const InputInfoList &Inputs,
-                                           const ArgList &Args,
-                                           const char *LinkingOutput) const {
-  // FIXME: The Linker class constructor takes a ToolChain and not a
-  // Generic_ELF, so the static_cast might return a reference to a invalid
-  // instance (see PR45061). Ideally, the Linker constructor needs to take a
-  // Generic_ELF instead.
-  const toolchains::Generic_ELF &ToolChain =
-      static_cast<const toolchains::Generic_ELF &>(getToolChain());
-  const Driver &D = ToolChain.getDriver();
-
-  const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
-
-  const llvm::Triple::ArchType Arch = ToolChain.getArch();
-  const bool isAndroid = ToolChain.getTriple().isAndroid();
-  const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
-  const bool IsVE = ToolChain.getTriple().isVE();
-  const bool IsPIE = getPIE(Args, ToolChain);
-  const bool IsStaticPIE = getStaticPIE(Args, ToolChain);
-  const bool IsStatic = getStatic(Args);
-  const bool HasCRTBeginEndFiles =
-      ToolChain.getTriple().hasEnvironment() ||
-      (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
-
-  ArgStringList CmdArgs;
-
-  // Silence warning for "clang -g foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_g_Group);
-  // and "clang -emit-llvm foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_emit_llvm);
-  // and for "clang -w foo.o -o foo". Other warning options are already
-  // handled somewhere else.
-  Args.ClaimAllArgs(options::OPT_w);
-
-  if (!D.SysRoot.empty())
-    CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
-
-  if (IsPIE)
-    CmdArgs.push_back("-pie");
-
-  if (IsStaticPIE) {
-    CmdArgs.push_back("-static");
-    CmdArgs.push_back("-pie");
-    CmdArgs.push_back("--no-dynamic-linker");
-    CmdArgs.push_back("-z");
-    CmdArgs.push_back("text");
-  }
-
-  if (Args.hasArg(options::OPT_rdynamic))
-    CmdArgs.push_back("-export-dynamic");
-
-  if (Args.hasArg(options::OPT_s))
-    CmdArgs.push_back("-s");
-
-  if (Triple.isARM() || Triple.isThumb() || Triple.isAArch64()) {
-    bool IsBigEndian = isArmBigEndian(Triple, Args);
-    if (IsBigEndian)
-      arm::appendBE8LinkFlag(Args, CmdArgs, Triple);
-    IsBigEndian = IsBigEndian || Arch == llvm::Triple::aarch64_be;
-    CmdArgs.push_back(IsBigEndian ? "-EB" : "-EL");
-  }
-
-  // Most Android ARM64 targets should enable the linker fix for erratum
-  // 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
-  if (Arch == llvm::Triple::aarch64 && isAndroid) {
-    std::string CPU = getCPUName(D, Args, Triple);
-    if (CPU.empty() || CPU == "generic" || CPU == "cortex-a53")
-      CmdArgs.push_back("--fix-cortex-a53-843419");
-  }
-
-  ToolChain.addExtraOpts(CmdArgs);
-
-  CmdArgs.push_back("--eh-frame-hdr");
-
-  if (const char *LDMOption = getLDMOption(ToolChain.getTriple(), Args)) {
-    CmdArgs.push_back("-m");
-    CmdArgs.push_back(LDMOption);
-  } else {
-    D.Diag(diag::err_target_unknown_triple) << Triple.str();
-    return;
-  }
-  if (Triple.isRISCV())
-    CmdArgs.push_back("-X");
-
-  if (Args.hasArg(options::OPT_shared))
-    CmdArgs.push_back("-shared");
-
-  if (IsStatic) {
-    CmdArgs.push_back("-static");
-  } else {
-    if (Args.hasArg(options::OPT_rdynamic))
-      CmdArgs.push_back("-export-dynamic");
-
-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE &&
-        !Args.hasArg(options::OPT_r)) {
-      CmdArgs.push_back("-dynamic-linker");
-      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
-                                           ToolChain.getDynamicLinker(Args)));
-    }
-  }
-
-  CmdArgs.push_back("-o");
-  CmdArgs.push_back(Output.getFilename());
-
-  if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
-                   options::OPT_r)) {
-    if (!isAndroid && !IsIAMCU) {
-      const char *crt1 = nullptr;
-      if (!Args.hasArg(options::OPT_shared)) {
-        if (Args.hasArg(options::OPT_pg))
-          crt1 = "gcrt1.o";
-        else if (IsPIE)
-          crt1 = "Scrt1.o";
-        else if (IsStaticPIE)
-          crt1 = "rcrt1.o";
-        else
-          crt1 = "crt1.o";
-      }
-      if (crt1)
-        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
-
-      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
-    }
-
-    if (IsVE) {
-      CmdArgs.push_back("-z");
-      CmdArgs.push_back("max-page-size=0x4000000");
-    }
-
-    if (IsIAMCU)
-      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
-    else if (HasCRTBeginEndFiles) {
-      std::string P;
-      if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
-          !isAndroid) {
-        std::string crtbegin = ToolChain.getCompilerRT(Args, "crtbegin",
-                                                       ToolChain::FT_Object);
-        if (ToolChain.getVFS().exists(crtbegin))
-          P = crtbegin;
-      }
-      if (P.empty()) {
-        const char *crtbegin;
-        if (Args.hasArg(options::OPT_shared))
-          crtbegin = isAndroid ? "crtbegin_so.o" : "crtbeginS.o";
-        else if (IsStatic)
-          crtbegin = isAndroid ? "crtbegin_static.o" : "crtbeginT.o";
-        else if (IsPIE || IsStaticPIE)
-          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o";
-        else
-          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o";
-        P = ToolChain.GetFilePath(crtbegin);
-      }
-      CmdArgs.push_back(Args.MakeArgString(P));
-    }
-
-    // Add crtfastmath.o if available and fast math is enabled.
-    ToolChain.addFastMathRuntimeIfAvailable(Args, CmdArgs);
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_L);
-  Args.AddAllArgs(CmdArgs, options::OPT_u);
-
-  ToolChain.AddFilePathLibArgs(Args, CmdArgs);
-
-  if (D.isUsingLTO()) {
-    assert(!Inputs.empty() && "Must have at least one input.");
-    addLTOOptions(ToolChain, Args, CmdArgs, Output, Inputs[0],
-                  D.getLTOMode() == LTOK_Thin);
-  }
-
-  if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle))
-    CmdArgs.push_back("--no-demangle");
-
-  bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
-  bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
-  addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
-  AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
-
-  addHIPRuntimeLibArgs(ToolChain, Args, CmdArgs);
-
-  // The profile runtime also needs access to system libraries.
-  getToolChain().addProfileRTLibs(Args, CmdArgs);
-
-  if (D.CCCIsCXX() &&
-      !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
-                   options::OPT_r)) {
-    if (ToolChain.ShouldLinkCXXStdlib(Args)) {
-      bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx) &&
-                                 !Args.hasArg(options::OPT_static);
-      if (OnlyLibstdcxxStatic)
-        CmdArgs.push_back("-Bstatic");
-      ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
-      if (OnlyLibstdcxxStatic)
-        CmdArgs.push_back("-Bdynamic");
-    }
-    CmdArgs.push_back("-lm");
-  }
-
-  // If we are linking for the device all symbols should be bound locally. The
-  // symbols are already protected which makes this redundant. This is only
-  // necessary to work around a problem in bfd.
-  // TODO: Remove this once 'lld' becomes the only linker for offloading.
-  if (JA.isDeviceOffloading(Action::OFK_OpenMP))
-    CmdArgs.push_back("-Bsymbolic");
-
-  // Silence warnings when linking C code with a C++ '-stdlib' argument.
-  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
-
-  // Additional linker set-up and flags for Fortran. This is required in order
-  // to generate executables. As Fortran runtime depends on the C runtime,
-  // these dependencies need to be listed before the C runtime below (i.e.
-  // AddRuntTimeLibs).
-  if (D.IsFlangMode()) {
-    addFortranRuntimeLibraryPath(ToolChain, Args, CmdArgs);
-    addFortranRuntimeLibs(ToolChain, CmdArgs);
-    CmdArgs.push_back("-lm");
-  }
-
-  if (!Args.hasArg(options::OPT_nostdlib, options::OPT_r)) {
-    if (!Args.hasArg(options::OPT_nodefaultlibs)) {
-      if (IsStatic || IsStaticPIE)
-        CmdArgs.push_back("--start-group");
-
-      if (NeedsSanitizerDeps)
-        linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
-
-      if (NeedsXRayDeps)
-        linkXRayRuntimeDeps(ToolChain, CmdArgs);
-
-      bool WantPthread = Args.hasArg(options::OPT_pthread) ||
-                         Args.hasArg(options::OPT_pthreads);
-
-      // Use the static OpenMP runtime with -static-openmp
-      bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) &&
-                          !Args.hasArg(options::OPT_static);
-
-      // FIXME: Only pass GompNeedsRT = true for platforms with libgomp that
-      // require librt. Most modern Linux platforms do, but some may not.
-      if (addOpenMPRuntime(CmdArgs, ToolChain, Args, StaticOpenMP,
-                           JA.isHostOffloading(Action::OFK_OpenMP),
-                           /* GompNeedsRT= */ true))
-        // OpenMP runtimes implies pthreads when using the GNU toolchain.
-        // FIXME: Does this really make sense for all GNU toolchains?
-        WantPthread = true;
-
-      AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
-
-      // LLVM support for atomics on 32-bit SPARC V8+ is incomplete, so
-      // forcibly link with libatomic as a workaround.
-      // TODO: Issue #41880 and D118021.
-      if (getToolChain().getTriple().getArch() == llvm::Triple::sparc) {
-        CmdArgs.push_back("--push-state");
-        CmdArgs.push_back("--as-needed");
-        CmdArgs.push_back("-latomic");
-        CmdArgs.push_back("--pop-state");
-      }
-
-      if (WantPthread && !isAndroid)
-        CmdArgs.push_back("-lpthread");
-
-      if (Args.hasArg(options::OPT_fsplit_stack))
-        CmdArgs.push_back("--wrap=pthread_create");
-
-      if (!Args.hasArg(options::OPT_nolibc))
-        CmdArgs.push_back("-lc");
-
-      // Add IAMCU specific libs, if needed.
-      if (IsIAMCU)
-        CmdArgs.push_back("-lgloss");
-
-      if (IsStatic || IsStaticPIE)
-        CmdArgs.push_back("--end-group");
-      else
-        AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
-
-      // Add IAMCU specific libs (outside the group), if needed.
-      if (IsIAMCU) {
-        CmdArgs.push_back("--as-needed");
-        CmdArgs.push_back("-lsoftfp");
-        CmdArgs.push_back("--no-as-needed");
-      }
-    }
-
-    if (!Args.hasArg(options::OPT_nostartfiles) && !IsIAMCU) {
-      if (HasCRTBeginEndFiles) {
-        std::string P;
-        if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
-            !isAndroid) {
-          std::string crtend = ToolChain.getCompilerRT(Args, "crtend",
-                                                       ToolChain::FT_Object);
-          if (ToolChain.getVFS().exists(crtend))
-            P = crtend;
-        }
-        if (P.empty()) {
-          const char *crtend;
-          if (Args.hasArg(options::OPT_shared))
-            crtend = isAndroid ? "crtend_so.o" : "crtendS.o";
-          else if (IsPIE || IsStaticPIE)
-            crtend = isAndroid ? "crtend_android.o" : "crtendS.o";
-          else
-            crtend = isAndroid ? "crtend_android.o" : "crtend.o";
-          P = ToolChain.GetFilePath(crtend);
-        }
-        CmdArgs.push_back(Args.MakeArgString(P));
-      }
-      if (!isAndroid)
-        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
-    }
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_T);
-
-  const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gnutools::Assembler::ConstructJob(Compilation &C,
-                                              const JobAction &JA,
-                                              const InputInfo &Output,
-                                              const InputInfoList &Inputs,
-                                              const ArgList &Args,
-                                              const char *LinkingOutput) const {
-  const auto &D = getToolChain().getDriver();
-
-  claimNoWarnArgs(Args);
-
-  ArgStringList CmdArgs;
-
-  llvm::Reloc::Model RelocationModel;
-  unsigned PICLevel;
-  bool IsPIE;
-  const char *DefaultAssembler = "as";
-  std::tie(RelocationModel, PICLevel, IsPIE) =
-      ParsePICArgs(getToolChain(), Args);
-
-  if (const Arg *A = Args.getLastArg(options::OPT_gz, options::OPT_gz_EQ)) {
-    if (A->getOption().getID() == options::OPT_gz) {
-      CmdArgs.push_back("--compress-debug-sections");
-    } else {
-      StringRef Value = A->getValue();
-      if (Value == "none" || Value == "zlib") {
-        CmdArgs.push_back(
-            Args.MakeArgString("--compress-debug-sections=" + Twine(Value)));
-      } else {
-        D.Diag(diag::err_drv_unsupported_option_argument)
-            << A->getOption().getName() << Value;
-      }
-    }
-  }
-
-  switch (getToolChain().getArch()) {
-  default:
-    break;
-  // Add --32/--64 to make sure we get the format we want.
-  // This is incomplete
-  case llvm::Triple::x86:
-    CmdArgs.push_back("--32");
-    break;
-  case llvm::Triple::x86_64:
-    if (getToolChain().getTriple().isX32())
-      CmdArgs.push_back("--x32");
-    else
-      CmdArgs.push_back("--64");
-    break;
-  case llvm::Triple::ppc: {
-    CmdArgs.push_back("-a32");
-    CmdArgs.push_back("-mppc");
-    CmdArgs.push_back("-mbig-endian");
-    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
-        getCPUName(D, Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppcle: {
-    CmdArgs.push_back("-a32");
-    CmdArgs.push_back("-mppc");
-    CmdArgs.push_back("-mlittle-endian");
-    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
-        getCPUName(D, Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppc64: {
-    CmdArgs.push_back("-a64");
-    CmdArgs.push_back("-mppc64");
-    CmdArgs.push_back("-mbig-endian");
-    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
-        getCPUName(D, Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppc64le: {
-    CmdArgs.push_back("-a64");
-    CmdArgs.push_back("-mppc64");
-    CmdArgs.push_back("-mlittle-endian");
-    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
-        getCPUName(D, Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::riscv32:
-  case llvm::Triple::riscv64: {
-    StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
-    CmdArgs.push_back("-mabi");
-    CmdArgs.push_back(ABIName.data());
-    StringRef MArchName = riscv::getRISCVArch(Args, getToolChain().getTriple());
-    CmdArgs.push_back("-march");
-    CmdArgs.push_back(MArchName.data());
-    if (!Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, true))
-      Args.addOptOutFlag(CmdArgs, options::OPT_mrelax, options::OPT_mno_relax);
-    break;
-  }
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel: {
-    CmdArgs.push_back("-32");
-    std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
-    CmdArgs.push_back(
-        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::sparcv9: {
-    CmdArgs.push_back("-64");
-    std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
-    CmdArgs.push_back(
-        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::arm:
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumb:
-  case llvm::Triple::thumbeb: {
-    const llvm::Triple &Triple2 = getToolChain().getTriple();
-    CmdArgs.push_back(isArmBigEndian(Triple2, Args) ? "-EB" : "-EL");
-    switch (Triple2.getSubArch()) {
-    case llvm::Triple::ARMSubArch_v7:
-      CmdArgs.push_back("-mfpu=neon");
-      break;
-    case llvm::Triple::ARMSubArch_v8:
-      CmdArgs.push_back("-mfpu=crypto-neon-fp-armv8");
-      break;
-    default:
-      break;
-    }
-
-    switch (arm::getARMFloatABI(getToolChain(), Args)) {
-    case arm::FloatABI::Invalid: llvm_unreachable("must have an ABI!");
-    case arm::FloatABI::Soft:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=soft"));
-      break;
-    case arm::FloatABI::SoftFP:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=softfp"));
-      break;
-    case arm::FloatABI::Hard:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=hard"));
-      break;
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
-    normalizeCPUNamesForAssembler(Args, CmdArgs);
-
-    Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
-    break;
-  }
-  case llvm::Triple::aarch64:
-  case llvm::Triple::aarch64_be: {
-    CmdArgs.push_back(
-        getToolChain().getArch() == llvm::Triple::aarch64_be ? "-EB" : "-EL");
-    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
-    normalizeCPUNamesForAssembler(Args, CmdArgs);
-
-    break;
-  }
-  case llvm::Triple::mips:
-  case llvm::Triple::mipsel:
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el: {
-    StringRef CPUName;
-    StringRef ABIName;
-    mips::getMipsCPUAndABI(Args, getToolChain().getTriple(), CPUName, ABIName);
-    ABIName = mips::getGnuCompatibleMipsABIName(ABIName);
-
-    CmdArgs.push_back("-march");
-    CmdArgs.push_back(CPUName.data());
-
-    CmdArgs.push_back("-mabi");
-    CmdArgs.push_back(ABIName.data());
-
-    // -mno-shared should be emitted unless -fpic, -fpie, -fPIC, -fPIE,
-    // or -mshared (not implemented) is in effect.
-    if (RelocationModel == llvm::Reloc::Static)
-      CmdArgs.push_back("-mno-shared");
-
-    // LLVM doesn't support -mplt yet and acts as if it is always given.
-    // However, -mplt has no effect with the N64 ABI.
-    if (ABIName != "64" && !Args.hasArg(options::OPT_mno_abicalls))
-      CmdArgs.push_back("-call_nonpic");
-
-    if (getToolChain().getTriple().isLittleEndian())
-      CmdArgs.push_back("-EL");
-    else
-      CmdArgs.push_back("-EB");
-
-    if (Arg *A = Args.getLastArg(options::OPT_mnan_EQ)) {
-      if (StringRef(A->getValue()) == "2008")
-        CmdArgs.push_back(Args.MakeArgString("-mnan=2008"));
-    }
-
-    // Add the last -mfp32/-mfpxx/-mfp64 or -mfpxx if it is enabled by default.
-    if (Arg *A = Args.getLastArg(options::OPT_mfp32, options::OPT_mfpxx,
-                                 options::OPT_mfp64)) {
-      A->claim();
-      A->render(Args, CmdArgs);
-    } else if (mips::shouldUseFPXX(
-                   Args, getToolChain().getTriple(), CPUName, ABIName,
-                   mips::getMipsFloatABI(getToolChain().getDriver(), Args,
-                                         getToolChain().getTriple())))
-      CmdArgs.push_back("-mfpxx");
-
-    // Pass on -mmips16 or -mno-mips16. However, the assembler equivalent of
-    // -mno-mips16 is actually -no-mips16.
-    if (Arg *A =
-            Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16)) {
-      if (A->getOption().matches(options::OPT_mips16)) {
-        A->claim();
-        A->render(Args, CmdArgs);
-      } else {
-        A->claim();
-        CmdArgs.push_back("-no-mips16");
-      }
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_mmicromips,
-                    options::OPT_mno_micromips);
-    Args.AddLastArg(CmdArgs, options::OPT_mdsp, options::OPT_mno_dsp);
-    Args.AddLastArg(CmdArgs, options::OPT_mdspr2, options::OPT_mno_dspr2);
-
-    if (Arg *A = Args.getLastArg(options::OPT_mmsa, options::OPT_mno_msa)) {
-      // Do not use AddLastArg because not all versions of MIPS assembler
-      // support -mmsa / -mno-msa options.
-      if (A->getOption().matches(options::OPT_mmsa))
-        CmdArgs.push_back(Args.MakeArgString("-mmsa"));
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_mhard_float,
-                    options::OPT_msoft_float);
-
-    Args.AddLastArg(CmdArgs, options::OPT_mdouble_float,
-                    options::OPT_msingle_float);
-
-    Args.AddLastArg(CmdArgs, options::OPT_modd_spreg,
-                    options::OPT_mno_odd_spreg);
-
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::systemz: {
-    // Always pass an -march option, since our default of z10 is later
-    // than the GNU assembler's default.
-    std::string CPUName = systemz::getSystemZTargetCPU(Args);
-    CmdArgs.push_back(Args.MakeArgString("-march=" + CPUName));
-    break;
-  }
-  case llvm::Triple::ve:
-    DefaultAssembler = "nas";
-  }
-
-  for (const Arg *A : Args.filtered(options::OPT_ffile_prefix_map_EQ,
-                                    options::OPT_fdebug_prefix_map_EQ)) {
-    StringRef Map = A->getValue();
-    if (!Map.contains('='))
-      D.Diag(diag::err_drv_invalid_argument_to_option)
-          << Map << A->getOption().getName();
-    else {
-      CmdArgs.push_back(Args.MakeArgString("--debug-prefix-map"));
-      CmdArgs.push_back(Args.MakeArgString(Map));
-    }
-    A->claim();
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_I);
-  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
-
-  CmdArgs.push_back("-o");
-  CmdArgs.push_back(Output.getFilename());
-
-  for (const auto &II : Inputs)
-    CmdArgs.push_back(II.getFilename());
-
-  const char *Exec =
-      Args.MakeArgString(getToolChain().GetProgramPath(DefaultAssembler));
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-
-  // Handle the debug info splitting at object creation time if we're
-  // creating an object.
-  // TODO: Currently only works on linux with newer objcopy.
-  if (Args.hasArg(options::OPT_gsplit_dwarf) &&
-      getToolChain().getTriple().isOSLinux())
-    SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
-                   SplitDebugName(JA, Args, Inputs[0], Output));
-}
-
-namespace {
-// Filter to remove Multilibs that don't exist as a suffix to Path
-class FilterNonExistent {
-  StringRef Base, File;
-  llvm::vfs::FileSystem &VFS;
-
-public:
-  FilterNonExistent(StringRef Base, StringRef File, llvm::vfs::FileSystem &VFS)
-      : Base(Base), File(File), VFS(VFS) {}
-  bool operator()(const Multilib &M) {
-    return !VFS.exists(Base + M.gccSuffix() + File);
-  }
-};
-} // end anonymous namespace
-
-static bool isSoftFloatABI(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float,
-                           options::OPT_mfloat_abi_EQ);
-  if (!A)
-    return false;
-
-  return A->getOption().matches(options::OPT_msoft_float) ||
-         (A->getOption().matches(options::OPT_mfloat_abi_EQ) &&
-          A->getValue() == StringRef("soft"));
-}
-
-static bool isArmOrThumbArch(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb;
-}
-
-static bool isMipsEL(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::mipsel || Arch == llvm::Triple::mips64el;
-}
-
-static bool isMips16(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16);
-  return A && A->getOption().matches(options::OPT_mips16);
-}
-
-static bool isMicroMips(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_mmicromips, options::OPT_mno_micromips);
-  return A && A->getOption().matches(options::OPT_mmicromips);
-}
-
-static bool isMSP430(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::msp430;
-}
-
-static Multilib makeMultilib(StringRef commonSuffix) {
-  return Multilib(commonSuffix, commonSuffix, commonSuffix);
-}
-
-static bool findMipsCsMultilibs(const Multilib::flags_list &Flags,
-                                FilterNonExistent &NonExistent,
-                                DetectedMultilibs &Result) {
-  // Check for Code Sourcery toolchain multilibs
-  MultilibSet CSMipsMultilibs;
-  {
-    auto MArchMips16 = makeMultilib("/mips16").flag("+m32").flag("+mips16");
-
-    auto MArchMicroMips =
-        makeMultilib("/micromips").flag("+m32").flag("+mmicromips");
-
-    auto MArchDefault = makeMultilib("").flag("-mips16").flag("-mmicromips");
-
-    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
-
-    auto SoftFloat = makeMultilib("/soft-float").flag("+msoft-float");
-
-    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
-
-    auto DefaultFloat =
-        makeMultilib("").flag("-msoft-float").flag("-mnan=2008");
-
-    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    // Note that this one's osSuffix is ""
-    auto MAbi64 = makeMultilib("")
-                      .gccSuffix("/64")
-                      .includeSuffix("/64")
-                      .flag("+mabi=n64")
-                      .flag("-mabi=n32")
-                      .flag("-m32");
-
-    CSMipsMultilibs =
-        MultilibSet()
-            .Either(MArchMips16, MArchMicroMips, MArchDefault)
-            .Maybe(UCLibc)
-            .Either(SoftFloat, Nan2008, DefaultFloat)
-            .FilterOut("/micromips/nan2008")
-            .FilterOut("/mips16/nan2008")
-            .Either(BigEndian, LittleEndian)
-            .Maybe(MAbi64)
-            .FilterOut("/mips16.*/64")
-            .FilterOut("/micromips.*/64")
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              std::vector<std::string> Dirs({"/include"});
-              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
-                Dirs.push_back(
-                    "/../../../../mips-linux-gnu/libc/uclibc/usr/include");
-              else
-                Dirs.push_back("/../../../../mips-linux-gnu/libc/usr/include");
-              return Dirs;
-            });
-  }
-
-  MultilibSet DebianMipsMultilibs;
-  {
-    Multilib MAbiN32 =
-        Multilib().gccSuffix("/n32").includeSuffix("/n32").flag("+mabi=n32");
-
-    Multilib M64 = Multilib()
-                       .gccSuffix("/64")
-                       .includeSuffix("/64")
-                       .flag("+m64")
-                       .flag("-m32")
-                       .flag("-mabi=n32");
-
-    Multilib M32 =
-        Multilib().gccSuffix("/32").flag("-m64").flag("+m32").flag("-mabi=n32");
-
-    DebianMipsMultilibs =
-        MultilibSet().Either(M32, M64, MAbiN32).FilterOut(NonExistent);
-  }
-
-  // Sort candidates. Toolchain that best meets the directories tree goes first.
-  // Then select the first toolchains matches command line flags.
-  MultilibSet *Candidates[] = {&CSMipsMultilibs, &DebianMipsMultilibs};
-  if (CSMipsMultilibs.size() < DebianMipsMultilibs.size())
-    std::iter_swap(Candidates, Candidates + 1);
-  for (const MultilibSet *Candidate : Candidates) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      if (Candidate == &DebianMipsMultilibs)
-        Result.BiarchSibling = Multilib();
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-static bool findMipsAndroidMultilibs(llvm::vfs::FileSystem &VFS, StringRef Path,
-                                     const Multilib::flags_list &Flags,
-                                     FilterNonExistent &NonExistent,
-                                     DetectedMultilibs &Result) {
-
-  MultilibSet AndroidMipsMultilibs =
-      MultilibSet()
-          .Maybe(Multilib("/mips-r2").flag("+march=mips32r2"))
-          .Maybe(Multilib("/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet AndroidMipselMultilibs =
-      MultilibSet()
-          .Either(Multilib().flag("+march=mips32"),
-                  Multilib("/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
-                  Multilib("/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet AndroidMips64elMultilibs =
-      MultilibSet()
-          .Either(
-              Multilib().flag("+march=mips64r6"),
-              Multilib("/32/mips-r1", "", "/mips-r1").flag("+march=mips32"),
-              Multilib("/32/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
-              Multilib("/32/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet *MS = &AndroidMipsMultilibs;
-  if (VFS.exists(Path + "/mips-r6"))
-    MS = &AndroidMipselMultilibs;
-  else if (VFS.exists(Path + "/32"))
-    MS = &AndroidMips64elMultilibs;
-  if (MS->select(Flags, Result.SelectedMultilib)) {
-    Result.Multilibs = *MS;
-    return true;
-  }
-  return false;
-}
-
-static bool findMipsMuslMultilibs(const Multilib::flags_list &Flags,
-                                  FilterNonExistent &NonExistent,
-                                  DetectedMultilibs &Result) {
-  // Musl toolchain multilibs
-  MultilibSet MuslMipsMultilibs;
-  {
-    auto MArchMipsR2 = makeMultilib("")
-                           .osSuffix("/mips-r2-hard-musl")
-                           .flag("+EB")
-                           .flag("-EL")
-                           .flag("+march=mips32r2");
-
-    auto MArchMipselR2 = makeMultilib("/mipsel-r2-hard-musl")
-                             .flag("-EB")
-                             .flag("+EL")
-                             .flag("+march=mips32r2");
-
-    MuslMipsMultilibs = MultilibSet().Either(MArchMipsR2, MArchMipselR2);
-
-    // Specify the callback that computes the include directories.
-    MuslMipsMultilibs.setIncludeDirsCallback([](const Multilib &M) {
-      return std::vector<std::string>(
-          {"/../sysroot" + M.osSuffix() + "/usr/include"});
-    });
-  }
-  if (MuslMipsMultilibs.select(Flags, Result.SelectedMultilib)) {
-    Result.Multilibs = MuslMipsMultilibs;
-    return true;
-  }
-  return false;
-}
-
-static bool findMipsMtiMultilibs(const Multilib::flags_list &Flags,
-                                 FilterNonExistent &NonExistent,
-                                 DetectedMultilibs &Result) {
-  // CodeScape MTI toolchain v1.2 and early.
-  MultilibSet MtiMipsMultilibsV1;
-  {
-    auto MArchMips32 = makeMultilib("/mips32")
-                           .flag("+m32")
-                           .flag("-m64")
-                           .flag("-mmicromips")
-                           .flag("+march=mips32");
-
-    auto MArchMicroMips = makeMultilib("/micromips")
-                              .flag("+m32")
-                              .flag("-m64")
-                              .flag("+mmicromips");
-
-    auto MArchMips64r2 = makeMultilib("/mips64r2")
-                             .flag("-m32")
-                             .flag("+m64")
-                             .flag("+march=mips64r2");
-
-    auto MArchMips64 = makeMultilib("/mips64").flag("-m32").flag("+m64").flag(
-        "-march=mips64r2");
-
-    auto MArchDefault = makeMultilib("")
-                            .flag("+m32")
-                            .flag("-m64")
-                            .flag("-mmicromips")
-                            .flag("+march=mips32r2");
-
-    auto Mips16 = makeMultilib("/mips16").flag("+mips16");
-
-    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
-
-    auto MAbi64 =
-        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
-
-    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    auto SoftFloat = makeMultilib("/sof").flag("+msoft-float");
-
-    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
-
-    MtiMipsMultilibsV1 =
-        MultilibSet()
-            .Either(MArchMips32, MArchMicroMips, MArchMips64r2, MArchMips64,
-                    MArchDefault)
-            .Maybe(UCLibc)
-            .Maybe(Mips16)
-            .FilterOut("/mips64/mips16")
-            .FilterOut("/mips64r2/mips16")
-            .FilterOut("/micromips/mips16")
-            .Maybe(MAbi64)
-            .FilterOut("/micromips/64")
-            .FilterOut("/mips32/64")
-            .FilterOut("^/64")
-            .FilterOut("/mips16/64")
-            .Either(BigEndian, LittleEndian)
-            .Maybe(SoftFloat)
-            .Maybe(Nan2008)
-            .FilterOut(".*sof/nan2008")
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              std::vector<std::string> Dirs({"/include"});
-              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
-                Dirs.push_back("/../../../../sysroot/uclibc/usr/include");
-              else
-                Dirs.push_back("/../../../../sysroot/usr/include");
-              return Dirs;
-            });
-  }
-
-  // CodeScape IMG toolchain starting from v1.3.
-  MultilibSet MtiMipsMultilibsV2;
-  {
-    auto BeHard = makeMultilib("/mips-r2-hard")
-                      .flag("+EB")
-                      .flag("-msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-muclibc");
-    auto BeSoft = makeMultilib("/mips-r2-soft")
-                      .flag("+EB")
-                      .flag("+msoft-float")
-                      .flag("-mnan=2008");
-    auto ElHard = makeMultilib("/mipsel-r2-hard")
-                      .flag("+EL")
-                      .flag("-msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-muclibc");
-    auto ElSoft = makeMultilib("/mipsel-r2-soft")
-                      .flag("+EL")
-                      .flag("+msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-mmicromips");
-    auto BeHardNan = makeMultilib("/mips-r2-hard-nan2008")
-                         .flag("+EB")
-                         .flag("-msoft-float")
-                         .flag("+mnan=2008")
-                         .flag("-muclibc");
-    auto ElHardNan = makeMultilib("/mipsel-r2-hard-nan2008")
-                         .flag("+EL")
-                         .flag("-msoft-float")
-                         .flag("+mnan=2008")
-                         .flag("-muclibc")
-                         .flag("-mmicromips");
-    auto BeHardNanUclibc = makeMultilib("/mips-r2-hard-nan2008-uclibc")
-                               .flag("+EB")
-                               .flag("-msoft-float")
-                               .flag("+mnan=2008")
-                               .flag("+muclibc");
-    auto ElHardNanUclibc = makeMultilib("/mipsel-r2-hard-nan2008-uclibc")
-                               .flag("+EL")
-                               .flag("-msoft-float")
-                               .flag("+mnan=2008")
-                               .flag("+muclibc");
-    auto BeHardUclibc = makeMultilib("/mips-r2-hard-uclibc")
-                            .flag("+EB")
-                            .flag("-msoft-float")
-                            .flag("-mnan=2008")
-                            .flag("+muclibc");
-    auto ElHardUclibc = makeMultilib("/mipsel-r2-hard-uclibc")
-                            .flag("+EL")
-                            .flag("-msoft-float")
-                            .flag("-mnan=2008")
-                            .flag("+muclibc");
-    auto ElMicroHardNan = makeMultilib("/micromipsel-r2-hard-nan2008")
-                              .flag("+EL")
-                              .flag("-msoft-float")
-                              .flag("+mnan=2008")
-                              .flag("+mmicromips");
-    auto ElMicroSoft = makeMultilib("/micromipsel-r2-soft")
-                           .flag("+EL")
-                           .flag("+msoft-float")
-                           .flag("-mnan=2008")
-                           .flag("+mmicromips");
-
-    auto O32 =
-        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
-    auto N32 =
-        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
-    auto N64 =
-        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
-
-    MtiMipsMultilibsV2 =
-        MultilibSet()
-            .Either({BeHard, BeSoft, ElHard, ElSoft, BeHardNan, ElHardNan,
-                     BeHardNanUclibc, ElHardNanUclibc, BeHardUclibc,
-                     ElHardUclibc, ElMicroHardNan, ElMicroSoft})
-            .Either(O32, N32, N64)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>({"/../../../../sysroot" +
-                                               M.includeSuffix() +
-                                               "/../usr/include"});
-            })
-            .setFilePathsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/../../../../mips-mti-linux-gnu/lib" + M.gccSuffix()});
-            });
-  }
-  for (auto Candidate : {&MtiMipsMultilibsV1, &MtiMipsMultilibsV2}) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-static bool findMipsImgMultilibs(const Multilib::flags_list &Flags,
-                                 FilterNonExistent &NonExistent,
-                                 DetectedMultilibs &Result) {
-  // CodeScape IMG toolchain v1.2 and early.
-  MultilibSet ImgMultilibsV1;
-  {
-    auto Mips64r6 = makeMultilib("/mips64r6").flag("+m64").flag("-m32");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    auto MAbi64 =
-        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
-
-    ImgMultilibsV1 =
-        MultilibSet()
-            .Maybe(Mips64r6)
-            .Maybe(MAbi64)
-            .Maybe(LittleEndian)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/include", "/../../../../sysroot/usr/include"});
-            });
-  }
-
-  // CodeScape IMG toolchain starting from v1.3.
-  MultilibSet ImgMultilibsV2;
-  {
-    auto BeHard = makeMultilib("/mips-r6-hard")
-                      .flag("+EB")
-                      .flag("-msoft-float")
-                      .flag("-mmicromips");
-    auto BeSoft = makeMultilib("/mips-r6-soft")
-                      .flag("+EB")
-                      .flag("+msoft-float")
-                      .flag("-mmicromips");
-    auto ElHard = makeMultilib("/mipsel-r6-hard")
-                      .flag("+EL")
-                      .flag("-msoft-float")
-                      .flag("-mmicromips");
-    auto ElSoft = makeMultilib("/mipsel-r6-soft")
-                      .flag("+EL")
-                      .flag("+msoft-float")
-                      .flag("-mmicromips");
-    auto BeMicroHard = makeMultilib("/micromips-r6-hard")
-                           .flag("+EB")
-                           .flag("-msoft-float")
-                           .flag("+mmicromips");
-    auto BeMicroSoft = makeMultilib("/micromips-r6-soft")
-                           .flag("+EB")
-                           .flag("+msoft-float")
-                           .flag("+mmicromips");
-    auto ElMicroHard = makeMultilib("/micromipsel-r6-hard")
-                           .flag("+EL")
-                           .flag("-msoft-float")
-                           .flag("+mmicromips");
-    auto ElMicroSoft = makeMultilib("/micromipsel-r6-soft")
-                           .flag("+EL")
-                           .flag("+msoft-float")
-                           .flag("+mmicromips");
-
-    auto O32 =
-        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
-    auto N32 =
-        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
-    auto N64 =
-        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
-
-    ImgMultilibsV2 =
-        MultilibSet()
-            .Either({BeHard, BeSoft, ElHard, ElSoft, BeMicroHard, BeMicroSoft,
-                     ElMicroHard, ElMicroSoft})
-            .Either(O32, N32, N64)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>({"/../../../../sysroot" +
-                                               M.includeSuffix() +
-                                               "/../usr/include"});
-            })
-            .setFilePathsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/../../../../mips-img-linux-gnu/lib" + M.gccSuffix()});
-            });
-  }
-  for (auto Candidate : {&ImgMultilibsV1, &ImgMultilibsV2}) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-bool clang::driver::findMIPSMultilibs(const Driver &D,
-                                      const llvm::Triple &TargetTriple,
-                                      StringRef Path, const ArgList &Args,
-                                      DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-
-  StringRef CPUName;
-  StringRef ABIName;
-  tools::mips::getMipsCPUAndABI(Args, TargetTriple, CPUName, ABIName);
-
-  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(TargetTriple.isMIPS32(), "m32", Flags);
-  addMultilibFlag(TargetTriple.isMIPS64(), "m64", Flags);
-  addMultilibFlag(isMips16(Args), "mips16", Flags);
-  addMultilibFlag(CPUName == "mips32", "march=mips32", Flags);
-  addMultilibFlag(CPUName == "mips32r2" || CPUName == "mips32r3" ||
-                      CPUName == "mips32r5" || CPUName == "p5600",
-                  "march=mips32r2", Flags);
-  addMultilibFlag(CPUName == "mips32r6", "march=mips32r6", Flags);
-  addMultilibFlag(CPUName == "mips64", "march=mips64", Flags);
-  addMultilibFlag(CPUName == "mips64r2" || CPUName == "mips64r3" ||
-                      CPUName == "mips64r5" || CPUName == "octeon" ||
-                      CPUName == "octeon+",
-                  "march=mips64r2", Flags);
-  addMultilibFlag(CPUName == "mips64r6", "march=mips64r6", Flags);
-  addMultilibFlag(isMicroMips(Args), "mmicromips", Flags);
-  addMultilibFlag(tools::mips::isUCLibc(Args), "muclibc", Flags);
-  addMultilibFlag(tools::mips::isNaN2008(D, Args, TargetTriple), "mnan=2008",
-                  Flags);
-  addMultilibFlag(ABIName == "n32", "mabi=n32", Flags);
-  addMultilibFlag(ABIName == "n64", "mabi=n64", Flags);
-  addMultilibFlag(isSoftFloatABI(Args), "msoft-float", Flags);
-  addMultilibFlag(!isSoftFloatABI(Args), "mhard-float", Flags);
-  addMultilibFlag(isMipsEL(TargetArch), "EL", Flags);
-  addMultilibFlag(!isMipsEL(TargetArch), "EB", Flags);
-
-  if (TargetTriple.isAndroid())
-    return findMipsAndroidMultilibs(D.getVFS(), Path, Flags, NonExistent,
-                                    Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.getEnvironment() == llvm::Triple::UnknownEnvironment)
-    return findMipsMuslMultilibs(Flags, NonExistent, Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.isGNUEnvironment())
-    return findMipsMtiMultilibs(Flags, NonExistent, Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::ImaginationTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.isGNUEnvironment())
-    return findMipsImgMultilibs(Flags, NonExistent, Result);
-
-  if (findMipsCsMultilibs(Flags, NonExistent, Result))
-    return true;
-
-  // Fallback to the regular toolchain-tree structure.
-  Multilib Default;
-  Result.Multilibs.push_back(Default);
-  Result.Multilibs.FilterOut(NonExistent);
-
-  if (Result.Multilibs.select(Flags, Result.SelectedMultilib)) {
-    Result.BiarchSibling = Multilib();
-    return true;
-  }
-
-  return false;
-}
-
-static void findAndroidArmMultilibs(const Driver &D,
-                                    const llvm::Triple &TargetTriple,
-                                    StringRef Path, const ArgList &Args,
-                                    DetectedMultilibs &Result) {
-  // Find multilibs with subdirectories like armv7-a, thumb, armv7-a/thumb.
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib ArmV7Multilib = makeMultilib("/armv7-a")
-                               .flag("+march=armv7-a")
-                               .flag("-mthumb");
-  Multilib ThumbMultilib = makeMultilib("/thumb")
-                               .flag("-march=armv7-a")
-                               .flag("+mthumb");
-  Multilib ArmV7ThumbMultilib = makeMultilib("/armv7-a/thumb")
-                               .flag("+march=armv7-a")
-                               .flag("+mthumb");
-  Multilib DefaultMultilib = makeMultilib("")
-                               .flag("-march=armv7-a")
-                               .flag("-mthumb");
-  MultilibSet AndroidArmMultilibs =
-      MultilibSet()
-          .Either(ThumbMultilib, ArmV7Multilib,
-                  ArmV7ThumbMultilib, DefaultMultilib)
-          .FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  llvm::StringRef Arch = Args.getLastArgValue(options::OPT_march_EQ);
-  bool IsArmArch = TargetTriple.getArch() == llvm::Triple::arm;
-  bool IsThumbArch = TargetTriple.getArch() == llvm::Triple::thumb;
-  bool IsV7SubArch = TargetTriple.getSubArch() == llvm::Triple::ARMSubArch_v7;
-  bool IsThumbMode = IsThumbArch ||
-      Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb, false) ||
-      (IsArmArch && llvm::ARM::parseArchISA(Arch) == llvm::ARM::ISAKind::THUMB);
-  bool IsArmV7Mode = (IsArmArch || IsThumbArch) &&
-      (llvm::ARM::parseArchVersion(Arch) == 7 ||
-       (IsArmArch && Arch == "" && IsV7SubArch));
-  addMultilibFlag(IsArmV7Mode, "march=armv7-a", Flags);
-  addMultilibFlag(IsThumbMode, "mthumb", Flags);
-
-  if (AndroidArmMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = AndroidArmMultilibs;
-}
-
-static bool findMSP430Multilibs(const Driver &D,
-                                const llvm::Triple &TargetTriple,
-                                StringRef Path, const ArgList &Args,
-                                DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib WithoutExceptions = makeMultilib("/430").flag("-exceptions");
-  Multilib WithExceptions = makeMultilib("/430/exceptions").flag("+exceptions");
-
-  // FIXME: when clang starts to support msp430x ISA additional logic
-  // to select between multilib must be implemented
-  // Multilib MSP430xMultilib = makeMultilib("/large");
-
-  Result.Multilibs.push_back(WithoutExceptions);
-  Result.Multilibs.push_back(WithExceptions);
-  Result.Multilibs.FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(Args.hasFlag(options::OPT_fexceptions,
-                               options::OPT_fno_exceptions, false),
-                  "exceptions", Flags);
-  if (Result.Multilibs.select(Flags, Result.SelectedMultilib))
-    return true;
-
-  return false;
-}
-
-static void findCSKYMultilibs(const Driver &D, const llvm::Triple &TargetTriple,
-                              StringRef Path, const ArgList &Args,
-                              DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-
-  tools::csky::FloatABI TheFloatABI = tools::csky::getCSKYFloatABI(D, Args);
-  llvm::Optional<llvm::StringRef> Res = tools::csky::getCSKYArchName(D, Args, TargetTriple);
-
-  if (!Res)
-    return;
-  auto ARCHName = *Res;
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::Hard, "hard-fp", Flags);
-  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::SoftFP, "soft-fp",
-                  Flags);
-  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::Soft, "soft", Flags);
-  addMultilibFlag(ARCHName == "ck801", "march=ck801", Flags);
-  addMultilibFlag(ARCHName == "ck802", "march=ck802", Flags);
-  addMultilibFlag(ARCHName == "ck803", "march=ck803", Flags);
-  addMultilibFlag(ARCHName == "ck804", "march=ck804", Flags);
-  addMultilibFlag(ARCHName == "ck805", "march=ck805", Flags);
-  addMultilibFlag(ARCHName == "ck807", "march=ck807", Flags);
-  addMultilibFlag(ARCHName == "ck810", "march=ck810", Flags);
-  addMultilibFlag(ARCHName == "ck810v", "march=ck810v", Flags);
-  addMultilibFlag(ARCHName == "ck860", "march=ck860", Flags);
-  addMultilibFlag(ARCHName == "ck860v", "march=ck860v", Flags);
-
-  bool isBigEndian = false;
-  if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
-                               options::OPT_mbig_endian))
-    isBigEndian = !A->getOption().matches(options::OPT_mlittle_endian);
-  addMultilibFlag(isBigEndian, "EB", Flags);
-
-  auto HardFloat = makeMultilib("/hard-fp").flag("+hard-fp");
-  auto SoftFpFloat = makeMultilib("/soft-fp").flag("+soft-fp");
-  auto SoftFloat = makeMultilib("").flag("+soft");
-  auto Arch801 = makeMultilib("/ck801").flag("+march=ck801");
-  auto Arch802 = makeMultilib("/ck802").flag("+march=ck802");
-  auto Arch803 = makeMultilib("/ck803").flag("+march=ck803");
-  // CK804 use the same library as CK803
-  auto Arch804 = makeMultilib("/ck803").flag("+march=ck804");
-  auto Arch805 = makeMultilib("/ck805").flag("+march=ck805");
-  auto Arch807 = makeMultilib("/ck807").flag("+march=ck807");
-  auto Arch810 = makeMultilib("").flag("+march=ck810");
-  auto Arch810v = makeMultilib("/ck810v").flag("+march=ck810v");
-  auto Arch860 = makeMultilib("/ck860").flag("+march=ck860");
-  auto Arch860v = makeMultilib("/ck860v").flag("+march=ck860v");
-  auto BigEndian = makeMultilib("/big").flag("+EB");
-
-  MultilibSet CSKYMultilibs =
-      MultilibSet()
-          .Maybe(BigEndian)
-          .Either({Arch801, Arch802, Arch803, Arch804, Arch805, Arch807,
-                   Arch810, Arch810v, Arch860, Arch860v})
-          .Either(HardFloat, SoftFpFloat, SoftFloat)
-          .FilterOut(NonExistent);
-
-  if (CSKYMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = CSKYMultilibs;
-}
-
-static void findRISCVBareMetalMultilibs(const Driver &D,
-                                        const llvm::Triple &TargetTriple,
-                                        StringRef Path, const ArgList &Args,
-                                        DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  struct RiscvMultilib {
-    StringRef march;
-    StringRef mabi;
-  };
-  // currently only support the set of multilibs like riscv-gnu-toolchain does.
-  // TODO: support MULTILIB_REUSE
-  constexpr RiscvMultilib RISCVMultilibSet[] = {
-      {"rv32i", "ilp32"},     {"rv32im", "ilp32"},     {"rv32iac", "ilp32"},
-      {"rv32imac", "ilp32"},  {"rv32imafc", "ilp32f"}, {"rv64imac", "lp64"},
-      {"rv64imafdc", "lp64d"}};
-
-  std::vector<Multilib> Ms;
-  for (auto Element : RISCVMultilibSet) {
-    // multilib path rule is ${march}/${mabi}
-    Ms.emplace_back(
-        makeMultilib((Twine(Element.march) + "/" + Twine(Element.mabi)).str())
-            .flag(Twine("+march=", Element.march).str())
-            .flag(Twine("+mabi=", Element.mabi).str()));
-  }
-  MultilibSet RISCVMultilibs =
-      MultilibSet()
-          .Either(ArrayRef<Multilib>(Ms))
-          .FilterOut(NonExistent)
-          .setFilePathsCallback([](const Multilib &M) {
-            return std::vector<std::string>(
-                {M.gccSuffix(),
-                 "/../../../../riscv64-unknown-elf/lib" + M.gccSuffix(),
-                 "/../../../../riscv32-unknown-elf/lib" + M.gccSuffix()});
-          });
-
-
-  Multilib::flags_list Flags;
-  llvm::StringSet<> Added_ABIs;
-  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
-  StringRef MArch = tools::riscv::getRISCVArch(Args, TargetTriple);
-  for (auto Element : RISCVMultilibSet) {
-    addMultilibFlag(MArch == Element.march,
-                    Twine("march=", Element.march).str().c_str(), Flags);
-    if (!Added_ABIs.count(Element.mabi)) {
-      Added_ABIs.insert(Element.mabi);
-      addMultilibFlag(ABIName == Element.mabi,
-                      Twine("mabi=", Element.mabi).str().c_str(), Flags);
-    }
-  }
-
-  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = RISCVMultilibs;
-}
-
-static void findRISCVMultilibs(const Driver &D,
-                               const llvm::Triple &TargetTriple, StringRef Path,
-                               const ArgList &Args, DetectedMultilibs &Result) {
-  if (TargetTriple.getOS() == llvm::Triple::UnknownOS)
-    return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
-
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib Ilp32 = makeMultilib("lib32/ilp32").flag("+m32").flag("+mabi=ilp32");
-  Multilib Ilp32f =
-      makeMultilib("lib32/ilp32f").flag("+m32").flag("+mabi=ilp32f");
-  Multilib Ilp32d =
-      makeMultilib("lib32/ilp32d").flag("+m32").flag("+mabi=ilp32d");
-  Multilib Lp64 = makeMultilib("lib64/lp64").flag("+m64").flag("+mabi=lp64");
-  Multilib Lp64f = makeMultilib("lib64/lp64f").flag("+m64").flag("+mabi=lp64f");
-  Multilib Lp64d = makeMultilib("lib64/lp64d").flag("+m64").flag("+mabi=lp64d");
-  MultilibSet RISCVMultilibs =
-      MultilibSet()
-          .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
-          .FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
-  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
-
-  addMultilibFlag(!IsRV64, "m32", Flags);
-  addMultilibFlag(IsRV64, "m64", Flags);
-  addMultilibFlag(ABIName == "ilp32", "mabi=ilp32", Flags);
-  addMultilibFlag(ABIName == "ilp32f", "mabi=ilp32f", Flags);
-  addMultilibFlag(ABIName == "ilp32d", "mabi=ilp32d", Flags);
-  addMultilibFlag(ABIName == "lp64", "mabi=lp64", Flags);
-  addMultilibFlag(ABIName == "lp64f", "mabi=lp64f", Flags);
-  addMultilibFlag(ABIName == "lp64d", "mabi=lp64d", Flags);
-
-  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = RISCVMultilibs;
-}
-
-static bool findBiarchMultilibs(const Driver &D,
-                                const llvm::Triple &TargetTriple,
-                                StringRef Path, const ArgList &Args,
-                                bool NeedsBiarchSuffix,
-                                DetectedMultilibs &Result) {
-  Multilib Default;
-
-  // Some versions of SUSE and Fedora on ppc64 put 32-bit libs
-  // in what would normally be GCCInstallPath and put the 64-bit
-  // libs in a subdirectory named 64. The simple logic we follow is that
-  // *if* there is a subdirectory of the right name with crtbegin.o in it,
-  // we use that. If not, and if not a biarch triple alias, we look for
-  // crtbegin.o without the subdirectory.
-
-  StringRef Suff64 = "/64";
-  // Solaris uses platform-specific suffixes instead of /64.
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::x86:
-    case llvm::Triple::x86_64:
-      Suff64 = "/amd64";
-      break;
-    case llvm::Triple::sparc:
-    case llvm::Triple::sparcv9:
-      Suff64 = "/sparcv9";
-      break;
-    default:
-      break;
-    }
-  }
-
-  Multilib Alt64 = Multilib()
-                       .gccSuffix(Suff64)
-                       .includeSuffix(Suff64)
-                       .flag("-m32")
-                       .flag("+m64")
-                       .flag("-mx32");
-  Multilib Alt32 = Multilib()
-                       .gccSuffix("/32")
-                       .includeSuffix("/32")
-                       .flag("+m32")
-                       .flag("-m64")
-                       .flag("-mx32");
-  Multilib Altx32 = Multilib()
-                        .gccSuffix("/x32")
-                        .includeSuffix("/x32")
-                        .flag("-m32")
-                        .flag("-m64")
-                        .flag("+mx32");
-
-  // GCC toolchain for IAMCU doesn't have crtbegin.o, so look for libgcc.a.
-  FilterNonExistent NonExistent(
-      Path, TargetTriple.isOSIAMCU() ? "/libgcc.a" : "/crtbegin.o", D.getVFS());
-
-  // Determine default multilib from: 32, 64, x32
-  // Also handle cases such as 64 on 32, 32 on 64, etc.
-  enum { UNKNOWN, WANT32, WANT64, WANTX32 } Want = UNKNOWN;
-  const bool IsX32 = TargetTriple.isX32();
-  if (TargetTriple.isArch32Bit() && !NonExistent(Alt32))
-    Want = WANT64;
-  else if (TargetTriple.isArch64Bit() && IsX32 && !NonExistent(Altx32))
-    Want = WANT64;
-  else if (TargetTriple.isArch64Bit() && !IsX32 && !NonExistent(Alt64))
-    Want = WANT32;
-  else {
-    if (TargetTriple.isArch32Bit())
-      Want = NeedsBiarchSuffix ? WANT64 : WANT32;
-    else if (IsX32)
-      Want = NeedsBiarchSuffix ? WANT64 : WANTX32;
-    else
-      Want = NeedsBiarchSuffix ? WANT32 : WANT64;
-  }
-
-  if (Want == WANT32)
-    Default.flag("+m32").flag("-m64").flag("-mx32");
-  else if (Want == WANT64)
-    Default.flag("-m32").flag("+m64").flag("-mx32");
-  else if (Want == WANTX32)
-    Default.flag("-m32").flag("-m64").flag("+mx32");
-  else
-    return false;
-
-  Result.Multilibs.push_back(Default);
-  Result.Multilibs.push_back(Alt64);
-  Result.Multilibs.push_back(Alt32);
-  Result.Multilibs.push_back(Altx32);
-
-  Result.Multilibs.FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(TargetTriple.isArch64Bit() && !IsX32, "m64", Flags);
-  addMultilibFlag(TargetTriple.isArch32Bit(), "m32", Flags);
-  addMultilibFlag(TargetTriple.isArch64Bit() && IsX32, "mx32", Flags);
-
-  if (!Result.Multilibs.select(Flags, Result.SelectedMultilib))
-    return false;
-
-  if (Result.SelectedMultilib == Alt64 || Result.SelectedMultilib == Alt32 ||
-      Result.SelectedMultilib == Altx32)
-    Result.BiarchSibling = Default;
-
-  return true;
-}
-
-/// Generic_GCC - A tool chain using the 'gcc' command to perform
-/// all subcommands; this relies on gcc translating the majority of
-/// command line options.
-
-/// Less-than for GCCVersion, implementing a Strict Weak Ordering.
-bool Generic_GCC::GCCVersion::isOlderThan(int RHSMajor, int RHSMinor,
-                                          int RHSPatch,
-                                          StringRef RHSPatchSuffix) const {
-  if (Major != RHSMajor)
-    return Major < RHSMajor;
-  if (Minor != RHSMinor)
-    return Minor < RHSMinor;
-  if (Patch != RHSPatch) {
-    // Note that versions without a specified patch sort higher than those with
-    // a patch.
-    if (RHSPatch == -1)
-      return true;
-    if (Patch == -1)
-      return false;
-
-    // Otherwise just sort on the patch itself.
-    return Patch < RHSPatch;
-  }
-  if (PatchSuffix != RHSPatchSuffix) {
-    // Sort empty suffixes higher.
-    if (RHSPatchSuffix.empty())
-      return true;
-    if (PatchSuffix.empty())
-      return false;
-
-    // Provide a lexicographic sort to make this a total ordering.
-    return PatchSuffix < RHSPatchSuffix;
-  }
-
-  // The versions are equal.
-  return false;
-}
-
-/// Parse a GCCVersion object out of a string of text.
-///
-/// This is the primary means of forming GCCVersion objects.
-/*static*/
-Generic_GCC::GCCVersion Generic_GCC::GCCVersion::Parse(StringRef VersionText) {
-  const GCCVersion BadVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
-  std::pair<StringRef, StringRef> First = VersionText.split('.');
-  std::pair<StringRef, StringRef> Second = First.second.split('.');
-
-  GCCVersion GoodVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
-  if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
-    return BadVersion;
-  GoodVersion.MajorStr = First.first.str();
-  if (First.second.empty())
-    return GoodVersion;
-  StringRef MinorStr = Second.first;
-  if (Second.second.empty()) {
-    if (size_t EndNumber = MinorStr.find_first_not_of("0123456789")) {
-      GoodVersion.PatchSuffix = std::string(MinorStr.substr(EndNumber));
-      MinorStr = MinorStr.slice(0, EndNumber);
-    }
-  }
-  if (!MinorStr.str().empty() &&
-      (MinorStr.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0))
-    return BadVersion;
-  GoodVersion.MinorStr = MinorStr.str();
-
-  // First look for a number prefix and parse that if present. Otherwise just
-  // stash the entire patch string in the suffix, and leave the number
-  // unspecified. This covers versions strings such as:
-  //   5        (handled above)
-  //   4.4
-  //   4.4-patched
-  //   4.4.0
-  //   4.4.x
-  //   4.4.2-rc4
-  //   4.4.x-patched
-  // And retains any patch number it finds.
-  StringRef PatchText = Second.second;
-  if (!PatchText.empty()) {
-    if (size_t EndNumber = PatchText.find_first_not_of("0123456789")) {
-      // Try to parse the number and any suffix.
-      if (PatchText.slice(0, EndNumber).getAsInteger(10, GoodVersion.Patch) ||
-          GoodVersion.Patch < 0)
-        return BadVersion;
-      GoodVersion.PatchSuffix = std::string(PatchText.substr(EndNumber));
-    }
-  }
-
-  return GoodVersion;
-}
-
-static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
-                                          llvm::StringRef SysRoot) {
-  const Arg *A = Args.getLastArg(clang::driver::options::OPT_gcc_toolchain);
-  if (A)
-    return A->getValue();
-
-  // If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
-  // GCC_INSTALL_PREFIX specifies the gcc installation for the default
-  // sysroot and is likely not valid with a different sysroot.
-  if (!SysRoot.empty())
-    return "";
-
-  return GCC_INSTALL_PREFIX;
-}
-
-/// Initialize a GCCInstallationDetector from the driver.
-///
-/// This performs all of the autodetection and sets up the various paths.
-/// Once constructed, a GCCInstallationDetector is essentially immutable.
-///
-/// FIXME: We shouldn't need an explicit TargetTriple parameter here, and
-/// should instead pull the target out of the driver. This is currently
-/// necessary because the driver doesn't store the final version of the target
-/// triple.
-void Generic_GCC::GCCInstallationDetector::init(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    ArrayRef<std::string> ExtraTripleAliases) {
-  llvm::Triple BiarchVariantTriple = TargetTriple.isArch32Bit()
-                                         ? TargetTriple.get64BitArchVariant()
-                                         : TargetTriple.get32BitArchVariant();
-  // The library directories which may contain GCC installations.
-  SmallVector<StringRef, 4> CandidateLibDirs, CandidateBiarchLibDirs;
-  // The compatible GCC triples for this particular architecture.
-  SmallVector<StringRef, 16> CandidateTripleAliases;
-  SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
-  CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
-                           CandidateTripleAliases, CandidateBiarchLibDirs,
-                           CandidateBiarchTripleAliases);
-
-  // Compute the set of prefixes for our search.
-  SmallVector<std::string, 8> Prefixes;
-  StringRef GCCToolchainDir = getGCCToolchainDir(Args, D.SysRoot);
-  if (GCCToolchainDir != "") {
-    if (GCCToolchainDir.back() == '/')
-      GCCToolchainDir = GCCToolchainDir.drop_back(); // remove the /
-
-    Prefixes.push_back(std::string(GCCToolchainDir));
-  } else {
-    // If we have a SysRoot, try that first.
-    if (!D.SysRoot.empty()) {
-      Prefixes.push_back(D.SysRoot);
-      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
-    }
-
-    // Then look for gcc installed alongside clang.
-    Prefixes.push_back(D.InstalledDir + "/..");
-
-    // Next, look for prefix(es) that correspond to distribution-supplied gcc
-    // installations.
-    if (D.SysRoot.empty()) {
-      // Typically /usr.
-      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
-    }
-
-    // Try to respect gcc-config on Gentoo if --gcc-toolchain is not provided.
-    // This avoids accidentally enforcing the system GCC version when using a
-    // custom toolchain.
-    SmallVector<StringRef, 16> GentooTestTriples;
-    // Try to match an exact triple as target triple first.
-    // e.g. crossdev -S x86_64-gentoo-linux-gnu will install gcc libs for
-    // x86_64-gentoo-linux-gnu. But "clang -target x86_64-gentoo-linux-gnu"
-    // may pick the libraries for x86_64-pc-linux-gnu even when exact matching
-    // triple x86_64-gentoo-linux-gnu is present.
-    GentooTestTriples.push_back(TargetTriple.str());
-    // Check rest of triples.
-    GentooTestTriples.append(ExtraTripleAliases.begin(),
-                             ExtraTripleAliases.end());
-    GentooTestTriples.append(CandidateTripleAliases.begin(),
-                             CandidateTripleAliases.end());
-    if (ScanGentooConfigs(TargetTriple, Args, GentooTestTriples,
-                          CandidateBiarchTripleAliases))
-      return;
-  }
-
-  // Loop over the various components which exist and select the best GCC
-  // installation available. GCC installs are ranked by version number.
-  const GCCVersion VersionZero = GCCVersion::Parse("0.0.0");
-  Version = VersionZero;
-  for (const std::string &Prefix : Prefixes) {
-    auto &VFS = D.getVFS();
-    if (!VFS.exists(Prefix))
-      continue;
-    for (StringRef Suffix : CandidateLibDirs) {
-      const std::string LibDir = concat(Prefix, Suffix);
-      if (!VFS.exists(LibDir))
-        continue;
-      // Maybe filter out <libdir>/gcc and <libdir>/gcc-cross.
-      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
-      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
-      // Try to match the exact target triple first.
-      ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, TargetTriple.str(),
-                             false, GCCDirExists, GCCCrossDirExists);
-      // Try rest of possible triples.
-      for (StringRef Candidate : ExtraTripleAliases) // Try these first.
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
-                               GCCDirExists, GCCCrossDirExists);
-      for (StringRef Candidate : CandidateTripleAliases)
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
-                               GCCDirExists, GCCCrossDirExists);
-    }
-    for (StringRef Suffix : CandidateBiarchLibDirs) {
-      const std::string LibDir = Prefix + Suffix.str();
-      if (!VFS.exists(LibDir))
-        continue;
-      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
-      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
-      for (StringRef Candidate : CandidateBiarchTripleAliases)
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, true,
-                               GCCDirExists, GCCCrossDirExists);
-    }
-
-    // Skip other prefixes once a GCC installation is found.
-    if (Version > VersionZero)
-      break;
-  }
-}
-
-void Generic_GCC::GCCInstallationDetector::print(raw_ostream &OS) const {
-  for (const auto &InstallPath : CandidateGCCInstallPaths)
-    OS << "Found candidate GCC installation: " << InstallPath << "\n";
-
-  if (!GCCInstallPath.empty())
-    OS << "Selected GCC installation: " << GCCInstallPath << "\n";
-
-  for (const auto &Multilib : Multilibs)
-    OS << "Candidate multilib: " << Multilib << "\n";
-
-  if (Multilibs.size() != 0 || !SelectedMultilib.isDefault())
-    OS << "Selected multilib: " << SelectedMultilib << "\n";
-}
-
-bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
-  if (BiarchSibling) {
-    M = BiarchSibling.value();
-    return true;
-  }
-  return false;
-}
-
-void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
-    const llvm::Triple &TargetTriple, SmallVectorImpl<std::string> &Prefixes,
-    StringRef SysRoot) {
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    // Solaris is a special case.
-    // The GCC installation is under
-    //   /usr/gcc/<major>.<minor>/lib/gcc/<triple>/<major>.<minor>.<patch>/
-    // so we need to find those /usr/gcc/*/lib/gcc libdirs and go with
-    // /usr/gcc/<version> as a prefix.
-
-    std::string PrefixDir = concat(SysRoot, "/usr/gcc");
-    std::error_code EC;
-    for (llvm::vfs::directory_iterator LI = D.getVFS().dir_begin(PrefixDir, EC),
-                                       LE;
-         !EC && LI != LE; LI = LI.increment(EC)) {
-      StringRef VersionText = llvm::sys::path::filename(LI->path());
-      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
-
-      // Filter out obviously bad entries.
-      if (CandidateVersion.Major == -1 || CandidateVersion.isOlderThan(4, 1, 1))
-        continue;
-
-      std::string CandidatePrefix = PrefixDir + "/" + VersionText.str();
-      std::string CandidateLibPath = CandidatePrefix + "/lib/gcc";
-      if (!D.getVFS().exists(CandidateLibPath))
-        continue;
-
-      Prefixes.push_back(CandidatePrefix);
-    }
-    return;
-  }
-
-  // For Linux, if --sysroot is not specified, look for RHEL/CentOS devtoolsets
-  // and gcc-toolsets.
-  if (SysRoot.empty() && TargetTriple.getOS() == llvm::Triple::Linux &&
-      D.getVFS().exists("/opt/rh")) {
-    // TODO: We may want to remove this, since the functionality
-    //   can be achieved using config files.
-    Prefixes.push_back("/opt/rh/gcc-toolset-12/root/usr");
-    Prefixes.push_back("/opt/rh/gcc-toolset-11/root/usr");
-    Prefixes.push_back("/opt/rh/gcc-toolset-10/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-12/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-11/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-10/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-9/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-8/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-7/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-6/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-4/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-3/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-2/root/usr");
-  }
-
-  // Fall back to /usr which is used by most non-Solaris systems.
-  Prefixes.push_back(concat(SysRoot, "/usr"));
-}
-
-/*static*/ void Generic_GCC::GCCInstallationDetector::CollectLibDirsAndTriples(
-    const llvm::Triple &TargetTriple, const llvm::Triple &BiarchTriple,
-    SmallVectorImpl<StringRef> &LibDirs,
-    SmallVectorImpl<StringRef> &TripleAliases,
-    SmallVectorImpl<StringRef> &BiarchLibDirs,
-    SmallVectorImpl<StringRef> &BiarchTripleAliases) {
-  // Declare a bunch of static data sets that we'll select between below. These
-  // are specifically designed to always refer to string literals to avoid any
-  // lifetime or initialization issues.
-  //
-  // The *Triples variables hard code some triples so that, for example,
-  // --target=aarch64 (incomplete triple) can detect lib/aarch64-linux-gnu.
-  // They are not needed when the user has correct LLVM_DEFAULT_TARGET_TRIPLE
-  // and always uses the full --target (e.g. --target=aarch64-linux-gnu).  The
-  // lists should shrink over time. Please don't add more elements to *Triples.
-  static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const AArch64Triples[] = {
-      "aarch64-none-linux-gnu",  "aarch64-linux-gnu",        "aarch64-redhat-linux",
-      "aarch64-radix-linux-gnu", "aarch64-a311x-linux-gnu",  "aarch64-h5-linux-gnu",
-      "aarch64-m1000-linux-gnu", "aarch64-rk339x-linux-gnu", "aarch64-rk33xx-linux-gnu",
-      "aarch64-s9xx-linux-gnu",  "aarch64-suse-linux"};
-  static const char *const AArch64beLibDirs[] = {"/lib"};
-  static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
-                                                 "aarch64_be-linux-gnu"};
-
-  static const char *const ARMLibDirs[] = {"/lib"};
-  static const char *const ARMTriples[] = {"arm-linux-gnueabi"};
-  static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
-                                             "arm-a1x-linux-gnueabihf",
-                                             "arm-a2x-linux-gnueabihf",
-                                             "arm-am335x-linux-gnueabihf",
-                                             "arm-h3-linux-gnueabihf",
-                                             "arm-imx6-linux-gnueabihf",
-                                             "arm-imx6ull-linux-gnueabihf",
-                                             "arm-omap543x-linux-gnueabihf",
-                                             "arm-rk328x-linux-gnueabihf",
-                                             "arm-s8xx-linux-gnueabihf",
-                                             "arm-radix-linux-gnueabihf",
-                                             "armv7hl-redhat-linux-gnueabi",
-                                             "armv6hl-suse-linux-gnueabi",
-                                             "armv7hl-suse-linux-gnueabi"};
-  static const char *const ARMebLibDirs[] = {"/lib"};
-  static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"};
-  static const char *const ARMebHFTriples[] = {
-      "armeb-linux-gnueabihf", "armebv7hl-redhat-linux-gnueabi"};
-
-  static const char *const AVRLibDirs[] = {"/lib"};
-  static const char *const AVRTriples[] = {"avr"};
-
-  static const char *const CSKYLibDirs[] = {"/lib"};
-  static const char *const CSKYTriples[] = {
-      "csky-linux-gnuabiv2", "csky-linux-uclibcabiv2", "csky-elf-noneabiv2"};
-
-  static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const X86_64Triples[] = {
-      "x86_64-linux-gnu",       "x86_64-unknown-linux-gnu",
-      "x86_64-pc-linux-gnu",    "x86_64-redhat-linux6E",
-      "x86_64-redhat-linux",    "x86_64-suse-linux",
-      "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
-      "x86_64-slackware-linux", "x86_64-radix-linux-gnu", "x86_64-unknown-linux",
-      "x86_64-amazon-linux"};
-  static const char *const X32Triples[] = {"x86_64-linux-gnux32",
-                                           "x86_64-pc-linux-gnux32"};
-  static const char *const X32LibDirs[] = {"/libx32", "/lib"};
-  static const char *const X86LibDirs[] = {"/lib32", "/lib"};
-  static const char *const X86Triples[] = {
-      "i586-linux-gnu",       "i686-linux-gnu",        "i686-pc-linux-gnu",
-      "i386-redhat-linux6E",  "i686-redhat-linux",     "i386-redhat-linux",
-      "i486-slackware-linux", "i586-slackware-linux",  "i686-slackware-linux",
-      "i386-radix-linux-gnu", "i586-radix-linux-gnu",  "i686-radix-linux-gnu",
-      "i586-suse-linux",      "i686-montavista-linux", "i686-gnu"};
-
-  static const char *const M68kLibDirs[] = {"/lib"};
-  static const char *const M68kTriples[] = {
-      "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"};
-
-  static const char *const MIPSLibDirs[] = {"/libo32", "/lib"};
-  static const char *const MIPSTriples[] = {
-      "mips-linux-gnu", "mips-mti-linux", "mips-mti-linux-gnu",
-      "mips-img-linux-gnu", "mipsisa32r6-linux-gnu"};
-  static const char *const MIPSELLibDirs[] = {"/libo32", "/lib"};
-  static const char *const MIPSELTriples[] = {
-      "mipsel-linux-gnu",       "mips-img-linux-gnu",      "mipsisa32r6el-linux-gnu",
-      "mipsel-p5600-linux-gnu", "mipsel-jz47xx-linux-gnu", "mipsel-radix-linux-gnu"};
-
-  static const char *const MIPS64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const MIPS64Triples[] = {
-      "mips64-linux-gnu",      "mips-mti-linux-gnu",
-      "mips-img-linux-gnu",    "mips64-linux-gnuabi64",
-      "mipsisa64r6-linux-gnu", "mipsisa64r6-linux-gnuabi64"};
-  static const char *const MIPS64ELLibDirs[] = {"/lib64", "/lib"};
-  static const char *const MIPS64ELTriples[] = {
-      "mips64el-linux-gnu",      "mips-mti-linux-gnu",
-      "mips-img-linux-gnu",      "mips64el-linux-gnuabi64",
-      "mipsisa64r6el-linux-gnu", "mipsisa64r6el-linux-gnuabi64"};
-
-  static const char *const MIPSN32LibDirs[] = {"/lib32"};
-  static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32",
-                                               "mipsisa64r6-linux-gnuabin32"};
-  static const char *const MIPSN32ELLibDirs[] = {"/lib32"};
-  static const char *const MIPSN32ELTriples[] = {
-      "mips64el-linux-gnuabin32", "mipsisa64r6el-linux-gnuabin32"};
-
-  static const char *const MSP430LibDirs[] = {"/lib"};
-  static const char *const MSP430Triples[] = {"msp430-elf"};
-
-  static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
-  static const char *const PPCTriples[] = {
-      "powerpc-linux-gnu",        "powerpc-unknown-linux-gnu", "powerpc-linux-gnuspe",
-      "powerpc-power8-linux-gnu", "ppc-power8-linux-gnu",
-      "powerpc-power9-linux-gnu", "ppc-power9-linux-gnu",
-      "powerpc-radix-linux-gnu",  "ppc-radix-linux-gnu",
-      // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
-      // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
-      "powerpc64-suse-linux", "powerpc-montavista-linuxspe"};
-  static const char *const PPCLELibDirs[] = {"/lib32", "/lib"};
-  static const char *const PPCLETriples[] = {"powerpcle-linux-gnu",
-                                             "powerpcle-unknown-linux-gnu",
-                                             "powerpcle-linux-musl"};
-
-  static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const PPC64Triples[] = {
-      "powerpc64-linux-gnu",        "powerpc64-unknown-linux-gnu",
-      "powerpc64-power8-linux-gnu", "ppc64-power8-linux-gnu",
-      "powerpc64-power9-linux-gnu", "ppc64-power9-linux-gnu",
-      "powerpc64-radix-linux-gnu",  "ppc64-radix-linux-gnu",
-      "powerpc64-suse-linux",       "ppc64-redhat-linux"};
-  static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"};
-  static const char *const PPC64LETriples[] = {
-      "powerpc64le-linux-gnu",        "powerpc64le-unknown-linux-gnu",
-      "powerpc64le-none-linux-gnu",   "powerpc64le-suse-linux",
-      "powerpc64le-power8-linux-gnu", "ppc64le-power8-linux-gnu",
-      "powerpc64le-power9-linux-gnu", "ppc64le-power9-linux-gnu",
-      "powerpc64le-radix-linux-gnu",  "ppc64le-radix-linux-gnu",
-      "ppc64le-redhat-linux"};
-
-  static const char *const RISCV32LibDirs[] = {"/lib32", "/lib"};
-  static const char *const RISCV32Triples[] = {"riscv32-unknown-linux-gnu",
-                                               "riscv32-linux-gnu",
-                                               "riscv32-unknown-elf"};
-  static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
-                                               "riscv64-linux-gnu",
-                                               "riscv64-rv64gc-linux-gnu",
-                                               "riscv64-radix-linux-gnu",
-                                               "riscv64-unknown-elf"};
-
-  static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
-  static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
-                                               "sparcv8-linux-gnu"};
-  static const char *const SPARCv9LibDirs[] = {"/lib64", "/lib"};
-  static const char *const SPARCv9Triples[] = {"sparc64-linux-gnu",
-                                               "sparcv9-linux-gnu"};
-
-  static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
-  static const char *const SystemZTriples[] = {
-      "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
-      "s390x-suse-linux", "s390x-redhat-linux"};
-
-
-  using std::begin;
-  using std::end;
-
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    static const char *const SolarisLibDirs[] = {"/lib"};
-    static const char *const SolarisSparcV8Triples[] = {
-        "sparc-sun-solaris2.11", "sparc-sun-solaris2.12"};
-    static const char *const SolarisSparcV9Triples[] = {
-        "sparcv9-sun-solaris2.11", "sparcv9-sun-solaris2.12"};
-    static const char *const SolarisX86Triples[] = {"i386-pc-solaris2.11",
-                                                    "i386-pc-solaris2.12"};
-    static const char *const SolarisX86_64Triples[] = {"x86_64-pc-solaris2.11",
-                                                       "x86_64-pc-solaris2.12"};
-    LibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
-    BiarchLibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::x86:
-      TripleAliases.append(begin(SolarisX86Triples), end(SolarisX86Triples));
-      BiarchTripleAliases.append(begin(SolarisX86_64Triples),
-                                 end(SolarisX86_64Triples));
-      break;
-    case llvm::Triple::x86_64:
-      TripleAliases.append(begin(SolarisX86_64Triples),
-                           end(SolarisX86_64Triples));
-      BiarchTripleAliases.append(begin(SolarisX86Triples),
-                                 end(SolarisX86Triples));
-      break;
-    case llvm::Triple::sparc:
-      TripleAliases.append(begin(SolarisSparcV8Triples),
-                           end(SolarisSparcV8Triples));
-      BiarchTripleAliases.append(begin(SolarisSparcV9Triples),
-                                 end(SolarisSparcV9Triples));
-      break;
-    case llvm::Triple::sparcv9:
-      TripleAliases.append(begin(SolarisSparcV9Triples),
-                           end(SolarisSparcV9Triples));
-      BiarchTripleAliases.append(begin(SolarisSparcV8Triples),
-                                 end(SolarisSparcV8Triples));
-      break;
-    default:
-      break;
-    }
-    return;
-  }
-
-  // Android targets should not use GNU/Linux tools or libraries.
-  if (TargetTriple.isAndroid()) {
-    static const char *const AArch64AndroidTriples[] = {
-        "aarch64-linux-android"};
-    static const char *const ARMAndroidTriples[] = {"arm-linux-androideabi"};
-    static const char *const MIPSELAndroidTriples[] = {"mipsel-linux-android"};
-    static const char *const MIPS64ELAndroidTriples[] = {
-        "mips64el-linux-android"};
-    static const char *const X86AndroidTriples[] = {"i686-linux-android"};
-    static const char *const X86_64AndroidTriples[] = {"x86_64-linux-android"};
-
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::aarch64:
-      LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-      TripleAliases.append(begin(AArch64AndroidTriples),
-                           end(AArch64AndroidTriples));
-      break;
-    case llvm::Triple::arm:
-    case llvm::Triple::thumb:
-      LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
-      TripleAliases.append(begin(ARMAndroidTriples), end(ARMAndroidTriples));
-      break;
-    case llvm::Triple::mipsel:
-      LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-      TripleAliases.append(begin(MIPSELAndroidTriples),
-                           end(MIPSELAndroidTriples));
-      BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-      BiarchTripleAliases.append(begin(MIPS64ELAndroidTriples),
-                                 end(MIPS64ELAndroidTriples));
-      break;
-    case llvm::Triple::mips64el:
-      LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-      TripleAliases.append(begin(MIPS64ELAndroidTriples),
-                           end(MIPS64ELAndroidTriples));
-      BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-      BiarchTripleAliases.append(begin(MIPSELAndroidTriples),
-                                 end(MIPSELAndroidTriples));
-      break;
-    case llvm::Triple::x86_64:
-      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      TripleAliases.append(begin(X86_64AndroidTriples),
-                           end(X86_64AndroidTriples));
-      BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-      BiarchTripleAliases.append(begin(X86AndroidTriples),
-                                 end(X86AndroidTriples));
-      break;
-    case llvm::Triple::x86:
-      LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-      TripleAliases.append(begin(X86AndroidTriples), end(X86AndroidTriples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64AndroidTriples),
-                                 end(X86_64AndroidTriples));
-      break;
-    default:
-      break;
-    }
-
-    return;
-  }
-
-  switch (TargetTriple.getArch()) {
-  case llvm::Triple::aarch64:
-    LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-    TripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
-    BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-    BiarchTripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
-    break;
-  case llvm::Triple::aarch64_be:
-    LibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
-    TripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
-    BiarchLibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
-    BiarchTripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
-    break;
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-    LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
-    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
-      TripleAliases.append(begin(ARMHFTriples), end(ARMHFTriples));
-    } else {
-      TripleAliases.append(begin(ARMTriples), end(ARMTriples));
-    }
-    break;
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    LibDirs.append(begin(ARMebLibDirs), end(ARMebLibDirs));
-    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
-      TripleAliases.append(begin(ARMebHFTriples), end(ARMebHFTriples));
-    } else {
-      TripleAliases.append(begin(ARMebTriples), end(ARMebTriples));
-    }
-    break;
-  case llvm::Triple::avr:
-    LibDirs.append(begin(AVRLibDirs), end(AVRLibDirs));
-    TripleAliases.append(begin(AVRTriples), end(AVRTriples));
-    break;
-  case llvm::Triple::csky:
-    LibDirs.append(begin(CSKYLibDirs), end(CSKYLibDirs));
-    TripleAliases.append(begin(CSKYTriples), end(CSKYTriples));
-    break;
-  case llvm::Triple::x86_64:
-    if (TargetTriple.isX32()) {
-      LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      TripleAliases.append(begin(X32Triples), end(X32Triples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-    } else {
-      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
-    }
-    BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-    BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
-    break;
-  case llvm::Triple::x86:
-    LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-    // MCU toolchain is 32 bit only and its triple alias is TargetTriple
-    // itself, which will be appended below.
-    if (!TargetTriple.isOSIAMCU()) {
-      TripleAliases.append(begin(X86Triples), end(X86Triples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
-    }
-    break;
-  case llvm::Triple::m68k:
-    LibDirs.append(begin(M68kLibDirs), end(M68kLibDirs));
-    TripleAliases.append(begin(M68kTriples), end(M68kTriples));
-    break;
-  case llvm::Triple::mips:
-    LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
-    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
-    BiarchTripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
-    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
-    break;
-  case llvm::Triple::mipsel:
-    LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-    TripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
-    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
-    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
-    break;
-  case llvm::Triple::mips64:
-    LibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
-    TripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
-    BiarchLibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
-    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
-    break;
-  case llvm::Triple::mips64el:
-    LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-    TripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
-    BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
-    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
-    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    break;
-  case llvm::Triple::msp430:
-    LibDirs.append(begin(MSP430LibDirs), end(MSP430LibDirs));
-    TripleAliases.append(begin(MSP430Triples), end(MSP430Triples));
-    break;
-  case llvm::Triple::ppc:
-    LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
-    TripleAliases.append(begin(PPCTriples), end(PPCTriples));
-    BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-    BiarchTripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-    break;
-  case llvm::Triple::ppcle:
-    LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-    TripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-    BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-    BiarchTripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-    break;
-  case llvm::Triple::ppc64:
-    LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-    TripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-    BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
-    BiarchTripleAliases.append(begin(PPCTriples), end(PPCTriples));
-    break;
-  case llvm::Triple::ppc64le:
-    LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-    TripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-    BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-    BiarchTripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-    break;
-  case llvm::Triple::riscv32:
-    LibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
-    TripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
-    BiarchLibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
-    BiarchTripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
-    break;
-  case llvm::Triple::riscv64:
-    LibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
-    TripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
-    BiarchLibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
-    BiarchTripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
-    break;
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-    LibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
-    TripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
-    BiarchLibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
-    BiarchTripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
-    break;
-  case llvm::Triple::sparcv9:
-    LibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
-    TripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
-    BiarchLibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
-    BiarchTripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
-    break;
-  case llvm::Triple::systemz:
-    LibDirs.append(begin(SystemZLibDirs), end(SystemZLibDirs));
-    TripleAliases.append(begin(SystemZTriples), end(SystemZTriples));
-    break;
-  default:
-    // By default, just rely on the standard lib directories and the original
-    // triple.
-    break;
-  }
-
-  // Always append the drivers target triple to the end, in case it doesn't
-  // match any of our aliases.
-  TripleAliases.push_back(TargetTriple.str());
-
-  // Also include the multiarch variant if it's different.
-  if (TargetTriple.str() != BiarchTriple.str())
-    BiarchTripleAliases.push_back(BiarchTriple.str());
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGCCForMultilibs(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    StringRef Path, bool NeedsBiarchSuffix) {
-  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
-  DetectedMultilibs Detected;
-
-  // Android standalone toolchain could have multilibs for ARM and Thumb.
-  // Debian mips multilibs behave more like the rest of the biarch ones,
-  // so handle them there
-  if (isArmOrThumbArch(TargetArch) && TargetTriple.isAndroid()) {
-    // It should also work without multilibs in a simplified toolchain.
-    findAndroidArmMultilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (TargetTriple.isCSKY()) {
-    findCSKYMultilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (TargetTriple.isMIPS()) {
-    if (!findMIPSMultilibs(D, TargetTriple, Path, Args, Detected))
-      return false;
-  } else if (TargetTriple.isRISCV()) {
-    findRISCVMultilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (isMSP430(TargetArch)) {
-    findMSP430Multilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (TargetArch == llvm::Triple::avr) {
-    // AVR has no multilibs.
-  } else if (!findBiarchMultilibs(D, TargetTriple, Path, Args,
-                                  NeedsBiarchSuffix, Detected)) {
-    return false;
-  }
-
-  Multilibs = Detected.Multilibs;
-  SelectedMultilib = Detected.SelectedMultilib;
-  BiarchSibling = Detected.BiarchSibling;
-
-  return true;
-}
-
-void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    const std::string &LibDir, StringRef CandidateTriple,
-    bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
-  // Locations relative to the system lib directory where GCC's triple-specific
-  // directories might reside.
-  struct GCCLibSuffix {
-    // Path from system lib directory to GCC triple-specific directory.
-    std::string LibSuffix;
-    // Path from GCC triple-specific directory back to system lib directory.
-    // This is one '..' component per component in LibSuffix.
-    StringRef ReversePath;
-    // Whether this library suffix is relevant for the triple.
-    bool Active;
-  } Suffixes[] = {
-      // This is the normal place.
-      {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists},
-
-      // Debian puts cross-compilers in gcc-cross.
-      {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists},
-
-      // The Freescale PPC SDK has the gcc libraries in
-      // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do
-      // this on Freescale triples, though, since some systems put a *lot* of
-      // files in that location, not just GCC installation data.
-      {CandidateTriple.str(), "..",
-       TargetTriple.getVendor() == llvm::Triple::Freescale ||
-           TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
-
-  for (auto &Suffix : Suffixes) {
-    if (!Suffix.Active)
-      continue;
-
-    StringRef LibSuffix = Suffix.LibSuffix;
-    std::error_code EC;
-    for (llvm::vfs::directory_iterator
-             LI = D.getVFS().dir_begin(LibDir + "/" + LibSuffix, EC),
-             LE;
-         !EC && LI != LE; LI = LI.increment(EC)) {
-      StringRef VersionText = llvm::sys::path::filename(LI->path());
-      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
-      if (CandidateVersion.Major != -1) // Filter obviously bad entries.
-        if (!CandidateGCCInstallPaths.insert(std::string(LI->path())).second)
-          continue; // Saw this path before; no need to look at it again.
-      if (CandidateVersion.isOlderThan(4, 1, 1))
-        continue;
-      if (CandidateVersion <= Version)
-        continue;
-
-      if (!ScanGCCForMultilibs(TargetTriple, Args, LI->path(),
-                               NeedsBiarchSuffix))
-        continue;
-
-      Version = CandidateVersion;
-      GCCTriple.setTriple(CandidateTriple);
-      // FIXME: We hack together the directory name here instead of
-      // using LI to ensure stable path separators across Windows and
-      // Linux.
-      GCCInstallPath = (LibDir + "/" + LibSuffix + "/" + VersionText).str();
-      GCCParentLibPath = (GCCInstallPath + "/../" + Suffix.ReversePath).str();
-      IsValid = true;
-    }
-  }
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGentooConfigs(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    const SmallVectorImpl<StringRef> &CandidateTriples,
-    const SmallVectorImpl<StringRef> &CandidateBiarchTriples) {
-  if (!D.getVFS().exists(concat(D.SysRoot, GentooConfigDir)))
-    return false;
-
-  for (StringRef CandidateTriple : CandidateTriples) {
-    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple))
-      return true;
-  }
-
-  for (StringRef CandidateTriple : CandidateBiarchTriples) {
-    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple, true))
-      return true;
-  }
-  return false;
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGentooGccConfig(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    StringRef CandidateTriple, bool NeedsBiarchSuffix) {
-  llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
-      D.getVFS().getBufferForFile(concat(D.SysRoot, GentooConfigDir,
-                                         "/config-" + CandidateTriple.str()));
-  if (File) {
-    SmallVector<StringRef, 2> Lines;
-    File.get()->getBuffer().split(Lines, "\n");
-    for (StringRef Line : Lines) {
-      Line = Line.trim();
-      // CURRENT=triple-version
-      if (!Line.consume_front("CURRENT="))
-        continue;
-      // Process the config file pointed to by CURRENT.
-      llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> ConfigFile =
-          D.getVFS().getBufferForFile(
-              concat(D.SysRoot, GentooConfigDir, "/" + Line));
-      std::pair<StringRef, StringRef> ActiveVersion = Line.rsplit('-');
-      // List of paths to scan for libraries.
-      SmallVector<StringRef, 4> GentooScanPaths;
-      // Scan the Config file to find installed GCC libraries path.
-      // Typical content of the GCC config file:
-      // LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x:/usr/lib/gcc/
-      // (continued from previous line) x86_64-pc-linux-gnu/4.9.x/32"
-      // MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/man"
-      // INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/info"
-      // STDCXX_INCDIR="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x/include/g++-v4"
-      // We are looking for the paths listed in LDPATH=... .
-      if (ConfigFile) {
-        SmallVector<StringRef, 2> ConfigLines;
-        ConfigFile.get()->getBuffer().split(ConfigLines, "\n");
-        for (StringRef ConfLine : ConfigLines) {
-          ConfLine = ConfLine.trim();
-          if (ConfLine.consume_front("LDPATH=")) {
-            // Drop '"' from front and back if present.
-            ConfLine.consume_back("\"");
-            ConfLine.consume_front("\"");
-            // Get all paths sperated by ':'
-            ConfLine.split(GentooScanPaths, ':', -1, /*AllowEmpty*/ false);
-          }
-        }
-      }
-      // Test the path based on the version in /etc/env.d/gcc/config-{tuple}.
-      std::string basePath = "/usr/lib/gcc/" + ActiveVersion.first.str() + "/"
-          + ActiveVersion.second.str();
-      GentooScanPaths.push_back(StringRef(basePath));
-
-      // Scan all paths for GCC libraries.
-      for (const auto &GentooScanPath : GentooScanPaths) {
-        std::string GentooPath = concat(D.SysRoot, GentooScanPath);
-        if (D.getVFS().exists(GentooPath + "/crtbegin.o")) {
-          if (!ScanGCCForMultilibs(TargetTriple, Args, GentooPath,
-                                   NeedsBiarchSuffix))
-            continue;
-
-          Version = GCCVersion::Parse(ActiveVersion.second);
-          GCCInstallPath = GentooPath;
-          GCCParentLibPath = GentooPath + std::string("/../../..");
-          GCCTriple.setTriple(ActiveVersion.first);
-          IsValid = true;
-          return true;
-        }
-      }
-    }
-  }
-
-  return false;
-}
-
-Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple,
-                         const ArgList &Args)
-    : ToolChain(D, Triple, Args), GCCInstallation(D),
-      CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {
-  getProgramPaths().push_back(getDriver().getInstalledDir());
-  if (getDriver().getInstalledDir() != getDriver().Dir)
-    getProgramPaths().push_back(getDriver().Dir);
-}
-
-Generic_GCC::~Generic_GCC() {}
-
-Tool *Generic_GCC::getTool(Action::ActionClass AC) const {
-  switch (AC) {
-  case Action::PreprocessJobClass:
-    if (!Preprocess)
-      Preprocess.reset(new clang::driver::tools::gcc::Preprocessor(*this));
-    return Preprocess.get();
-  case Action::CompileJobClass:
-    if (!Compile)
-      Compile.reset(new tools::gcc::Compiler(*this));
-    return Compile.get();
-  default:
-    return ToolChain::getTool(AC);
-  }
-}
-
-Tool *Generic_GCC::buildAssembler() const {
-  return new tools::gnutools::Assembler(*this);
-}
-
-Tool *Generic_GCC::buildLinker() const { return new tools::gcc::Linker(*this); }
-
-void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
-  // Print the information about how we detected the GCC installation.
-  GCCInstallation.print(OS);
-  CudaInstallation.print(OS);
-  RocmInstallation.print(OS);
-}
-
-bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
-  switch (getArch()) {
-  case llvm::Triple::aarch64:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-  case llvm::Triple::x86:
-  case llvm::Triple::x86_64:
-    return true;
-  default:
-    return false;
-  }
-}
-
-bool Generic_GCC::isPICDefault() const {
-  switch (getArch()) {
-  case llvm::Triple::x86_64:
-    return getTriple().isOSWindows();
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el:
-    return true;
-  default:
-    return false;
-  }
-}
-
-bool Generic_GCC::isPIEDefault(const llvm::opt::ArgList &Args) const {
-  return false;
-}
-
-bool Generic_GCC::isPICDefaultForced() const {
-  return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows();
-}
-
-bool Generic_GCC::IsIntegratedAssemblerDefault() const {
-  switch (getTriple().getArch()) {
-  case llvm::Triple::aarch64:
-  case llvm::Triple::aarch64_be:
-  case llvm::Triple::arm:
-  case llvm::Triple::armeb:
-  case llvm::Triple::avr:
-  case llvm::Triple::bpfel:
-  case llvm::Triple::bpfeb:
-  case llvm::Triple::csky:
-  case llvm::Triple::hexagon:
-  case llvm::Triple::lanai:
-  case llvm::Triple::m68k:
-  case llvm::Triple::mips:
-  case llvm::Triple::mipsel:
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el:
-  case llvm::Triple::msp430:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-  case llvm::Triple::riscv32:
-  case llvm::Triple::riscv64:
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-  case llvm::Triple::sparcv9:
-  case llvm::Triple::systemz:
-  case llvm::Triple::thumb:
-  case llvm::Triple::thumbeb:
-  case llvm::Triple::ve:
-  case llvm::Triple::x86:
-  case llvm::Triple::x86_64:
-    return true;
-  default:
-    return false;
-  }
-}
-
-void Generic_GCC::PushPPaths(ToolChain::path_list &PPaths) {
-  // Cross-compiling binutils and GCC installations (vanilla and openSUSE at
-  // least) put various tools in a triple-prefixed directory off of the parent
-  // of the GCC installation. We use the GCC triple here to ensure that we end
-  // up with tools that support the same amount of cross compiling as the
-  // detected GCC installation. For example, if we find a GCC installation
-  // targeting x86_64, but it is a bi-arch GCC installation, it can also be
-  // used to target i386.
-  if (GCCInstallation.isValid()) {
-    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
-                           GCCInstallation.getTriple().str() + "/bin")
-                         .str());
-  }
-}
-
-void Generic_GCC::AddMultilibPaths(const Driver &D,
-                                   const std::string &SysRoot,
-                                   const std::string &OSLibDir,
-                                   const std::string &MultiarchTriple,
-                                   path_list &Paths) {
-  // Add the multilib suffixed paths where they are available.
-  if (GCCInstallation.isValid()) {
-    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-    const std::string &LibPath =
-        std::string(GCCInstallation.getParentLibPath());
-
-    // Sourcery CodeBench MIPS toolchain holds some libraries under
-    // a biarch-like suffix of the GCC installation.
-    if (const auto &PathsCallback = Multilibs.filePathsCallback())
-      for (const auto &Path : PathsCallback(SelectedMultilib))
-        addPathIfExists(D, GCCInstallation.getInstallPath() + Path, Paths);
-
-    // Add lib/gcc/$triple/$version, with an optional /multilib suffix.
-    addPathIfExists(
-        D, GCCInstallation.getInstallPath() + SelectedMultilib.gccSuffix(),
-        Paths);
-
-    // Add lib/gcc/$triple/$libdir
-    // For GCC built with --enable-version-specific-runtime-libs.
-    addPathIfExists(D, GCCInstallation.getInstallPath() + "/../" + OSLibDir,
-                    Paths);
-
-    // GCC cross compiling toolchains will install target libraries which ship
-    // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
-    // any part of the GCC installation in
-    // <prefix>/<libdir>/gcc/<triple>/<version>. This decision is somewhat
-    // debatable, but is the reality today. We need to search this tree even
-    // when we have a sysroot somewhere else. It is the responsibility of
-    // whomever is doing the cross build targeting a sysroot using a GCC
-    // installation that is *not* within the system root to ensure two things:
-    //
-    //  1) Any DSOs that are linked in from this tree or from the install path
-    //     above must be present on the system root and found via an
-    //     appropriate rpath.
-    //  2) There must not be libraries installed into
-    //     <prefix>/<triple>/<libdir> unless they should be preferred over
-    //     those within the system root.
-    //
-    // Note that this matches the GCC behavior. See the below comment for where
-    // Clang diverges from GCC's behavior.
-    addPathIfExists(D,
-                    LibPath + "/../" + GCCTriple.str() + "/lib/../" + OSLibDir +
-                        SelectedMultilib.osSuffix(),
-                    Paths);
-
-    // If the GCC installation we found is inside of the sysroot, we want to
-    // prefer libraries installed in the parent prefix of the GCC installation.
-    // It is important to *not* use these paths when the GCC installation is
-    // outside of the system root as that can pick up unintended libraries.
-    // This usually happens when there is an external cross compiler on the
-    // host system, and a more minimal sysroot available that is the target of
-    // the cross. Note that GCC does include some of these directories in some
-    // configurations but this seems somewhere between questionable and simply
-    // a bug.
-    if (StringRef(LibPath).startswith(SysRoot))
-      addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
-  }
-}
-
-void Generic_GCC::AddMultiarchPaths(const Driver &D,
-                                    const std::string &SysRoot,
-                                    const std::string &OSLibDir,
-                                    path_list &Paths) {
-  if (GCCInstallation.isValid()) {
-    const std::string &LibPath =
-        std::string(GCCInstallation.getParentLibPath());
-    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-    const Multilib &Multilib = GCCInstallation.getMultilib();
-    addPathIfExists(
-        D, LibPath + "/../" + GCCTriple.str() + "/lib" + Multilib.osSuffix(),
-                    Paths);
-  }
-}
-
-void Generic_GCC::AddMultilibIncludeArgs(const ArgList &DriverArgs,
-                                         ArgStringList &CC1Args) const {
-  // Add include directories specific to the selected multilib set and multilib.
-  if (!GCCInstallation.isValid())
-    return;
-  // gcc TOOL_INCLUDE_DIR.
-  const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-  std::string LibPath(GCCInstallation.getParentLibPath());
-  addSystemInclude(DriverArgs, CC1Args,
-                   Twine(LibPath) + "/../" + GCCTriple.str() + "/include");
-
-  const auto &Callback = Multilibs.includeDirsCallback();
-  if (Callback) {
-    for (const auto &Path : Callback(GCCInstallation.getMultilib()))
-      addExternCSystemIncludeIfExists(DriverArgs, CC1Args,
-                                      GCCInstallation.getInstallPath() + Path);
-  }
-}
-
-void Generic_GCC::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
-                                               ArgStringList &CC1Args) const {
-  if (DriverArgs.hasArg(options::OPT_nostdinc, options::OPT_nostdincxx,
-                        options::OPT_nostdlibinc))
-    return;
-
-  switch (GetCXXStdlibType(DriverArgs)) {
-  case ToolChain::CST_Libcxx:
-    addLibCxxIncludePaths(DriverArgs, CC1Args);
-    break;
-
-  case ToolChain::CST_Libstdcxx:
-    addLibStdCxxIncludePaths(DriverArgs, CC1Args);
-    break;
-  }
-}
-
-void
-Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
-                                   llvm::opt::ArgStringList &CC1Args) const {
-  const Driver &D = getDriver();
-  std::string SysRoot = computeSysRoot();
-  std::string Target = getTripleString();
-
-  auto AddIncludePath = [&](std::string Path) {
-    std::string Version = detectLibcxxVersion(Path);
-    if (Version.empty())
-      return false;
-
-    // First add the per-target include path if it exists.
-    std::string TargetDir = Path + "/" + Target + "/c++/" + Version;
-    if (D.getVFS().exists(TargetDir))
-      addSystemInclude(DriverArgs, CC1Args, TargetDir);
-
-    // Second add the generic one.
-    addSystemInclude(DriverArgs, CC1Args, Path + "/c++/" + Version);
-    return true;
-  };
-
-  // Android never uses the libc++ headers installed alongside the toolchain,
-  // which are generally incompatible with the NDK libraries anyway.
-  if (!getTriple().isAndroid())
-    if (AddIncludePath(getDriver().Dir + "/../include"))
-      return;
-  // If this is a development, non-installed, clang, libcxx will
-  // not be found at ../include/c++ but it likely to be found at
-  // one of the following two locations:
-  if (AddIncludePath(concat(SysRoot, "/usr/local/include")))
-    return;
-  if (AddIncludePath(concat(SysRoot, "/usr/include")))
-    return;
-}
-
-bool Generic_GCC::addLibStdCXXIncludePaths(Twine IncludeDir, StringRef Triple,
-                                           Twine IncludeSuffix,
-                                           const llvm::opt::ArgList &DriverArgs,
-                                           llvm::opt::ArgStringList &CC1Args,
-                                           bool DetectDebian) const {
-  if (!getVFS().exists(IncludeDir))
-    return false;
-
-  // Debian native gcc uses g++-multiarch-incdir.diff which uses
-  // include/x86_64-linux-gnu/c++/10$IncludeSuffix instead of
-  // include/c++/10/x86_64-linux-gnu$IncludeSuffix.
-  std::string Dir = IncludeDir.str();
-  StringRef Include =
-      llvm::sys::path::parent_path(llvm::sys::path::parent_path(Dir));
-  std::string Path =
-      (Include + "/" + Triple + Dir.substr(Include.size()) + IncludeSuffix)
-          .str();
-  if (DetectDebian && !getVFS().exists(Path))
-    return false;
-
-  // GPLUSPLUS_INCLUDE_DIR
-  addSystemInclude(DriverArgs, CC1Args, IncludeDir);
-  // GPLUSPLUS_TOOL_INCLUDE_DIR. If Triple is not empty, add a target-dependent
-  // include directory.
-  if (DetectDebian)
-    addSystemInclude(DriverArgs, CC1Args, Path);
-  else if (!Triple.empty())
-    addSystemInclude(DriverArgs, CC1Args,
-                     IncludeDir + "/" + Triple + IncludeSuffix);
-  // GPLUSPLUS_BACKWARD_INCLUDE_DIR
-  addSystemInclude(DriverArgs, CC1Args, IncludeDir + "/backward");
-  return true;
-}
-
-bool Generic_GCC::addGCCLibStdCxxIncludePaths(
-    const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
-    StringRef DebianMultiarch) const {
-  assert(GCCInstallation.isValid());
-
-  // By default, look for the C++ headers in an include directory adjacent to
-  // the lib directory of the GCC installation. Note that this is expect to be
-  // equivalent to '/usr/include/c++/X.Y' in almost all cases.
-  StringRef LibDir = GCCInstallation.getParentLibPath();
-  StringRef InstallDir = GCCInstallation.getInstallPath();
-  StringRef TripleStr = GCCInstallation.getTriple().str();
-  const Multilib &Multilib = GCCInstallation.getMultilib();
-  const GCCVersion &Version = GCCInstallation.getVersion();
-
-  // Try /../$triple/include/c++/$version (gcc --print-multiarch is not empty).
-  if (addLibStdCXXIncludePaths(
-          LibDir.str() + "/../" + TripleStr + "/include/c++/" + Version.Text,
-          TripleStr, Multilib.includeSuffix(), DriverArgs, CC1Args))
-    return true;
-
-  // Try /gcc/$triple/$version/include/c++/ (gcc --print-multiarch is not
-  // empty). Like above but for GCC built with
-  // --enable-version-specific-runtime-libs.
-  if (addLibStdCXXIncludePaths(LibDir.str() + "/gcc/" + TripleStr + "/" +
-                                   Version.Text + "/include/c++/",
-                               TripleStr, Multilib.includeSuffix(), DriverArgs,
-                               CC1Args))
-    return true;
-
-  // Detect Debian g++-multiarch-incdir.diff.
-  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
-                               DebianMultiarch, Multilib.includeSuffix(),
-                               DriverArgs, CC1Args, /*Debian=*/true))
-    return true;
-
-  // Try /../include/c++/$version (gcc --print-multiarch is empty).
-  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
-                               TripleStr, Multilib.includeSuffix(), DriverArgs,
-                               CC1Args))
-    return true;
-
-  // Otherwise, fall back on a bunch of options which don't use multiarch
-  // layouts for simplicity.
-  const std::string LibStdCXXIncludePathCandidates[] = {
-      // Gentoo is weird and places its headers inside the GCC install,
-      // so if the first attempt to find the headers fails, try these patterns.
-      InstallDir.str() + "/include/g++-v" + Version.Text,
-      InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
-          Version.MinorStr,
-      InstallDir.str() + "/include/g++-v" + Version.MajorStr,
-  };
-
-  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
-    if (addLibStdCXXIncludePaths(IncludePath, TripleStr,
-                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
-      return true;
-  }
-  return false;
-}
-
-void
-Generic_GCC::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
-                                      llvm::opt::ArgStringList &CC1Args) const {
-  if (GCCInstallation.isValid()) {
-    addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
-                                GCCInstallation.getTriple().str());
-  }
-}
-
-llvm::opt::DerivedArgList *
-Generic_GCC::TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef,
-                           Action::OffloadKind DeviceOffloadKind) const {
-
-  // If this tool chain is used for an OpenMP offloading device we have to make
-  // sure we always generate a shared library regardless of the commands the
-  // user passed to the host. This is required because the runtime library
-  // is required to load the device image dynamically at run time.
-  if (DeviceOffloadKind == Action::OFK_OpenMP) {
-    DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
-    const OptTable &Opts = getDriver().getOpts();
-
-    // Request the shared library. Given that these options are decided
-    // implicitly, they do not refer to any base argument.
-    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_shared));
-    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_fPIC));
-
-    // Filter all the arguments we don't care passing to the offloading
-    // toolchain as they can mess up with the creation of a shared library.
-    for (auto *A : Args) {
-      switch ((options::ID)A->getOption().getID()) {
-      default:
-        DAL->append(A);
-        break;
-      case options::OPT_shared:
-      case options::OPT_dynamic:
-      case options::OPT_static:
-      case options::OPT_fPIC:
-      case options::OPT_fno_PIC:
-      case options::OPT_fpic:
-      case options::OPT_fno_pic:
-      case options::OPT_fPIE:
-      case options::OPT_fno_PIE:
-      case options::OPT_fpie:
-      case options::OPT_fno_pie:
-        break;
-      }
-    }
-    return DAL;
-  }
-  return nullptr;
-}
-
-void Generic_ELF::anchor() {}
-
-void Generic_ELF::addClangTargetOptions(const ArgList &DriverArgs,
-                                        ArgStringList &CC1Args,
-                                        Action::OffloadKind) const {
-  if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
-                          options::OPT_fno_use_init_array, true))
-    CC1Args.push_back("-fno-use-init-array");
-}
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver/ToolChains
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib/Driver
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-gnu-triple.patch
-
-mv llvm-$VERSION-clang-gnu-triple.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-gnu-triple-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-13.0.0/lldb/source/API/CMakeLists.txt
-llvm-13.0.0/lldb/tools/lldb-server/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-riscv64.patch
-
-mv llvm-$VERSION-lldb-riscv64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API/CMakeLists.txt	(nonexistent)
@@ -1,220 +0,0 @@
-if ( CMAKE_SYSTEM_NAME MATCHES "Windows" )
-  add_definitions( -DEXPORT_LIBLLDB )
-endif()
-
-get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
-
-if(LLDB_BUILD_FRAMEWORK)
-  set(option_install_prefix INSTALL_PREFIX ${LLDB_FRAMEWORK_INSTALL_DIR})
-  set(option_framework FRAMEWORK)
-endif()
-
-if(LLDB_ENABLE_PYTHON)
-  get_target_property(python_bindings_dir swig_wrapper_python BINARY_DIR)
-  set(lldb_python_wrapper ${python_bindings_dir}/LLDBWrapPython.cpp)
-endif()
-
-if(LLDB_ENABLE_LUA)
-  get_target_property(lua_bindings_dir swig_wrapper_lua BINARY_DIR)
-  set(lldb_lua_wrapper ${lua_bindings_dir}/LLDBWrapLua.cpp)
-endif()
-
-add_lldb_library(liblldb SHARED ${option_framework}
-  SBAddress.cpp
-  SBAttachInfo.cpp
-  SBBlock.cpp
-  SBBreakpoint.cpp
-  SBBreakpointLocation.cpp
-  SBBreakpointName.cpp
-  SBBreakpointOptionCommon.cpp
-  SBBroadcaster.cpp
-  SBCommandInterpreter.cpp
-  SBCommandInterpreterRunOptions.cpp
-  SBCommandReturnObject.cpp
-  SBCommunication.cpp
-  SBCompileUnit.cpp
-  SBData.cpp
-  SBDebugger.cpp
-  SBDeclaration.cpp
-  SBEnvironment.cpp
-  SBError.cpp
-  SBEvent.cpp
-  SBExecutionContext.cpp
-  SBExpressionOptions.cpp
-  SBFileSpec.cpp
-  SBFile.cpp
-  SBFileSpecList.cpp
-  SBFrame.cpp
-  SBFunction.cpp
-  SBHostOS.cpp
-  SBInstruction.cpp
-  SBInstructionList.cpp
-  SBLanguageRuntime.cpp
-  SBLaunchInfo.cpp
-  SBLineEntry.cpp
-  SBListener.cpp
-  SBMemoryRegionInfo.cpp
-  SBMemoryRegionInfoList.cpp
-  SBModule.cpp
-  SBModuleSpec.cpp
-  SBPlatform.cpp
-  SBProcess.cpp
-  SBProcessInfo.cpp
-  SBQueue.cpp
-  SBQueueItem.cpp
-  SBReproducer.cpp
-  SBSection.cpp
-  SBSourceManager.cpp
-  SBStream.cpp
-  SBStringList.cpp
-  SBStructuredData.cpp
-  SBSymbol.cpp
-  SBSymbolContext.cpp
-  SBSymbolContextList.cpp
-  SBTarget.cpp
-  SBThread.cpp
-  SBThreadCollection.cpp
-  SBThreadPlan.cpp
-  SBTrace.cpp
-  SBType.cpp
-  SBTypeCategory.cpp
-  SBTypeEnumMember.cpp
-  SBTypeFilter.cpp
-  SBTypeFormat.cpp
-  SBTypeNameSpecifier.cpp
-  SBTypeSummary.cpp
-  SBTypeSynthetic.cpp
-  SBValue.cpp
-  SBValueList.cpp
-  SBVariablesOptions.cpp
-  SBWatchpoint.cpp
-  SBUnixSignals.cpp
-  SystemInitializerFull.cpp
-  ${lldb_python_wrapper}
-  ${lldb_lua_wrapper}
-
-  LINK_LIBS
-    lldbBase
-    lldbBreakpoint
-    lldbCore
-    lldbDataFormatters
-    lldbExpression
-    lldbHost
-    lldbInitialization
-    lldbInterpreter
-    lldbSymbol
-    lldbTarget
-    lldbUtility
-    ${LLDB_ALL_PLUGINS}
-  LINK_COMPONENTS
-    Support
-
-  ${option_install_prefix}
-)
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(liblldb PRIVATE atomic)
-endif()
-
-# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so,
-# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so
-# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so
-# that _lldb.so can be loaded from Python.
-if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE)
-  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}")
-endif()
-
-if(Python3_RPATH)
-  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}")
-  set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH   "${Python3_RPATH}")
-endif()
-
-
-if(LLDB_ENABLE_PYTHON)
-  add_dependencies(liblldb swig_wrapper_python)
-
-  if (MSVC)
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
-  else()
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
-  endif()
-
-  set_source_files_properties(${lldb_python_wrapper} PROPERTIES GENERATED ON)
-  if (CLANG_CL)
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
-      PROPERTY COMPILE_FLAGS " -Wno-unused-function")
-  endif()
-  if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND
-      NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
-      PROPERTY COMPILE_FLAGS " -Wno-sequence-point -Wno-cast-qual")
-  endif ()
-endif()
-
-if(LLDB_ENABLE_LUA)
-  add_dependencies(liblldb swig_wrapper_lua)
-  target_include_directories(liblldb PRIVATE ${LUA_INCLUDE_DIR})
-
-  if (MSVC)
-    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
-  else()
-    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
-  endif()
-
-  set_source_files_properties(${lldb_lua_wrapper} PROPERTIES GENERATED ON)
-endif()
-
-set_target_properties(liblldb
-  PROPERTIES
-  VERSION ${LLDB_VERSION}
-)
-
-if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
-  if (NOT LLDB_EXPORT_ALL_SYMBOLS)
-    # If we're not exporting all symbols, we'll want to explicitly set
-    # the exported symbols here.  This prevents 'log enable --stack ...'
-    # from working on some systems but limits the liblldb size.
-    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb namespace")
-    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports)
-  else()
-    # Don't use an explicit export.  Instead, tell the linker to
-    # export all symbols.
-    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces")
-    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb-private.exports)
-  endif()
-  set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc")
-endif()
-
-if (NOT MSVC)
-  set_target_properties(liblldb
-    PROPERTIES
-    OUTPUT_NAME lldb
-  )
-endif()
-
-# The Clang expression parser in LLDB requires the Clang resource directory to function.
-if (TARGET clang-resource-headers)
-  # If building alongside Clang, just add a dependency to ensure it is build together with liblldb.
-  add_dependencies(liblldb clang-resource-headers)
-else()
-  # In a standalone build create a symlink from the LLDB library directory that points to the
-  # resource directory in the Clang library directory. LLDB searches relative to its install path,
-  # and the symlink is created in the same relative path as the resource directory of Clang when
-  # building alongside Clang.
-  # When building the LLDB framework, this isn't necessary as there we copy everything we need into
-  # the framework (including the Clang resourece directory).
-  if(NOT LLDB_BUILD_FRAMEWORK)
-    set(LLDB_CLANG_RESOURCE_DIR_PARENT "$<TARGET_FILE_DIR:liblldb>/clang")
-    file(MAKE_DIRECTORY "${LLDB_CLANG_RESOURCE_DIR_PARENT}")
-    add_custom_command(TARGET liblldb POST_BUILD
-      COMMENT "Linking Clang resource dir into LLDB build directory: ${LLDB_CLANG_RESOURCE_DIR_PARENT}"
-      COMMAND ${CMAKE_COMMAND} -E make_directory "${LLDB_CLANG_RESOURCE_DIR_PARENT}"
-      COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}"
-              "${LLDB_CLANG_RESOURCE_DIR_PARENT}/${LLDB_CLANG_RESOURCE_DIR_NAME}"
-    )
-  endif()
-endif()
-
-if(LLDB_BUILD_FRAMEWORK)
-  include(LLDBFramework)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source/API
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/source
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server/CMakeLists.txt	(nonexistent)
@@ -1,72 +0,0 @@
-set(LLVM_TARGET_DEFINITIONS LLGSOptions.td)
-tablegen(LLVM LLGSOptions.inc -gen-opt-parser-defs)
-add_public_tablegen_target(LLGSOptionsTableGen)
-set_target_properties(LLGSOptionsTableGen PROPERTIES FOLDER "lldb misc")
-
-set(LLDB_PLUGINS)
-
-if(CMAKE_SYSTEM_NAME MATCHES "Linux|Android")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessLinux)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessFreeBSD)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessNetBSD)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFileMachO)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFilePECOFF)
-else()
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFileELF)
-endif()
-
-if(APPLE_EMBEDDED)
-  if(LLDB_CODESIGN_IDENTITY)
-    # Use explicit LLDB identity
-    set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
-  else()
-    # Use explicit LLVM identity or default to lldb_codesign if empty
-    if(NOT LLVM_CODESIGNING_IDENTITY)
-      set(LLVM_CODESIGNING_IDENTITY lldb_codesign)
-    endif()
-  endif()
-endif()
-
-add_lldb_tool(lldb-server
-    Acceptor.cpp
-    lldb-gdbserver.cpp
-    lldb-platform.cpp
-    lldb-server.cpp
-    LLDBServerUtilities.cpp
-    SystemInitializerLLGS.cpp
-
-    LINK_LIBS
-      lldbBase
-      lldbHost
-      lldbInitialization
-      ${LLDB_PLUGINS}
-      lldbPluginInstructionARM
-      lldbPluginInstructionMIPS
-      lldbPluginInstructionMIPS64
-      ${LLDB_SYSTEM_LIBS}
-
-    LINK_COMPONENTS
-      Option
-      Support
-)
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(lldb-server PRIVATE atomic)
-endif()
-
-add_dependencies(lldb-server
-  LLGSOptionsTableGen
-  ${tablegen_deps}
-)
-target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
-target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools/lldb-server
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new/lldb
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-riscv64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/clang-tools-extra/clangd/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clangd-riscv64.patch
-
-mv llvm-$VERSION-clangd-riscv64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd/CMakeLists.txt	(nonexistent)
@@ -1,208 +0,0 @@
-# This is a no-op for building files in this dir, but is inherited by subdirs.
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-add_subdirectory(support)
-
-# Configure the Features.inc file.
-if (NOT DEFINED CLANGD_BUILD_XPC)
-  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-    set(CLANGD_BUILD_XPC_DEFAULT ON)
-  else ()
-    set(CLANGD_BUILD_XPC_DEFAULT OFF)
-  endif ()
-
-  llvm_canonicalize_cmake_booleans(CLANGD_BUILD_XPC_DEFAULT)
-
-  set(CLANGD_BUILD_XPC ${CLANGD_BUILD_XPC_DEFAULT} CACHE BOOL "Build XPC Support For Clangd." FORCE)
-  unset(CLANGD_BUILD_XPC_DEFAULT)
-endif ()
-
-option(CLANGD_MALLOC_TRIM "Call malloc_trim(3) periodically in Clangd. (only takes effect when using glibc)" ON)
-# -DCLANG_TIDY_CHECKS=Off avoids a dependency on clang-tidy, reducing rebuilds.
-option(CLANGD_TIDY_CHECKS "Link all clang-tidy checks into clangd" ON)
-
-llvm_canonicalize_cmake_booleans(
-  CLANGD_BUILD_XPC
-  CLANGD_ENABLE_REMOTE
-  ENABLE_GRPC_REFLECTION
-  CLANGD_MALLOC_TRIM
-  CLANGD_TIDY_CHECKS
-  LLVM_ENABLE_ZLIB
-)
-
-configure_file(
-  ${CMAKE_CURRENT_SOURCE_DIR}/Features.inc.in
-  ${CMAKE_CURRENT_BINARY_DIR}/Features.inc
-)
-
-set(LLVM_LINK_COMPONENTS
-  Support
-  AllTargetsInfos
-  FrontendOpenMP
-  Option
-  )
-
-include(${CMAKE_CURRENT_SOURCE_DIR}/quality/CompletionModel.cmake)
-gen_decision_forest(${CMAKE_CURRENT_SOURCE_DIR}/quality/model CompletionModel clang::clangd::Example)
-
-if(MSVC AND NOT CLANG_CL)
- set_source_files_properties(CompileCommands.cpp PROPERTIES COMPILE_FLAGS -wd4130) # disables C4130: logical operation on address of string constant
-endif()
-
-include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}/../clang-tidy")
-
-add_clang_library(clangDaemon
-  AST.cpp
-  ASTSignals.cpp
-  ClangdLSPServer.cpp
-  ClangdServer.cpp
-  CodeComplete.cpp
-  CodeCompletionStrings.cpp
-  CollectMacros.cpp
-  CompileCommands.cpp
-  Compiler.cpp
-  Config.cpp
-  ConfigCompile.cpp
-  ConfigProvider.cpp
-  ConfigYAML.cpp
-  Diagnostics.cpp
-  DraftStore.cpp
-  DumpAST.cpp
-  ExpectedTypes.cpp
-  FeatureModule.cpp
-  Features.cpp
-  FindSymbols.cpp
-  FindTarget.cpp
-  FileDistance.cpp
-  Format.cpp
-  FS.cpp
-  FuzzyMatch.cpp
-  GlobalCompilationDatabase.cpp
-  Headers.cpp
-  HeaderSourceSwitch.cpp
-  HeuristicResolver.cpp
-  Hover.cpp
-  IncludeFixer.cpp
-  InlayHints.cpp
-  JSONTransport.cpp
-  PathMapping.cpp
-  Protocol.cpp
-  Quality.cpp
-  ParsedAST.cpp
-  Preamble.cpp
-  RIFF.cpp
-  Selection.cpp
-  SemanticHighlighting.cpp
-  SemanticSelection.cpp
-  SourceCode.cpp
-  QueryDriverDatabase.cpp
-  TidyProvider.cpp
-  TUScheduler.cpp
-  URI.cpp
-  XRefs.cpp
-  ${CMAKE_CURRENT_BINARY_DIR}/CompletionModel.cpp
-
-  index/Background.cpp
-  index/BackgroundIndexLoader.cpp
-  index/BackgroundIndexStorage.cpp
-  index/BackgroundQueue.cpp
-  index/BackgroundRebuild.cpp
-  index/CanonicalIncludes.cpp
-  index/FileIndex.cpp
-  index/Index.cpp
-  index/IndexAction.cpp
-  index/MemIndex.cpp
-  index/Merge.cpp
-  index/ProjectAware.cpp
-  index/Ref.cpp
-  index/Relation.cpp
-  index/Serialization.cpp
-  index/Symbol.cpp
-  index/SymbolCollector.cpp
-  index/SymbolID.cpp
-  index/SymbolLocation.cpp
-  index/SymbolOrigin.cpp
-  index/YAMLSerialization.cpp
-
-  index/dex/Dex.cpp
-  index/dex/Iterator.cpp
-  index/dex/PostingList.cpp
-  index/dex/Trigram.cpp
-
-  refactor/Rename.cpp
-  refactor/Tweak.cpp
-
-  DEPENDS
-  omp_gen
-  )
-
-# Include generated CompletionModel headers.
-target_include_directories(clangDaemon PUBLIC
-  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
-)
-
-clang_target_link_libraries(clangDaemon
-  PRIVATE
-  clangAST
-  clangASTMatchers
-  clangBasic
-  clangDriver
-  clangFormat
-  clangFrontend
-  clangIndex
-  clangLex
-  clangSema
-  clangSerialization
-  clangTooling
-  clangToolingCore
-  clangToolingInclusions
-  clangToolingSyntax
-  )
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(clangDaemon PRIVATE atomic)
-endif()
-
-target_link_libraries(clangDaemon
-  PRIVATE
-  ${LLVM_PTHREAD_LIB}
-
-  clangTidy
-
-  clangdSupport
-  )
-if(CLANGD_TIDY_CHECKS)
-  target_link_libraries(clangDaemon PRIVATE ${ALL_CLANG_TIDY_CHECKS})
-endif()
-
-add_subdirectory(refactor/tweaks)
-if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-  # FIXME: Make fuzzer not use linux-specific APIs, build it everywhere.
-  add_subdirectory(fuzzer)
-endif()
-add_subdirectory(tool)
-add_subdirectory(indexer)
-
-if (LLVM_INCLUDE_BENCHMARKS)
-  add_subdirectory(benchmarks)
-endif()
-if ( CLANGD_BUILD_XPC )
-  add_subdirectory(xpc)
-endif ()
-
-if (CLANGD_ENABLE_REMOTE)
-  include(FindGRPC)
-endif()
-
-if(CLANG_INCLUDE_TESTS)
-  add_subdirectory(test)
-  add_subdirectory(unittests)
-endif()
-
-# FIXME(kirillbobyrev): Document this in the LLVM docs once remote index is stable.
-option(CLANGD_ENABLE_REMOTE "Use gRPC library to enable remote index support for Clangd" OFF)
-set(GRPC_INSTALL_PATH "" CACHE PATH "Path to gRPC library manual installation.")
-
-add_subdirectory(index/remote)
-add_subdirectory(index/dex/dexp)
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra/clangd
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new/clang-tools-extra
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clangd-riscv64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-python3.patch
-
-mv llvm-$VERSION-python3.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py	(nonexistent)
@@ -1,126 +0,0 @@
-#!/usr/bin/env python
-#
-#=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python  -*-=#
-#
-# 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
-#
-#===------------------------------------------------------------------------===#
-
-"""
-Parallel find-all-symbols runner
-================================
-
-Runs find-all-symbols over all files in a compilation database.
-
-Example invocations.
-- Run find-all-symbols on all files in the current working directory.
-    run-find-all-symbols.py <source-file>
-
-Compilation database setup:
-http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
-"""
-
-import argparse
-import json
-import multiprocessing
-import os
-import Queue
-import shutil
-import subprocess
-import sys
-import tempfile
-import threading
-
-
-def find_compilation_database(path):
-  """Adjusts the directory until a compilation database is found."""
-  result = './'
-  while not os.path.isfile(os.path.join(result, path)):
-    if os.path.realpath(result) == '/':
-      print ('Error: could not find compilation database.')
-      sys.exit(1)
-    result += '../'
-  return os.path.realpath(result)
-
-
-def MergeSymbols(directory, args):
-  """Merge all symbol files (yaml) in a given directory into a single file."""
-  invocation = [args.binary, '-merge-dir='+directory, args.saving_path]
-  subprocess.call(invocation)
-  print ('Merge is finished. Saving results in ' + args.saving_path)
-
-
-def run_find_all_symbols(args, tmpdir, build_path, queue):
-  """Takes filenames out of queue and runs find-all-symbols on them."""
-  while True:
-    name = queue.get()
-    invocation = [args.binary, name, '-output-dir='+tmpdir, '-p='+build_path]
-    sys.stdout.write(' '.join(invocation) + '\n')
-    subprocess.call(invocation)
-    queue.task_done()
-
-
-def main():
-  parser = argparse.ArgumentParser(description='Runs find-all-symbols over all'
-                                   'files in a compilation database.')
-  parser.add_argument('-binary', metavar='PATH',
-                      default='./bin/find-all-symbols',
-                      help='path to find-all-symbols binary')
-  parser.add_argument('-j', type=int, default=0,
-                      help='number of instances to be run in parallel.')
-  parser.add_argument('-p', dest='build_path',
-                      help='path used to read a compilation database.')
-  parser.add_argument('-saving-path', default='./find_all_symbols_db.yaml',
-                      help='result saving path')
-  args = parser.parse_args()
-
-  db_path = 'compile_commands.json'
-
-  if args.build_path is not None:
-    build_path = args.build_path
-  else:
-    build_path = find_compilation_database(db_path)
-
-  tmpdir = tempfile.mkdtemp()
-
-  # Load the database and extract all files.
-  database = json.load(open(os.path.join(build_path, db_path)))
-  files = [entry['file'] for entry in database]
-
-  # Filter out .rc files on Windows. CMake includes them for some reason.
-  files = [f for f in files if not f.endswith('.rc')]
-
-  max_task = args.j
-  if max_task == 0:
-    max_task = multiprocessing.cpu_count()
-
-  try:
-    # Spin up a bunch of tidy-launching threads.
-    queue = Queue.Queue(max_task)
-    for _ in range(max_task):
-      t = threading.Thread(target=run_find_all_symbols,
-                           args=(args, tmpdir, build_path, queue))
-      t.daemon = True
-      t.start()
-
-    # Fill the queue with files.
-    for name in files:
-      queue.put(name)
-
-    # Wait for all threads to be done.
-    queue.join()
-
-    MergeSymbols(tmpdir, args)
-
-
-  except KeyboardInterrupt:
-    # This is a sad hack. Unfortunately subprocess goes
-    # bonkers with ctrl-c and we start forking merrily.
-    print ('\nCtrl-C detected, goodbye.')
-    os.kill(0, 9)
-
-
-if __name__ == '__main__':
-  main()

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer/find-all-symbols
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra/clang-include-fixer
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new/clang-tools-extra
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-python3-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-15.0.4/lldb/source/API/CMakeLists.txt
-llvm-15.0.4/lldb/tools/lldb-server/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API/CMakeLists.txt	(nonexistent)
@@ -1,217 +0,0 @@
-get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
-
-if(LLDB_BUILD_FRAMEWORK)
-  set(option_install_prefix INSTALL_PREFIX ${LLDB_FRAMEWORK_INSTALL_DIR})
-  set(option_framework FRAMEWORK)
-endif()
-
-if(LLDB_ENABLE_PYTHON)
-  get_target_property(python_bindings_dir swig_wrapper_python BINARY_DIR)
-  set(lldb_python_wrapper ${python_bindings_dir}/LLDBWrapPython.cpp)
-endif()
-
-if(LLDB_ENABLE_LUA)
-  get_target_property(lua_bindings_dir swig_wrapper_lua BINARY_DIR)
-  set(lldb_lua_wrapper ${lua_bindings_dir}/LLDBWrapLua.cpp)
-endif()
-
-add_lldb_library(liblldb SHARED ${option_framework}
-  SBAddress.cpp
-  SBAttachInfo.cpp
-  SBBlock.cpp
-  SBBreakpoint.cpp
-  SBBreakpointLocation.cpp
-  SBBreakpointName.cpp
-  SBBreakpointOptionCommon.cpp
-  SBBroadcaster.cpp
-  SBCommandInterpreter.cpp
-  SBCommandInterpreterRunOptions.cpp
-  SBCommandReturnObject.cpp
-  SBCommunication.cpp
-  SBCompileUnit.cpp
-  SBData.cpp
-  SBDebugger.cpp
-  SBDeclaration.cpp
-  SBEnvironment.cpp
-  SBError.cpp
-  SBEvent.cpp
-  SBExecutionContext.cpp
-  SBExpressionOptions.cpp
-  SBFileSpec.cpp
-  SBFile.cpp
-  SBFileSpecList.cpp
-  SBFrame.cpp
-  SBFunction.cpp
-  SBHostOS.cpp
-  SBInstruction.cpp
-  SBInstructionList.cpp
-  SBLanguageRuntime.cpp
-  SBLaunchInfo.cpp
-  SBLineEntry.cpp
-  SBListener.cpp
-  SBMemoryRegionInfo.cpp
-  SBMemoryRegionInfoList.cpp
-  SBModule.cpp
-  SBModuleSpec.cpp
-  SBPlatform.cpp
-  SBProcess.cpp
-  SBProcessInfo.cpp
-  SBQueue.cpp
-  SBQueueItem.cpp
-  SBReproducer.cpp
-  SBSection.cpp
-  SBSourceManager.cpp
-  SBStream.cpp
-  SBStringList.cpp
-  SBStructuredData.cpp
-  SBSymbol.cpp
-  SBSymbolContext.cpp
-  SBSymbolContextList.cpp
-  SBTarget.cpp
-  SBThread.cpp
-  SBThreadCollection.cpp
-  SBThreadPlan.cpp
-  SBTrace.cpp
-  SBType.cpp
-  SBTypeCategory.cpp
-  SBTypeEnumMember.cpp
-  SBTypeFilter.cpp
-  SBTypeFormat.cpp
-  SBTypeNameSpecifier.cpp
-  SBTypeSummary.cpp
-  SBTypeSynthetic.cpp
-  SBValue.cpp
-  SBValueList.cpp
-  SBVariablesOptions.cpp
-  SBWatchpoint.cpp
-  SBUnixSignals.cpp
-  SystemInitializerFull.cpp
-  ${lldb_python_wrapper}
-  ${lldb_lua_wrapper}
-
-  LINK_LIBS
-    lldbBreakpoint
-    lldbCore
-    lldbDataFormatters
-    lldbExpression
-    lldbHost
-    lldbInitialization
-    lldbInterpreter
-    lldbSymbol
-    lldbTarget
-    lldbUtility
-    lldbVersion
-    ${LLDB_ALL_PLUGINS}
-  LINK_COMPONENTS
-    Support
-
-  ${option_install_prefix}
-)
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(liblldb PRIVATE atomic)
-endif()
-
-# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so,
-# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so
-# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so
-# that _lldb.so can be loaded from Python.
-if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE)
-  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}")
-endif()
-
-if(Python3_RPATH)
-  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}")
-  set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH   "${Python3_RPATH}")
-endif()
-
-
-if(LLDB_ENABLE_PYTHON)
-  add_dependencies(liblldb swig_wrapper_python)
-
-  if (MSVC)
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
-  else()
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
-  endif()
-
-  set_source_files_properties(${lldb_python_wrapper} PROPERTIES GENERATED ON)
-  if (CLANG_CL)
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
-      PROPERTY COMPILE_FLAGS " -Wno-unused-function")
-  endif()
-  if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND
-      NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
-    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
-      PROPERTY COMPILE_FLAGS " -Wno-sequence-point -Wno-cast-qual")
-  endif ()
-endif()
-
-if(LLDB_ENABLE_LUA)
-  add_dependencies(liblldb swig_wrapper_lua)
-  target_include_directories(liblldb PRIVATE ${LUA_INCLUDE_DIR})
-
-  if (MSVC)
-    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
-  else()
-    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
-  endif()
-
-  set_source_files_properties(${lldb_lua_wrapper} PROPERTIES GENERATED ON)
-endif()
-
-set_target_properties(liblldb
-  PROPERTIES
-  VERSION ${LLDB_VERSION}
-)
-
-target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB)
-if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
-  if (NOT LLDB_EXPORT_ALL_SYMBOLS)
-    # If we're not exporting all symbols, we'll want to explicitly set
-    # the exported symbols here.  This prevents 'log enable --stack ...'
-    # from working on some systems but limits the liblldb size.
-    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb namespace")
-    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports)
-  else()
-    # Don't use an explicit export.  Instead, tell the linker to
-    # export all symbols.
-    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces")
-    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb-private.exports)
-  endif()
-  set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc")
-endif()
-
-if (NOT MSVC)
-  set_target_properties(liblldb
-    PROPERTIES
-    OUTPUT_NAME lldb
-  )
-endif()
-
-# The Clang expression parser in LLDB requires the Clang resource directory to function.
-if (TARGET clang-resource-headers)
-  # If building alongside Clang, just add a dependency to ensure it is build together with liblldb.
-  add_dependencies(liblldb clang-resource-headers)
-else()
-  # In a standalone build create a symlink from the LLDB library directory that points to the
-  # resource directory in the Clang library directory. LLDB searches relative to its install path,
-  # and the symlink is created in the same relative path as the resource directory of Clang when
-  # building alongside Clang.
-  # When building the LLDB framework, this isn't necessary as there we copy everything we need into
-  # the framework (including the Clang resourece directory).
-  if(NOT LLDB_BUILD_FRAMEWORK)
-    set(LLDB_CLANG_RESOURCE_DIR_PARENT "$<TARGET_FILE_DIR:liblldb>/clang")
-    file(MAKE_DIRECTORY "${LLDB_CLANG_RESOURCE_DIR_PARENT}")
-    add_custom_command(TARGET liblldb POST_BUILD
-      COMMENT "Linking Clang resource dir into LLDB build directory: ${LLDB_CLANG_RESOURCE_DIR_PARENT}"
-      COMMAND ${CMAKE_COMMAND} -E make_directory "${LLDB_CLANG_RESOURCE_DIR_PARENT}"
-      COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}"
-              "${LLDB_CLANG_RESOURCE_DIR_PARENT}/${LLDB_CLANG_RESOURCE_DIR_NAME}"
-    )
-  endif()
-endif()
-
-if(LLDB_BUILD_FRAMEWORK)
-  include(LLDBFramework)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source/API
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/source
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server/CMakeLists.txt	(nonexistent)
@@ -1,72 +0,0 @@
-set(LLVM_TARGET_DEFINITIONS LLGSOptions.td)
-tablegen(LLVM LLGSOptions.inc -gen-opt-parser-defs)
-add_public_tablegen_target(LLGSOptionsTableGen)
-set_target_properties(LLGSOptionsTableGen PROPERTIES FOLDER "lldb misc")
-
-set(LLDB_PLUGINS)
-
-if(CMAKE_SYSTEM_NAME MATCHES "Linux|Android")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessLinux)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessFreeBSD)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
-  list(APPEND LLDB_PLUGINS lldbPluginProcessNetBSD)
-endif()
-
-if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFileMachO)
-elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFilePECOFF)
-else()
-  list(APPEND LLDB_PLUGINS lldbPluginObjectFileELF)
-endif()
-
-if(APPLE_EMBEDDED)
-  if(LLDB_CODESIGN_IDENTITY)
-    # Use explicit LLDB identity
-    set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
-  else()
-    # Use explicit LLVM identity or default to lldb_codesign if empty
-    if(NOT LLVM_CODESIGNING_IDENTITY)
-      set(LLVM_CODESIGNING_IDENTITY lldb_codesign)
-    endif()
-  endif()
-endif()
-
-add_lldb_tool(lldb-server
-    Acceptor.cpp
-    lldb-gdbserver.cpp
-    lldb-platform.cpp
-    lldb-server.cpp
-    LLDBServerUtilities.cpp
-    SystemInitializerLLGS.cpp
-
-    LINK_LIBS
-      lldbHost
-      lldbInitialization
-      lldbVersion
-      ${LLDB_PLUGINS}
-      lldbPluginInstructionARM
-      lldbPluginInstructionMIPS
-      lldbPluginInstructionMIPS64
-      ${LLDB_SYSTEM_LIBS}
-
-    LINK_COMPONENTS
-      Option
-      Support
-)
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(lldb-server PRIVATE atomic)
-endif()
-
-add_dependencies(lldb-server
-  LLGSOptionsTableGen
-  ${tablegen_deps}
-)
-target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
-target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools/lldb-server
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new/lldb
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-riscv64.patch
-
-mv llvm-$VERSION-lldb-riscv64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-riscv64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/clang-tools-extra/clangd/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd/CMakeLists.txt	(nonexistent)
@@ -1,213 +0,0 @@
-# This is a no-op for building files in this dir, but is inherited by subdirs.
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-include_directories(${CMAKE_CURRENT_BINARY_DIR})
-
-add_subdirectory(support)
-
-# Configure the Features.inc file.
-if (NOT DEFINED CLANGD_BUILD_XPC)
-  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-    set(CLANGD_BUILD_XPC_DEFAULT ON)
-  else ()
-    set(CLANGD_BUILD_XPC_DEFAULT OFF)
-  endif ()
-
-  llvm_canonicalize_cmake_booleans(CLANGD_BUILD_XPC_DEFAULT)
-
-  set(CLANGD_BUILD_XPC ${CLANGD_BUILD_XPC_DEFAULT} CACHE BOOL "Build XPC Support For Clangd." FORCE)
-  unset(CLANGD_BUILD_XPC_DEFAULT)
-endif ()
-
-option(CLANGD_MALLOC_TRIM "Call malloc_trim(3) periodically in Clangd. (only takes effect when using glibc)" ON)
-# -DCLANG_TIDY_CHECKS=Off avoids a dependency on clang-tidy, reducing rebuilds.
-option(CLANGD_TIDY_CHECKS "Link all clang-tidy checks into clangd" ON)
-
-llvm_canonicalize_cmake_booleans(
-  CLANGD_BUILD_XPC
-  CLANGD_ENABLE_REMOTE
-  ENABLE_GRPC_REFLECTION
-  CLANGD_MALLOC_TRIM
-  CLANGD_TIDY_CHECKS
-  LLVM_ENABLE_ZLIB
-)
-
-configure_file(
-  ${CMAKE_CURRENT_SOURCE_DIR}/Features.inc.in
-  ${CMAKE_CURRENT_BINARY_DIR}/Features.inc
-)
-
-set(LLVM_LINK_COMPONENTS
-  Support
-  AllTargetsInfos
-  FrontendOpenMP
-  Option
-  )
-
-include(${CMAKE_CURRENT_SOURCE_DIR}/quality/CompletionModel.cmake)
-gen_decision_forest(${CMAKE_CURRENT_SOURCE_DIR}/quality/model CompletionModel clang::clangd::Example)
-
-if(MSVC AND NOT CLANG_CL)
- set_source_files_properties(CompileCommands.cpp PROPERTIES COMPILE_FLAGS -wd4130) # disables C4130: logical operation on address of string constant
-endif()
-
-include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}/../clang-tidy")
-
-add_clang_library(clangDaemon
-  AST.cpp
-  ASTSignals.cpp
-  ClangdLSPServer.cpp
-  ClangdServer.cpp
-  CodeComplete.cpp
-  CodeCompletionStrings.cpp
-  CollectMacros.cpp
-  CompileCommands.cpp
-  Compiler.cpp
-  Config.cpp
-  ConfigCompile.cpp
-  ConfigProvider.cpp
-  ConfigYAML.cpp
-  Diagnostics.cpp
-  DraftStore.cpp
-  DumpAST.cpp
-  ExpectedTypes.cpp
-  FeatureModule.cpp
-  Feature.cpp
-  FindSymbols.cpp
-  FindTarget.cpp
-  FileDistance.cpp
-  Format.cpp
-  FS.cpp
-  FuzzyMatch.cpp
-  GlobalCompilationDatabase.cpp
-  Headers.cpp
-  HeaderSourceSwitch.cpp
-  HeuristicResolver.cpp
-  Hover.cpp
-  IncludeCleaner.cpp
-  IncludeFixer.cpp
-  InlayHints.cpp
-  JSONTransport.cpp
-  PathMapping.cpp
-  Protocol.cpp
-  Quality.cpp
-  ParsedAST.cpp
-  Preamble.cpp
-  RIFF.cpp
-  Selection.cpp
-  SemanticHighlighting.cpp
-  SemanticSelection.cpp
-  SourceCode.cpp
-  QueryDriverDatabase.cpp
-  TidyProvider.cpp
-  TUScheduler.cpp
-  URI.cpp
-  XRefs.cpp
-  ${CMAKE_CURRENT_BINARY_DIR}/CompletionModel.cpp
-
-  index/Background.cpp
-  index/BackgroundIndexLoader.cpp
-  index/BackgroundIndexStorage.cpp
-  index/BackgroundQueue.cpp
-  index/BackgroundRebuild.cpp
-  index/CanonicalIncludes.cpp
-  index/FileIndex.cpp
-  index/Index.cpp
-  index/IndexAction.cpp
-  index/MemIndex.cpp
-  index/Merge.cpp
-  index/ProjectAware.cpp
-  index/Ref.cpp
-  index/Relation.cpp
-  index/Serialization.cpp
-  index/StdLib.cpp
-  index/Symbol.cpp
-  index/SymbolCollector.cpp
-  index/SymbolID.cpp
-  index/SymbolLocation.cpp
-  index/SymbolOrigin.cpp
-  index/YAMLSerialization.cpp
-
-  index/dex/Dex.cpp
-  index/dex/Iterator.cpp
-  index/dex/PostingList.cpp
-  index/dex/Trigram.cpp
-
-  refactor/InsertionPoint.cpp
-  refactor/Rename.cpp
-  refactor/Tweak.cpp
-
-  DEPENDS
-  omp_gen
-  )
-
-# Include generated CompletionModel headers.
-target_include_directories(clangDaemon PUBLIC
-  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
-)
-
-clang_target_link_libraries(clangDaemon
-  PRIVATE
-  clangAST
-  clangASTMatchers
-  clangBasic
-  clangDriver
-  clangFormat
-  clangFrontend
-  clangIndex
-  clangLex
-  clangSema
-  clangSerialization
-  clangTooling
-  clangToolingCore
-  clangToolingInclusions
-  clangToolingSyntax
-  )
-
-if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
-  target_link_libraries(clangDaemon PRIVATE atomic)
-endif()
-
-target_link_libraries(clangDaemon
-  PRIVATE
-  ${LLVM_PTHREAD_LIB}
-
-  clangTidy
-
-  clangdSupport
-
-  clangPseudo
-  )
-if(CLANGD_TIDY_CHECKS)
-  target_link_libraries(clangDaemon PRIVATE ${ALL_CLANG_TIDY_CHECKS})
-endif()
-
-add_subdirectory(refactor/tweaks)
-if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-  # FIXME: Make fuzzer not use linux-specific APIs, build it everywhere.
-  add_subdirectory(fuzzer)
-endif()
-add_subdirectory(tool)
-add_subdirectory(indexer)
-
-if (LLVM_INCLUDE_BENCHMARKS)
-  add_subdirectory(benchmarks)
-endif()
-if ( CLANGD_BUILD_XPC )
-  add_subdirectory(xpc)
-endif ()
-
-if (CLANGD_ENABLE_REMOTE)
-  include(FindGRPC)
-endif()
-
-if(CLANG_INCLUDE_TESTS)
-  add_subdirectory(test)
-  add_subdirectory(unittests)
-endif()
-
-# FIXME(kirillbobyrev): Document this in the LLVM docs once remote index is stable.
-option(CLANGD_ENABLE_REMOTE "Use gRPC library to enable remote index support for Clangd" OFF)
-set(GRPC_INSTALL_PATH "" CACHE PATH "Path to gRPC library manual installation.")
-
-add_subdirectory(index/remote)
-add_subdirectory(index/dex/dexp)
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra/clangd
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new/clang-tools-extra
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clangd-riscv64.patch
-
-mv llvm-$VERSION-clangd-riscv64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clangd-riscv64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py	(nonexistent)
@@ -1,126 +0,0 @@
-#!/usr/bin/env python
-#
-#=- run-find-all-symbols.py - Parallel find-all-symbols runner -*- python  -*-=#
-#
-# 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
-#
-#===------------------------------------------------------------------------===#
-
-"""
-Parallel find-all-symbols runner
-================================
-
-Runs find-all-symbols over all files in a compilation database.
-
-Example invocations.
-- Run find-all-symbols on all files in the current working directory.
-    run-find-all-symbols.py <source-file>
-
-Compilation database setup:
-http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html
-"""
-
-import argparse
-import json
-import multiprocessing
-import os
-import Queue
-import shutil
-import subprocess
-import sys
-import tempfile
-import threading
-
-
-def find_compilation_database(path):
-  """Adjusts the directory until a compilation database is found."""
-  result = './'
-  while not os.path.isfile(os.path.join(result, path)):
-    if os.path.realpath(result) == '/':
-      print ('Error: could not find compilation database.')
-      sys.exit(1)
-    result += '../'
-  return os.path.realpath(result)
-
-
-def MergeSymbols(directory, args):
-  """Merge all symbol files (yaml) in a given directory into a single file."""
-  invocation = [args.binary, '-merge-dir='+directory, args.saving_path]
-  subprocess.call(invocation)
-  print ('Merge is finished. Saving results in ' + args.saving_path)
-
-
-def run_find_all_symbols(args, tmpdir, build_path, queue):
-  """Takes filenames out of queue and runs find-all-symbols on them."""
-  while True:
-    name = queue.get()
-    invocation = [args.binary, name, '-output-dir='+tmpdir, '-p='+build_path]
-    sys.stdout.write(' '.join(invocation) + '\n')
-    subprocess.call(invocation)
-    queue.task_done()
-
-
-def main():
-  parser = argparse.ArgumentParser(description='Runs find-all-symbols over all'
-                                   'files in a compilation database.')
-  parser.add_argument('-binary', metavar='PATH',
-                      default='./bin/find-all-symbols',
-                      help='path to find-all-symbols binary')
-  parser.add_argument('-j', type=int, default=0,
-                      help='number of instances to be run in parallel.')
-  parser.add_argument('-p', dest='build_path',
-                      help='path used to read a compilation database.')
-  parser.add_argument('-saving-path', default='./find_all_symbols_db.yaml',
-                      help='result saving path')
-  args = parser.parse_args()
-
-  db_path = 'compile_commands.json'
-
-  if args.build_path is not None:
-    build_path = args.build_path
-  else:
-    build_path = find_compilation_database(db_path)
-
-  tmpdir = tempfile.mkdtemp()
-
-  # Load the database and extract all files.
-  database = json.load(open(os.path.join(build_path, db_path)))
-  files = [entry['file'] for entry in database]
-
-  # Filter out .rc files on Windows. CMake includes them for some reason.
-  files = [f for f in files if not f.endswith('.rc')]
-
-  max_task = args.j
-  if max_task == 0:
-    max_task = multiprocessing.cpu_count()
-
-  try:
-    # Spin up a bunch of tidy-launching threads.
-    queue = Queue.Queue(max_task)
-    for _ in range(max_task):
-      t = threading.Thread(target=run_find_all_symbols,
-                           args=(args, tmpdir, build_path, queue))
-      t.daemon = True
-      t.start()
-
-    # Fill the queue with files.
-    for name in files:
-      queue.put(name)
-
-    # Wait for all threads to be done.
-    queue.join()
-
-    MergeSymbols(tmpdir, args)
-
-
-  except KeyboardInterrupt:
-    # This is a sad hack. Unfortunately subprocess goes
-    # bonkers with ctrl-c and we start forking merrily.
-    print ('\nCtrl-C detected, goodbye.')
-    os.kill(0, 9)
-
-
-if __name__ == '__main__':
-  main()

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool/run-find-all-symbols.py
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols/tool
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer/find-all-symbols
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra/clang-include-fixer
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new/clang-tools-extra
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-python3.patch
-
-mv llvm-$VERSION-python3.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-python3-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-13.0.0/compiler-rt/cmake/builtin-config-ix.cmake
-llvm-13.0.0/compiler-rt/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-synonyms.patch
-
-mv llvm-$VERSION-compiler-rt-synonyms.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/config-ix.cmake	(nonexistent)
@@ -1,822 +0,0 @@
-include(CMakePushCheckState)
-include(CheckCCompilerFlag)
-include(CheckCXXCompilerFlag)
-include(CheckIncludeFiles)
-include(CheckLibraryExists)
-include(CheckSymbolExists)
-include(TestBigEndian)
-
-function(compiler_rt_check_linker_flag flag out_var)
-  cmake_push_check_state()
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${flag}")
-  check_cxx_compiler_flag("" ${out_var})
-  cmake_pop_check_state()
-endfunction()
-
-check_library_exists(c fopen "" COMPILER_RT_HAS_LIBC)
-if (COMPILER_RT_USE_BUILTINS_LIBRARY)
-  include(HandleCompilerRT)
-  find_compiler_rt_library(builtins "" COMPILER_RT_BUILTINS_LIBRARY)
-else()
-  if (ANDROID)
-    check_library_exists(gcc __gcc_personality_v0 "" COMPILER_RT_HAS_GCC_LIB)
-  else()
-    check_library_exists(gcc_s __gcc_personality_v0 "" COMPILER_RT_HAS_GCC_S_LIB)
-  endif()
-endif()
-
-check_c_compiler_flag(-nodefaultlibs COMPILER_RT_HAS_NODEFAULTLIBS_FLAG)
-if (COMPILER_RT_HAS_NODEFAULTLIBS_FLAG)
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -nodefaultlibs")
-  if (COMPILER_RT_HAS_LIBC)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES c)
-  endif ()
-  if (COMPILER_RT_USE_BUILTINS_LIBRARY)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES "${COMPILER_RT_BUILTINS_LIBRARY}")
-  elseif (COMPILER_RT_HAS_GCC_S_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES gcc_s)
-  elseif (COMPILER_RT_HAS_GCC_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES gcc)
-  endif ()
-  if (MINGW)
-    # Mingw64 requires quite a few "C" runtime libraries in order for basic
-    # programs to link successfully with -nodefaultlibs.
-    if (COMPILER_RT_USE_BUILTINS_LIBRARY)
-      set(MINGW_RUNTIME ${COMPILER_RT_BUILTINS_LIBRARY})
-    else ()
-      set(MINGW_RUNTIME gcc_s gcc)
-    endif()
-    set(MINGW_LIBRARIES mingw32 ${MINGW_RUNTIME} moldname mingwex msvcrt advapi32
-                        shell32 user32 kernel32 mingw32 ${MINGW_RUNTIME}
-                        moldname mingwex msvcrt)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES})
-  endif()
-endif ()
-
-# CodeGen options.
-check_c_compiler_flag(-ffreestanding         COMPILER_RT_HAS_FFREESTANDING_FLAG)
-check_c_compiler_flag(-fomit-frame-pointer   COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG)
-check_c_compiler_flag(-std=c11               COMPILER_RT_HAS_STD_C11_FLAG)
-check_cxx_compiler_flag(-fPIC                COMPILER_RT_HAS_FPIC_FLAG)
-check_cxx_compiler_flag(-fPIE                COMPILER_RT_HAS_FPIE_FLAG)
-check_cxx_compiler_flag(-fno-builtin         COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
-check_cxx_compiler_flag(-fno-exceptions      COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG)
-check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG)
-check_cxx_compiler_flag(-funwind-tables      COMPILER_RT_HAS_FUNWIND_TABLES_FLAG)
-check_cxx_compiler_flag(-fno-stack-protector COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG)
-check_cxx_compiler_flag(-fno-sanitize=safe-stack COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG)
-check_cxx_compiler_flag(-fvisibility=hidden  COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
-check_cxx_compiler_flag(-frtti               COMPILER_RT_HAS_FRTTI_FLAG)
-check_cxx_compiler_flag(-fno-rtti            COMPILER_RT_HAS_FNO_RTTI_FLAG)
-check_cxx_compiler_flag("-Werror -fno-function-sections" COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG)
-check_cxx_compiler_flag(-std=c++14           COMPILER_RT_HAS_STD_CXX14_FLAG)
-check_cxx_compiler_flag(-ftls-model=initial-exec COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC)
-check_cxx_compiler_flag(-fno-lto             COMPILER_RT_HAS_FNO_LTO_FLAG)
-check_cxx_compiler_flag(-fno-profile-generate COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG)
-check_cxx_compiler_flag(-fno-profile-instr-generate COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG)
-check_cxx_compiler_flag(-fno-profile-instr-use COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG)
-check_cxx_compiler_flag("-Werror -msse3" COMPILER_RT_HAS_MSSE3_FLAG)
-check_cxx_compiler_flag("-Werror -msse4.2"   COMPILER_RT_HAS_MSSE4_2_FLAG)
-check_cxx_compiler_flag(--sysroot=.          COMPILER_RT_HAS_SYSROOT_FLAG)
-check_cxx_compiler_flag("-Werror -mcrc"      COMPILER_RT_HAS_MCRC_FLAG)
-check_cxx_compiler_flag(-fno-partial-inlining COMPILER_RT_HAS_FNO_PARTIAL_INLINING_FLAG)
-
-if(NOT WIN32 AND NOT CYGWIN)
-  # MinGW warns if -fvisibility-inlines-hidden is used.
-  check_cxx_compiler_flag("-fvisibility-inlines-hidden" COMPILER_RT_HAS_FVISIBILITY_INLINES_HIDDEN_FLAG)
-endif()
-
-check_cxx_compiler_flag(/GR COMPILER_RT_HAS_GR_FLAG)
-check_cxx_compiler_flag(/GS COMPILER_RT_HAS_GS_FLAG)
-check_cxx_compiler_flag(/MT COMPILER_RT_HAS_MT_FLAG)
-check_cxx_compiler_flag(/Oy COMPILER_RT_HAS_Oy_FLAG)
-
-# Debug info flags.
-check_cxx_compiler_flag(-gline-tables-only COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLAG)
-check_cxx_compiler_flag(-g COMPILER_RT_HAS_G_FLAG)
-check_cxx_compiler_flag(/Zi COMPILER_RT_HAS_Zi_FLAG)
-
-# Warnings.
-check_cxx_compiler_flag(-Wall COMPILER_RT_HAS_WALL_FLAG)
-check_cxx_compiler_flag(-Werror COMPILER_RT_HAS_WERROR_FLAG)
-check_cxx_compiler_flag("-Werror -Wframe-larger-than=512" COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG)
-check_cxx_compiler_flag("-Werror -Wglobal-constructors"   COMPILER_RT_HAS_WGLOBAL_CONSTRUCTORS_FLAG)
-check_cxx_compiler_flag("-Werror -Wc99-extensions"     COMPILER_RT_HAS_WC99_EXTENSIONS_FLAG)
-check_cxx_compiler_flag("-Werror -Wgnu"                COMPILER_RT_HAS_WGNU_FLAG)
-check_cxx_compiler_flag("-Werror -Wnon-virtual-dtor"   COMPILER_RT_HAS_WNON_VIRTUAL_DTOR_FLAG)
-check_cxx_compiler_flag("-Werror -Wvariadic-macros"    COMPILER_RT_HAS_WVARIADIC_MACROS_FLAG)
-check_cxx_compiler_flag("-Werror -Wunused-parameter"   COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG)
-check_cxx_compiler_flag("-Werror -Wcovered-switch-default" COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG)
-check_cxx_compiler_flag("-Werror -Wsuggest-override"   COMPILER_RT_HAS_WSUGGEST_OVERRIDE_FLAG)
-check_cxx_compiler_flag(-Wno-pedantic COMPILER_RT_HAS_WNO_PEDANTIC)
-
-check_cxx_compiler_flag(/W4 COMPILER_RT_HAS_W4_FLAG)
-check_cxx_compiler_flag(/WX COMPILER_RT_HAS_WX_FLAG)
-check_cxx_compiler_flag(/wd4146 COMPILER_RT_HAS_WD4146_FLAG)
-check_cxx_compiler_flag(/wd4291 COMPILER_RT_HAS_WD4291_FLAG)
-check_cxx_compiler_flag(/wd4221 COMPILER_RT_HAS_WD4221_FLAG)
-check_cxx_compiler_flag(/wd4391 COMPILER_RT_HAS_WD4391_FLAG)
-check_cxx_compiler_flag(/wd4722 COMPILER_RT_HAS_WD4722_FLAG)
-check_cxx_compiler_flag(/wd4800 COMPILER_RT_HAS_WD4800_FLAG)
-
-# Symbols.
-check_symbol_exists(__func__ "" COMPILER_RT_HAS_FUNC_SYMBOL)
-
-# Includes.
-check_cxx_compiler_flag(-nostdinc++ COMPILER_RT_HAS_NOSTDINCXX_FLAG)
-check_cxx_compiler_flag(-nostdlib++ COMPILER_RT_HAS_NOSTDLIBXX_FLAG)
-check_include_files("sys/auxv.h"    COMPILER_RT_HAS_AUXV)
-
-# Libraries.
-check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBDL)
-check_library_exists(rt shm_open "" COMPILER_RT_HAS_LIBRT)
-check_library_exists(m pow "" COMPILER_RT_HAS_LIBM)
-check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD)
-check_library_exists(execinfo backtrace "" COMPILER_RT_HAS_LIBEXECINFO)
-
-# Look for terminfo library, used in unittests that depend on LLVMSupport.
-if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON)
-  set(MAYBE_REQUIRED REQUIRED)
-else()
-  set(MAYBE_REQUIRED)
-endif()
-if(LLVM_ENABLE_TERMINFO)
-  find_library(COMPILER_RT_TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED})
-endif()
-if(COMPILER_RT_TERMINFO_LIB)
-  set(LLVM_ENABLE_TERMINFO 1)
-else()
-  set(LLVM_ENABLE_TERMINFO 0)
-endif()
-
-if (ANDROID AND COMPILER_RT_HAS_LIBDL)
-  # Android's libstdc++ has a dependency on libdl.
-  list(APPEND CMAKE_REQUIRED_LIBRARIES dl)
-endif()
-check_library_exists(c++ __cxa_throw "" COMPILER_RT_HAS_LIBCXX)
-check_library_exists(stdc++ __cxa_throw "" COMPILER_RT_HAS_LIBSTDCXX)
-
-# Linker flags.
-compiler_rt_check_linker_flag("-Wl,-z,text" COMPILER_RT_HAS_Z_TEXT)
-compiler_rt_check_linker_flag("-fuse-ld=lld" COMPILER_RT_HAS_FUSE_LD_LLD_FLAG)
-
-set(VERS_COMPAT_OPTION "-Wl,-z,gnu-version-script-compat")
-compiler_rt_check_linker_flag("${VERS_COMPAT_OPTION}" COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
-
-set(DUMMY_VERS ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/dummy.vers)
-file(WRITE ${DUMMY_VERS} "{};")
-set(VERS_OPTION "-Wl,--version-script,${DUMMY_VERS}")
-if(COMPILER_RT_HAS_GNU_VERSION_SCRIPT_COMPAT)
-  # Solaris 11.4 ld only supports --version-script with
-  # -z gnu-version-script-compat.
-  string(APPEND VERS_OPTION " ${VERS_COMPAT_OPTION}")
-endif()
-compiler_rt_check_linker_flag("${VERS_OPTION}" COMPILER_RT_HAS_VERSION_SCRIPT)
-
-if(ANDROID)
-  compiler_rt_check_linker_flag("-Wl,-z,global" COMPILER_RT_HAS_Z_GLOBAL)
-  check_library_exists(log __android_log_write "" COMPILER_RT_HAS_LIBLOG)
-endif()
-
-# Architectures.
-
-# List of all architectures we can target.
-set(COMPILER_RT_SUPPORTED_ARCH)
-
-# Try to compile a very simple source file to ensure we can target the given
-# platform. We use the results of these tests to build only the various target
-# runtime libraries supported by our current compilers cross-compiling
-# abilities.
-set(SIMPLE_SOURCE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple.cc)
-file(WRITE ${SIMPLE_SOURCE} "#include <stdlib.h>\n#include <stdio.h>\nint main() { printf(\"hello, world\"); }\n")
-
-# Detect whether the current target platform is 32-bit or 64-bit, and setup
-# the correct commandline flags needed to attempt to target 32-bit and 64-bit.
-if (NOT CMAKE_SIZEOF_VOID_P EQUAL 4 AND
-    NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
-  message(FATAL_ERROR "Please use architecture with 4 or 8 byte pointers.")
-endif()
-
-test_targets()
-
-# Returns a list of architecture specific target cflags in @out_var list.
-function(get_target_flags_for_arch arch out_var)
-  list(FIND COMPILER_RT_SUPPORTED_ARCH ${arch} ARCH_INDEX)
-  if(ARCH_INDEX EQUAL -1)
-    message(FATAL_ERROR "Unsupported architecture: ${arch}")
-  else()
-    if (NOT APPLE)
-      set(${out_var} ${TARGET_${arch}_CFLAGS} PARENT_SCOPE)
-    else()
-      # This is only called in constructing cflags for tests executing on the
-      # host. This will need to all be cleaned up to support building tests
-      # for cross-targeted hardware (i.e. iOS).
-      set(${out_var} -arch ${arch} PARENT_SCOPE)
-    endif()
-  endif()
-endfunction()
-
-# Returns a compiler and CFLAGS that should be used to run tests for the
-# specific architecture.  When cross-compiling, this is controled via
-# COMPILER_RT_TEST_COMPILER and COMPILER_RT_TEST_COMPILER_CFLAGS.
-macro(get_test_cc_for_arch arch cc_out cflags_out)
-  if(ANDROID OR ${arch} MATCHES "arm|aarch64|riscv32|riscv64")
-    # This is only true if we are cross-compiling.
-    # Build all tests with host compiler and use host tools.
-    set(${cc_out} ${COMPILER_RT_TEST_COMPILER})
-    set(${cflags_out} ${COMPILER_RT_TEST_COMPILER_CFLAGS})
-  else()
-    get_target_flags_for_arch(${arch} ${cflags_out})
-    if(APPLE)
-      list(APPEND ${cflags_out} ${DARWIN_osx_CFLAGS})
-    endif()
-    string(REPLACE ";" " " ${cflags_out} "${${cflags_out}}")
-  endif()
-endmacro()
-
-# Returns CFLAGS that should be used to run tests for the
-# specific apple platform and architecture.
-function(get_test_cflags_for_apple_platform platform arch cflags_out)
-  is_valid_apple_platform("${platform}" is_valid_platform)
-  if (NOT is_valid_platform)
-    message(FATAL_ERROR "\"${platform}\" is not a valid apple platform")
-  endif()
-  set(test_cflags "")
-  get_target_flags_for_arch(${arch} test_cflags)
-  list(APPEND test_cflags ${DARWIN_${platform}_CFLAGS})
-  string(REPLACE ";" " " test_cflags_str "${test_cflags}")
-  string(APPEND test_cflags_str "${COMPILER_RT_TEST_COMPILER_CFLAGS}")
-  set(${cflags_out} "${test_cflags_str}" PARENT_SCOPE)
-endfunction()
-
-function(get_capitalized_apple_platform platform platform_capitalized)
-  # TODO(dliew): Remove uses of this function. It exists to preserve needlessly complex
-  # directory naming conventions used by the Sanitizer lit test suites.
-  is_valid_apple_platform("${platform}" is_valid_platform)
-  if (NOT is_valid_platform)
-    message(FATAL_ERROR "\"${platform}\" is not a valid apple platform")
-  endif()
-  string(TOUPPER "${platform}" platform_upper)
-  string(REGEX REPLACE "OSSIM$" "OSSim" platform_upper_capitalized "${platform_upper}")
-  set(${platform_capitalized} "${platform_upper_capitalized}" PARENT_SCOPE)
-endfunction()
-
-function(is_valid_apple_platform platform is_valid_out)
-  set(is_valid FALSE)
-  if ("${platform}" STREQUAL "")
-    message(FATAL_ERROR "platform cannot be empty")
-  endif()
-  if ("${platform}" MATCHES "^(osx|((ios|watchos|tvos)(sim)?))$")
-    set(is_valid TRUE)
-  endif()
-  set(${is_valid_out} ${is_valid} PARENT_SCOPE)
-endfunction()
-
-set(ARM64 aarch64)
-set(ARM32 arm armhf)
-set(HEXAGON hexagon)
-set(X86 i386)
-set(X86_64 x86_64)
-set(MIPS32 mips mipsel)
-set(MIPS64 mips64 mips64el)
-set(PPC32 ppc powerpc)
-set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
-set(RISCV32 riscv32)
-set(RISCV64 riscv64)
-set(S390X s390x)
-set(SPARC sparc)
-set(SPARCV9 sparcv9)
-set(WASM32 wasm32)
-set(WASM64 wasm64)
-set(VE ve)
-
-if(APPLE)
-  set(ARM64 arm64)
-  set(ARM32 armv7 armv7s armv7k)
-  set(X86_64 x86_64 x86_64h)
-endif()
-
-set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
-    ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9})
-set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
-    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9})
-set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV32} ${RISCV64} ${VE})
-set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
-
-if(ANDROID)
-  set(OS_NAME "Android")
-else()
-  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
-endif()
-
-if(OS_NAME MATCHES "Linux")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${S390X})
-elseif (OS_NAME MATCHES "Windows")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64})
-elseif(OS_NAME MATCHES "Android")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
-else()
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
-endif()
-
-set(ALL_GWP_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
-if(APPLE)
-  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
-else()
-  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64} ${ARM32} ${PPC64} ${S390X} ${RISCV64})
-endif()
-set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
-set(ALL_HWASAN_SUPPORTED_ARCH ${X86_64} ${ARM64})
-set(ALL_MEMPROF_SUPPORTED_ARCH ${X86_64})
-set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32} ${PPC64}
-    ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9})
-set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
-set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
-    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9})
-set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64})
-set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS64})
-set(ALL_SCUDO_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${PPC64})
-set(ALL_SCUDO_STANDALONE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${PPC64})
-if(APPLE)
-set(ALL_XRAY_SUPPORTED_ARCH ${X86_64})
-else()
-set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ppc64le powerpc64le)
-endif()
-set(ALL_SHADOWCALLSTACK_SUPPORTED_ARCH ${ARM64})
-
-if (UNIX)
-set(ALL_ORC_SUPPORTED_ARCH ${X86_64})
-endif()
-
-if(APPLE)
-  include(CompilerRTDarwinUtils)
-
-  find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
-  find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
-  find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
-  find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
-  find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
-  find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
-  find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
-
-  if(NOT DARWIN_osx_SYSROOT)
-    message(WARNING "Could not determine OS X sysroot, trying /usr/include")
-    if(EXISTS /usr/include)
-      set(DARWIN_osx_SYSROOT /)
-    else()
-      message(ERROR "Could not detect OS X Sysroot. Either install Xcode or the Apple Command Line Tools")
-    endif()
-  endif()
-
-  if(COMPILER_RT_ENABLE_IOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
-    set(DARWIN_ios_MIN_VER 9.0)
-    set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min)
-    set(DARWIN_ios_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_MIN_VER})
-    set(DARWIN_iossim_MIN_VER_FLAG -mios-simulator-version-min)
-    set(DARWIN_iossim_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_iossim_MIN_VER_FLAG}=${DARWIN_ios_MIN_VER})
-  endif()
-  if(COMPILER_RT_ENABLE_WATCHOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
-    set(DARWIN_watchos_MIN_VER 2.0)
-    set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min)
-    set(DARWIN_watchos_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_MIN_VER})
-    set(DARWIN_watchossim_MIN_VER_FLAG -mwatchos-simulator-version-min)
-    set(DARWIN_watchossim_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_watchossim_MIN_VER_FLAG}=${DARWIN_watchos_MIN_VER})
-  endif()
-  if(COMPILER_RT_ENABLE_TVOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos)
-    set(DARWIN_tvos_MIN_VER 9.0)
-    set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min)
-    set(DARWIN_tvos_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_MIN_VER})
-    set(DARWIN_tvossim_MIN_VER_FLAG -mtvos-simulator-version-min)
-    set(DARWIN_tvossim_SANITIZER_MIN_VER_FLAG
-      ${DARWIN_tvossim_MIN_VER_FLAG}=${DARWIN_tvos_MIN_VER})
-  endif()
-
-  set(SANITIZER_COMMON_SUPPORTED_OS osx)
-  set(PROFILE_SUPPORTED_OS osx)
-  set(TSAN_SUPPORTED_OS osx)
-  set(XRAY_SUPPORTED_OS osx)
-  set(FUZZER_SUPPORTED_OS osx)
-  set(ORC_SUPPORTED_OS osx)
-
-  # Note: In order to target x86_64h on OS X the minimum deployment target must
-  # be 10.8 or higher.
-  set(DEFAULT_SANITIZER_MIN_OSX_VERSION 10.10)
-  set(DARWIN_osx_MIN_VER_FLAG "-mmacosx-version-min")
-  if(NOT SANITIZER_MIN_OSX_VERSION)
-    string(REGEX MATCH "${DARWIN_osx_MIN_VER_FLAG}=([.0-9]+)"
-           MACOSX_VERSION_MIN_FLAG "${CMAKE_CXX_FLAGS}")
-    if(MACOSX_VERSION_MIN_FLAG)
-      set(SANITIZER_MIN_OSX_VERSION "${CMAKE_MATCH_1}")
-    elseif(CMAKE_OSX_DEPLOYMENT_TARGET)
-      set(SANITIZER_MIN_OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
-    else()
-      set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
-    endif()
-    if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
-      message(FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too old.")
-    endif()
-    if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
-      message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '${DEFAULT_SANITIZER_MIN_OSX_VERSION}' instead.")
-      set(SANITIZER_MIN_OSX_VERSION ${DEFAULT_SANITIZER_MIN_OSX_VERSION})
-    endif()
-  endif()
-
-  # We're setting the flag manually for each target OS
-  set(CMAKE_OSX_DEPLOYMENT_TARGET "")
-
-  set(DARWIN_COMMON_CFLAGS -stdlib=libc++)
-  set(DARWIN_COMMON_LINK_FLAGS
-    -stdlib=libc++
-    -lc++
-    -lc++abi)
-
-  compiler_rt_check_linker_flag("-fapplication-extension" COMPILER_RT_HAS_APP_EXTENSION)
-  if(COMPILER_RT_HAS_APP_EXTENSION)
-    list(APPEND DARWIN_COMMON_LINK_FLAGS "-fapplication-extension")
-  endif()
-
-  set(DARWIN_osx_CFLAGS
-    ${DARWIN_COMMON_CFLAGS}
-    ${DARWIN_osx_MIN_VER_FLAG}=${SANITIZER_MIN_OSX_VERSION})
-  set(DARWIN_osx_LINK_FLAGS
-    ${DARWIN_COMMON_LINK_FLAGS}
-    ${DARWIN_osx_MIN_VER_FLAG}=${SANITIZER_MIN_OSX_VERSION})
-
-  if(DARWIN_osx_SYSROOT)
-    list(APPEND DARWIN_osx_CFLAGS -isysroot ${DARWIN_osx_SYSROOT})
-    list(APPEND DARWIN_osx_LINK_FLAGS -isysroot ${DARWIN_osx_SYSROOT})
-  endif()
-
-  # Figure out which arches to use for each OS
-  darwin_get_toolchain_supported_archs(toolchain_arches)
-  message(STATUS "Toolchain supported arches: ${toolchain_arches}")
-
-  if(NOT MACOSX_VERSION_MIN_FLAG)
-    darwin_test_archs(osx
-      DARWIN_osx_ARCHS
-      ${toolchain_arches})
-    message(STATUS "OSX supported arches: ${DARWIN_osx_ARCHS}")
-    foreach(arch ${DARWIN_osx_ARCHS})
-      list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-      set(CAN_TARGET_${arch} 1)
-    endforeach()
-
-    foreach(platform ${DARWIN_EMBEDDED_PLATFORMS})
-      if(DARWIN_${platform}sim_SYSROOT)
-        set(DARWIN_${platform}sim_CFLAGS
-          ${DARWIN_COMMON_CFLAGS}
-          ${DARWIN_${platform}sim_SANITIZER_MIN_VER_FLAG}
-          -isysroot ${DARWIN_${platform}sim_SYSROOT})
-        set(DARWIN_${platform}sim_LINK_FLAGS
-          ${DARWIN_COMMON_LINK_FLAGS}
-          ${DARWIN_${platform}sim_SANITIZER_MIN_VER_FLAG}
-          -isysroot ${DARWIN_${platform}sim_SYSROOT})
-
-        set(DARWIN_${platform}sim_SKIP_CC_KEXT On)
-        darwin_test_archs(${platform}sim
-          DARWIN_${platform}sim_ARCHS
-          ${toolchain_arches})
-        message(STATUS "${platform} Simulator supported arches: ${DARWIN_${platform}sim_ARCHS}")
-        if(DARWIN_${platform}sim_ARCHS)
-          list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}sim)
-          list(APPEND PROFILE_SUPPORTED_OS ${platform}sim)
-          list(APPEND TSAN_SUPPORTED_OS ${platform}sim)
-          list(APPEND FUZZER_SUPPORTED_OS ${platform}sim)
-        endif()
-        foreach(arch ${DARWIN_${platform}sim_ARCHS})
-          list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-          set(CAN_TARGET_${arch} 1)
-        endforeach()
-      endif()
-
-      if(DARWIN_${platform}_SYSROOT)
-        set(DARWIN_${platform}_CFLAGS
-          ${DARWIN_COMMON_CFLAGS}
-          ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG}
-          -isysroot ${DARWIN_${platform}_SYSROOT})
-        set(DARWIN_${platform}_LINK_FLAGS
-          ${DARWIN_COMMON_LINK_FLAGS}
-          ${DARWIN_${platform}_SANITIZER_MIN_VER_FLAG}
-          -isysroot ${DARWIN_${platform}_SYSROOT})
-
-        darwin_test_archs(${platform}
-          DARWIN_${platform}_ARCHS
-          ${toolchain_arches})
-        message(STATUS "${platform} supported arches: ${DARWIN_${platform}_ARCHS}")
-        if(DARWIN_${platform}_ARCHS)
-          list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform})
-          list(APPEND PROFILE_SUPPORTED_OS ${platform})
-
-          list_intersect(DARWIN_${platform}_TSAN_ARCHS DARWIN_${platform}_ARCHS ALL_TSAN_SUPPORTED_ARCH)
-          if(DARWIN_${platform}_TSAN_ARCHS)
-            list(APPEND TSAN_SUPPORTED_OS ${platform})
-          endif()
-          list(APPEND FUZZER_SUPPORTED_OS ${platform})
-        endif()
-        foreach(arch ${DARWIN_${platform}_ARCHS})
-          list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-          set(CAN_TARGET_${arch} 1)
-        endforeach()
-      endif()
-    endforeach()
-  endif()
-
-  # Explictly disable unsupported Sanitizer configurations.
-  list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchos")
-  list(REMOVE_ITEM FUZZER_SUPPORTED_OS "watchossim")
-
-  # for list_intersect
-  include(CompilerRTUtils)
-
-  list_intersect(SANITIZER_COMMON_SUPPORTED_ARCH
-    ALL_SANITIZER_COMMON_SUPPORTED_ARCH
-    COMPILER_RT_SUPPORTED_ARCH
-    )
-  set(LSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH})
-  set(UBSAN_COMMON_SUPPORTED_ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH})
-  list_intersect(ASAN_SUPPORTED_ARCH
-    ALL_ASAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(DFSAN_SUPPORTED_ARCH
-    ALL_DFSAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(GWP_ASAN_SUPPORTED_ARCH
-    ALL_GWP_ASAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(LSAN_SUPPORTED_ARCH
-    ALL_LSAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(MSAN_SUPPORTED_ARCH
-    ALL_MSAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(HWASAN_SUPPORTED_ARCH
-    ALL_HWASAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(MEMPROF_SUPPORTED_ARCH
-    ALL_MEMPROF_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(PROFILE_SUPPORTED_ARCH
-    ALL_PROFILE_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(TSAN_SUPPORTED_ARCH
-    ALL_TSAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(UBSAN_SUPPORTED_ARCH
-    ALL_UBSAN_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(SAFESTACK_SUPPORTED_ARCH
-    ALL_SAFESTACK_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(CFI_SUPPORTED_ARCH
-    ALL_CFI_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(SCUDO_SUPPORTED_ARCH
-    ALL_SCUDO_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(SCUDO_STANDALONE_SUPPORTED_ARCH
-    ALL_SCUDO_STANDALONE_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(FUZZER_SUPPORTED_ARCH
-    ALL_FUZZER_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(XRAY_SUPPORTED_ARCH
-    ALL_XRAY_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(SHADOWCALLSTACK_SUPPORTED_ARCH
-    ALL_SHADOWCALLSTACK_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-  list_intersect(ORC_SUPPORTED_ARCH
-    ALL_ORC_SUPPORTED_ARCH
-    SANITIZER_COMMON_SUPPORTED_ARCH)
-
-else()
-  filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH})
-  # Architectures supported by compiler-rt libraries.
-  filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH
-    ${ALL_SANITIZER_COMMON_SUPPORTED_ARCH})
-  # LSan and UBSan common files should be available on all architectures
-  # supported by other sanitizers (even if they build into dummy object files).
-  filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH
-    ${SANITIZER_COMMON_SUPPORTED_ARCH})
-  filter_available_targets(UBSAN_COMMON_SUPPORTED_ARCH
-    ${SANITIZER_COMMON_SUPPORTED_ARCH})
-  filter_available_targets(ASAN_SUPPORTED_ARCH ${ALL_ASAN_SUPPORTED_ARCH})
-  filter_available_targets(FUZZER_SUPPORTED_ARCH ${ALL_FUZZER_SUPPORTED_ARCH})
-  filter_available_targets(DFSAN_SUPPORTED_ARCH ${ALL_DFSAN_SUPPORTED_ARCH})
-  filter_available_targets(LSAN_SUPPORTED_ARCH ${ALL_LSAN_SUPPORTED_ARCH})
-  filter_available_targets(MSAN_SUPPORTED_ARCH ${ALL_MSAN_SUPPORTED_ARCH})
-  filter_available_targets(HWASAN_SUPPORTED_ARCH ${ALL_HWASAN_SUPPORTED_ARCH})
-  filter_available_targets(MEMPROF_SUPPORTED_ARCH ${ALL_MEMPROF_SUPPORTED_ARCH})
-  filter_available_targets(PROFILE_SUPPORTED_ARCH ${ALL_PROFILE_SUPPORTED_ARCH})
-  filter_available_targets(TSAN_SUPPORTED_ARCH ${ALL_TSAN_SUPPORTED_ARCH})
-  filter_available_targets(UBSAN_SUPPORTED_ARCH ${ALL_UBSAN_SUPPORTED_ARCH})
-  filter_available_targets(SAFESTACK_SUPPORTED_ARCH
-    ${ALL_SAFESTACK_SUPPORTED_ARCH})
-  filter_available_targets(CFI_SUPPORTED_ARCH ${ALL_CFI_SUPPORTED_ARCH})
-  filter_available_targets(SCUDO_SUPPORTED_ARCH ${ALL_SCUDO_SUPPORTED_ARCH})
-  filter_available_targets(SCUDO_STANDALONE_SUPPORTED_ARCH ${ALL_SCUDO_STANDALONE_SUPPORTED_ARCH})
-  filter_available_targets(XRAY_SUPPORTED_ARCH ${ALL_XRAY_SUPPORTED_ARCH})
-  filter_available_targets(SHADOWCALLSTACK_SUPPORTED_ARCH
-    ${ALL_SHADOWCALLSTACK_SUPPORTED_ARCH})
-  filter_available_targets(GWP_ASAN_SUPPORTED_ARCH ${ALL_GWP_ASAN_SUPPORTED_ARCH})
-  filter_available_targets(ORC_SUPPORTED_ARCH ${ALL_ORC_SUPPORTED_ARCH})
-endif()
-
-if (MSVC)
-  # See if the DIA SDK is available and usable.
-  set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK")
-  if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR})
-    set(CAN_SYMBOLIZE 1)
-  else()
-    set(CAN_SYMBOLIZE 0)
-  endif()
-else()
-  set(CAN_SYMBOLIZE 1)
-endif()
-
-find_program(GNU_LD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.bfd ld.bfd DOC "GNU ld")
-find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold DOC "GNU gold")
-
-if(COMPILER_RT_SUPPORTED_ARCH)
-  list(REMOVE_DUPLICATES COMPILER_RT_SUPPORTED_ARCH)
-endif()
-message(STATUS "Compiler-RT supported architectures: ${COMPILER_RT_SUPPORTED_ARCH}")
-
-set(ALL_SANITIZERS asan;dfsan;msan;hwasan;tsan;safestack;cfi;scudo;ubsan_minimal;gwp_asan)
-set(COMPILER_RT_SANITIZERS_TO_BUILD all CACHE STRING
-    "sanitizers to build if supported on the target (all;${ALL_SANITIZERS})")
-list_replace(COMPILER_RT_SANITIZERS_TO_BUILD all "${ALL_SANITIZERS}")
-
-if (SANITIZER_COMMON_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
-    (OS_NAME MATCHES "Android|Darwin|Linux|FreeBSD|NetBSD|Fuchsia|SunOS" OR
-    (OS_NAME MATCHES "Windows" AND NOT CYGWIN AND
-        (NOT MINGW OR CMAKE_CXX_COMPILER_ID MATCHES "Clang"))))
-  set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)
-else()
-  set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON)
-  set(COMPILER_RT_HAS_INTERCEPTION TRUE)
-else()
-  set(COMPILER_RT_HAS_INTERCEPTION FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH)
-  set(COMPILER_RT_HAS_ASAN TRUE)
-else()
-  set(COMPILER_RT_HAS_ASAN FALSE)
-endif()
-
-if (OS_NAME MATCHES "Linux|FreeBSD|Windows|NetBSD|SunOS")
-  set(COMPILER_RT_ASAN_HAS_STATIC_RUNTIME TRUE)
-else()
-  set(COMPILER_RT_ASAN_HAS_STATIC_RUNTIME FALSE)
-endif()
-
-# TODO: Add builtins support.
-
-if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux" AND NOT LLVM_USE_SANITIZER)
-  set(COMPILER_RT_HAS_CRT TRUE)
-else()
-  set(COMPILER_RT_HAS_CRT FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND DFSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux")
-  set(COMPILER_RT_HAS_DFSAN TRUE)
-else()
-  set(COMPILER_RT_HAS_DFSAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND LSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Android|Darwin|Linux|NetBSD|Fuchsia")
-  set(COMPILER_RT_HAS_LSAN TRUE)
-else()
-  set(COMPILER_RT_HAS_LSAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND MSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|FreeBSD|NetBSD")
-  set(COMPILER_RT_HAS_MSAN TRUE)
-else()
-  set(COMPILER_RT_HAS_MSAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND HWASAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|Android")
-  set(COMPILER_RT_HAS_HWASAN TRUE)
-else()
-  set(COMPILER_RT_HAS_HWASAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND MEMPROF_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux")
-  set(COMPILER_RT_HAS_MEMPROF TRUE)
-else()
-  set(COMPILER_RT_HAS_MEMPROF FALSE)
-endif()
-
-if (PROFILE_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android|Fuchsia|SunOS|NetBSD|AIX")
-  set(COMPILER_RT_HAS_PROFILE TRUE)
-else()
-  set(COMPILER_RT_HAS_PROFILE FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Android|NetBSD")
-  set(COMPILER_RT_HAS_TSAN TRUE)
-else()
-  set(COMPILER_RT_HAS_TSAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|NetBSD|Windows|Android|Fuchsia|SunOS")
-  set(COMPILER_RT_HAS_UBSAN TRUE)
-else()
-  set(COMPILER_RT_HAS_UBSAN FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|FreeBSD|NetBSD|Android|Darwin")
-  set(COMPILER_RT_HAS_UBSAN_MINIMAL TRUE)
-else()
-  set(COMPILER_RT_HAS_UBSAN_MINIMAL FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND SAFESTACK_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|FreeBSD|NetBSD")
-  set(COMPILER_RT_HAS_SAFESTACK TRUE)
-else()
-  set(COMPILER_RT_HAS_SAFESTACK FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND CFI_SUPPORTED_ARCH)
-  set(COMPILER_RT_HAS_CFI TRUE)
-else()
-  set(COMPILER_RT_HAS_CFI FALSE)
-endif()
-
-#TODO(kostyak): add back Android & Fuchsia when the code settles a bit.
-if (SCUDO_STANDALONE_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux" AND
-    COMPILER_RT_HAS_AUXV)
-  set(COMPILER_RT_HAS_SCUDO_STANDALONE TRUE)
-else()
-  set(COMPILER_RT_HAS_SCUDO_STANDALONE FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND SCUDO_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|Android|Fuchsia")
-  set(COMPILER_RT_HAS_SCUDO TRUE)
-else()
-  set(COMPILER_RT_HAS_SCUDO FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|NetBSD|Fuchsia")
-  set(COMPILER_RT_HAS_XRAY TRUE)
-else()
-  set(COMPILER_RT_HAS_XRAY FALSE)
-endif()
-
-if (ORC_SUPPORTED_ARCH)
-  set(COMPILER_RT_HAS_ORC TRUE)
-else()
-  set(COMPILER_RT_HAS_ORC FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND FUZZER_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Android|Darwin|Linux|NetBSD|FreeBSD|Fuchsia|Windows")
-  set(COMPILER_RT_HAS_FUZZER TRUE)
-else()
-  set(COMPILER_RT_HAS_FUZZER FALSE)
-endif()
-
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND SHADOWCALLSTACK_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux|Android")
-  set(COMPILER_RT_HAS_SHADOWCALLSTACK TRUE)
-else()
-  set(COMPILER_RT_HAS_SHADOWCALLSTACK FALSE)
-endif()
-
-# Note: Fuchsia and Windows are not currently supported by GWP-ASan. Support
-# is planned for these platforms. Darwin is also not supported due to TLS
-# calling malloc on first use.
-# TODO(hctim): Enable this on Android again. Looks like it's causing a SIGSEGV
-# for Scudo and GWP-ASan, further testing needed.
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND GWP_ASAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux")
-  set(COMPILER_RT_HAS_GWP_ASAN TRUE)
-else()
-  set(COMPILER_RT_HAS_GWP_ASAN FALSE)
-endif()
-pythonize_bool(COMPILER_RT_HAS_GWP_ASAN)
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/builtin-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/builtin-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake/builtin-config-ix.cmake	(nonexistent)
@@ -1,209 +0,0 @@
-include(BuiltinTests)
-include(CheckCSourceCompiles)
-
-# Make all the tests only check the compiler
-set(TEST_COMPILE_ONLY On)
-
-# Check host compiler support for certain flags
-builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
-builtin_check_c_compiler_flag(-fPIE                 COMPILER_RT_HAS_FPIE_FLAG)
-builtin_check_c_compiler_flag(-fno-builtin          COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
-builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
-builtin_check_c_compiler_flag(-fvisibility=hidden   COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG)
-builtin_check_c_compiler_flag(-ffreestanding        COMPILER_RT_HAS_FREESTANDING_FLAG)
-builtin_check_c_compiler_flag(-fxray-instrument     COMPILER_RT_HAS_XRAY_COMPILER_FLAG)
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_ATOMIC_KEYWORD
-"
-int foo(int x, int y) {
- _Atomic int result = x * y;
- return result;
-}
-")
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_FLOAT16
-"
-_Float16 foo(_Float16 x) {
- return x;
-}
-"
-)
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_ASM_LSE
-"
-asm(\".arch armv8-a+lse\");
-asm(\"cas w0, w1, [x2]\");
-")
-
-set(ARM64 aarch64)
-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv8m.main armv8.1m.main)
-set(HEXAGON hexagon)
-set(X86 i386)
-set(X86_64 x86_64)
-set(MIPS32 mips mipsel)
-set(MIPS64 mips64 mips64el)
-set(PPC32 ppc powerpc)
-set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
-set(RISCV32 riscv32)
-set(RISCV64 riscv64)
-set(SPARC sparc)
-set(SPARCV9 sparcv9)
-set(WASM32 wasm32)
-set(WASM64 wasm64)
-set(VE ve)
-
-if(APPLE)
-  set(ARM64 arm64 arm64e)
-  set(ARM32 armv7 armv7k armv7s)
-  set(X86_64 x86_64 x86_64h)
-endif()
-
-set(ALL_BUILTIN_SUPPORTED_ARCH
-  ${X86} ${X86_64} ${ARM32} ${ARM64}
-  ${HEXAGON} ${MIPS32} ${MIPS64} ${PPC32} ${PPC64}
-  ${RISCV32} ${RISCV64} ${SPARC} ${SPARCV9}
-  ${WASM32} ${WASM64} ${VE})
-
-include(CompilerRTUtils)
-include(CompilerRTDarwinUtils)
-
-if(APPLE)
-
-  find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
-  find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
-  find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
-  find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
-  find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
-  find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
-  find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
-
-  # Get supported architecture from SDKSettings.
-  function(sdk_has_arch_support sdk_path os arch has_support)
-    execute_process(COMMAND
-        /usr/libexec/PlistBuddy -c "Print :SupportedTargets:${os}:Archs" ${sdk_path}/SDKSettings.plist
-      OUTPUT_VARIABLE SDK_SUPPORTED_ARCHS
-      RESULT_VARIABLE PLIST_ERROR)
-    if (PLIST_ERROR EQUAL 0 AND
-        SDK_SUPPORTED_ARCHS MATCHES " ${arch}\n")
-      message(STATUS "Found ${arch} support in ${sdk_path}/SDKSettings.plist")
-      set("${has_support}" On PARENT_SCOPE)
-    else()
-      message(STATUS "No ${arch} support in ${sdk_path}/SDKSettings.plist")
-      set("${has_support}" Off PARENT_SCOPE)
-    endif()
-  endfunction()
-
-  set(DARWIN_EMBEDDED_PLATFORMS)
-  set(DARWIN_osx_BUILTIN_MIN_VER 10.5)
-  set(DARWIN_osx_BUILTIN_MIN_VER_FLAG
-      -mmacosx-version-min=${DARWIN_osx_BUILTIN_MIN_VER})
-  set(DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-  # Add support for arm64 macOS if available in SDK.
-  foreach(arch ${ARM64})
-    sdk_has_arch_support(${DARWIN_osx_SYSROOT} macosx ${arch} MACOS_ARM_SUPPORT)
-    if (MACOS_ARM_SUPPORT)
-     list(APPEND DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${arch})
-    endif()
-  endforeach(arch)
-
-  if(COMPILER_RT_ENABLE_IOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
-    set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min)
-    set(DARWIN_ios_BUILTIN_MIN_VER 6.0)
-    set(DARWIN_ios_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER})
-    set(DARWIN_ios_BUILTIN_ALL_POSSIBLE_ARCHS ${ARM64} ${ARM32})
-    set(DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-  endif()
-  if(COMPILER_RT_ENABLE_WATCHOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
-    set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min)
-    set(DARWIN_watchos_BUILTIN_MIN_VER 2.0)
-    set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER})
-    set(DARWIN_watchos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 armv7k arm64_32)
-    set(DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86})
-  endif()
-  if(COMPILER_RT_ENABLE_TVOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos)
-    set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min)
-    set(DARWIN_tvos_BUILTIN_MIN_VER 9.0)
-    set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER})
-    set(DARWIN_tvos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 arm64)
-    set(DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-  endif()
-
-  set(BUILTIN_SUPPORTED_OS osx)
-
-  # We're setting the flag manually for each target OS
-  set(CMAKE_OSX_DEPLOYMENT_TARGET "")
-
-  # NOTE: We deliberately avoid using `DARWIN_<os>_ARCHS` here because that is
-  # used by `config-ix.cmake` in the context of building the rest of
-  # compiler-rt where the global `${TEST_COMPILE_ONLY}` (used by
-  # `darwin_test_archs()`) has a different value.
-  darwin_test_archs(osx
-    DARWIN_osx_BUILTIN_ARCHS
-    ${DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS}
-  )
-  message(STATUS "OSX supported builtin arches: ${DARWIN_osx_BUILTIN_ARCHS}")
-  foreach(arch ${DARWIN_osx_BUILTIN_ARCHS})
-    list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-    set(CAN_TARGET_${arch} 1)
-  endforeach()
-
-  foreach(platform ${DARWIN_EMBEDDED_PLATFORMS})
-    if(DARWIN_${platform}sim_SYSROOT)
-      set(DARWIN_${platform}sim_BUILTIN_MIN_VER
-        ${DARWIN_${platform}_BUILTIN_MIN_VER})
-      set(DARWIN_${platform}sim_BUILTIN_MIN_VER_FLAG
-        ${DARWIN_${platform}_BUILTIN_MIN_VER_FLAG})
-
-      set(DARWIN_${platform}sim_SKIP_CC_KEXT On)
-
-      darwin_test_archs(${platform}sim
-        DARWIN_${platform}sim_BUILTIN_ARCHS
-        ${DARWIN_${platform}sim_BUILTIN_ALL_POSSIBLE_ARCHS}
-      )
-      message(STATUS "${platform} Simulator supported builtin arches: ${DARWIN_${platform}sim_BUILTIN_ARCHS}")
-      if(DARWIN_${platform}sim_BUILTIN_ARCHS)
-        list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim)
-      endif()
-      foreach(arch ${DARWIN_${platform}sim_BUILTIN_ARCHS})
-        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-        set(CAN_TARGET_${arch} 1)
-      endforeach()
-    endif()
-
-    if(DARWIN_${platform}_SYSROOT)
-      darwin_test_archs(${platform}
-        DARWIN_${platform}_BUILTIN_ARCHS
-        ${DARWIN_${platform}_BUILTIN_ALL_POSSIBLE_ARCHS}
-      )
-      message(STATUS "${platform} supported builtin arches: ${DARWIN_${platform}_BUILTIN_ARCHS}")
-      if(DARWIN_${platform}_BUILTIN_ARCHS)
-        list(APPEND BUILTIN_SUPPORTED_OS ${platform})
-      endif()
-      foreach(arch ${DARWIN_${platform}_BUILTIN_ARCHS})
-        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-        set(CAN_TARGET_${arch} 1)
-      endforeach()
-    endif()
-  endforeach()
-
-  list_intersect(BUILTIN_SUPPORTED_ARCH ALL_BUILTIN_SUPPORTED_ARCH COMPILER_RT_SUPPORTED_ARCH)
-
-else()
-  # If we're not building the builtins standalone, just rely on the  tests in
-  # config-ix.cmake to tell us what to build. Otherwise we need to do some leg
-  # work here...
-  if(COMPILER_RT_BUILTINS_STANDALONE_BUILD)
-    test_targets()
-  endif()
-  # Architectures supported by compiler-rt libraries.
-  filter_available_targets(BUILTIN_SUPPORTED_ARCH
-    ${ALL_BUILTIN_SUPPORTED_ARCH})
-endif()
-
-message(STATUS "Builtin supported architectures: ${BUILTIN_SUPPORTED_ARCH}")
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-synonyms-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/lldb/cmake/modules/FindLuaAndSwig.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules/FindLuaAndSwig.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules/FindLuaAndSwig.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules/FindLuaAndSwig.cmake	(nonexistent)
@@ -1,31 +0,0 @@
-#.rst:
-# FindLuaAndSwig
-# --------------
-#
-# Find Lua and SWIG as a whole.
-
-if(LUA_LIBRARIES AND LUA_INCLUDE_DIR AND SWIG_EXECUTABLE)
-  set(LUAANDSWIG_FOUND TRUE)
-else()
-  find_package(SWIG 3.0)
-  if (SWIG_FOUND)
-    find_package(Lua 5.3)
-    if(LUA_FOUND AND SWIG_FOUND)
-      mark_as_advanced(
-        LUA_LIBRARIES
-        LUA_INCLUDE_DIR
-        SWIG_EXECUTABLE)
-    endif()
-  else()
-    message(STATUS "SWIG 3 or later is required for Lua support in LLDB but could not be found")
-  endif()
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(LuaAndSwig
-                                    FOUND_VAR
-                                      LUAANDSWIG_FOUND
-                                    REQUIRED_VARS
-                                      LUA_LIBRARIES
-                                      LUA_INCLUDE_DIR
-                                      SWIG_EXECUTABLE)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake/modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new/lldb
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-lua-version.patch
-
-mv llvm-$VERSION-lldb-lua-version.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-lua-version-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/lldb/source/lldb.cpp
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-set-revision.patch
-
-mv llvm-$VERSION-lldb-set-revision.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source/lldb.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source/lldb.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source/lldb.cpp	(nonexistent)
@@ -1,69 +0,0 @@
-//===-- lldb.cpp ----------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "VCSVersion.inc"
-#include "lldb/lldb-private.h"
-#include "clang/Basic/Version.h"
-
-using namespace lldb;
-using namespace lldb_private;
-
-// LLDB_VERSION_STRING is set through a define so unlike the other defines
-// expanded with CMake, it lacks the double quotes.
-#define QUOTE(str) #str
-#define EXPAND_AND_QUOTE(str) QUOTE(str)
-
-static const char *GetLLDBVersion() {
-#ifdef LLDB_VERSION_STRING
-  return EXPAND_AND_QUOTE(LLDB_VERSION_STRING);
-#else
-  return "lldb version " CLANG_VERSION_STRING;
-#endif
-}
-
-static const char *GetLLDBRevision() {
-  return NULL;
-}
-
-static const char *GetLLDBRepository() {
-  return NULL;
-}
-
-const char *lldb_private::GetVersion() {
-  static std::string g_version_str;
-  if (g_version_str.empty()) {
-    const char *lldb_version = GetLLDBVersion();
-    const char *lldb_repo = GetLLDBRepository();
-    const char *lldb_rev = GetLLDBRevision();
-    g_version_str += lldb_version;
-    if (lldb_repo || lldb_rev) {
-      g_version_str += " (";
-      if (lldb_repo)
-        g_version_str += lldb_repo;
-      if (lldb_repo && lldb_rev)
-        g_version_str += " ";
-      if (lldb_rev) {
-        g_version_str += "revision ";
-        g_version_str += lldb_rev;
-      }
-      g_version_str += ")";
-    }
-
-    std::string clang_rev(clang::getClangRevision());
-    if (clang_rev.length() > 0) {
-      g_version_str += "\n  clang revision ";
-      g_version_str += clang_rev;
-    }
-    std::string llvm_rev(clang::getLLVMRevision());
-    if (llvm_rev.length() > 0) {
-      g_version_str += "\n  llvm revision ";
-      g_version_str += llvm_rev;
-    }
-  }
-  return g_version_str.c_str();
-}
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb/source
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new/lldb
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-lldb-set-revision-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/llvm/cmake/modules/LLVMInstallSymlink.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules/LLVMInstallSymlink.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules/LLVMInstallSymlink.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules/LLVMInstallSymlink.cmake	(nonexistent)
@@ -1,26 +0,0 @@
-# We need to execute this script at installation time because the
-# DESTDIR environment variable may be unset at configuration time.
-# See PR8397.
-
-# Already included at llvm/CmakeLists.txt:
-#include(GNUInstallDirs)
-
-function(install_symlink name target outdir)
-  set(DESTDIR $ENV{DESTDIR})
-  if(NOT IS_ABSOLUTE "${outdir}")
-    set(outdir "${CMAKE_INSTALL_PREFIX}/${outdir}")
-  endif()
-  set(outdir "${DESTDIR}${outdir}")
-
-  message(STATUS "Creating ${name}")
-
-  execute_process(
-    COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}"
-    WORKING_DIRECTORY "${outdir}" ERROR_VARIABLE has_err)
-  if(CMAKE_HOST_WIN32 AND has_err)
-    execute_process(
-      COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}"
-      WORKING_DIRECTORY "${outdir}")
-  endif()
-
-endfunction()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake/modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-install-symlink.patch
-
-mv llvm-$VERSION-llvm-install-symlink.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-install-symlink-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/compiler-rt/cmake/base-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-p5600.patch
-
-mv llvm-$VERSION-compiler-rt-p5600.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
@@ -1,255 +0,0 @@
-# The CompilerRT build system requires CMake version 2.8.8 or higher in order
-# to use its support for building convenience "libraries" as a collection of
-# .o files. This is particularly useful in producing larger, more complex
-# runtime libraries.
-
-include(CheckIncludeFile)
-include(CheckCXXSourceCompiles)
-
-check_include_file(unwind.h HAVE_UNWIND_H)
-
-# Used by sanitizer_common and tests.
-check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
-if (NOT HAVE_RPC_XDR_H)
-  set(HAVE_RPC_XDR_H 0)
-endif()
-
-# Top level target used to build all compiler-rt libraries.
-add_custom_target(compiler-rt ALL)
-add_custom_target(install-compiler-rt)
-add_custom_target(install-compiler-rt-stripped)
-set_property(
-  TARGET
-    compiler-rt
-    install-compiler-rt
-    install-compiler-rt-stripped
-  PROPERTY
-    FOLDER "Compiler-RT Misc"
-)
-
-# Setting these variables from an LLVM build is sufficient that compiler-rt can
-# construct the output paths, so it can behave as if it were in-tree here.
-if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
-  set(LLVM_TREE_AVAILABLE On)
-endif()
-
-if (LLVM_TREE_AVAILABLE)
-  # Compute the Clang version from the LLVM version.
-  # FIXME: We should be able to reuse CLANG_VERSION variable calculated
-  #        in Clang cmake files, instead of copying the rules here.
-  string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
-         ${PACKAGE_VERSION})
-  # Setup the paths where compiler-rt runtimes and headers should be stored.
-  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
-         ${LLVM_INCLUDE_TESTS})
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
-         ${LLVM_ENABLE_WERROR})
-
-  # Use just-built Clang to compile/link tests on all platforms.
-  if (CMAKE_CROSSCOMPILING)
-    if (CMAKE_HOST_WIN32)
-      set(_host_executable_suffix ".exe")
-    else()
-      set(_host_executable_suffix "")
-    endif()
-  else()
-    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
-  endif()
-  set(COMPILER_RT_TEST_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
-  set(COMPILER_RT_TEST_CXX_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
-else()
-    # Take output dir and install path from the user.
-  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
-    "Path where built compiler-rt libraries should be stored.")
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-    "Path where built compiler-rt executables should be stored.")
-  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-    "Prefix for directories where built compiler-rt artifacts should be installed.")
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-  # Use a host compiler to compile/link tests.
-  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
-  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
-endif()
-
-if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-else()
-  set(COMPILER_RT_TEST_COMPILER_ID GNU)
-endif()
-
-function(extend_install_path joined_path current_segment)
-  if("${current_segment}" STREQUAL "")
-    set(temp_path "${COMPILER_RT_INSTALL_PATH}")
-  elseif("${COMPILER_RT_INSTALL_PATH}" STREQUAL "")
-    set(temp_path "${current_segment}")
-  elseif(IS_ABSOLUTE "${current_segment}")
-    message(WARNING "Since \"${current_segment}\" is absolute, it overrides COMPILER_RT_INSTALL_PATH: \"${COMPILER_RT_INSTALL_PATH}\".")
-    set(temp_path "${current_segment}")
-  else()
-    set(temp_path "${COMPILER_RT_INSTALL_PATH}/${current_segment}")
-  endif()
-  set(${joined_path} "${temp_path}" PARENT_SCOPE)
-endfunction()
-
-if(NOT DEFINED COMPILER_RT_OS_DIR)
-  string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
-endif()
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib)
-  extend_install_path(default_install_path lib)
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-  extend_install_path(default_install_path "lib/${COMPILER_RT_OS_DIR}")
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-endif()
-extend_install_path(default_install_path bin)
-set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
-  "Path where built compiler-rt executables should be installed.")
-extend_install_path(default_install_path include)
-set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt headers should be installed.")
-extend_install_path(default_install_path share)
-set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt data files should be installed.")
-
-if(APPLE)
-  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
-  # not the command line tools (or is using macOS 10.14 or newer). If this is
-  # the case, we need to find the OS X sysroot to pass to clang.
-  if(NOT EXISTS /usr/include/c++)
-    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
-       OUTPUT_VARIABLE OSX_SYSROOT
-       ERROR_QUIET
-       OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
-      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
-    else()
-      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
-      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
-    endif()
-  else()
-    set(OSX_SYSROOT_FLAG "")
-  endif()
-
-  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On)
-  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
-  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
-
-else()
-  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
-endif()
-
-if(WIN32 AND NOT MINGW AND NOT CYGWIN)
-  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
-  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
-endif()
-
-macro(test_targets)
-  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
-  # what version of MSVC to pretend to be so that the STL works.
-  set(MSVC_VERSION_FLAG "")
-  if (MSVC)
-    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
-      OUTPUT_QUIET
-      ERROR_VARIABLE MSVC_COMPAT_VERSION
-      )
-    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
-      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
-    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
-      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
-      # Add this flag into the host build if this is clang-cl.
-      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
-        # Add this flag to test compiles to suppress clang's auto-detection
-        # logic.
-        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
-      endif()
-    endif()
-  endif()
-
-  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
-  if(ANDROID)
-    # Examine compiler output to determine target architecture.
-    detect_target_arch()
-    set(COMPILER_RT_OS_SUFFIX "-android")
-  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
-    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
-      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
-      if(NOT MSVC)
-        test_target_arch(x86_64 "" "-m64")
-        test_target_arch(i386 __i386__ "-m32")
-      else()
-        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
-          test_target_arch(i386 "" "")
-        else()
-          test_target_arch(x86_64 "" "")
-        endif()
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le")
-      test_target_arch(powerpc64le "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
-      if(CMAKE_SYSTEM_NAME MATCHES "AIX")
-        test_target_arch(powerpc "" "-m32")
-      endif()
-      test_target_arch(powerpc64 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
-      test_target_arch(s390x "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
-      test_target_arch(sparc "" "-m32")
-      test_target_arch(sparcv9 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mipsel|mips64el")
-      # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
-      # -mips32r5/-mips64r5. We don't use -mips1/-mips3 because we want to match
-      # clang's default CPU's. In the 64-bit case, we must also specify the ABI
-      # since the default ABI differs between gcc and clang.
-      # FIXME: Ideally, we would build the N32 library too.
-      test_target_arch(mipsel "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64el "" "-mips64r5" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
-      test_target_arch(mips "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64 "" "-mips64r5" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
-      if(WIN32)
-        test_target_arch(arm "" "" "")
-      else()
-        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
-        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
-        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
-      test_target_arch(aarch32 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
-      test_target_arch(aarch64 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
-      test_target_arch(riscv32 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
-      test_target_arch(riscv64 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
-      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
-      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
-      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
-    endif()
-    set(COMPILER_RT_OS_SUFFIX "")
-  endif()
-endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-p5600-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-15.0.4/compiler-rt/cmake/builtin-config-ix.cmake
-llvm-15.0.4/compiler-rt/cmake/crt-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/crt-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/crt-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/crt-config-ix.cmake	(nonexistent)
@@ -1,50 +0,0 @@
-include(BuiltinTests)
-include(CheckCSourceCompiles)
-
-# Make all the tests only check the compiler
-set(TEST_COMPILE_ONLY On)
-
-builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
-builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
-builtin_check_c_compiler_flag(-Wno-pedantic         COMPILER_RT_HAS_WNO_PEDANTIC)
-builtin_check_c_compiler_flag(-fno-lto              COMPILER_RT_HAS_FNO_LTO_FLAG)
-builtin_check_c_compiler_flag(-fno-profile-generate COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG)
-builtin_check_c_compiler_flag(-fno-profile-instr-generate COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG)
-builtin_check_c_compiler_flag(-fno-profile-instr-use COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG)
-
-if(ANDROID)
-  set(OS_NAME "Android")
-else()
-  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
-endif()
-
-set(ARM64 aarch64)
-set(ARM32 arm armhf)
-set(HEXAGON hexagon)
-set(X86 i386)
-set(X86_64 x86_64)
-set(PPC32 ppc powerpc powerpcspe)
-set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
-set(RISCV32 riscv32)
-set(RISCV64 riscv64)
-set(VE ve)
-
-set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32}
-    ${PPC64} ${RISCV32} ${RISCV64} ${VE} ${HEXAGON})
-
-include(CompilerRTUtils)
-
-if(NOT APPLE)
-  if(COMPILER_RT_CRT_STANDALONE_BUILD)
-    test_targets()
-  endif()
-  # Architectures supported by compiler-rt crt library.
-  filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH})
-  message(STATUS "Supported architectures for crt: ${CRT_SUPPORTED_ARCH}")
-endif()
-
-if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux" AND NOT LLVM_USE_SANITIZER)
-  set(COMPILER_RT_HAS_CRT TRUE)
-else()
-  set(COMPILER_RT_HAS_CRT FALSE)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/builtin-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/builtin-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake/builtin-config-ix.cmake	(nonexistent)
@@ -1,232 +0,0 @@
-include(BuiltinTests)
-include(CheckCSourceCompiles)
-
-# Make all the tests only check the compiler
-set(TEST_COMPILE_ONLY On)
-
-# Check host compiler support for certain flags
-builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
-builtin_check_c_compiler_flag(-fPIE                 COMPILER_RT_HAS_FPIE_FLAG)
-builtin_check_c_compiler_flag(-fno-builtin          COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
-builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
-builtin_check_c_compiler_flag(-fvisibility=hidden   COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG)
-builtin_check_c_compiler_flag(-fomit-frame-pointer  COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG)
-builtin_check_c_compiler_flag(-ffreestanding        COMPILER_RT_HAS_FFREESTANDING_FLAG)
-builtin_check_c_compiler_flag(-fxray-instrument     COMPILER_RT_HAS_XRAY_COMPILER_FLAG)
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_ATOMIC_KEYWORD
-"
-int foo(int x, int y) {
- _Atomic int result = x * y;
- return result;
-}
-")
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_FLOAT16
-"
-_Float16 foo(_Float16 x) {
- return x;
-}
-"
-)
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_BFLOAT16
-"
-__bf16 foo(__bf16 x) {
- return x;
-}
-"
-)
-
-builtin_check_c_compiler_source(COMPILER_RT_HAS_ASM_LSE
-"
-asm(\".arch armv8-a+lse\");
-asm(\"cas w0, w1, [x2]\");
-")
-
-set(ARM64 aarch64)
-set(ARM32 arm armhf armv6m armv7m armv7em armv7 armv7s armv7k armv8m.main armv8.1m.main)
-set(AVR avr)
-set(HEXAGON hexagon)
-set(X86 i386)
-set(X86_64 x86_64)
-set(MIPS32 mips mipsel)
-set(MIPS64 mips64 mips64el)
-set(PPC32 ppc powerpc powerpcspe)
-set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
-set(RISCV32 riscv32)
-set(RISCV64 riscv64)
-set(SPARC sparc)
-set(SPARCV9 sparcv9)
-set(WASM32 wasm32)
-set(WASM64 wasm64)
-set(VE ve)
-
-if(APPLE)
-  set(ARM64 arm64 arm64e)
-  set(ARM32 armv7 armv7k armv7s)
-  set(X86_64 x86_64 x86_64h)
-endif()
-
-set(ALL_BUILTIN_SUPPORTED_ARCH
-  ${X86} ${X86_64} ${ARM32} ${ARM64} ${AVR}
-  ${HEXAGON} ${MIPS32} ${MIPS64} ${PPC32} ${PPC64}
-  ${RISCV32} ${RISCV64} ${SPARC} ${SPARCV9}
-  ${WASM32} ${WASM64} ${VE})
-
-include(CompilerRTUtils)
-include(CompilerRTDarwinUtils)
-
-if(APPLE)
-
-  find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
-  find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
-  find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
-  find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
-  find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
-  find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
-  find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
-
-  # Get supported architecture from SDKSettings.
-  function(sdk_has_arch_support sdk_path os arch has_support)
-    execute_process(COMMAND
-        /usr/libexec/PlistBuddy -c "Print :SupportedTargets:${os}:Archs" ${sdk_path}/SDKSettings.plist
-      OUTPUT_VARIABLE SDK_SUPPORTED_ARCHS
-      RESULT_VARIABLE PLIST_ERROR
-      ERROR_QUIET)
-    if (PLIST_ERROR EQUAL 0 AND
-        SDK_SUPPORTED_ARCHS MATCHES " ${arch}\n")
-      message(STATUS "Found ${arch} support in ${sdk_path}/SDKSettings.plist")
-      set("${has_support}" On PARENT_SCOPE)
-    else()
-      message(STATUS "No ${arch} support in ${sdk_path}/SDKSettings.plist")
-      set("${has_support}" Off PARENT_SCOPE)
-    endif()
-  endfunction()
-
-  set(DARWIN_EMBEDDED_PLATFORMS)
-  set(DARWIN_osx_BUILTIN_MIN_VER 10.5)
-  set(DARWIN_osx_BUILTIN_MIN_VER_FLAG
-      -mmacosx-version-min=${DARWIN_osx_BUILTIN_MIN_VER})
-  set(DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-  # Add support for arm64 macOS if available in SDK.
-  foreach(arch ${ARM64})
-    sdk_has_arch_support(${DARWIN_osx_SYSROOT} macosx ${arch} MACOS_ARM_SUPPORT)
-    if (MACOS_ARM_SUPPORT)
-     list(APPEND DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${arch})
-    endif()
-  endforeach(arch)
-
-  if(COMPILER_RT_ENABLE_IOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
-    set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min)
-    set(DARWIN_ios_BUILTIN_MIN_VER 6.0)
-    set(DARWIN_ios_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER})
-    set(DARWIN_ios_BUILTIN_ALL_POSSIBLE_ARCHS ${ARM64} ${ARM32})
-    set(DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-    find_darwin_sdk_version(iossim_sdk_version "iphonesimulator")
-    if ("${iossim_sdk_version}" VERSION_GREATER 14.0 OR "${iossim_sdk_version}" VERSION_EQUAL 14.0)
-      list(APPEND DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
-    endif()
-  endif()
-  if(COMPILER_RT_ENABLE_WATCHOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
-    set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min)
-    set(DARWIN_watchos_BUILTIN_MIN_VER 2.0)
-    set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER})
-    set(DARWIN_watchos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 armv7k arm64_32)
-    set(DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86})
-    find_darwin_sdk_version(watchossim_sdk_version "watchsimulator")
-    if ("${watchossim_sdk_version}" VERSION_GREATER 7.0 OR "${watchossim_sdk_version}" VERSION_EQUAL 7.0)
-      list(APPEND DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
-    endif()
-  endif()
-  if(COMPILER_RT_ENABLE_TVOS)
-    list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos)
-    set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min)
-    set(DARWIN_tvos_BUILTIN_MIN_VER 9.0)
-    set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG
-      ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER})
-    set(DARWIN_tvos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 arm64)
-    set(DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
-    find_darwin_sdk_version(tvossim_sdk_version "appletvsimulator")
-    if ("${tvossim_sdk_version}" VERSION_GREATER 14.0 OR "${tvossim_sdk_version}" VERSION_EQUAL 14.0)
-      list(APPEND DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
-    endif()
-  endif()
-
-  set(BUILTIN_SUPPORTED_OS osx)
-
-  # We're setting the flag manually for each target OS
-  set(CMAKE_OSX_DEPLOYMENT_TARGET "")
-
-  # NOTE: We deliberately avoid using `DARWIN_<os>_ARCHS` here because that is
-  # used by `config-ix.cmake` in the context of building the rest of
-  # compiler-rt where the global `${TEST_COMPILE_ONLY}` (used by
-  # `darwin_test_archs()`) has a different value.
-  darwin_test_archs(osx
-    DARWIN_osx_BUILTIN_ARCHS
-    ${DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS}
-  )
-  message(STATUS "OSX supported builtin arches: ${DARWIN_osx_BUILTIN_ARCHS}")
-  foreach(arch ${DARWIN_osx_BUILTIN_ARCHS})
-    list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-    set(CAN_TARGET_${arch} 1)
-  endforeach()
-
-  foreach(platform ${DARWIN_EMBEDDED_PLATFORMS})
-    if(DARWIN_${platform}sim_SYSROOT)
-      set(DARWIN_${platform}sim_BUILTIN_MIN_VER
-        ${DARWIN_${platform}_BUILTIN_MIN_VER})
-      set(DARWIN_${platform}sim_BUILTIN_MIN_VER_FLAG
-        ${DARWIN_${platform}_BUILTIN_MIN_VER_FLAG})
-
-      set(DARWIN_${platform}sim_SKIP_CC_KEXT On)
-
-      darwin_test_archs(${platform}sim
-        DARWIN_${platform}sim_BUILTIN_ARCHS
-        ${DARWIN_${platform}sim_BUILTIN_ALL_POSSIBLE_ARCHS}
-      )
-      message(STATUS "${platform} Simulator supported builtin arches: ${DARWIN_${platform}sim_BUILTIN_ARCHS}")
-      if(DARWIN_${platform}sim_BUILTIN_ARCHS)
-        list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim)
-      endif()
-      foreach(arch ${DARWIN_${platform}sim_BUILTIN_ARCHS})
-        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-        set(CAN_TARGET_${arch} 1)
-      endforeach()
-    endif()
-
-    if(DARWIN_${platform}_SYSROOT)
-      darwin_test_archs(${platform}
-        DARWIN_${platform}_BUILTIN_ARCHS
-        ${DARWIN_${platform}_BUILTIN_ALL_POSSIBLE_ARCHS}
-      )
-      message(STATUS "${platform} supported builtin arches: ${DARWIN_${platform}_BUILTIN_ARCHS}")
-      if(DARWIN_${platform}_BUILTIN_ARCHS)
-        list(APPEND BUILTIN_SUPPORTED_OS ${platform})
-      endif()
-      foreach(arch ${DARWIN_${platform}_BUILTIN_ARCHS})
-        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-        set(CAN_TARGET_${arch} 1)
-      endforeach()
-    endif()
-  endforeach()
-
-  list_intersect(BUILTIN_SUPPORTED_ARCH ALL_BUILTIN_SUPPORTED_ARCH COMPILER_RT_SUPPORTED_ARCH)
-
-else()
-  # If we're not building the builtins standalone, just rely on the  tests in
-  # config-ix.cmake to tell us what to build. Otherwise we need to do some leg
-  # work here...
-  if(COMPILER_RT_BUILTINS_STANDALONE_BUILD)
-    test_targets()
-  endif()
-  # Architectures supported by compiler-rt libraries.
-  filter_available_targets(BUILTIN_SUPPORTED_ARCH
-    ${ALL_BUILTIN_SUPPORTED_ARCH})
-endif()
-
-message(STATUS "Builtin supported architectures: ${BUILTIN_SUPPORTED_ARCH}")
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-synonyms.patch
-
-mv llvm-$VERSION-compiler-rt-synonyms.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-synonyms-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/lldb/source/Version/Version.cpp
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version/Version.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version/Version.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version/Version.cpp	(nonexistent)
@@ -1,65 +0,0 @@
-//===-- Version.cpp -------------------------------------------------------===//
-//
-// 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "lldb/Version/Version.h"
-#include "VCSVersion.inc"
-#include "lldb/Version/Version.inc"
-#include "clang/Basic/Version.h"
-
-static const char *GetLLDBVersion() {
-#ifdef LLDB_FULL_VERSION_STRING
-  return LLDB_FULL_VERSION_STRING;
-#else
-  return "lldb version " LLDB_VERSION_STRING;
-#endif
-}
-
-static const char *GetLLDBRevision() {
-  return nullptr;
-}
-
-static const char *GetLLDBRepository() {
-  return nullptr;
-}
-
-const char *lldb_private::GetVersion() {
-  static std::string g_version_str;
-
-  if (g_version_str.empty()) {
-    const char *lldb_version = GetLLDBVersion();
-    const char *lldb_repo = GetLLDBRepository();
-    const char *lldb_rev = GetLLDBRevision();
-    g_version_str += lldb_version;
-    if (lldb_repo || lldb_rev) {
-      g_version_str += " (";
-      if (lldb_repo)
-        g_version_str += lldb_repo;
-      if (lldb_repo && lldb_rev)
-        g_version_str += " ";
-      if (lldb_rev) {
-        g_version_str += "revision ";
-        g_version_str += lldb_rev;
-      }
-      g_version_str += ")";
-    }
-
-    std::string clang_rev(clang::getClangRevision());
-    if (clang_rev.length() > 0) {
-      g_version_str += "\n  clang revision ";
-      g_version_str += clang_rev;
-    }
-
-    std::string llvm_rev(clang::getLLVMRevision());
-    if (llvm_rev.length() > 0) {
-      g_version_str += "\n  llvm revision ";
-      g_version_str += llvm_rev;
-    }
-  }
-
-  return g_version_str.c_str();
-}
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source/Version
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb/source
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new/lldb
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-set-revision.patch
-
-mv llvm-$VERSION-lldb-set-revision.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-lldb-set-revision-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/compiler-rt/cmake/base-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
@@ -1,256 +0,0 @@
-# The CompilerRT build system requires CMake version 2.8.8 or higher in order
-# to use its support for building convenience "libraries" as a collection of
-# .o files. This is particularly useful in producing larger, more complex
-# runtime libraries.
-
-include(BuiltinTests)
-include(CheckIncludeFile)
-include(CheckCXXSourceCompiles)
-include(GNUInstallDirs)
-include(ExtendPath)
-
-check_include_file(unwind.h HAVE_UNWIND_H)
-
-# Used by sanitizer_common and tests.
-check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
-if (NOT HAVE_RPC_XDR_H)
-  set(HAVE_RPC_XDR_H 0)
-endif()
-
-# Top level target used to build all compiler-rt libraries.
-add_custom_target(compiler-rt ALL)
-add_custom_target(install-compiler-rt)
-add_custom_target(install-compiler-rt-stripped)
-set_property(
-  TARGET
-    compiler-rt
-    install-compiler-rt
-    install-compiler-rt-stripped
-  PROPERTY
-    FOLDER "Compiler-RT Misc"
-)
-
-# Setting these variables from an LLVM build is sufficient that compiler-rt can
-# construct the output paths, so it can behave as if it were in-tree here.
-if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
-  set(LLVM_TREE_AVAILABLE On)
-endif()
-
-if (LLVM_TREE_AVAILABLE)
-  # Compute the Clang version from the LLVM version.
-  # FIXME: We should be able to reuse CLANG_VERSION variable calculated
-  #        in Clang cmake files, instead of copying the rules here.
-  string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
-         ${PACKAGE_VERSION})
-  # Setup the paths where compiler-rt runtimes and headers should be stored.
-  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
-         ${LLVM_INCLUDE_TESTS})
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
-         ${LLVM_ENABLE_WERROR})
-
-  # Use just-built Clang to compile/link tests on all platforms.
-  if (CMAKE_CROSSCOMPILING)
-    if (CMAKE_HOST_WIN32)
-      set(_host_executable_suffix ".exe")
-    else()
-      set(_host_executable_suffix "")
-    endif()
-  else()
-    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
-  endif()
-  set(COMPILER_RT_TEST_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
-  set(COMPILER_RT_TEST_CXX_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
-else()
-    # Take output dir and install path from the user.
-  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
-    "Path where built compiler-rt libraries should be stored.")
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-    "Path where built compiler-rt executables should be stored.")
-  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-    "Prefix for directories where built compiler-rt artifacts should be installed.")
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-  # Use a host compiler to compile/link tests.
-  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
-  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
-endif()
-
-if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-else()
-  set(COMPILER_RT_TEST_COMPILER_ID GNU)
-endif()
-
-if(NOT DEFINED COMPILER_RT_OS_DIR)
-  if(ANDROID)
-    # The CMAKE_SYSTEM_NAME for Android is Android, but the OS is Linux and the
-    # driver will search for compiler-rt libraries in the "linux" directory.
-    set(COMPILER_RT_OS_DIR linux)
-  else()
-    string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
-  endif()
-endif()
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib)
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-endif()
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
-set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
-  "Path where built compiler-rt executables should be installed.")
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
-set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt headers should be installed.")
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
-set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt data files should be installed.")
-
-if(APPLE)
-  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
-  # not the command line tools (or is using macOS 10.14 or newer). If this is
-  # the case, we need to find the OS X sysroot to pass to clang.
-  if(NOT EXISTS /usr/include/c++)
-    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
-       OUTPUT_VARIABLE OSX_SYSROOT
-       ERROR_QUIET
-       OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
-      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
-    else()
-      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
-      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
-    endif()
-  else()
-    set(OSX_SYSROOT_FLAG "")
-  endif()
-
-  try_compile_only(COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG
-                   FLAGS
-                   "-target" "x86_64-apple-macos10.15"
-                   "-darwin-target-variant" "x86_64-apple-ios13.1-macabi"
-                   "-Werror")
-  option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG})
-  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On)
-  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
-  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
-
-else()
-  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
-endif()
-
-if(WIN32 AND NOT MINGW AND NOT CYGWIN)
-  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
-  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
-endif()
-
-macro(test_targets)
-  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
-  # what version of MSVC to pretend to be so that the STL works.
-  set(MSVC_VERSION_FLAG "")
-  if (MSVC)
-    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
-      OUTPUT_QUIET
-      ERROR_VARIABLE MSVC_COMPAT_VERSION
-      )
-    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
-      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
-    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
-      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
-      # Add this flag into the host build if this is clang-cl.
-      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
-        # Add this flag to test compiles to suppress clang's auto-detection
-        # logic.
-        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
-      endif()
-    endif()
-  endif()
-
-  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
-  if(ANDROID)
-    # Examine compiler output to determine target architecture.
-    detect_target_arch()
-    set(COMPILER_RT_OS_SUFFIX "-android")
-  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
-    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
-      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
-      if(NOT MSVC)
-        test_target_arch(x86_64 "" "-m64")
-        test_target_arch(i386 __i386__ "-m32")
-      else()
-        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
-          test_target_arch(i386 "" "")
-        else()
-          test_target_arch(x86_64 "" "")
-        endif()
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le|ppc64le")
-      test_target_arch(powerpc64le "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
-      test_target_arch(powerpc "" "-m32")
-      test_target_arch(powerpc64 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
-      test_target_arch(s390x "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
-      test_target_arch(sparc "" "-m32")
-      test_target_arch(sparcv9 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mipsel|mips64el")
-      # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
-      # -mips32r5/-mips64r5. We don't use -mips1/-mips3 because we want to match
-      # clang's default CPU's. In the 64-bit case, we must also specify the ABI
-      # since the default ABI differs between gcc and clang.
-      # FIXME: Ideally, we would build the N32 library too.
-      test_target_arch(mipsel "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64el "" "-mips64r5" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
-      test_target_arch(mips "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64 "" "-mips64r5" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
-      if(WIN32)
-        test_target_arch(arm "" "" "")
-      else()
-        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
-        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
-        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "avr")
-      test_target_arch(avr "__AVR__" "--target=avr")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
-      test_target_arch(aarch32 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
-      test_target_arch(aarch64 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
-      test_target_arch(riscv32 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
-      test_target_arch(riscv64 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
-      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
-      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
-      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
-    endif()
-    set(COMPILER_RT_OS_SUFFIX "")
-  endif()
-endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-p5600.patch
-
-mv llvm-$VERSION-compiler-rt-p5600.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-p5600-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/llvm/tools/llvm-config/llvm-config.cpp
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-versioning.patch
-
-mv llvm-$VERSION-llvm-versioning.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config/llvm-config.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config/llvm-config.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config/llvm-config.cpp	(nonexistent)
@@ -1,740 +0,0 @@
-//===-- llvm-config.cpp - LLVM project configuration utility --------------===//
-//
-// 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 tool encapsulates information about an LLVM project configuration for
-// use by other project's build environments (to determine installed path,
-// available features, required libraries, etc.).
-//
-// Note that although this tool *may* be used by some parts of LLVM's build
-// itself (i.e., the Makefiles use it to compute required libraries when linking
-// tools), this tool is primarily designed to support external projects.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Config/llvm-config.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/ADT/Triple.h"
-#include "llvm/ADT/Twine.h"
-#include "llvm/Config/config.h"
-#include "llvm/Support/FileSystem.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/WithColor.h"
-#include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
-#include <set>
-#include <unordered_set>
-#include <vector>
-
-using namespace llvm;
-
-// Include the build time variables we can report to the user. This is generated
-// at build time from the BuildVariables.inc.in file by the build system.
-#include "BuildVariables.inc"
-
-// Include the component table. This creates an array of struct
-// AvailableComponent entries, which record the component name, library name,
-// and required components for all of the available libraries.
-//
-// Not all components define a library, we also use "library groups" as a way to
-// create entries for pseudo groups like x86 or all-targets.
-#include "LibraryDependencies.inc"
-
-// Built-in extensions also register their dependencies, but in a separate file,
-// later in the process.
-#include "ExtensionDependencies.inc"
-
-// LinkMode determines what libraries and flags are returned by llvm-config.
-enum LinkMode {
-  // LinkModeAuto will link with the default link mode for the installation,
-  // which is dependent on the value of LLVM_LINK_LLVM_DYLIB, and fall back
-  // to the alternative if the required libraries are not available.
-  LinkModeAuto = 0,
-
-  // LinkModeShared will link with the dynamic component libraries if they
-  // exist, and return an error otherwise.
-  LinkModeShared = 1,
-
-  // LinkModeStatic will link with the static component libraries if they
-  // exist, and return an error otherwise.
-  LinkModeStatic = 2,
-};
-
-/// Traverse a single component adding to the topological ordering in
-/// \arg RequiredLibs.
-///
-/// \param Name - The component to traverse.
-/// \param ComponentMap - A prebuilt map of component names to descriptors.
-/// \param VisitedComponents [in] [out] - The set of already visited components.
-/// \param RequiredLibs [out] - The ordered list of required
-/// libraries.
-/// \param GetComponentNames - Get the component names instead of the
-/// library name.
-static void VisitComponent(const std::string &Name,
-                           const StringMap<AvailableComponent *> &ComponentMap,
-                           std::set<AvailableComponent *> &VisitedComponents,
-                           std::vector<std::string> &RequiredLibs,
-                           bool IncludeNonInstalled, bool GetComponentNames,
-                           const std::function<std::string(const StringRef &)>
-                               *GetComponentLibraryPath,
-                           std::vector<std::string> *Missing,
-                           const std::string &DirSep) {
-  // Lookup the component.
-  AvailableComponent *AC = ComponentMap.lookup(Name);
-  if (!AC) {
-    errs() << "Can't find component: '" << Name << "' in the map. Available components are: ";
-    for (const auto &Component : ComponentMap) {
-      errs() << "'" << Component.first() << "' ";
-    }
-    errs() << "\n";
-    report_fatal_error("abort");
-  }
-  assert(AC && "Invalid component name!");
-
-  // Add to the visited table.
-  if (!VisitedComponents.insert(AC).second) {
-    // We are done if the component has already been visited.
-    return;
-  }
-
-  // Only include non-installed components if requested.
-  if (!AC->IsInstalled && !IncludeNonInstalled)
-    return;
-
-  // Otherwise, visit all the dependencies.
-  for (unsigned i = 0; AC->RequiredLibraries[i]; ++i) {
-    VisitComponent(AC->RequiredLibraries[i], ComponentMap, VisitedComponents,
-                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
-                   GetComponentLibraryPath, Missing, DirSep);
-  }
-
-  // Special handling for the special 'extensions' component. Its content is
-  // not populated by llvm-build, but later in the process and loaded from
-  // ExtensionDependencies.inc.
-  if (Name == "extensions") {
-    for (auto const &AvailableExtension : AvailableExtensions) {
-      for (const char *const *Iter = &AvailableExtension.RequiredLibraries[0];
-           *Iter; ++Iter) {
-        AvailableComponent *AC = ComponentMap.lookup(*Iter);
-        if (!AC) {
-          RequiredLibs.push_back(*Iter);
-        } else {
-          VisitComponent(*Iter, ComponentMap, VisitedComponents, RequiredLibs,
-                         IncludeNonInstalled, GetComponentNames,
-                         GetComponentLibraryPath, Missing, DirSep);
-        }
-      }
-    }
-  }
-
-  if (GetComponentNames) {
-    RequiredLibs.push_back(Name);
-    return;
-  }
-
-  // Add to the required library list.
-  if (AC->Library) {
-    if (Missing && GetComponentLibraryPath) {
-      std::string path = (*GetComponentLibraryPath)(AC->Library);
-      if (DirSep == "\\") {
-        std::replace(path.begin(), path.end(), '/', '\\');
-      }
-      if (!sys::fs::exists(path))
-        Missing->push_back(path);
-    }
-    RequiredLibs.push_back(AC->Library);
-  }
-}
-
-/// Compute the list of required libraries for a given list of
-/// components, in an order suitable for passing to a linker (that is, libraries
-/// appear prior to their dependencies).
-///
-/// \param Components - The names of the components to find libraries for.
-/// \param IncludeNonInstalled - Whether non-installed components should be
-/// reported.
-/// \param GetComponentNames - True if one would prefer the component names.
-static std::vector<std::string> ComputeLibsForComponents(
-    const std::vector<StringRef> &Components, bool IncludeNonInstalled,
-    bool GetComponentNames, const std::function<std::string(const StringRef &)>
-                                *GetComponentLibraryPath,
-    std::vector<std::string> *Missing, const std::string &DirSep) {
-  std::vector<std::string> RequiredLibs;
-  std::set<AvailableComponent *> VisitedComponents;
-
-  // Build a map of component names to information.
-  StringMap<AvailableComponent *> ComponentMap;
-  for (unsigned i = 0; i != array_lengthof(AvailableComponents); ++i) {
-    AvailableComponent *AC = &AvailableComponents[i];
-    ComponentMap[AC->Name] = AC;
-  }
-
-  // Visit the components.
-  for (unsigned i = 0, e = Components.size(); i != e; ++i) {
-    // Users are allowed to provide mixed case component names.
-    std::string ComponentLower = Components[i].lower();
-
-    // Validate that the user supplied a valid component name.
-    if (!ComponentMap.count(ComponentLower)) {
-      llvm::errs() << "llvm-config: unknown component name: " << Components[i]
-                   << "\n";
-      exit(1);
-    }
-
-    VisitComponent(ComponentLower, ComponentMap, VisitedComponents,
-                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
-                   GetComponentLibraryPath, Missing, DirSep);
-  }
-
-  // The list is now ordered with leafs first, we want the libraries to printed
-  // in the reverse order of dependency.
-  std::reverse(RequiredLibs.begin(), RequiredLibs.end());
-
-  return RequiredLibs;
-}
-
-/* *** */
-
-static void usage() {
-  errs() << "\
-usage: llvm-config <OPTION>... [<COMPONENT>...]\n\
-\n\
-Get various configuration information needed to compile programs which use\n\
-LLVM.  Typically called from 'configure' scripts.  Examples:\n\
-  llvm-config --cxxflags\n\
-  llvm-config --ldflags\n\
-  llvm-config --libs engine bcreader scalaropts\n\
-\n\
-Options:\n\
-  --version         Print LLVM version.\n\
-  --prefix          Print the installation prefix.\n\
-  --src-root        Print the source root LLVM was built from.\n\
-  --obj-root        Print the object root used to build LLVM.\n\
-  --bindir          Directory containing LLVM executables.\n\
-  --includedir      Directory containing LLVM headers.\n\
-  --libdir          Directory containing LLVM libraries.\n\
-  --cmakedir        Directory containing LLVM cmake modules.\n\
-  --cppflags        C preprocessor flags for files that include LLVM headers.\n\
-  --cflags          C compiler flags for files that include LLVM headers.\n\
-  --cxxflags        C++ compiler flags for files that include LLVM headers.\n\
-  --ldflags         Print Linker flags.\n\
-  --system-libs     System Libraries needed to link against LLVM components.\n\
-  --libs            Libraries needed to link against LLVM components.\n\
-  --libnames        Bare library names for in-tree builds.\n\
-  --libfiles        Fully qualified library filenames for makefile depends.\n\
-  --components      List of all possible components.\n\
-  --targets-built   List of all targets currently built.\n\
-  --host-target     Target triple used to configure LLVM.\n\
-  --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).\n\
-  --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).\n\
-  --build-system    Print the build system used to build LLVM (always cmake).\n\
-  --has-rtti        Print whether or not LLVM was built with rtti (YES or NO).\n\
-  --shared-mode     Print how the provided components can be collectively linked (`shared` or `static`).\n\
-  --link-shared     Link the components as shared libraries.\n\
-  --link-static     Link the component libraries statically.\n\
-  --ignore-libllvm  Ignore libLLVM and link component libraries instead.\n\
-Typical components:\n\
-  all               All LLVM libraries (default).\n\
-  engine            Either a native JIT or a bitcode interpreter.\n";
-  exit(1);
-}
-
-/// Compute the path to the main executable.
-std::string GetExecutablePath(const char *Argv0) {
-  // This just needs to be some symbol in the binary; C++ doesn't
-  // allow taking the address of ::main however.
-  void *P = (void *)(intptr_t)GetExecutablePath;
-  return llvm::sys::fs::getMainExecutable(Argv0, P);
-}
-
-/// Expand the semi-colon delimited LLVM_DYLIB_COMPONENTS into
-/// the full list of components.
-std::vector<std::string> GetAllDyLibComponents(const bool IsInDevelopmentTree,
-                                               const bool GetComponentNames,
-                                               const std::string &DirSep) {
-  std::vector<StringRef> DyLibComponents;
-
-  StringRef DyLibComponentsStr(LLVM_DYLIB_COMPONENTS);
-  size_t Offset = 0;
-  while (true) {
-    const size_t NextOffset = DyLibComponentsStr.find(';', Offset);
-    DyLibComponents.push_back(DyLibComponentsStr.substr(Offset, NextOffset-Offset));
-    if (NextOffset == std::string::npos) {
-      break;
-    }
-    Offset = NextOffset + 1;
-  }
-
-  assert(!DyLibComponents.empty());
-
-  return ComputeLibsForComponents(DyLibComponents,
-                                  /*IncludeNonInstalled=*/IsInDevelopmentTree,
-                                  GetComponentNames, nullptr, nullptr, DirSep);
-}
-
-int main(int argc, char **argv) {
-  std::vector<StringRef> Components;
-  bool PrintLibs = false, PrintLibNames = false, PrintLibFiles = false;
-  bool PrintSystemLibs = false, PrintSharedMode = false;
-  bool HasAnyOption = false;
-
-  // llvm-config is designed to support being run both from a development tree
-  // and from an installed path. We try and auto-detect which case we are in so
-  // that we can report the correct information when run from a development
-  // tree.
-  bool IsInDevelopmentTree;
-  enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout;
-  llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));
-  std::string CurrentExecPrefix;
-  std::string ActiveObjRoot;
-
-  // If CMAKE_CFG_INTDIR is given, honor it as build mode.
-  char const *build_mode = LLVM_BUILDMODE;
-#if defined(CMAKE_CFG_INTDIR)
-  if (!(CMAKE_CFG_INTDIR[0] == '.' && CMAKE_CFG_INTDIR[1] == '\0'))
-    build_mode = CMAKE_CFG_INTDIR;
-#endif
-
-  // Create an absolute path, and pop up one directory (we expect to be inside a
-  // bin dir).
-  sys::fs::make_absolute(CurrentPath);
-  CurrentExecPrefix =
-      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
-
-  // Check to see if we are inside a development tree by comparing to possible
-  // locations (prefix style or CMake style).
-  if (sys::fs::equivalent(CurrentExecPrefix, LLVM_OBJ_ROOT)) {
-    IsInDevelopmentTree = true;
-    DevelopmentTreeLayout = CMakeStyle;
-    ActiveObjRoot = LLVM_OBJ_ROOT;
-  } else if (sys::fs::equivalent(sys::path::parent_path(CurrentExecPrefix),
-                                 LLVM_OBJ_ROOT)) {
-    IsInDevelopmentTree = true;
-    DevelopmentTreeLayout = CMakeBuildModeStyle;
-    ActiveObjRoot = LLVM_OBJ_ROOT;
-  } else {
-    IsInDevelopmentTree = false;
-    DevelopmentTreeLayout = CMakeStyle; // Initialized to avoid warnings.
-  }
-
-  // Compute various directory locations based on the derived location
-  // information.
-  std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
-              ActiveCMakeDir;
-  std::string ActiveIncludeOption;
-  if (IsInDevelopmentTree) {
-    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
-    ActivePrefix = CurrentExecPrefix;
-
-    // CMake organizes the products differently than a normal prefix style
-    // layout.
-    switch (DevelopmentTreeLayout) {
-    case CMakeStyle:
-      ActiveBinDir = ActiveObjRoot + "/bin";
-      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
-      ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-      break;
-    case CMakeBuildModeStyle:
-      // FIXME: Should we consider the build-mode-specific path as the prefix?
-      ActivePrefix = ActiveObjRoot;
-      ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
-      ActiveLibDir =
-          ActiveObjRoot + "/" + build_mode + "/lib" + LLVM_LIBDIR_SUFFIX;
-      // The CMake directory isn't separated by build mode.
-      ActiveCMakeDir =
-          ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX + "/cmake/llvm";
-      break;
-    }
-
-    // We need to include files from both the source and object trees.
-    ActiveIncludeOption =
-        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-  } else {
-    ActivePrefix = CurrentExecPrefix;
-    ActiveIncludeDir = ActivePrefix + "/include";
-    SmallString<256> path(StringRef(LLVM_TOOLS_INSTALL_DIR));
-    sys::fs::make_absolute(ActivePrefix, path);
-    ActiveBinDir = std::string(path.str());
-    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
-    ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-    ActiveIncludeOption = "-I" + ActiveIncludeDir;
-  }
-
-  /// We only use `shared library` mode in cases where the static library form
-  /// of the components provided are not available; note however that this is
-  /// skipped if we're run from within the build dir. However, once installed,
-  /// we still need to provide correct output when the static archives are
-  /// removed or, as in the case of CMake's `BUILD_SHARED_LIBS`, never present
-  /// in the first place. This can't be done at configure/build time.
-
-  StringRef SharedExt, SharedVersionedExt, SharedDir, SharedPrefix, StaticExt,
-      StaticPrefix, StaticDir = "lib";
-  std::string DirSep = "/";
-  const Triple HostTriple(Triple::normalize(LLVM_HOST_TRIPLE));
-  if (HostTriple.isOSWindows()) {
-    SharedExt = "dll";
-    SharedVersionedExt = LLVM_DYLIB_VERSION ".dll";
-    if (HostTriple.isOSCygMing()) {
-      SharedPrefix = "lib";
-      StaticExt = "a";
-      StaticPrefix = "lib";
-    } else {
-      StaticExt = "lib";
-      DirSep = "\\";
-      std::replace(ActiveObjRoot.begin(), ActiveObjRoot.end(), '/', '\\');
-      std::replace(ActivePrefix.begin(), ActivePrefix.end(), '/', '\\');
-      std::replace(ActiveBinDir.begin(), ActiveBinDir.end(), '/', '\\');
-      std::replace(ActiveLibDir.begin(), ActiveLibDir.end(), '/', '\\');
-      std::replace(ActiveCMakeDir.begin(), ActiveCMakeDir.end(), '/', '\\');
-      std::replace(ActiveIncludeOption.begin(), ActiveIncludeOption.end(), '/',
-                   '\\');
-    }
-    SharedDir = ActiveBinDir;
-    StaticDir = ActiveLibDir;
-  } else if (HostTriple.isOSDarwin()) {
-    SharedExt = "dylib";
-    SharedVersionedExt = LLVM_DYLIB_VERSION ".dylib";
-    StaticExt = "a";
-    StaticDir = SharedDir = ActiveLibDir;
-    StaticPrefix = SharedPrefix = "lib";
-  } else {
-    // default to the unix values:
-    SharedExt = "so";
-    StaticExt = "a";
-    StaticDir = SharedDir = ActiveLibDir;
-    StaticPrefix = SharedPrefix = "lib";
-  }
-
-  const bool BuiltDyLib = !!LLVM_ENABLE_DYLIB;
-
-  /// CMake style shared libs, ie each component is in a shared library.
-  const bool BuiltSharedLibs = !!LLVM_ENABLE_SHARED;
-
-  bool DyLibExists = false;
-  const std::string DyLibName =
-      (SharedPrefix + "LLVM." + SharedExt).str();
-
-  // If LLVM_LINK_DYLIB is ON, the single shared library will be returned
-  // for "--libs", etc, if they exist. This behaviour can be overridden with
-  // --link-static or --link-shared.
-  bool LinkDyLib = !!LLVM_LINK_DYLIB;
-
-  if (BuiltDyLib) {
-    std::string path((SharedDir + DirSep + DyLibName).str());
-    if (DirSep == "\\") {
-      std::replace(path.begin(), path.end(), '/', '\\');
-    }
-    DyLibExists = sys::fs::exists(path);
-    if (!DyLibExists) {
-      // The shared library does not exist: don't error unless the user
-      // explicitly passes --link-shared.
-      LinkDyLib = false;
-    }
-  }
-  LinkMode LinkMode =
-      (LinkDyLib || BuiltSharedLibs) ? LinkModeShared : LinkModeAuto;
-
-  /// Get the component's library name without the lib prefix and the
-  /// extension. Returns true if Lib is in a recognized format.
-  auto GetComponentLibraryNameSlice = [&](const StringRef &Lib,
-                                          StringRef &Out) {
-    if (Lib.startswith("lib")) {
-      unsigned FromEnd;
-      if (Lib.endswith(StaticExt)) {
-        FromEnd = StaticExt.size() + 1;
-      } else if (Lib.endswith(SharedExt)) {
-        FromEnd = SharedExt.size() + 1;
-      } else {
-        FromEnd = 0;
-      }
-
-      if (FromEnd != 0) {
-        Out = Lib.slice(3, Lib.size() - FromEnd);
-        return true;
-      }
-    }
-
-    return false;
-  };
-  /// Maps Unixizms to the host platform.
-  auto GetComponentLibraryFileName = [&](const StringRef &Lib,
-                                         const bool Shared) {
-    std::string LibFileName;
-    if (Shared) {
-      if (Lib == DyLibName) {
-        // Treat the DyLibName specially. It is not a component library and
-        // already has the necessary prefix and suffix (e.g. `.so`) added so
-        // just return it unmodified.
-        assert(Lib.endswith(SharedExt) && "DyLib is missing suffix");
-        LibFileName = std::string(Lib);
-      } else {
-        LibFileName = (SharedPrefix + Lib + "." + SharedExt).str();
-      }
-    } else {
-      // default to static
-      LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
-    }
-
-    return LibFileName;
-  };
-  /// Get the full path for a possibly shared component library.
-  auto GetComponentLibraryPath = [&](const StringRef &Name, const bool Shared) {
-    auto LibFileName = GetComponentLibraryFileName(Name, Shared);
-    if (Shared) {
-      return (SharedDir + DirSep + LibFileName).str();
-    } else {
-      return (StaticDir + DirSep + LibFileName).str();
-    }
-  };
-
-  raw_ostream &OS = outs();
-  for (int i = 1; i != argc; ++i) {
-    StringRef Arg = argv[i];
-
-    if (Arg.startswith("-")) {
-      HasAnyOption = true;
-      if (Arg == "--version") {
-        OS << PACKAGE_VERSION << '\n';
-      } else if (Arg == "--prefix") {
-        OS << ActivePrefix << '\n';
-      } else if (Arg == "--bindir") {
-        OS << ActiveBinDir << '\n';
-      } else if (Arg == "--includedir") {
-        OS << ActiveIncludeDir << '\n';
-      } else if (Arg == "--libdir") {
-        OS << ActiveLibDir << '\n';
-      } else if (Arg == "--cmakedir") {
-        OS << ActiveCMakeDir << '\n';
-      } else if (Arg == "--cppflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CPPFLAGS << '\n';
-      } else if (Arg == "--cflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CFLAGS << '\n';
-      } else if (Arg == "--cxxflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
-      } else if (Arg == "--ldflags") {
-        OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L")
-           << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
-      } else if (Arg == "--system-libs") {
-        PrintSystemLibs = true;
-      } else if (Arg == "--libs") {
-        PrintLibs = true;
-      } else if (Arg == "--libnames") {
-        PrintLibNames = true;
-      } else if (Arg == "--libfiles") {
-        PrintLibFiles = true;
-      } else if (Arg == "--components") {
-        /// If there are missing static archives and a dylib was
-        /// built, print LLVM_DYLIB_COMPONENTS instead of everything
-        /// in the manifest.
-        std::vector<std::string> Components;
-        for (unsigned j = 0; j != array_lengthof(AvailableComponents); ++j) {
-          // Only include non-installed components when in a development tree.
-          if (!AvailableComponents[j].IsInstalled && !IsInDevelopmentTree)
-            continue;
-
-          Components.push_back(AvailableComponents[j].Name);
-          if (AvailableComponents[j].Library && !IsInDevelopmentTree) {
-            std::string path(
-                GetComponentLibraryPath(AvailableComponents[j].Library, false));
-            if (DirSep == "\\") {
-              std::replace(path.begin(), path.end(), '/', '\\');
-            }
-            if (DyLibExists && !sys::fs::exists(path)) {
-              Components =
-                  GetAllDyLibComponents(IsInDevelopmentTree, true, DirSep);
-              llvm::sort(Components);
-              break;
-            }
-          }
-        }
-
-        for (unsigned I = 0; I < Components.size(); ++I) {
-          if (I) {
-            OS << ' ';
-          }
-
-          OS << Components[I];
-        }
-        OS << '\n';
-      } else if (Arg == "--targets-built") {
-        OS << LLVM_TARGETS_BUILT << '\n';
-      } else if (Arg == "--host-target") {
-        OS << Triple::normalize(LLVM_DEFAULT_TARGET_TRIPLE) << '\n';
-      } else if (Arg == "--build-mode") {
-        OS << build_mode << '\n';
-      } else if (Arg == "--assertion-mode") {
-#if defined(NDEBUG)
-        OS << "OFF\n";
-#else
-        OS << "ON\n";
-#endif
-      } else if (Arg == "--build-system") {
-        OS << LLVM_BUILD_SYSTEM << '\n';
-      } else if (Arg == "--has-rtti") {
-        OS << (LLVM_HAS_RTTI ? "YES" : "NO") << '\n';
-      } else if (Arg == "--shared-mode") {
-        PrintSharedMode = true;
-      } else if (Arg == "--obj-root") {
-        OS << ActivePrefix << '\n';
-      } else if (Arg == "--src-root") {
-        OS << LLVM_SRC_ROOT << '\n';
-      } else if (Arg == "--ignore-libllvm") {
-        LinkDyLib = false;
-        LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
-      } else if (Arg == "--link-shared") {
-        LinkMode = LinkModeShared;
-      } else if (Arg == "--link-static") {
-        LinkMode = LinkModeStatic;
-      } else {
-        usage();
-      }
-    } else {
-      Components.push_back(Arg);
-    }
-  }
-
-  if (!HasAnyOption)
-    usage();
-
-  if (LinkMode == LinkModeShared && !DyLibExists && !BuiltSharedLibs) {
-    WithColor::error(errs(), "llvm-config") << DyLibName << " is missing\n";
-    return 1;
-  }
-
-  if (PrintLibs || PrintLibNames || PrintLibFiles || PrintSystemLibs ||
-      PrintSharedMode) {
-
-    if (PrintSharedMode && BuiltSharedLibs) {
-      OS << "shared\n";
-      return 0;
-    }
-
-    // If no components were specified, default to "all".
-    if (Components.empty())
-      Components.push_back("all");
-
-    // Construct the list of all the required libraries.
-    std::function<std::string(const StringRef &)>
-        GetComponentLibraryPathFunction = [&](const StringRef &Name) {
-          return GetComponentLibraryPath(Name, LinkMode == LinkModeShared);
-        };
-    std::vector<std::string> MissingLibs;
-    std::vector<std::string> RequiredLibs = ComputeLibsForComponents(
-        Components,
-        /*IncludeNonInstalled=*/IsInDevelopmentTree, false,
-        &GetComponentLibraryPathFunction, &MissingLibs, DirSep);
-    if (!MissingLibs.empty()) {
-      switch (LinkMode) {
-      case LinkModeShared:
-        if (LinkDyLib && !BuiltSharedLibs)
-          break;
-        // Using component shared libraries.
-        for (auto &Lib : MissingLibs)
-          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
-        return 1;
-      case LinkModeAuto:
-        if (DyLibExists) {
-          LinkMode = LinkModeShared;
-          break;
-        }
-        WithColor::error(errs(), "llvm-config")
-            << "component libraries and shared library\n\n";
-        LLVM_FALLTHROUGH;
-      case LinkModeStatic:
-        for (auto &Lib : MissingLibs)
-          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
-        return 1;
-      }
-    } else if (LinkMode == LinkModeAuto) {
-      LinkMode = LinkModeStatic;
-    }
-
-    if (PrintSharedMode) {
-      std::unordered_set<std::string> FullDyLibComponents;
-      std::vector<std::string> DyLibComponents =
-          GetAllDyLibComponents(IsInDevelopmentTree, false, DirSep);
-
-      for (auto &Component : DyLibComponents) {
-        FullDyLibComponents.insert(Component);
-      }
-      DyLibComponents.clear();
-
-      for (auto &Lib : RequiredLibs) {
-        if (!FullDyLibComponents.count(Lib)) {
-          OS << "static\n";
-          return 0;
-        }
-      }
-      FullDyLibComponents.clear();
-
-      if (LinkMode == LinkModeShared) {
-        OS << "shared\n";
-        return 0;
-      } else {
-        OS << "static\n";
-        return 0;
-      }
-    }
-
-    if (PrintLibs || PrintLibNames || PrintLibFiles) {
-
-      auto PrintForLib = [&](const StringRef &Lib) {
-        const bool Shared = LinkMode == LinkModeShared;
-        if (PrintLibNames) {
-          OS << GetComponentLibraryFileName(Lib, Shared);
-        } else if (PrintLibFiles) {
-          OS << GetComponentLibraryPath(Lib, Shared);
-        } else if (PrintLibs) {
-          // On Windows, output full path to library without parameters.
-          // Elsewhere, if this is a typical library name, include it using -l.
-          if (HostTriple.isWindowsMSVCEnvironment()) {
-            OS << GetComponentLibraryPath(Lib, Shared);
-          } else {
-            StringRef LibName;
-            if (GetComponentLibraryNameSlice(Lib, LibName)) {
-              // Extract library name (remove prefix and suffix).
-              OS << "-l" << LibName;
-            } else {
-              // Lib is already a library name without prefix and suffix.
-              OS << "-l" << Lib;
-            }
-          }
-        }
-      };
-
-      if (LinkMode == LinkModeShared && LinkDyLib) {
-        PrintForLib(DyLibName);
-      } else {
-        for (unsigned i = 0, e = RequiredLibs.size(); i != e; ++i) {
-          auto Lib = RequiredLibs[i];
-          if (i)
-            OS << ' ';
-
-          PrintForLib(Lib);
-        }
-      }
-      OS << '\n';
-    }
-
-    // Print SYSTEM_LIBS after --libs.
-    // FIXME: Each LLVM component may have its dependent system libs.
-    if (PrintSystemLibs) {
-      // Output system libraries only if linking against a static
-      // library (since the shared library links to all system libs
-      // already)
-      OS << (LinkMode == LinkModeStatic ? LLVM_SYSTEM_LIBS : "") << '\n';
-    }
-  } else if (!Components.empty()) {
-    WithColor::error(errs(), "llvm-config")
-        << "components given, but unused\n\n";
-    usage();
-  }
-
-  return 0;
-}
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools/llvm-config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-versioning-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/polly/lib/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-polly-hack.patch
-
-mv llvm-$VERSION-polly-hack.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib/CMakeLists.txt	(nonexistent)
@@ -1,176 +0,0 @@
-set(LLVM_NO_RTTI 1)
-
-set(ISL_CODEGEN_FILES
-    CodeGen/IslAst.cpp
-    CodeGen/IslExprBuilder.cpp
-    CodeGen/IslNodeBuilder.cpp
-    CodeGen/CodeGeneration.cpp)
-
-if (GPU_CODEGEN)
-  set (GPGPU_CODEGEN_FILES
-       CodeGen/PPCGCodeGeneration.cpp
-       CodeGen/ManagedMemoryRewrite.cpp
-       )
-endif (GPU_CODEGEN)
-
-# Compile ISL into a separate library.
-add_subdirectory(External)
-
-set(POLLY_HEADER_FILES)
-if (MSVC_IDE OR XCODE)
-  file(GLOB_RECURSE POLLY_HEADER_FILES "${POLLY_SOURCE_DIR}/include/polly/*.h")
-endif ()
-
-set(POLLY_COMPONENTS
-    Support
-    Core
-    ScalarOpts
-    InstCombine
-    TransformUtils
-    Analysis
-    ipo
-    MC
-    Passes
-    Linker
-    IRReader
-    Analysis
-    # The libraries below are required for darwin: http://PR26392
-    BitReader
-    MCParser
-    Object
-    ProfileData
-    Target
-    Vectorize
-)
-
-# Polly-ACC requires the NVPTX backend to work. Ask LLVM about its libraries.
-if (GPU_CODEGEN)
-  # This call emits an error if they NVPTX backend is not enable.
-  list(APPEND POLLY_COMPONENTS NVPTX)
-endif ()
-
-# Use an object-library to add the same files to multiple libs without requiring
-# the sources them to be recompiled for each of them.
-add_llvm_pass_plugin(Polly
-  NO_MODULE
-  SUBPROJECT Polly
-  Analysis/DependenceInfo.cpp
-  Analysis/PolyhedralInfo.cpp
-  Analysis/ScopDetection.cpp
-  Analysis/ScopDetectionDiagnostic.cpp
-  Analysis/ScopInfo.cpp
-  Analysis/ScopBuilder.cpp
-  Analysis/ScopGraphPrinter.cpp
-  Analysis/ScopPass.cpp
-  Analysis/PruneUnprofitable.cpp
-  CodeGen/BlockGenerators.cpp
-  ${ISL_CODEGEN_FILES}
-  CodeGen/LoopGenerators.cpp
-  CodeGen/LoopGeneratorsGOMP.cpp
-  CodeGen/LoopGeneratorsKMP.cpp
-  CodeGen/IRBuilder.cpp
-  CodeGen/Utils.cpp
-  CodeGen/RuntimeDebugBuilder.cpp
-  CodeGen/CodegenCleanup.cpp
-  CodeGen/PerfMonitor.cpp
-  ${GPGPU_CODEGEN_FILES}
-  Exchange/JSONExporter.cpp
-  Support/GICHelper.cpp
-  Support/SCEVAffinator.cpp
-  Support/SCEVValidator.cpp
-  Support/RegisterPasses.cpp
-  Support/ScopHelper.cpp
-  Support/ScopLocation.cpp
-  Support/ISLTools.cpp
-  Support/DumpModulePass.cpp
-  Support/VirtualInstruction.cpp
-  Transform/Canonicalization.cpp
-  Transform/CodePreparation.cpp
-  Transform/DeadCodeElimination.cpp
-  Transform/ScheduleOptimizer.cpp
-  Transform/ScheduleTreeTransform.cpp
-  Transform/FlattenSchedule.cpp
-  Transform/FlattenAlgo.cpp
-  Transform/ForwardOpTree.cpp
-  Transform/DeLICM.cpp
-  Transform/ZoneAlgo.cpp
-  Transform/Simplify.cpp
-  Transform/MaximalStaticExpansion.cpp
-  Transform/RewriteByReferenceParameters.cpp
-  Transform/ScopInliner.cpp
-  Transform/ManualOptimizer.cpp
-  Transform/MatmulOptimizer.cpp
-  ${POLLY_HEADER_FILES}
-
-  LINK_COMPONENTS
-  ${POLLY_COMPONENTS}
-  )
-set_target_properties(obj.Polly PROPERTIES FOLDER "Polly")
-set_target_properties(Polly PROPERTIES FOLDER "Polly")
-
-if (MSVC_IDE OR XCODE)
-  # Configure source groups for Polly source files. By default, in the IDE there
-  # will be a source and include folder. In the source folder will be all the
-  # source files in a flat list, and in the include folder will be all the
-  # headers in a flat list. Sets the CMake source_group for each folder such
-  # the organization of the sources and headers in the IDE matches how it is
-  # laid out on disk
-  setup_polly_source_groups(${CMAKE_CURRENT_LIST_DIR}
-    ${CMAKE_CURRENT_LIST_DIR}/../include/polly)
-endif()
-
-# Create the library that can be linked into LLVM's tools and Polly's unittests.
-# It depends on all library it needs, such that with
-# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
-# well.
-target_link_libraries(Polly PUBLIC
-  ${ISL_TARGET}
-)
-
-# Additional dependencies for Polly-ACC.
-if (GPU_CODEGEN)
-  target_link_libraries(Polly PUBLIC PollyPPCG)
-endif ()
-
-if (NOT LLVM_LINK_LLVM_DYLIB AND NOT LLVM_POLLY_LINK_INTO_TOOLS)
-    # Polly-ACC requires the NVPTX target to be present in the executable it is linked to
-    # Randomly commented to fix build lol
-    #set_property(TARGET bugpoint APPEND PROPERTY LINK_LIBRARIES LLVMTarget)
-endif ()
-
-# Create a loadable module Polly.so that can be loaded using
-# LLVM's/clang's "-load" option.
-if (WIN32 OR NOT LLVM_ENABLE_PIC)
-  # Add dummy target, either because loadable modules are not supported
-  # as on Windows or because PIC code has been disabled
-  add_custom_target(LLVMPolly)
-  set_target_properties(LLVMPolly PROPERTIES FOLDER "Polly")
-else ()
-  add_polly_loadable_module(LLVMPolly
-    Plugin/Polly.cpp
-    $<TARGET_OBJECTS:obj.Polly>
-  )
-
-  # Only add the dependencies that are not part of LLVM. The latter are assumed
-  # to be already available in the address space the module is loaded into.
-  # Adding them once more would have the effect that both copies try to register
-  # the same command line options, to which LLVM reacts with an error.
-  # If Polly-ACC is enabled, the NVPTX target is also expected to reside in the
-  # hosts. This is not the case for bugpoint. Use LLVM_POLLY_LINK_INTO_TOOLS=ON
-  # instead which will automatically resolve the additional dependencies by
-  # Polly.
-  target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
-  if (GPU_CODEGEN)
-    target_link_libraries(LLVMPolly PUBLIC PollyPPCG)
-  endif ()
-
-  set_target_properties(LLVMPolly
-    PROPERTIES
-    LINKER_LANGUAGE CXX
-    PREFIX "")
-endif ()
-
-if (TARGET intrinsics_gen)
-  # Check if we are building as part of an LLVM build
-  add_dependencies(obj.Polly intrinsics_gen)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new/polly
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-polly-hack-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/polly/lib/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib/CMakeLists.txt	(nonexistent)
@@ -1,176 +0,0 @@
-set(LLVM_NO_RTTI 1)
-
-set(ISL_CODEGEN_FILES
-    CodeGen/IslAst.cpp
-    CodeGen/IslExprBuilder.cpp
-    CodeGen/IslNodeBuilder.cpp
-    CodeGen/CodeGeneration.cpp)
-
-if (GPU_CODEGEN)
-  set (GPGPU_CODEGEN_FILES
-       CodeGen/PPCGCodeGeneration.cpp
-       CodeGen/ManagedMemoryRewrite.cpp
-       )
-endif (GPU_CODEGEN)
-
-# Compile ISL into a separate library.
-add_subdirectory(External)
-
-set(POLLY_HEADER_FILES)
-if (MSVC_IDE OR XCODE)
-  file(GLOB_RECURSE POLLY_HEADER_FILES "${POLLY_SOURCE_DIR}/include/polly/*.h")
-endif ()
-
-set(POLLY_COMPONENTS
-    Support
-    Core
-    ScalarOpts
-    InstCombine
-    TransformUtils
-    Analysis
-    ipo
-    MC
-    Passes
-    Linker
-    IRReader
-    Analysis
-    # The libraries below are required for darwin: http://PR26392
-    BitReader
-    MCParser
-    Object
-    ProfileData
-    Target
-    Vectorize
-)
-
-# Polly-ACC requires the NVPTX backend to work. Ask LLVM about its libraries.
-if (GPU_CODEGEN)
-  # This call emits an error if they NVPTX backend is not enable.
-  list(APPEND POLLY_COMPONENTS NVPTX)
-endif ()
-
-# Use an object-library to add the same files to multiple libs without requiring
-# the sources them to be recompiled for each of them.
-add_llvm_pass_plugin(Polly
-  NO_MODULE
-  SUBPROJECT Polly
-  Analysis/DependenceInfo.cpp
-  Analysis/PolyhedralInfo.cpp
-  Analysis/ScopDetection.cpp
-  Analysis/ScopDetectionDiagnostic.cpp
-  Analysis/ScopInfo.cpp
-  Analysis/ScopBuilder.cpp
-  Analysis/ScopGraphPrinter.cpp
-  Analysis/ScopPass.cpp
-  Analysis/PruneUnprofitable.cpp
-  CodeGen/BlockGenerators.cpp
-  ${ISL_CODEGEN_FILES}
-  CodeGen/LoopGenerators.cpp
-  CodeGen/LoopGeneratorsGOMP.cpp
-  CodeGen/LoopGeneratorsKMP.cpp
-  CodeGen/IRBuilder.cpp
-  CodeGen/Utils.cpp
-  CodeGen/RuntimeDebugBuilder.cpp
-  CodeGen/CodegenCleanup.cpp
-  CodeGen/PerfMonitor.cpp
-  ${GPGPU_CODEGEN_FILES}
-  Exchange/JSONExporter.cpp
-  Support/GICHelper.cpp
-  Support/SCEVAffinator.cpp
-  Support/SCEVValidator.cpp
-  Support/RegisterPasses.cpp
-  Support/ScopHelper.cpp
-  Support/ScopLocation.cpp
-  Support/ISLTools.cpp
-  Support/DumpModulePass.cpp
-  Support/DumpFunctionPass.cpp
-  Support/VirtualInstruction.cpp
-  Transform/Canonicalization.cpp
-  Transform/CodePreparation.cpp
-  Transform/DeadCodeElimination.cpp
-  Transform/ScheduleOptimizer.cpp
-  Transform/ScheduleTreeTransform.cpp
-  Transform/FlattenSchedule.cpp
-  Transform/FlattenAlgo.cpp
-  Transform/ForwardOpTree.cpp
-  Transform/DeLICM.cpp
-  Transform/ZoneAlgo.cpp
-  Transform/Simplify.cpp
-  Transform/MaximalStaticExpansion.cpp
-  Transform/ScopInliner.cpp
-  Transform/ManualOptimizer.cpp
-  Transform/MatmulOptimizer.cpp
-  ${POLLY_HEADER_FILES}
-
-  LINK_COMPONENTS
-  ${POLLY_COMPONENTS}
-  )
-set_target_properties(obj.Polly PROPERTIES FOLDER "Polly")
-set_target_properties(Polly PROPERTIES FOLDER "Polly")
-
-if (MSVC_IDE OR XCODE)
-  # Configure source groups for Polly source files. By default, in the IDE there
-  # will be a source and include folder. In the source folder will be all the
-  # source files in a flat list, and in the include folder will be all the
-  # headers in a flat list. Sets the CMake source_group for each folder such
-  # the organization of the sources and headers in the IDE matches how it is
-  # laid out on disk
-  setup_polly_source_groups(${CMAKE_CURRENT_LIST_DIR}
-    ${CMAKE_CURRENT_LIST_DIR}/../include/polly)
-endif()
-
-# Create the library that can be linked into LLVM's tools and Polly's unittests.
-# It depends on all library it needs, such that with
-# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
-# well.
-target_link_libraries(Polly PUBLIC
-  ${ISL_TARGET}
-)
-
-# Additional dependencies for Polly-ACC.
-if (GPU_CODEGEN)
-  target_link_libraries(Polly PUBLIC PollyPPCG)
-endif ()
-
-if (NOT LLVM_LINK_LLVM_DYLIB AND NOT LLVM_POLLY_LINK_INTO_TOOLS)
-    # Polly-ACC requires the NVPTX target to be present in the executable it is linked to
-    # Randomly commented to fix build lol
-    #set_property(TARGET bugpoint APPEND PROPERTY LINK_LIBRARIES LLVMTarget)
-endif ()
-
-# Create a loadable module Polly.so that can be loaded using
-# LLVM's/clang's "-load" option.
-if (WIN32 OR NOT LLVM_ENABLE_PIC)
-  # Add dummy target, either because loadable modules are not supported
-  # as on Windows or because PIC code has been disabled
-  add_custom_target(LLVMPolly)
-  set_target_properties(LLVMPolly PROPERTIES FOLDER "Polly")
-else ()
-  add_polly_loadable_module(LLVMPolly
-    Plugin/Polly.cpp
-    $<TARGET_OBJECTS:obj.Polly>
-  )
-
-  # Only add the dependencies that are not part of LLVM. The latter are assumed
-  # to be already available in the address space the module is loaded into.
-  # Adding them once more would have the effect that both copies try to register
-  # the same command line options, to which LLVM reacts with an error.
-  # If Polly-ACC is enabled, the NVPTX target is also expected to reside in the
-  # hosts. This is not the case for bugpoint. Use LLVM_POLLY_LINK_INTO_TOOLS=ON
-  # instead which will automatically resolve the additional dependencies by
-  # Polly.
-  target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
-  if (GPU_CODEGEN)
-    target_link_libraries(LLVMPolly PUBLIC PollyPPCG)
-  endif ()
-
-  set_target_properties(LLVMPolly
-    PROPERTIES
-    LINKER_LANGUAGE CXX
-    PREFIX "")
-endif ()
-
-if (TARGET intrinsics_gen)
-  # Check if we are building as part of an LLVM build
-  add_dependencies(obj.Polly intrinsics_gen)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new/polly
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-polly-hack.patch
-
-mv llvm-$VERSION-polly-hack.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-polly-hack-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/llvm/tools/llvm-config/llvm-config.cpp
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config/llvm-config.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config/llvm-config.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config/llvm-config.cpp	(nonexistent)
@@ -1,754 +0,0 @@
-//===-- llvm-config.cpp - LLVM project configuration utility --------------===//
-//
-// 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 tool encapsulates information about an LLVM project configuration for
-// use by other project's build environments (to determine installed path,
-// available features, required libraries, etc.).
-//
-// Note that although this tool *may* be used by some parts of LLVM's build
-// itself (i.e., the Makefiles use it to compute required libraries when linking
-// tools), this tool is primarily designed to support external projects.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Config/llvm-config.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/ADT/StringMap.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/ADT/Triple.h"
-#include "llvm/ADT/Twine.h"
-#include "llvm/Config/config.h"
-#include "llvm/Support/FileSystem.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/WithColor.h"
-#include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
-#include <set>
-#include <unordered_set>
-#include <vector>
-
-using namespace llvm;
-
-// Include the build time variables we can report to the user. This is generated
-// at build time from the BuildVariables.inc.in file by the build system.
-#include "BuildVariables.inc"
-
-// Include the component table. This creates an array of struct
-// AvailableComponent entries, which record the component name, library name,
-// and required components for all of the available libraries.
-//
-// Not all components define a library, we also use "library groups" as a way to
-// create entries for pseudo groups like x86 or all-targets.
-#include "LibraryDependencies.inc"
-
-// Built-in extensions also register their dependencies, but in a separate file,
-// later in the process.
-#include "ExtensionDependencies.inc"
-
-// LinkMode determines what libraries and flags are returned by llvm-config.
-enum LinkMode {
-  // LinkModeAuto will link with the default link mode for the installation,
-  // which is dependent on the value of LLVM_LINK_LLVM_DYLIB, and fall back
-  // to the alternative if the required libraries are not available.
-  LinkModeAuto = 0,
-
-  // LinkModeShared will link with the dynamic component libraries if they
-  // exist, and return an error otherwise.
-  LinkModeShared = 1,
-
-  // LinkModeStatic will link with the static component libraries if they
-  // exist, and return an error otherwise.
-  LinkModeStatic = 2,
-};
-
-/// Traverse a single component adding to the topological ordering in
-/// \arg RequiredLibs.
-///
-/// \param Name - The component to traverse.
-/// \param ComponentMap - A prebuilt map of component names to descriptors.
-/// \param VisitedComponents [in] [out] - The set of already visited components.
-/// \param RequiredLibs [out] - The ordered list of required
-/// libraries.
-/// \param GetComponentNames - Get the component names instead of the
-/// library name.
-static void VisitComponent(const std::string &Name,
-                           const StringMap<AvailableComponent *> &ComponentMap,
-                           std::set<AvailableComponent *> &VisitedComponents,
-                           std::vector<std::string> &RequiredLibs,
-                           bool IncludeNonInstalled, bool GetComponentNames,
-                           const std::function<std::string(const StringRef &)>
-                               *GetComponentLibraryPath,
-                           std::vector<std::string> *Missing,
-                           const std::string &DirSep) {
-  // Lookup the component.
-  AvailableComponent *AC = ComponentMap.lookup(Name);
-  if (!AC) {
-    errs() << "Can't find component: '" << Name << "' in the map. Available components are: ";
-    for (const auto &Component : ComponentMap) {
-      errs() << "'" << Component.first() << "' ";
-    }
-    errs() << "\n";
-    report_fatal_error("abort");
-  }
-  assert(AC && "Invalid component name!");
-
-  // Add to the visited table.
-  if (!VisitedComponents.insert(AC).second) {
-    // We are done if the component has already been visited.
-    return;
-  }
-
-  // Only include non-installed components if requested.
-  if (!AC->IsInstalled && !IncludeNonInstalled)
-    return;
-
-  // Otherwise, visit all the dependencies.
-  for (unsigned i = 0; AC->RequiredLibraries[i]; ++i) {
-    VisitComponent(AC->RequiredLibraries[i], ComponentMap, VisitedComponents,
-                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
-                   GetComponentLibraryPath, Missing, DirSep);
-  }
-
-  // Special handling for the special 'extensions' component. Its content is
-  // not populated by llvm-build, but later in the process and loaded from
-  // ExtensionDependencies.inc.
-  if (Name == "extensions") {
-    for (auto const &AvailableExtension : AvailableExtensions) {
-      for (const char *const *Iter = &AvailableExtension.RequiredLibraries[0];
-           *Iter; ++Iter) {
-        AvailableComponent *AC = ComponentMap.lookup(*Iter);
-        if (!AC) {
-          RequiredLibs.push_back(*Iter);
-        } else {
-          VisitComponent(*Iter, ComponentMap, VisitedComponents, RequiredLibs,
-                         IncludeNonInstalled, GetComponentNames,
-                         GetComponentLibraryPath, Missing, DirSep);
-        }
-      }
-    }
-  }
-
-  if (GetComponentNames) {
-    RequiredLibs.push_back(Name);
-    return;
-  }
-
-  // Add to the required library list.
-  if (AC->Library) {
-    if (Missing && GetComponentLibraryPath) {
-      std::string path = (*GetComponentLibraryPath)(AC->Library);
-      if (DirSep == "\\") {
-        std::replace(path.begin(), path.end(), '/', '\\');
-      }
-      if (!sys::fs::exists(path))
-        Missing->push_back(path);
-    }
-    RequiredLibs.push_back(AC->Library);
-  }
-}
-
-/// Compute the list of required libraries for a given list of
-/// components, in an order suitable for passing to a linker (that is, libraries
-/// appear prior to their dependencies).
-///
-/// \param Components - The names of the components to find libraries for.
-/// \param IncludeNonInstalled - Whether non-installed components should be
-/// reported.
-/// \param GetComponentNames - True if one would prefer the component names.
-static std::vector<std::string> ComputeLibsForComponents(
-    const std::vector<StringRef> &Components, bool IncludeNonInstalled,
-    bool GetComponentNames, const std::function<std::string(const StringRef &)>
-                                *GetComponentLibraryPath,
-    std::vector<std::string> *Missing, const std::string &DirSep) {
-  std::vector<std::string> RequiredLibs;
-  std::set<AvailableComponent *> VisitedComponents;
-
-  // Build a map of component names to information.
-  StringMap<AvailableComponent *> ComponentMap;
-  for (unsigned i = 0; i != array_lengthof(AvailableComponents); ++i) {
-    AvailableComponent *AC = &AvailableComponents[i];
-    ComponentMap[AC->Name] = AC;
-  }
-
-  // Visit the components.
-  for (unsigned i = 0, e = Components.size(); i != e; ++i) {
-    // Users are allowed to provide mixed case component names.
-    std::string ComponentLower = Components[i].lower();
-
-    // Validate that the user supplied a valid component name.
-    if (!ComponentMap.count(ComponentLower)) {
-      llvm::errs() << "llvm-config: unknown component name: " << Components[i]
-                   << "\n";
-      exit(1);
-    }
-
-    VisitComponent(ComponentLower, ComponentMap, VisitedComponents,
-                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
-                   GetComponentLibraryPath, Missing, DirSep);
-  }
-
-  // The list is now ordered with leafs first, we want the libraries to printed
-  // in the reverse order of dependency.
-  std::reverse(RequiredLibs.begin(), RequiredLibs.end());
-
-  return RequiredLibs;
-}
-
-/* *** */
-
-static void usage(bool ExitWithFailure = true) {
-  errs() << "\
-usage: llvm-config <OPTION>... [<COMPONENT>...]\n\
-\n\
-Get various configuration information needed to compile programs which use\n\
-LLVM.  Typically called from 'configure' scripts.  Examples:\n\
-  llvm-config --cxxflags\n\
-  llvm-config --ldflags\n\
-  llvm-config --libs engine bcreader scalaropts\n\
-\n\
-Options:\n\
-  --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).\n\
-  --bindir          Directory containing LLVM executables.\n\
-  --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).\n\
-  --build-system    Print the build system used to build LLVM (e.g. `cmake` or `gn`).\n\
-  --cflags          C compiler flags for files that include LLVM headers.\n\
-  --cmakedir        Directory containing LLVM CMake modules.\n\
-  --components      List of all possible components.\n\
-  --cppflags        C preprocessor flags for files that include LLVM headers.\n\
-  --cxxflags        C++ compiler flags for files that include LLVM headers.\n\
-  --has-rtti        Print whether or not LLVM was built with rtti (YES or NO).\n\
-  --help            Print a summary of llvm-config arguments.\n\
-  --host-target     Target triple used to configure LLVM.\n\
-  --ignore-libllvm  Ignore libLLVM and link component libraries instead.\n\
-  --includedir      Directory containing LLVM headers.\n\
-  --ldflags         Print Linker flags.\n\
-  --libdir          Directory containing LLVM libraries.\n\
-  --libfiles        Fully qualified library filenames for makefile depends.\n\
-  --libnames        Bare library names for in-tree builds.\n\
-  --libs            Libraries needed to link against LLVM components.\n\
-  --link-shared     Link the components as shared libraries.\n\
-  --link-static     Link the component libraries statically.\n\
-  --obj-root        Print the object root used to build LLVM.\n\
-  --prefix          Print the installation prefix.\n\
-  --shared-mode     Print how the provided components can be collectively linked (`shared` or `static`).\n\
-  --src-root        Print the source root LLVM was built from.\n\
-  --system-libs     System Libraries needed to link against LLVM components.\n\
-  --targets-built   List of all targets currently built.\n\
-  --version         Print LLVM version.\n\
-Typical components:\n\
-  all               All LLVM libraries (default).\n\
-  engine            Either a native JIT or a bitcode interpreter.\n";
-  if (ExitWithFailure)
-    exit(1);
-}
-
-/// Compute the path to the main executable.
-std::string GetExecutablePath(const char *Argv0) {
-  // This just needs to be some symbol in the binary; C++ doesn't
-  // allow taking the address of ::main however.
-  void *P = (void *)(intptr_t)GetExecutablePath;
-  return llvm::sys::fs::getMainExecutable(Argv0, P);
-}
-
-/// Expand the semi-colon delimited LLVM_DYLIB_COMPONENTS into
-/// the full list of components.
-std::vector<std::string> GetAllDyLibComponents(const bool IsInDevelopmentTree,
-                                               const bool GetComponentNames,
-                                               const std::string &DirSep) {
-  std::vector<StringRef> DyLibComponents;
-
-  StringRef DyLibComponentsStr(LLVM_DYLIB_COMPONENTS);
-  size_t Offset = 0;
-  while (true) {
-    const size_t NextOffset = DyLibComponentsStr.find(';', Offset);
-    DyLibComponents.push_back(DyLibComponentsStr.substr(Offset, NextOffset-Offset));
-    if (NextOffset == std::string::npos) {
-      break;
-    }
-    Offset = NextOffset + 1;
-  }
-
-  assert(!DyLibComponents.empty());
-
-  return ComputeLibsForComponents(DyLibComponents,
-                                  /*IncludeNonInstalled=*/IsInDevelopmentTree,
-                                  GetComponentNames, nullptr, nullptr, DirSep);
-}
-
-int main(int argc, char **argv) {
-  std::vector<StringRef> Components;
-  bool PrintLibs = false, PrintLibNames = false, PrintLibFiles = false;
-  bool PrintSystemLibs = false, PrintSharedMode = false;
-  bool HasAnyOption = false;
-
-  // llvm-config is designed to support being run both from a development tree
-  // and from an installed path. We try and auto-detect which case we are in so
-  // that we can report the correct information when run from a development
-  // tree.
-  bool IsInDevelopmentTree;
-  enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout;
-  llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));
-  std::string CurrentExecPrefix;
-  std::string ActiveObjRoot;
-
-  // If CMAKE_CFG_INTDIR is given, honor it as build mode.
-  char const *build_mode = LLVM_BUILDMODE;
-#if defined(CMAKE_CFG_INTDIR)
-  if (!(CMAKE_CFG_INTDIR[0] == '.' && CMAKE_CFG_INTDIR[1] == '\0'))
-    build_mode = CMAKE_CFG_INTDIR;
-#endif
-
-  // Create an absolute path, and pop up one directory (we expect to be inside a
-  // bin dir).
-  sys::fs::make_absolute(CurrentPath);
-  CurrentExecPrefix =
-      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
-
-  // Check to see if we are inside a development tree by comparing to possible
-  // locations (prefix style or CMake style).
-  if (sys::fs::equivalent(CurrentExecPrefix, LLVM_OBJ_ROOT)) {
-    IsInDevelopmentTree = true;
-    DevelopmentTreeLayout = CMakeStyle;
-    ActiveObjRoot = LLVM_OBJ_ROOT;
-  } else if (sys::fs::equivalent(sys::path::parent_path(CurrentExecPrefix),
-                                 LLVM_OBJ_ROOT)) {
-    IsInDevelopmentTree = true;
-    DevelopmentTreeLayout = CMakeBuildModeStyle;
-    ActiveObjRoot = LLVM_OBJ_ROOT;
-  } else {
-    IsInDevelopmentTree = false;
-    DevelopmentTreeLayout = CMakeStyle; // Initialized to avoid warnings.
-  }
-
-  // Compute various directory locations based on the derived location
-  // information.
-  std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
-              ActiveCMakeDir;
-  std::string ActiveIncludeOption;
-  if (IsInDevelopmentTree) {
-    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
-    ActivePrefix = CurrentExecPrefix;
-
-    // CMake organizes the products differently than a normal prefix style
-    // layout.
-    switch (DevelopmentTreeLayout) {
-    case CMakeStyle:
-      ActiveBinDir = ActiveObjRoot + "/bin";
-      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
-      ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
-      break;
-    case CMakeBuildModeStyle:
-      // FIXME: Should we consider the build-mode-specific path as the prefix?
-      ActivePrefix = ActiveObjRoot;
-      ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
-      ActiveLibDir =
-          ActiveObjRoot + "/" + build_mode + "/lib" + LLVM_LIBDIR_SUFFIX;
-      // The CMake directory isn't separated by build mode.
-      ActiveCMakeDir =
-          ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX + "/cmake/llvm";
-      break;
-    }
-
-    // We need to include files from both the source and object trees.
-    ActiveIncludeOption =
-        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
-  } else {
-    ActivePrefix = CurrentExecPrefix;
-    {
-      SmallString<256> Path(LLVM_INSTALL_INCLUDEDIR);
-      sys::fs::make_absolute(ActivePrefix, Path);
-      ActiveIncludeDir = std::string(Path.str());
-    }
-    {
-      SmallString<256> Path(LLVM_TOOLS_INSTALL_DIR);
-      sys::fs::make_absolute(ActivePrefix, Path);
-      ActiveBinDir = std::string(Path.str());
-    }
-    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
-    {
-      SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR);
-      sys::fs::make_absolute(ActivePrefix, Path);
-      ActiveCMakeDir = std::string(Path.str());
-    }
-    ActiveIncludeOption = "-I" + ActiveIncludeDir;
-  }
-
-  /// We only use `shared library` mode in cases where the static library form
-  /// of the components provided are not available; note however that this is
-  /// skipped if we're run from within the build dir. However, once installed,
-  /// we still need to provide correct output when the static archives are
-  /// removed or, as in the case of CMake's `BUILD_SHARED_LIBS`, never present
-  /// in the first place. This can't be done at configure/build time.
-
-  StringRef SharedExt, SharedVersionedExt, SharedDir, SharedPrefix, StaticExt,
-      StaticPrefix, StaticDir = "lib";
-  std::string DirSep = "/";
-  const Triple HostTriple(Triple::normalize(LLVM_HOST_TRIPLE));
-  if (HostTriple.isOSWindows()) {
-    SharedExt = "dll";
-    SharedVersionedExt = LLVM_DYLIB_VERSION ".dll";
-    if (HostTriple.isOSCygMing()) {
-      SharedPrefix = "lib";
-      StaticExt = "a";
-      StaticPrefix = "lib";
-    } else {
-      StaticExt = "lib";
-      DirSep = "\\";
-      std::replace(ActiveObjRoot.begin(), ActiveObjRoot.end(), '/', '\\');
-      std::replace(ActivePrefix.begin(), ActivePrefix.end(), '/', '\\');
-      std::replace(ActiveBinDir.begin(), ActiveBinDir.end(), '/', '\\');
-      std::replace(ActiveLibDir.begin(), ActiveLibDir.end(), '/', '\\');
-      std::replace(ActiveCMakeDir.begin(), ActiveCMakeDir.end(), '/', '\\');
-      std::replace(ActiveIncludeOption.begin(), ActiveIncludeOption.end(), '/',
-                   '\\');
-    }
-    SharedDir = ActiveBinDir;
-    StaticDir = ActiveLibDir;
-  } else if (HostTriple.isOSDarwin()) {
-    SharedExt = "dylib";
-    SharedVersionedExt = LLVM_DYLIB_VERSION ".dylib";
-    StaticExt = "a";
-    StaticDir = SharedDir = ActiveLibDir;
-    StaticPrefix = SharedPrefix = "lib";
-  } else {
-    // default to the unix values:
-    SharedExt = "so";
-    StaticExt = "a";
-    StaticDir = SharedDir = ActiveLibDir;
-    StaticPrefix = SharedPrefix = "lib";
-  }
-
-  const bool BuiltDyLib = !!LLVM_ENABLE_DYLIB;
-
-  /// CMake style shared libs, ie each component is in a shared library.
-  const bool BuiltSharedLibs = !!LLVM_ENABLE_SHARED;
-
-  bool DyLibExists = false;
-  const std::string DyLibName =
-      (SharedPrefix + "LLVM." + SharedExt).str();
-
-  // If LLVM_LINK_DYLIB is ON, the single shared library will be returned
-  // for "--libs", etc, if they exist. This behaviour can be overridden with
-  // --link-static or --link-shared.
-  bool LinkDyLib = !!LLVM_LINK_DYLIB;
-
-  if (BuiltDyLib) {
-    std::string path((SharedDir + DirSep + DyLibName).str());
-    if (DirSep == "\\") {
-      std::replace(path.begin(), path.end(), '/', '\\');
-    }
-    DyLibExists = sys::fs::exists(path);
-    if (!DyLibExists) {
-      // The shared library does not exist: don't error unless the user
-      // explicitly passes --link-shared.
-      LinkDyLib = false;
-    }
-  }
-  LinkMode LinkMode =
-      (LinkDyLib || BuiltSharedLibs) ? LinkModeShared : LinkModeAuto;
-
-  /// Get the component's library name without the lib prefix and the
-  /// extension. Returns true if Lib is in a recognized format.
-  auto GetComponentLibraryNameSlice = [&](const StringRef &Lib,
-                                          StringRef &Out) {
-    if (Lib.startswith("lib")) {
-      unsigned FromEnd;
-      if (Lib.endswith(StaticExt)) {
-        FromEnd = StaticExt.size() + 1;
-      } else if (Lib.endswith(SharedExt)) {
-        FromEnd = SharedExt.size() + 1;
-      } else {
-        FromEnd = 0;
-      }
-
-      if (FromEnd != 0) {
-        Out = Lib.slice(3, Lib.size() - FromEnd);
-        return true;
-      }
-    }
-
-    return false;
-  };
-  /// Maps Unixizms to the host platform.
-  auto GetComponentLibraryFileName = [&](const StringRef &Lib,
-                                         const bool Shared) {
-    std::string LibFileName;
-    if (Shared) {
-      if (Lib == DyLibName) {
-        // Treat the DyLibName specially. It is not a component library and
-        // already has the necessary prefix and suffix (e.g. `.so`) added so
-        // just return it unmodified.
-        assert(Lib.endswith(SharedExt) && "DyLib is missing suffix");
-        LibFileName = std::string(Lib);
-      } else {
-        LibFileName = (SharedPrefix + Lib + "." + SharedExt).str();
-      }
-    } else {
-      // default to static
-      LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
-    }
-
-    return LibFileName;
-  };
-  /// Get the full path for a possibly shared component library.
-  auto GetComponentLibraryPath = [&](const StringRef &Name, const bool Shared) {
-    auto LibFileName = GetComponentLibraryFileName(Name, Shared);
-    if (Shared) {
-      return (SharedDir + DirSep + LibFileName).str();
-    } else {
-      return (StaticDir + DirSep + LibFileName).str();
-    }
-  };
-
-  raw_ostream &OS = outs();
-  for (int i = 1; i != argc; ++i) {
-    StringRef Arg = argv[i];
-
-    if (Arg.startswith("-")) {
-      HasAnyOption = true;
-      if (Arg == "--version") {
-        OS << PACKAGE_VERSION << '\n';
-      } else if (Arg == "--prefix") {
-        OS << ActivePrefix << '\n';
-      } else if (Arg == "--bindir") {
-        OS << ActiveBinDir << '\n';
-      } else if (Arg == "--includedir") {
-        OS << ActiveIncludeDir << '\n';
-      } else if (Arg == "--libdir") {
-        OS << ActiveLibDir << '\n';
-      } else if (Arg == "--cmakedir") {
-        OS << ActiveCMakeDir << '\n';
-      } else if (Arg == "--cppflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CPPFLAGS << '\n';
-      } else if (Arg == "--cflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CFLAGS << '\n';
-      } else if (Arg == "--cxxflags") {
-        OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
-      } else if (Arg == "--ldflags") {
-        OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L")
-           << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
-      } else if (Arg == "--system-libs") {
-        PrintSystemLibs = true;
-      } else if (Arg == "--libs") {
-        PrintLibs = true;
-      } else if (Arg == "--libnames") {
-        PrintLibNames = true;
-      } else if (Arg == "--libfiles") {
-        PrintLibFiles = true;
-      } else if (Arg == "--components") {
-        /// If there are missing static archives and a dylib was
-        /// built, print LLVM_DYLIB_COMPONENTS instead of everything
-        /// in the manifest.
-        std::vector<std::string> Components;
-        for (unsigned j = 0; j != array_lengthof(AvailableComponents); ++j) {
-          // Only include non-installed components when in a development tree.
-          if (!AvailableComponents[j].IsInstalled && !IsInDevelopmentTree)
-            continue;
-
-          Components.push_back(AvailableComponents[j].Name);
-          if (AvailableComponents[j].Library && !IsInDevelopmentTree) {
-            std::string path(
-                GetComponentLibraryPath(AvailableComponents[j].Library, false));
-            if (DirSep == "\\") {
-              std::replace(path.begin(), path.end(), '/', '\\');
-            }
-            if (DyLibExists && !sys::fs::exists(path)) {
-              Components =
-                  GetAllDyLibComponents(IsInDevelopmentTree, true, DirSep);
-              llvm::sort(Components);
-              break;
-            }
-          }
-        }
-
-        for (unsigned I = 0; I < Components.size(); ++I) {
-          if (I) {
-            OS << ' ';
-          }
-
-          OS << Components[I];
-        }
-        OS << '\n';
-      } else if (Arg == "--targets-built") {
-        OS << LLVM_TARGETS_BUILT << '\n';
-      } else if (Arg == "--host-target") {
-        OS << Triple::normalize(LLVM_DEFAULT_TARGET_TRIPLE) << '\n';
-      } else if (Arg == "--build-mode") {
-        OS << build_mode << '\n';
-      } else if (Arg == "--assertion-mode") {
-#if defined(NDEBUG)
-        OS << "OFF\n";
-#else
-        OS << "ON\n";
-#endif
-      } else if (Arg == "--build-system") {
-        OS << LLVM_BUILD_SYSTEM << '\n';
-      } else if (Arg == "--has-rtti") {
-        OS << (LLVM_HAS_RTTI ? "YES" : "NO") << '\n';
-      } else if (Arg == "--shared-mode") {
-        PrintSharedMode = true;
-      } else if (Arg == "--obj-root") {
-        OS << ActivePrefix << '\n';
-      } else if (Arg == "--src-root") {
-        OS << LLVM_SRC_ROOT << '\n';
-      } else if (Arg == "--ignore-libllvm") {
-        LinkDyLib = false;
-        LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
-      } else if (Arg == "--link-shared") {
-        LinkMode = LinkModeShared;
-      } else if (Arg == "--link-static") {
-        LinkMode = LinkModeStatic;
-      } else if (Arg == "--help") {
-        usage(false);
-      } else {
-        usage();
-      }
-    } else {
-      Components.push_back(Arg);
-    }
-  }
-
-  if (!HasAnyOption)
-    usage();
-
-  if (LinkMode == LinkModeShared && !DyLibExists && !BuiltSharedLibs) {
-    WithColor::error(errs(), "llvm-config") << DyLibName << " is missing\n";
-    return 1;
-  }
-
-  if (PrintLibs || PrintLibNames || PrintLibFiles || PrintSystemLibs ||
-      PrintSharedMode) {
-
-    if (PrintSharedMode && BuiltSharedLibs) {
-      OS << "shared\n";
-      return 0;
-    }
-
-    // If no components were specified, default to "all".
-    if (Components.empty())
-      Components.push_back("all");
-
-    // Construct the list of all the required libraries.
-    std::function<std::string(const StringRef &)>
-        GetComponentLibraryPathFunction = [&](const StringRef &Name) {
-          return GetComponentLibraryPath(Name, LinkMode == LinkModeShared);
-        };
-    std::vector<std::string> MissingLibs;
-    std::vector<std::string> RequiredLibs = ComputeLibsForComponents(
-        Components,
-        /*IncludeNonInstalled=*/IsInDevelopmentTree, false,
-        &GetComponentLibraryPathFunction, &MissingLibs, DirSep);
-    if (!MissingLibs.empty()) {
-      switch (LinkMode) {
-      case LinkModeShared:
-        if (LinkDyLib && !BuiltSharedLibs)
-          break;
-        // Using component shared libraries.
-        for (auto &Lib : MissingLibs)
-          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
-        return 1;
-      case LinkModeAuto:
-        if (DyLibExists) {
-          LinkMode = LinkModeShared;
-          break;
-        }
-        WithColor::error(errs(), "llvm-config")
-            << "component libraries and shared library\n\n";
-        LLVM_FALLTHROUGH;
-      case LinkModeStatic:
-        for (auto &Lib : MissingLibs)
-          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
-        return 1;
-      }
-    } else if (LinkMode == LinkModeAuto) {
-      LinkMode = LinkModeStatic;
-    }
-
-    if (PrintSharedMode) {
-      std::unordered_set<std::string> FullDyLibComponents;
-      std::vector<std::string> DyLibComponents =
-          GetAllDyLibComponents(IsInDevelopmentTree, false, DirSep);
-
-      for (auto &Component : DyLibComponents) {
-        FullDyLibComponents.insert(Component);
-      }
-      DyLibComponents.clear();
-
-      for (auto &Lib : RequiredLibs) {
-        if (!FullDyLibComponents.count(Lib)) {
-          OS << "static\n";
-          return 0;
-        }
-      }
-      FullDyLibComponents.clear();
-
-      if (LinkMode == LinkModeShared) {
-        OS << "shared\n";
-        return 0;
-      } else {
-        OS << "static\n";
-        return 0;
-      }
-    }
-
-    if (PrintLibs || PrintLibNames || PrintLibFiles) {
-
-      auto PrintForLib = [&](const StringRef &Lib) {
-        const bool Shared = LinkMode == LinkModeShared;
-        if (PrintLibNames) {
-          OS << GetComponentLibraryFileName(Lib, Shared);
-        } else if (PrintLibFiles) {
-          OS << GetComponentLibraryPath(Lib, Shared);
-        } else if (PrintLibs) {
-          // On Windows, output full path to library without parameters.
-          // Elsewhere, if this is a typical library name, include it using -l.
-          if (HostTriple.isWindowsMSVCEnvironment()) {
-            OS << GetComponentLibraryPath(Lib, Shared);
-          } else {
-            StringRef LibName;
-            if (GetComponentLibraryNameSlice(Lib, LibName)) {
-              // Extract library name (remove prefix and suffix).
-              OS << "-l" << LibName;
-            } else {
-              // Lib is already a library name without prefix and suffix.
-              OS << "-l" << Lib;
-            }
-          }
-        }
-      };
-
-      if (LinkMode == LinkModeShared && LinkDyLib) {
-        PrintForLib(DyLibName);
-      } else {
-        for (unsigned i = 0, e = RequiredLibs.size(); i != e; ++i) {
-          auto Lib = RequiredLibs[i];
-          if (i)
-            OS << ' ';
-
-          PrintForLib(Lib);
-        }
-      }
-      OS << '\n';
-    }
-
-    // Print SYSTEM_LIBS after --libs.
-    // FIXME: Each LLVM component may have its dependent system libs.
-    if (PrintSystemLibs) {
-      // Output system libraries only if linking against a static
-      // library (since the shared library links to all system libs
-      // already)
-      OS << (LinkMode == LinkModeStatic ? LLVM_SYSTEM_LIBS : "") << '\n';
-    }
-  } else if (!Components.empty()) {
-    WithColor::error(errs(), "llvm-config")
-        << "components given, but unused\n\n";
-    usage();
-  }
-
-  return 0;
-}
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools/llvm-config
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-versioning.patch
-
-mv llvm-$VERSION-llvm-versioning.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-versioning-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/clang/tools/scan-build-py/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-scan-build-py-x32.patch
-
-mv llvm-$VERSION-scan-build-py-x32.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py/CMakeLists.txt	(nonexistent)
@@ -1,132 +0,0 @@
-set (BinFiles
-     "analyze-build"
-     "intercept-build"
-     "scan-build")
-
-set (LibExecs
-     "analyze-c++"
-     "analyze-cc"
-     "intercept-c++"
-     "intercept-cc")
-
-set (LibScanbuild
-     "__init__.py"
-     "analyze.py"
-     "arguments.py"
-     "clang.py"
-     "compilation.py"
-     "intercept.py"
-     "report.py"
-     "shell.py")
-
-set (LibScanbuildResources
-     "scanview.css"
-     "selectable.js"
-     "sorttable.js")
-
-# libear is compiled dynamically in build_libear using the specified cc
-# compiler.
-set (LibEar
-     "__init__.py"
-     "config.h.in"
-     "ear.c")
-
-foreach(BinFile ${BinFiles})
-  if ("${BinFile}" STREQUAL "scan-build")
-    # Need to rename scan-build to scan-build-py to prevent overwriting
-    # scan-build Perl implementation.
-    add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/scan-build-py
-                       COMMAND ${CMAKE_COMMAND} -E make_directory
-                         ${CMAKE_BINARY_DIR}/bin
-                       COMMAND ${CMAKE_COMMAND} -E copy
-                         ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build
-                         ${CMAKE_BINARY_DIR}/bin/scan-build-py
-                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build)
-    install (PROGRAMS "bin/scan-build"
-             DESTINATION bin
-             RENAME scan-build-py
-             COMPONENT scan-build-py)
-    list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py)
-  else()
-    add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile}
-                       COMMAND ${CMAKE_COMMAND} -E make_directory
-                         ${CMAKE_BINARY_DIR}/bin
-                       COMMAND ${CMAKE_COMMAND} -E copy
-                         ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}
-                         ${CMAKE_BINARY_DIR}/bin/
-                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-    install(PROGRAMS bin/${BinFile}
-            DESTINATION bin
-            COMPONENT scan-build-py)
-    list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
-  endif()
-endforeach()
-
-foreach(lib ${LibExecs})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/libexec
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib}
-                       ${CMAKE_BINARY_DIR}/libexec/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib})
-  install(PROGRAMS libexec/${lib}
-          DESTINATION libexec
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(lib ${LibScanbuild})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib})
-  install(PROGRAMS lib/libscanbuild/${lib}
-          DESTINATION lib32/libscanbuild
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(resource ${LibScanbuildResources})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource})
-  install(PROGRAMS lib/libscanbuild/resources/${resource}
-          DESTINATION lib32/libscanbuild/resources
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(lib ${LibEar})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libear
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}
-                       ${CMAKE_BINARY_DIR}/lib/libear/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib})
-  install(PROGRAMS lib/libear/${lib}
-          DESTINATION lib32/libear
-          COMPONENT scan-build-py)
-endforeach()
-
-add_custom_target(scan-build-py ALL DEPENDS ${Depends})
-add_llvm_install_targets("install-scan-build-py"
-                         DEPENDS scan-build-py
-                         COMPONENT scan-build-py)
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools/scan-build-py
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-scan-build-py-x32-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/compiler-rt/cmake/base-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-ppc64.patch
-
-mv llvm-$VERSION-compiler-rt-ppc64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
@@ -1,254 +0,0 @@
-# The CompilerRT build system requires CMake version 2.8.8 or higher in order
-# to use its support for building convenience "libraries" as a collection of
-# .o files. This is particularly useful in producing larger, more complex
-# runtime libraries.
-
-include(CheckIncludeFile)
-include(CheckCXXSourceCompiles)
-
-check_include_file(unwind.h HAVE_UNWIND_H)
-
-# Used by sanitizer_common and tests.
-check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
-if (NOT HAVE_RPC_XDR_H)
-  set(HAVE_RPC_XDR_H 0)
-endif()
-
-# Top level target used to build all compiler-rt libraries.
-add_custom_target(compiler-rt ALL)
-add_custom_target(install-compiler-rt)
-add_custom_target(install-compiler-rt-stripped)
-set_property(
-  TARGET
-    compiler-rt
-    install-compiler-rt
-    install-compiler-rt-stripped
-  PROPERTY
-    FOLDER "Compiler-RT Misc"
-)
-
-# Setting these variables from an LLVM build is sufficient that compiler-rt can
-# construct the output paths, so it can behave as if it were in-tree here.
-if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
-  set(LLVM_TREE_AVAILABLE On)
-endif()
-
-if (LLVM_TREE_AVAILABLE)
-  # Compute the Clang version from the LLVM version.
-  # FIXME: We should be able to reuse CLANG_VERSION variable calculated
-  #        in Clang cmake files, instead of copying the rules here.
-  string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
-         ${PACKAGE_VERSION})
-  # Setup the paths where compiler-rt runtimes and headers should be stored.
-  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
-         ${LLVM_INCLUDE_TESTS})
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
-         ${LLVM_ENABLE_WERROR})
-
-  # Use just-built Clang to compile/link tests on all platforms.
-  if (CMAKE_CROSSCOMPILING)
-    if (CMAKE_HOST_WIN32)
-      set(_host_executable_suffix ".exe")
-    else()
-      set(_host_executable_suffix "")
-    endif()
-  else()
-    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
-  endif()
-  set(COMPILER_RT_TEST_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
-  set(COMPILER_RT_TEST_CXX_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
-else()
-    # Take output dir and install path from the user.
-  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
-    "Path where built compiler-rt libraries should be stored.")
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-    "Path where built compiler-rt executables should be stored.")
-  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-    "Prefix for directories where built compiler-rt artifacts should be installed.")
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-  # Use a host compiler to compile/link tests.
-  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
-  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
-endif()
-
-if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-else()
-  set(COMPILER_RT_TEST_COMPILER_ID GNU)
-endif()
-
-function(extend_install_path joined_path current_segment)
-  if("${current_segment}" STREQUAL "")
-    set(temp_path "${COMPILER_RT_INSTALL_PATH}")
-  elseif("${COMPILER_RT_INSTALL_PATH}" STREQUAL "")
-    set(temp_path "${current_segment}")
-  elseif(IS_ABSOLUTE "${current_segment}")
-    message(WARNING "Since \"${current_segment}\" is absolute, it overrides COMPILER_RT_INSTALL_PATH: \"${COMPILER_RT_INSTALL_PATH}\".")
-    set(temp_path "${current_segment}")
-  else()
-    set(temp_path "${COMPILER_RT_INSTALL_PATH}/${current_segment}")
-  endif()
-  set(${joined_path} "${temp_path}" PARENT_SCOPE)
-endfunction()
-
-if(NOT DEFINED COMPILER_RT_OS_DIR)
-  string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
-endif()
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib)
-  extend_install_path(default_install_path lib)
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-  extend_install_path(default_install_path "lib/${COMPILER_RT_OS_DIR}")
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-endif()
-extend_install_path(default_install_path bin)
-set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
-  "Path where built compiler-rt executables should be installed.")
-extend_install_path(default_install_path include)
-set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt headers should be installed.")
-extend_install_path(default_install_path share)
-set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt data files should be installed.")
-
-if(APPLE)
-  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
-  # not the command line tools (or is using macOS 10.14 or newer). If this is
-  # the case, we need to find the OS X sysroot to pass to clang.
-  if(NOT EXISTS /usr/include/c++)
-    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
-       OUTPUT_VARIABLE OSX_SYSROOT
-       ERROR_QUIET
-       OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
-      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
-    else()
-      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
-      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
-    endif()
-  else()
-    set(OSX_SYSROOT_FLAG "")
-  endif()
-
-  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On)
-  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
-  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
-
-else()
-  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
-endif()
-
-if(WIN32 AND NOT MINGW AND NOT CYGWIN)
-  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
-  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
-endif()
-
-macro(test_targets)
-  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
-  # what version of MSVC to pretend to be so that the STL works.
-  set(MSVC_VERSION_FLAG "")
-  if (MSVC)
-    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
-      OUTPUT_QUIET
-      ERROR_VARIABLE MSVC_COMPAT_VERSION
-      )
-    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
-      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
-    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
-      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
-      # Add this flag into the host build if this is clang-cl.
-      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
-        # Add this flag to test compiles to suppress clang's auto-detection
-        # logic.
-        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
-      endif()
-    endif()
-  endif()
-
-  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
-  if(ANDROID)
-    # Examine compiler output to determine target architecture.
-    detect_target_arch()
-    set(COMPILER_RT_OS_SUFFIX "-android")
-  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
-    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
-      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
-      if(NOT MSVC)
-        test_target_arch(x86_64 "" "-m64")
-        test_target_arch(i386 __i386__ "-m32")
-      else()
-        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
-          test_target_arch(i386 "" "")
-        else()
-          test_target_arch(x86_64 "" "")
-        endif()
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le")
-      test_target_arch(powerpc64le "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
-      test_target_arch(powerpc "" "-m32")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64")
-      test_target_arch(powerpc64 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
-      test_target_arch(s390x "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
-      test_target_arch(sparc "" "-m32")
-      test_target_arch(sparcv9 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mipsel|mips64el")
-      # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
-      # -mips32r2/-mips64r2. We don't use -mips1/-mips3 because we want to match
-      # clang's default CPU's. In the 64-bit case, we must also specify the ABI
-      # since the default ABI differs between gcc and clang.
-      # FIXME: Ideally, we would build the N32 library too.
-      test_target_arch(mipsel "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64el "" "-mips64r2" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
-      test_target_arch(mips "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64 "" "-mips64r2" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
-      if(WIN32)
-        test_target_arch(arm "" "" "")
-      else()
-        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
-        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
-        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
-      test_target_arch(aarch32 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
-      test_target_arch(aarch64 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
-      test_target_arch(riscv32 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
-      test_target_arch(riscv64 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
-      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
-      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
-      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
-    endif()
-    set(COMPILER_RT_OS_SUFFIX "")
-  endif()
-endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-compiler-rt-ppc64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/llvm/cmake/modules/CrossCompile.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-pass-variables.patch
-
-mv llvm-$VERSION-llvm-pass-variables.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules/CrossCompile.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules/CrossCompile.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules/CrossCompile.cmake	(nonexistent)
@@ -1,143 +0,0 @@
-include(AddLLVM)
-include(LLVMExternalProjectUtils)
-
-
-function(llvm_create_cross_target project_name target_name toolchain buildtype)
-
-  if(NOT DEFINED ${project_name}_${target_name}_BUILD)
-    set(${project_name}_${target_name}_BUILD
-      "${CMAKE_CURRENT_BINARY_DIR}/${target_name}")
-    set(${project_name}_${target_name}_BUILD
-      ${${project_name}_${target_name}_BUILD} PARENT_SCOPE)
-    message(STATUS "Setting native build dir to " ${${project_name}_${target_name}_BUILD})
-  endif(NOT DEFINED ${project_name}_${target_name}_BUILD)
-
-  if (EXISTS ${LLVM_MAIN_SRC_DIR}/cmake/platforms/${toolchain}.cmake)
-    set(CROSS_TOOLCHAIN_FLAGS_INIT
-      -DCMAKE_TOOLCHAIN_FILE=\"${LLVM_MAIN_SRC_DIR}/cmake/platforms/${toolchain}.cmake\")
-  else()
-    set(CROSS_TOOLCHAIN_FLAGS_INIT
-      -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-      -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-      )
-  endif()
-  set(CROSS_TOOLCHAIN_FLAGS_${target_name} ${CROSS_TOOLCHAIN_FLAGS_INIT}
-    CACHE STRING "Toolchain configuration for ${target_name}")
-
-  # project specific version of the flags up above
-  set(CROSS_TOOLCHAIN_FLAGS_${project_name}_${target_name} ""
-    CACHE STRING "Toolchain configuration for ${Pproject_name}_${target_name}")
-
-  if (buildtype)
-    set(build_type_flags "-DCMAKE_BUILD_TYPE=${buildtype}")
-  endif()
-  if (LLVM_USE_LINKER AND NOT CMAKE_CROSSCOMPILING)
-    set(linker_flag "-DLLVM_USE_LINKER=${LLVM_USE_LINKER}")
-  endif()
-  if (LLVM_EXTERNAL_CLANG_SOURCE_DIR)
-    # Propagate LLVM_EXTERNAL_CLANG_SOURCE_DIR so that clang-tblgen can be built
-    set(external_clang_dir "-DLLVM_EXTERNAL_CLANG_SOURCE_DIR=${LLVM_EXTERNAL_CLANG_SOURCE_DIR}")
-  endif()
-
-  add_custom_command(OUTPUT ${${project_name}_${target_name}_BUILD}
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${${project_name}_${target_name}_BUILD}
-    COMMENT "Creating ${${project_name}_${target_name}_BUILD}...")
-
-  add_custom_target(CREATE_${project_name}_${target_name}
-    DEPENDS ${${project_name}_${target_name}_BUILD})
-
-  # Escape semicolons in the targets list so that cmake doesn't expand
-  # them to spaces.
-  string(REPLACE ";" "$<SEMICOLON>" targets_to_build_arg
-         "${LLVM_TARGETS_TO_BUILD}")
-  string(REPLACE ";" "$<SEMICOLON>" experimental_targets_to_build_arg
-         "${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}")
-
-  string(REPLACE ";" "$<SEMICOLON>" llvm_enable_projects_arg
-         "${LLVM_ENABLE_PROJECTS}")
-  string(REPLACE ";" "$<SEMICOLON>" llvm_external_projects_arg
-         "${LLVM_EXTERNAL_PROJECTS}")
-
-  set(external_project_source_dirs)
-  foreach(project ${LLVM_EXTERNAL_PROJECTS})
-    canonicalize_tool_name(${project} name)
-    list(APPEND external_project_source_dirs
-         "-DLLVM_EXTERNAL_${name}_SOURCE_DIR=${LLVM_EXTERNAL_${name}_SOURCE_DIR}")
-  endforeach()
-
-  add_custom_command(OUTPUT ${${project_name}_${target_name}_BUILD}/CMakeCache.txt
-    COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
-        -DCMAKE_MAKE_PROGRAM="${CMAKE_MAKE_PROGRAM}"
-        ${CROSS_TOOLCHAIN_FLAGS_${target_name}} ${CMAKE_CURRENT_SOURCE_DIR}
-        ${CROSS_TOOLCHAIN_FLAGS_${project_name}_${target_name}}
-        -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE
-        -DLLVM_TARGETS_TO_BUILD="${targets_to_build_arg}"
-        -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${experimental_targets_to_build_arg}"
-        -DLLVM_DEFAULT_TARGET_TRIPLE="${TARGET_TRIPLE}"
-        -DLLVM_TARGET_ARCH="${LLVM_TARGET_ARCH}"
-        -DLLVM_ENABLE_PROJECTS="${llvm_enable_projects_arg}"
-        -DLLVM_EXTERNAL_PROJECTS="${llvm_external_projects_arg}"
-        ${external_project_source_dirs}
-        -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="${LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN}"
-        -DCMAKE_INSTALL_LIBDIR="${CMAKE_INSTALL_LIBDIR}"
-        -DZLIB_INCLUDE_DIR="${ZLIB_INCLUDE_DIR}"
-        -DZLIB_LIBRARY_RELEASE="${ZLIB_LIBRARY_RELEASE}"
-        -DLIBLZMA_INCLUDE_DIR="${LIBLZMA_INCLUDE_DIR}"
-        -DLIBLZMA_LIBRARY_RELEASE="${LIBLZMA_LIBRARY_RELEASE}"
-        -DLIBXML2_INCLUDE_DIR="${LIBXML2_INCLUDE_DIR}"
-        -DLIBXML2_LIBRARY="${LIBXML2_LIBRARY}"
-        -DLIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR="${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR}"
-        -DLIBOMPTARGET_DEP_LIBELF_LIBRARIES="${LIBOMPTARGET_DEP_LIBELF_LIBRARIES}"
-        -DLIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR="${LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR}"
-        -DLIBOMPTARGET_DEP_LIBFFI_LIBRARIES="${LIBOMPTARGET_DEP_LIBFFI_LIBRARIES}"
-        -DFFI_INCLUDE_DIR=${FFI_INCLUDE_DIR}
-        -DFFI_INCLUDE_PATH=${FFI_INCLUDE_PATH}
-        -DFFI_LIBRARY_DIR=${FFI_LIBRARY_DIR}
-        -DFFI_LIBRARY_PATH=${FFI_LIBRARY_PATH}
-        -DLUA_INCLUDE_DIR=${LUA_INCLUDE_DIR}
-        -DLUA_LIBRARY=${LUA_LIBRARY}
-        -DLUA_MATH_LIBRARY=${LUA_MATH_LIBRARY}
-        -DCURSES_CURSES_LIBRARY="${CURSES_CURSES_LIBRARY}"
-        -DCURSES_FORM_LIBRARY="${CURSES_FORM_LIBRARY}"
-        -DCURSES_INCLUDE_PATH="${CURSES_INCLUDE_PATH}"
-        -DCURSES_NCURSES_LIBRARY="${CURSES_NCURSES_LIBRARY}"
-        -DPANEL_LIBRARIES="${PANEL_LIBRARIES}"
-        -Dpkgcfg_lib_NCURSES_ncurses="${pkgcfg_lib_NCURSES_ncurses}"
-        -Dpkgcfg_lib_NCURSES_tinfo="${pkgcfg_lib_NCURSES_tinfo}"
-        -DCOMPILER_RT_TERMINFO_LIB="${COMPILER_RT_TERMINFO_LIB}"
-        -DTERMINFO_LIB="${TERMINFO_LIB}"
-        ${build_type_flags} ${linker_flag} ${external_clang_dir}
-        ${ARGN}
-    WORKING_DIRECTORY ${${project_name}_${target_name}_BUILD}
-    DEPENDS CREATE_${project_name}_${target_name}
-    COMMENT "Configuring ${target_name} ${project_name}...")
-
-  add_custom_target(CONFIGURE_${project_name}_${target_name}
-    DEPENDS ${${project_name}_${target_name}_BUILD}/CMakeCache.txt)
-
-endfunction()
-
-# Sets up a native build for a tool, used e.g. for cross-compilation and
-# LLVM_OPTIMIZED_TABLEGEN. Always builds in Release.
-# - target: The target to build natively
-# - output_path_var: A variable name which receives the path to the built target
-# - DEPENDS: Any additional dependencies for the target
-function(build_native_tool target output_path_var)
-  cmake_parse_arguments(ARG "" "" "DEPENDS" ${ARGN})
-
-  if(CMAKE_CONFIGURATION_TYPES)
-    set(output_path "${${PROJECT_NAME}_NATIVE_BUILD}/Release/bin/${target}")
-  else()
-    set(output_path "${${PROJECT_NAME}_NATIVE_BUILD}/bin/${target}")
-  endif()
-
-  llvm_ExternalProject_BuildCmd(build_cmd ${target} ${${PROJECT_NAME}_NATIVE_BUILD}
-                                CONFIGURATION Release)
-  add_custom_command(OUTPUT "${output_path}"
-                     COMMAND ${build_cmd}
-                     DEPENDS CONFIGURE_${PROJECT_NAME}_NATIVE ${ARG_DEPENDS}
-                     WORKING_DIRECTORY "${${PROJECT_NAME}_NATIVE_BUILD}"
-                     COMMENT "Building native ${target}..."
-                     USES_TERMINAL)
-  set(${output_path_var} "${output_path}" PARENT_SCOPE)
-endfunction()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake/modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-pass-variables-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/clang/tools/scan-build-py/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py/CMakeLists.txt	(nonexistent)
@@ -1,132 +0,0 @@
-set (BinFiles
-     "analyze-build"
-     "intercept-build"
-     "scan-build")
-
-set (LibExecs
-     "analyze-c++"
-     "analyze-cc"
-     "intercept-c++"
-     "intercept-cc")
-
-set (LibScanbuild
-     "__init__.py"
-     "analyze.py"
-     "arguments.py"
-     "clang.py"
-     "compilation.py"
-     "intercept.py"
-     "report.py"
-     "shell.py")
-
-set (LibScanbuildResources
-     "scanview.css"
-     "selectable.js"
-     "sorttable.js")
-
-# libear is compiled dynamically in build_libear using the specified cc
-# compiler.
-set (LibEar
-     "__init__.py"
-     "config.h.in"
-     "ear.c")
-
-foreach(BinFile ${BinFiles})
-  if ("${BinFile}" STREQUAL "scan-build")
-    # Need to rename scan-build to scan-build-py to prevent overwriting
-    # scan-build Perl implementation.
-    add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/scan-build-py
-                       COMMAND ${CMAKE_COMMAND} -E make_directory
-                         ${CMAKE_BINARY_DIR}/bin
-                       COMMAND ${CMAKE_COMMAND} -E copy
-                         ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build
-                         ${CMAKE_BINARY_DIR}/bin/scan-build-py
-                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/scan-build)
-    install (PROGRAMS "bin/scan-build"
-             DESTINATION "${CMAKE_INSTALL_BINDIR}"
-             RENAME scan-build-py
-             COMPONENT scan-build-py)
-    list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/scan-build-py)
-  else()
-    add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/bin/${BinFile}
-                       COMMAND ${CMAKE_COMMAND} -E make_directory
-                         ${CMAKE_BINARY_DIR}/bin
-                       COMMAND ${CMAKE_COMMAND} -E copy
-                         ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile}
-                         ${CMAKE_BINARY_DIR}/bin/
-                       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bin/${BinFile})
-    install(PROGRAMS bin/${BinFile}
-            DESTINATION "${CMAKE_INSTALL_BINDIR}"
-            COMPONENT scan-build-py)
-    list(APPEND Depends ${CMAKE_BINARY_DIR}/bin/${BinFile})
-  endif()
-endforeach()
-
-foreach(lib ${LibExecs})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/libexec/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/libexec
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib}
-                       ${CMAKE_BINARY_DIR}/libexec/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/libexec/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/libexec/${lib})
-  install(PROGRAMS libexec/${lib}
-          DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}"
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(lib ${LibScanbuild})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib}
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/${lib})
-  install(PROGRAMS lib/libscanbuild/${lib}
-          DESTINATION lib32/libscanbuild
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(resource ${LibScanbuildResources})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource}
-                       ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libscanbuild/resources/${resource})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libscanbuild/resources/${resource})
-  install(PROGRAMS lib/libscanbuild/resources/${resource}
-          DESTINATION lib32/libscanbuild/resources
-          COMPONENT scan-build-py)
-endforeach()
-
-foreach(lib ${LibEar})
-  add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/lib/libear/${lib}
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib
-                     COMMAND ${CMAKE_COMMAND} -E make_directory
-                       ${CMAKE_BINARY_DIR}/lib/libear
-                     COMMAND ${CMAKE_COMMAND} -E copy
-                       ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib}
-                       ${CMAKE_BINARY_DIR}/lib/libear/
-                     DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/lib/libear/${lib})
-  list(APPEND Depends ${CMAKE_BINARY_DIR}/lib/libear/${lib})
-  install(PROGRAMS lib/libear/${lib}
-          DESTINATION lib32/libear
-          COMPONENT scan-build-py)
-endforeach()
-
-add_custom_target(scan-build-py ALL DEPENDS ${Depends})
-add_llvm_install_targets("install-scan-build-py"
-                         DEPENDS scan-build-py
-                         COMPONENT scan-build-py)
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools/scan-build-py
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang/tools
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-scan-build-py-x32.patch
-
-mv llvm-$VERSION-scan-build-py-x32.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-scan-build-py-x32-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-15.0.4/compiler-rt/cmake/base-config-ix.cmake
-llvm-15.0.4/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake	(nonexistent)
@@ -1,84 +0,0 @@
-set(ARM64 aarch64)
-set(ARM32 arm armhf)
-set(HEXAGON hexagon)
-set(X86 i386)
-set(X86_64 x86_64)
-set(LOONGARCH64 loongarch64)
-set(MIPS32 mips mipsel)
-set(MIPS64 mips64 mips64el)
-set(PPC32 ppc powerpc powerpcspe)
-set(PPC64 ppc64 powerpc64 pc64le powerpc64le)
-set(RISCV32 riscv32)
-set(RISCV64 riscv64)
-set(S390X s390x)
-set(SPARC sparc)
-set(SPARCV9 sparcv9)
-set(WASM32 wasm32)
-set(WASM64 wasm64)
-set(VE ve)
-
-if(APPLE)
-  set(ARM64 arm64)
-  set(ARM32 armv7 armv7s armv7k)
-  set(X86_64 x86_64 x86_64h)
-endif()
-
-set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
-    ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9}
-    ${HEXAGON} ${LOONGARCH64})
-set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
-    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
-    ${LOONGARCH64})
-set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
-
-if(ANDROID)
-  set(OS_NAME "Android")
-else()
-  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
-endif()
-
-if(OS_NAME MATCHES "Linux")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${S390X})
-elseif (OS_NAME MATCHES "Windows")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64})
-elseif(OS_NAME MATCHES "Android")
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
-else()
-  set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
-endif()
-
-set(ALL_GWP_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
-if(APPLE)
-  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
-else()
-  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64} ${ARM32}
-      ${PPC64} ${S390X} ${RISCV64} ${HEXAGON})
-endif()
-set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
-set(ALL_HWASAN_SUPPORTED_ARCH ${X86_64} ${ARM64})
-set(ALL_MEMPROF_SUPPORTED_ARCH ${X86_64})
-set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32} ${PPC64}
-    ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
-    ${RISCV32} ${RISCV64})
-set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
-set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
-    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON})
-set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64}
-    ${HEXAGON})
-set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS64}
-    ${HEXAGON})
-set(ALL_SCUDO_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS32}
-    ${MIPS64} ${PPC64} ${HEXAGON})
-set(ALL_SCUDO_STANDALONE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
-    ${MIPS32} ${MIPS64} ${PPC64} ${HEXAGON})
-if(APPLE)
-set(ALL_XRAY_SUPPORTED_ARCH ${X86_64})
-else()
-set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}
-		ppc64le powerpc64le ${HEXAGON})
-endif()
-set(ALL_SHADOWCALLSTACK_SUPPORTED_ARCH ${ARM64})
-
-if (UNIX)
-set(ALL_ORC_SUPPORTED_ARCH ${X86_64} ${ARM64} ${ARM32})
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/Modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
@@ -1,257 +0,0 @@
-# The CompilerRT build system requires CMake version 2.8.8 or higher in order
-# to use its support for building convenience "libraries" as a collection of
-# .o files. This is particularly useful in producing larger, more complex
-# runtime libraries.
-
-include(BuiltinTests)
-include(CheckIncludeFile)
-include(CheckCXXSourceCompiles)
-include(GNUInstallDirs)
-include(ExtendPath)
-
-check_include_file(unwind.h HAVE_UNWIND_H)
-
-# Used by sanitizer_common and tests.
-check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
-if (NOT HAVE_RPC_XDR_H)
-  set(HAVE_RPC_XDR_H 0)
-endif()
-
-# Top level target used to build all compiler-rt libraries.
-add_custom_target(compiler-rt ALL)
-add_custom_target(install-compiler-rt)
-add_custom_target(install-compiler-rt-stripped)
-set_property(
-  TARGET
-    compiler-rt
-    install-compiler-rt
-    install-compiler-rt-stripped
-  PROPERTY
-    FOLDER "Compiler-RT Misc"
-)
-
-# Setting these variables from an LLVM build is sufficient that compiler-rt can
-# construct the output paths, so it can behave as if it were in-tree here.
-if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
-  set(LLVM_TREE_AVAILABLE On)
-endif()
-
-if (LLVM_TREE_AVAILABLE)
-  # Compute the Clang version from the LLVM version.
-  # FIXME: We should be able to reuse CLANG_VERSION variable calculated
-  #        in Clang cmake files, instead of copying the rules here.
-  string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
-         ${PACKAGE_VERSION})
-  # Setup the paths where compiler-rt runtimes and headers should be stored.
-  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION})
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
-  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION})
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
-         ${LLVM_INCLUDE_TESTS})
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
-         ${LLVM_ENABLE_WERROR})
-
-  # Use just-built Clang to compile/link tests on all platforms.
-  if (CMAKE_CROSSCOMPILING)
-    if (CMAKE_HOST_WIN32)
-      set(_host_executable_suffix ".exe")
-    else()
-      set(_host_executable_suffix "")
-    endif()
-  else()
-    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
-  endif()
-  set(COMPILER_RT_TEST_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
-  set(COMPILER_RT_TEST_CXX_COMPILER
-    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
-else()
-    # Take output dir and install path from the user.
-  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
-    "Path where built compiler-rt libraries should be stored.")
-  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
-    "Path where built compiler-rt executables should be stored.")
-  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
-    "Prefix for directories where built compiler-rt artifacts should be installed.")
-  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
-  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
-  # Use a host compiler to compile/link tests.
-  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
-  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
-endif()
-
-if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
-  set(COMPILER_RT_TEST_COMPILER_ID Clang)
-else()
-  set(COMPILER_RT_TEST_COMPILER_ID GNU)
-endif()
-
-if(NOT DEFINED COMPILER_RT_OS_DIR)
-  if(ANDROID)
-    # The CMAKE_SYSTEM_NAME for Android is Android, but the OS is Linux and the
-    # driver will search for compiler-rt libraries in the "linux" directory.
-    set(COMPILER_RT_OS_DIR linux)
-  else()
-    string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
-  endif()
-endif()
-if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib)
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
-  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
-    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
-  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
-  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
-    "Path where built compiler-rt libraries should be installed.")
-endif()
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
-set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
-  "Path where built compiler-rt executables should be installed.")
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
-set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt headers should be installed.")
-extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
-set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
-  "Path where compiler-rt data files should be installed.")
-
-if(APPLE)
-  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
-  # not the command line tools (or is using macOS 10.14 or newer). If this is
-  # the case, we need to find the OS X sysroot to pass to clang.
-  if(NOT EXISTS /usr/include/c++)
-    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
-       OUTPUT_VARIABLE OSX_SYSROOT
-       ERROR_QUIET
-       OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
-      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
-    else()
-      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
-      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
-    endif()
-  else()
-    set(OSX_SYSROOT_FLAG "")
-  endif()
-
-  try_compile_only(COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG
-                   FLAGS
-                   "-target" "x86_64-apple-macos10.15"
-                   "-darwin-target-variant" "x86_64-apple-ios13.1-macabi"
-                   "-Werror")
-  option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG})
-  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On)
-  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
-  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
-
-else()
-  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
-endif()
-
-if(WIN32 AND NOT MINGW AND NOT CYGWIN)
-  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
-  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
-  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
-  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
-endif()
-
-macro(test_targets)
-  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
-  # what version of MSVC to pretend to be so that the STL works.
-  set(MSVC_VERSION_FLAG "")
-  if (MSVC)
-    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
-      OUTPUT_QUIET
-      ERROR_VARIABLE MSVC_COMPAT_VERSION
-      )
-    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
-      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
-    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
-      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
-      # Add this flag into the host build if this is clang-cl.
-      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
-        # Add this flag to test compiles to suppress clang's auto-detection
-        # logic.
-        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
-      endif()
-    endif()
-  endif()
-
-  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
-  if(ANDROID)
-    # Examine compiler output to determine target architecture.
-    detect_target_arch()
-    set(COMPILER_RT_OS_SUFFIX "-android")
-  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
-    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
-      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
-      if(NOT MSVC)
-        test_target_arch(x86_64 "" "-m64")
-        test_target_arch(i386 __i386__ "-m32")
-      else()
-        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
-          test_target_arch(i386 "" "")
-        else()
-          test_target_arch(x86_64 "" "")
-        endif()
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le|ppc64le")
-      test_target_arch(powerpc64le "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc|ppc")
-      test_target_arch(powerpc "" "-m32")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64|ppc64")
-      test_target_arch(powerpc64 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
-      test_target_arch(s390x "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
-      test_target_arch(sparc "" "-m32")
-      test_target_arch(sparcv9 "" "-m64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mipsel|mips64el")
-      # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
-      # -mips32r2/-mips64r2. We don't use -mips1/-mips3 because we want to match
-      # clang's default CPU's. In the 64-bit case, we must also specify the ABI
-      # since the default ABI differs between gcc and clang.
-      # FIXME: Ideally, we would build the N32 library too.
-      test_target_arch(mipsel "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64el "" "-mips64r2" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
-      test_target_arch(mips "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
-      test_target_arch(mips64 "" "-mips64r2" "-mabi=64")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
-      if(WIN32)
-        test_target_arch(arm "" "" "")
-      else()
-        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
-        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
-        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
-      endif()
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "avr")
-      test_target_arch(avr "__AVR__" "--target=avr")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
-      test_target_arch(aarch32 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
-      test_target_arch(aarch64 "" "-march=armv8-a")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
-      test_target_arch(riscv32 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
-      test_target_arch(riscv64 "" "")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
-      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
-      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
-    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
-      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
-    endif()
-    set(COMPILER_RT_OS_SUFFIX "")
-  endif()
-endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-ppc64.patch
-
-mv llvm-$VERSION-compiler-rt-ppc64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-ppc64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/clang/lib/Basic/Version.cpp
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-set-revision.patch
-
-mv llvm-$VERSION-clang-set-revision.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic/Version.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic/Version.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic/Version.cpp	(nonexistent)
@@ -1,106 +0,0 @@
-//===- Version.cpp - Clang Version Number -----------------------*- 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 defines several version-related utility functions for Clang.
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Basic/Version.h"
-#include "clang/Basic/LLVM.h"
-#include "clang/Config/config.h"
-#include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
-#include <cstring>
-
-#include "VCSVersion.inc"
-
-namespace clang {
-
-std::string getClangRepositoryPath() {
-  return "";
-}
-
-std::string getLLVMRepositoryPath() {
-  return "";
-}
-
-std::string getClangRevision() {
-  return "";
-}
-
-std::string getLLVMRevision() {
-  return "";
-}
-
-std::string getClangFullRepositoryVersion() {
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-  std::string Path = getClangRepositoryPath();
-  std::string Revision = getClangRevision();
-  if (!Path.empty() || !Revision.empty()) {
-    OS << '(';
-    if (!Path.empty())
-      OS << Path;
-    if (!Revision.empty()) {
-      if (!Path.empty())
-        OS << ' ';
-      OS << Revision;
-    }
-    OS << ')';
-  }
-  // Support LLVM in a separate repository.
-  std::string LLVMRev = getLLVMRevision();
-  if (!LLVMRev.empty() && LLVMRev != Revision) {
-    OS << " (";
-    std::string LLVMRepo = getLLVMRepositoryPath();
-    if (!LLVMRepo.empty())
-      OS << LLVMRepo << ' ';
-    OS << LLVMRev << ')';
-  }
-  return OS.str();
-}
-
-std::string getClangFullVersion() {
-  return getClangToolFullVersion("clang");
-}
-
-std::string getClangToolFullVersion(StringRef ToolName) {
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-#ifdef CLANG_VENDOR
-  OS << CLANG_VENDOR;
-#endif
-  OS << ToolName << " version " CLANG_VERSION_STRING;
-
-  std::string repo = getClangFullRepositoryVersion();
-  if (!repo.empty()) {
-    OS << " " << repo;
-  }
-
-  return OS.str();
-}
-
-std::string getClangFullCPPVersion() {
-  // The version string we report in __VERSION__ is just a compacted version of
-  // the one we report on the command line.
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-#ifdef CLANG_VENDOR
-  OS << CLANG_VENDOR;
-#endif
-  OS << "Clang " CLANG_VERSION_STRING;
-
-  std::string repo = getClangFullRepositoryVersion();
-  if (!repo.empty()) {
-    OS << " " << repo;
-  }
-
-  return OS.str();
-}
-
-} // end namespace clang
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib/Basic
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-set-revision-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h	(nonexistent)
@@ -1,1490 +0,0 @@
-//===-- sanitizer_platform_limits_posix.h ---------------------------------===//
-//
-// 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 is a part of Sanitizer common code.
-//
-// Sizes and layouts of platform-specific POSIX data structures.
-//===----------------------------------------------------------------------===//
-
-#ifndef SANITIZER_PLATFORM_LIMITS_POSIX_H
-#define SANITIZER_PLATFORM_LIMITS_POSIX_H
-
-#if SANITIZER_LINUX || SANITIZER_APPLE
-
-#include "sanitizer_internal_defs.h"
-#include "sanitizer_platform.h"
-
-#if SANITIZER_APPLE
-#include <sys/cdefs.h>
-#if !__DARWIN_ONLY_64_BIT_INO_T
-#define SANITIZER_HAS_STAT64 1
-#define SANITIZER_HAS_STATFS64 1
-#else
-#define SANITIZER_HAS_STAT64 0
-#define SANITIZER_HAS_STATFS64 0
-#endif
-#else
-// Must be SANITIZER_LINUX then
-#define SANITIZER_HAS_STAT64 1
-#define SANITIZER_HAS_STATFS64 1
-#endif
-
-#if defined(__sparc__)
-// FIXME: This can't be included from tsan which does not support sparc yet.
-#include "sanitizer_glibc_version.h"
-#endif
-
-# define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle))
-
-namespace __sanitizer {
-extern unsigned struct_utsname_sz;
-extern unsigned struct_stat_sz;
-#if SANITIZER_HAS_STAT64
-extern unsigned struct_stat64_sz;
-#endif
-extern unsigned struct_rusage_sz;
-extern unsigned siginfo_t_sz;
-extern unsigned struct_itimerval_sz;
-extern unsigned pthread_t_sz;
-extern unsigned pthread_mutex_t_sz;
-extern unsigned pthread_cond_t_sz;
-extern unsigned pid_t_sz;
-extern unsigned timeval_sz;
-extern unsigned uid_t_sz;
-extern unsigned gid_t_sz;
-extern unsigned mbstate_t_sz;
-extern unsigned struct_timezone_sz;
-extern unsigned struct_tms_sz;
-extern unsigned struct_itimerspec_sz;
-extern unsigned struct_sigevent_sz;
-extern unsigned struct_stack_t_sz;
-extern unsigned struct_sched_param_sz;
-#if SANITIZER_HAS_STATFS64
-extern unsigned struct_statfs64_sz;
-#endif
-extern unsigned struct_regex_sz;
-extern unsigned struct_regmatch_sz;
-
-#if !SANITIZER_ANDROID
-extern unsigned struct_fstab_sz;
-extern unsigned struct_statfs_sz;
-extern unsigned struct_sockaddr_sz;
-unsigned ucontext_t_sz(void *uctx);
-#  endif  // !SANITIZER_ANDROID
-
-#  if SANITIZER_LINUX
-
-#    if defined(__x86_64__)
-const unsigned struct_kernel_stat_sz = 144;
-const unsigned struct_kernel_stat64_sz = 0;
-#elif defined(__i386__)
-const unsigned struct_kernel_stat_sz = 64;
-const unsigned struct_kernel_stat64_sz = 96;
-#elif defined(__arm__)
-const unsigned struct_kernel_stat_sz = 64;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__aarch64__)
-const unsigned struct_kernel_stat_sz = 128;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__powerpc__) && !defined(__powerpc64__)
-const unsigned struct_kernel_stat_sz = 72;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__powerpc64__)
-const unsigned struct_kernel_stat_sz = 144;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__mips__)
-const unsigned struct_kernel_stat_sz =
-    SANITIZER_ANDROID
-        ? FIRST_32_SECOND_64(104, 128)
-        : FIRST_32_SECOND_64((_MIPS_SIM == _ABIO32) ? 160 : 144, 216);
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__s390__) && !defined(__s390x__)
-const unsigned struct_kernel_stat_sz = 64;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif defined(__s390x__)
-const unsigned struct_kernel_stat_sz = 144;
-const unsigned struct_kernel_stat64_sz = 0;
-#elif defined(__sparc__) && defined(__arch64__)
-const unsigned struct___old_kernel_stat_sz = 0;
-const unsigned struct_kernel_stat_sz = 104;
-const unsigned struct_kernel_stat64_sz = 144;
-#elif defined(__sparc__) && !defined(__arch64__)
-const unsigned struct___old_kernel_stat_sz = 0;
-const unsigned struct_kernel_stat_sz = 64;
-const unsigned struct_kernel_stat64_sz = 104;
-#elif SANITIZER_RISCV64
-const unsigned struct_kernel_stat_sz = 128;
-const unsigned struct_kernel_stat64_sz = 0;  // RISCV64 does not use stat64
-#    elif defined(__hexagon__)
-const unsigned struct_kernel_stat_sz = 128;
-const unsigned struct_kernel_stat64_sz = 0;
-#    elif defined(__loongarch__)
-const unsigned struct_kernel_stat_sz = 128;
-const unsigned struct_kernel_stat64_sz = 0;
-#    endif
-struct __sanitizer_perf_event_attr {
-  unsigned type;
-  unsigned size;
-  // More fields that vary with the kernel version.
-};
-
-extern unsigned struct_epoll_event_sz;
-extern unsigned struct_sysinfo_sz;
-extern unsigned __user_cap_header_struct_sz;
-extern unsigned __user_cap_data_struct_sz;
-extern unsigned struct_new_utsname_sz;
-extern unsigned struct_old_utsname_sz;
-extern unsigned struct_oldold_utsname_sz;
-
-const unsigned struct_kexec_segment_sz = 4 * sizeof(unsigned long);
-#endif  // SANITIZER_LINUX
-
-#if SANITIZER_LINUX
-
-#if defined(__powerpc64__) || defined(__s390__) || defined(__loongarch__)
-const unsigned struct___old_kernel_stat_sz = 0;
-#elif !defined(__sparc__)
-const unsigned struct___old_kernel_stat_sz = 32;
-#endif
-
-extern unsigned struct_rlimit_sz;
-extern unsigned struct_utimbuf_sz;
-extern unsigned struct_timespec_sz;
-
-struct __sanitizer_iocb {
-  u64 aio_data;
-  u32 aio_key_or_aio_reserved1;  // Simply crazy.
-  u32 aio_reserved1_or_aio_key;  // Luckily, we don't need these.
-  u16 aio_lio_opcode;
-  s16 aio_reqprio;
-  u32 aio_fildes;
-  u64 aio_buf;
-  u64 aio_nbytes;
-  s64 aio_offset;
-  u64 aio_reserved2;
-  u64 aio_reserved3;
-};
-
-struct __sanitizer_io_event {
-  u64 data;
-  u64 obj;
-  u64 res;
-  u64 res2;
-};
-
-const unsigned iocb_cmd_pread = 0;
-const unsigned iocb_cmd_pwrite = 1;
-const unsigned iocb_cmd_preadv = 7;
-const unsigned iocb_cmd_pwritev = 8;
-
-struct __sanitizer___sysctl_args {
-  int *name;
-  int nlen;
-  void *oldval;
-  uptr *oldlenp;
-  void *newval;
-  uptr newlen;
-  unsigned long ___unused[4];
-};
-
-const unsigned old_sigset_t_sz = sizeof(unsigned long);
-
-struct __sanitizer_sem_t {
-#if SANITIZER_ANDROID && defined(_LP64)
-  int data[4];
-#elif SANITIZER_ANDROID && !defined(_LP64)
-  int data;
-#elif SANITIZER_LINUX
-  uptr data[4];
-#endif
-};
-#endif // SANITIZER_LINUX
-
-#if SANITIZER_ANDROID
-struct __sanitizer_struct_mallinfo {
-  uptr v[10];
-};
-#endif
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-struct __sanitizer_struct_mallinfo {
-  int v[10];
-};
-
-extern unsigned struct_ustat_sz;
-extern unsigned struct_rlimit64_sz;
-extern unsigned struct_statvfs64_sz;
-
-struct __sanitizer_ipc_perm {
-  int __key;
-  int uid;
-  int gid;
-  int cuid;
-  int cgid;
-#ifdef __powerpc__
-  unsigned mode;
-  unsigned __seq;
-  u64 __unused1;
-  u64 __unused2;
-#elif defined(__sparc__)
-  unsigned mode;
-  unsigned short __pad2;
-  unsigned short __seq;
-  unsigned long long __unused1;
-  unsigned long long __unused2;
-#else
-  unsigned int mode;
-  unsigned short __seq;
-  unsigned short __pad2;
-#if defined(__x86_64__) && !defined(_LP64)
-  u64 __unused1;
-  u64 __unused2;
-#else
-  unsigned long __unused1;
-  unsigned long __unused2;
-#endif
-#endif
-};
-
-struct __sanitizer_shmid_ds {
-  __sanitizer_ipc_perm shm_perm;
-#if defined(__sparc__)
-#if !defined(__arch64__)
-  u32 __pad1;
-#endif
-  long shm_atime;
-#if !defined(__arch64__)
-  u32 __pad2;
-#endif
-  long shm_dtime;
-#if !defined(__arch64__)
-  u32 __pad3;
-#endif
-  long shm_ctime;
-  uptr shm_segsz;
-  int shm_cpid;
-  int shm_lpid;
-  unsigned long shm_nattch;
-  unsigned long __glibc_reserved1;
-  unsigned long __glibc_reserved2;
-#else
-#ifndef __powerpc__
-  uptr shm_segsz;
-#elif !defined(__powerpc64__)
-  uptr __unused0;
-#endif
-#if defined(__x86_64__) && !defined(_LP64)
-  u64 shm_atime;
-  u64 shm_dtime;
-  u64 shm_ctime;
-#else
-  uptr shm_atime;
-#if !defined(_LP64) && !defined(__mips__)
-  uptr __unused1;
-#endif
-  uptr shm_dtime;
-#if !defined(_LP64) && !defined(__mips__)
-  uptr __unused2;
-#endif
-  uptr shm_ctime;
-#if !defined(_LP64) && !defined(__mips__)
-  uptr __unused3;
-#endif
-#endif
-#ifdef __powerpc__
-  uptr shm_segsz;
-#endif
-  int shm_cpid;
-  int shm_lpid;
-#if defined(__x86_64__) && !defined(_LP64)
-  u64 shm_nattch;
-  u64 __unused4;
-  u64 __unused5;
-#else
-  uptr shm_nattch;
-  uptr __unused4;
-  uptr __unused5;
-#endif
-#endif
-};
-#endif
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned struct_msqid_ds_sz;
-extern unsigned struct_mq_attr_sz;
-extern unsigned struct_timex_sz;
-extern unsigned struct_statvfs_sz;
-extern unsigned struct_crypt_data_sz;
-#endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
-
-struct __sanitizer_iovec {
-  void *iov_base;
-  uptr iov_len;
-};
-
-#if !SANITIZER_ANDROID
-struct __sanitizer_ifaddrs {
-  struct __sanitizer_ifaddrs *ifa_next;
-  char *ifa_name;
-  unsigned int ifa_flags;
-  void *ifa_addr;     // (struct sockaddr *)
-  void *ifa_netmask;  // (struct sockaddr *)
-  // This is a union on Linux.
-# ifdef ifa_dstaddr
-# undef ifa_dstaddr
-# endif
-  void *ifa_dstaddr;  // (struct sockaddr *)
-  void *ifa_data;
-};
-#endif  // !SANITIZER_ANDROID
-
-#if SANITIZER_APPLE
-typedef unsigned long __sanitizer_pthread_key_t;
-#else
-typedef unsigned __sanitizer_pthread_key_t;
-#endif
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-
-struct __sanitizer_XDR {
-  int x_op;
-  void *x_ops;
-  uptr x_public;
-  uptr x_private;
-  uptr x_base;
-  unsigned x_handy;
-};
-
-const int __sanitizer_XDR_ENCODE = 0;
-const int __sanitizer_XDR_DECODE = 1;
-const int __sanitizer_XDR_FREE = 2;
-#endif
-
-struct __sanitizer_passwd {
-  char *pw_name;
-  char *pw_passwd;
-  int pw_uid;
-  int pw_gid;
-#if SANITIZER_APPLE
-  long pw_change;
-  char *pw_class;
-#endif
-#if !(SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32))
-  char *pw_gecos;
-#endif
-  char *pw_dir;
-  char *pw_shell;
-#if SANITIZER_APPLE
-  long pw_expire;
-#endif
-};
-
-struct __sanitizer_group {
-  char *gr_name;
-  char *gr_passwd;
-  int gr_gid;
-  char **gr_mem;
-};
-
-#  if (SANITIZER_LINUX && !SANITIZER_GLIBC && !SANITIZER_ANDROID) || \
-      (defined(__x86_64__) && !defined(_LP64)) || defined(__hexagon__)
-typedef long long __sanitizer_time_t;
-#else
-typedef long __sanitizer_time_t;
-#endif
-
-typedef long __sanitizer_suseconds_t;
-
-struct __sanitizer_timeval {
-  __sanitizer_time_t tv_sec;
-  __sanitizer_suseconds_t tv_usec;
-};
-
-struct __sanitizer_itimerval {
-  struct __sanitizer_timeval it_interval;
-  struct __sanitizer_timeval it_value;
-};
-
-struct __sanitizer_timeb {
-  __sanitizer_time_t time;
-  unsigned short millitm;
-  short timezone;
-  short dstflag;
-};
-
-struct __sanitizer_ether_addr {
-  u8 octet[6];
-};
-
-struct __sanitizer_tm {
-  int tm_sec;
-  int tm_min;
-  int tm_hour;
-  int tm_mday;
-  int tm_mon;
-  int tm_year;
-  int tm_wday;
-  int tm_yday;
-  int tm_isdst;
-  long int tm_gmtoff;
-  const char *tm_zone;
-};
-
-#if SANITIZER_LINUX
-struct __sanitizer_mntent {
-  char *mnt_fsname;
-  char *mnt_dir;
-  char *mnt_type;
-  char *mnt_opts;
-  int mnt_freq;
-  int mnt_passno;
-};
-
-struct __sanitizer_file_handle {
-  unsigned int handle_bytes;
-  int handle_type;
-  unsigned char f_handle[1];  // variable sized
-};
-#endif
-
-#if SANITIZER_APPLE
-struct __sanitizer_msghdr {
-  void *msg_name;
-  unsigned msg_namelen;
-  struct __sanitizer_iovec *msg_iov;
-  unsigned msg_iovlen;
-  void *msg_control;
-  unsigned msg_controllen;
-  int msg_flags;
-};
-struct __sanitizer_cmsghdr {
-  unsigned cmsg_len;
-  int cmsg_level;
-  int cmsg_type;
-};
-#else
-// In POSIX, int msg_iovlen; socklen_t msg_controllen; socklen_t cmsg_len; but
-// many implementations don't conform to the standard.
-struct __sanitizer_msghdr {
-  void *msg_name;
-  unsigned msg_namelen;
-  struct __sanitizer_iovec *msg_iov;
-  uptr msg_iovlen;
-  void *msg_control;
-  uptr msg_controllen;
-  int msg_flags;
-};
-struct __sanitizer_cmsghdr {
-  uptr cmsg_len;
-  int cmsg_level;
-  int cmsg_type;
-};
-#endif
-
-#if SANITIZER_LINUX
-struct __sanitizer_mmsghdr {
-  __sanitizer_msghdr msg_hdr;
-  unsigned int msg_len;
-};
-#endif
-
-#if SANITIZER_APPLE
-struct __sanitizer_dirent {
-  unsigned long long d_ino;
-  unsigned long long d_seekoff;
-  unsigned short d_reclen;
-  // more fields that we don't care about
-};
-#  elif (SANITIZER_LINUX && !SANITIZER_GLIBC) || defined(__x86_64__) || \
-      defined(__hexagon__)
-struct __sanitizer_dirent {
-  unsigned long long d_ino;
-  unsigned long long d_off;
-  unsigned short d_reclen;
-  // more fields that we don't care about
-};
-#  else
-struct __sanitizer_dirent {
-  uptr d_ino;
-  uptr d_off;
-  unsigned short d_reclen;
-  // more fields that we don't care about
-};
-#  endif
-
-#  if SANITIZER_LINUX && !SANITIZER_ANDROID
-struct __sanitizer_dirent64 {
-  unsigned long long d_ino;
-  unsigned long long d_off;
-  unsigned short d_reclen;
-  // more fields that we don't care about
-};
-#endif
-
-#if defined(__x86_64__) && !defined(_LP64)
-typedef long long __sanitizer_clock_t;
-#else
-typedef long __sanitizer_clock_t;
-#endif
-
-#if SANITIZER_LINUX
-typedef int __sanitizer_clockid_t;
-#endif
-
-#if SANITIZER_LINUX
-#    if defined(_LP64) || defined(__x86_64__) || defined(__powerpc__) || \
-        defined(__mips__) || defined(__hexagon__)
-typedef unsigned __sanitizer___kernel_uid_t;
-typedef unsigned __sanitizer___kernel_gid_t;
-#else
-typedef unsigned short __sanitizer___kernel_uid_t;
-typedef unsigned short __sanitizer___kernel_gid_t;
-#endif
-#if defined(__x86_64__) && !defined(_LP64)
-typedef long long __sanitizer___kernel_off_t;
-#else
-typedef long __sanitizer___kernel_off_t;
-#endif
-
-#if defined(__powerpc__) || defined(__mips__)
-typedef unsigned int __sanitizer___kernel_old_uid_t;
-typedef unsigned int __sanitizer___kernel_old_gid_t;
-#else
-typedef unsigned short __sanitizer___kernel_old_uid_t;
-typedef unsigned short __sanitizer___kernel_old_gid_t;
-#endif
-
-typedef long long __sanitizer___kernel_loff_t;
-typedef struct {
-  unsigned long fds_bits[1024 / (8 * sizeof(long))];
-} __sanitizer___kernel_fd_set;
-#endif
-
-// This thing depends on the platform. We are only interested in the upper
-// limit. Verified with a compiler assert in .cpp.
-union __sanitizer_pthread_attr_t {
-  char size[128];
-  void *align;
-};
-
-#if SANITIZER_ANDROID
-# if SANITIZER_MIPS
-typedef unsigned long __sanitizer_sigset_t[16 / sizeof(unsigned long)];
-# else
-typedef unsigned long __sanitizer_sigset_t;
-# endif
-#elif SANITIZER_APPLE
-typedef unsigned __sanitizer_sigset_t;
-#elif SANITIZER_LINUX
-struct __sanitizer_sigset_t {
-  // The size is determined by looking at sizeof of real sigset_t on linux.
-  uptr val[128 / sizeof(uptr)];
-};
-#endif
-
-struct __sanitizer_siginfo {
-  // The size is determined by looking at sizeof of real siginfo_t on linux.
-  u64 opaque[128 / sizeof(u64)];
-};
-
-using __sanitizer_sighandler_ptr = void (*)(int sig);
-using __sanitizer_sigactionhandler_ptr = void (*)(int sig,
-                                                  __sanitizer_siginfo *siginfo,
-                                                  void *uctx);
-
-// Linux system headers define the 'sa_handler' and 'sa_sigaction' macros.
-#if SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 64)
-struct __sanitizer_sigaction {
-  unsigned sa_flags;
-  union {
-    __sanitizer_sigactionhandler_ptr sigaction;
-    __sanitizer_sighandler_ptr handler;
-  };
-  __sanitizer_sigset_t sa_mask;
-  void (*sa_restorer)();
-};
-#elif SANITIZER_ANDROID && SANITIZER_MIPS32  // check this before WORDSIZE == 32
-struct __sanitizer_sigaction {
-  unsigned sa_flags;
-  union {
-    __sanitizer_sigactionhandler_ptr sigaction;
-    __sanitizer_sighandler_ptr handler;
-  };
-  __sanitizer_sigset_t sa_mask;
-};
-#elif SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32)
-struct __sanitizer_sigaction {
-  union {
-    __sanitizer_sigactionhandler_ptr sigaction;
-    __sanitizer_sighandler_ptr handler;
-  };
-  __sanitizer_sigset_t sa_mask;
-  uptr sa_flags;
-  void (*sa_restorer)();
-};
-#else // !SANITIZER_ANDROID
-struct __sanitizer_sigaction {
-#if defined(__mips__) && !SANITIZER_FREEBSD
-  unsigned int sa_flags;
-#endif
-  union {
-    __sanitizer_sigactionhandler_ptr sigaction;
-    __sanitizer_sighandler_ptr handler;
-  };
-#if SANITIZER_FREEBSD
-  int sa_flags;
-  __sanitizer_sigset_t sa_mask;
-#else
-#if defined(__s390x__)
-  int sa_resv;
-#else
-  __sanitizer_sigset_t sa_mask;
-#endif
-#ifndef __mips__
-#if defined(__sparc__)
-#if __GLIBC_PREREQ (2, 20)
-  // On sparc glibc 2.19 and earlier sa_flags was unsigned long.
-#if defined(__arch64__)
-  // To maintain ABI compatibility on sparc64 when switching to an int,
-  // __glibc_reserved0 was added.
-  int __glibc_reserved0;
-#endif
-  int sa_flags;
-#else
-  unsigned long sa_flags;
-#endif
-#else
-  int sa_flags;
-#endif
-#endif
-#endif
-#if SANITIZER_LINUX
-  void (*sa_restorer)();
-#endif
-#if defined(__mips__) && (SANITIZER_WORDSIZE == 32)
-  int sa_resv[1];
-#endif
-#if defined(__s390x__)
-  __sanitizer_sigset_t sa_mask;
-#endif
-};
-#endif // !SANITIZER_ANDROID
-
-#if defined(__mips__)
-#define __SANITIZER_KERNEL_NSIG 128
-#else
-#define __SANITIZER_KERNEL_NSIG 64
-#endif
-
-struct __sanitizer_kernel_sigset_t {
-  uptr sig[__SANITIZER_KERNEL_NSIG / (sizeof(uptr) * 8)];
-};
-
-// Linux system headers define the 'sa_handler' and 'sa_sigaction' macros.
-#if SANITIZER_MIPS
-struct __sanitizer_kernel_sigaction_t {
-  unsigned int sa_flags;
-  union {
-    void (*handler)(int signo);
-    void (*sigaction)(int signo, __sanitizer_siginfo *info, void *ctx);
-  };
-  __sanitizer_kernel_sigset_t sa_mask;
-  void (*sa_restorer)(void);
-};
-#else
-struct __sanitizer_kernel_sigaction_t {
-  union {
-    void (*handler)(int signo);
-    void (*sigaction)(int signo, __sanitizer_siginfo *info, void *ctx);
-  };
-  unsigned long sa_flags;
-  void (*sa_restorer)(void);
-  __sanitizer_kernel_sigset_t sa_mask;
-};
-#endif
-
-extern const uptr sig_ign;
-extern const uptr sig_dfl;
-extern const uptr sig_err;
-extern const uptr sa_siginfo;
-
-#if SANITIZER_LINUX
-extern int e_tabsz;
-#endif
-
-extern int af_inet;
-extern int af_inet6;
-uptr __sanitizer_in_addr_sz(int af);
-
-#if SANITIZER_LINUX
-struct __sanitizer_dl_phdr_info {
-  uptr dlpi_addr;
-  const char *dlpi_name;
-  const void *dlpi_phdr;
-  short dlpi_phnum;
-};
-
-extern unsigned struct_ElfW_Phdr_sz;
-#endif
-
-struct __sanitizer_protoent {
-  char *p_name;
-  char **p_aliases;
-  int p_proto;
-};
-
-struct __sanitizer_netent {
-  char *n_name;
-  char **n_aliases;
-  int n_addrtype;
-  u32 n_net;
-};
-
-struct __sanitizer_addrinfo {
-  int ai_flags;
-  int ai_family;
-  int ai_socktype;
-  int ai_protocol;
-#if SANITIZER_ANDROID || SANITIZER_APPLE
-  unsigned ai_addrlen;
-  char *ai_canonname;
-  void *ai_addr;
-#else // LINUX
-  unsigned ai_addrlen;
-  void *ai_addr;
-  char *ai_canonname;
-#endif
-  struct __sanitizer_addrinfo *ai_next;
-};
-
-struct __sanitizer_hostent {
-  char *h_name;
-  char **h_aliases;
-  int h_addrtype;
-  int h_length;
-  char **h_addr_list;
-};
-
-struct __sanitizer_pollfd {
-  int fd;
-  short events;
-  short revents;
-};
-
-#if SANITIZER_ANDROID || SANITIZER_APPLE
-typedef unsigned __sanitizer_nfds_t;
-#else
-typedef unsigned long __sanitizer_nfds_t;
-#endif
-
-#if !SANITIZER_ANDROID
-# if SANITIZER_LINUX
-struct __sanitizer_glob_t {
-  uptr gl_pathc;
-  char **gl_pathv;
-  uptr gl_offs;
-  int gl_flags;
-
-  void (*gl_closedir)(void *dirp);
-  void *(*gl_readdir)(void *dirp);
-  void *(*gl_opendir)(const char *);
-  int (*gl_lstat)(const char *, void *);
-  int (*gl_stat)(const char *, void *);
-};
-# endif  // SANITIZER_LINUX
-
-# if SANITIZER_LINUX
-extern int glob_nomatch;
-extern int glob_altdirfunc;
-# endif
-#endif  // !SANITIZER_ANDROID
-
-extern unsigned path_max;
-
-#  if !SANITIZER_ANDROID
-extern const int wordexp_wrde_dooffs;
-#  endif  // !SANITIZER_ANDROID
-
-struct __sanitizer_wordexp_t {
-  uptr we_wordc;
-  char **we_wordv;
-  uptr we_offs;
-};
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-struct __sanitizer_FILE {
-  int _flags;
-  char *_IO_read_ptr;
-  char *_IO_read_end;
-  char *_IO_read_base;
-  char *_IO_write_base;
-  char *_IO_write_ptr;
-  char *_IO_write_end;
-  char *_IO_buf_base;
-  char *_IO_buf_end;
-  char *_IO_save_base;
-  char *_IO_backup_base;
-  char *_IO_save_end;
-  void *_markers;
-  __sanitizer_FILE *_chain;
-  int _fileno;
-};
-# define SANITIZER_HAS_STRUCT_FILE 1
-#else
-typedef void __sanitizer_FILE;
-# define SANITIZER_HAS_STRUCT_FILE 0
-#endif
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID &&                               \
-    (defined(__i386) || defined(__x86_64) || defined(__mips64) ||          \
-     defined(__powerpc64__) || defined(__aarch64__) || defined(__arm__) || \
-     defined(__s390__) || SANITIZER_RISCV64)
-extern unsigned struct_user_regs_struct_sz;
-extern unsigned struct_user_fpregs_struct_sz;
-extern unsigned struct_user_fpxregs_struct_sz;
-extern unsigned struct_user_vfpregs_struct_sz;
-
-extern int ptrace_peektext;
-extern int ptrace_peekdata;
-extern int ptrace_peekuser;
-extern int ptrace_getregs;
-extern int ptrace_setregs;
-extern int ptrace_getfpregs;
-extern int ptrace_setfpregs;
-extern int ptrace_getfpxregs;
-extern int ptrace_setfpxregs;
-extern int ptrace_getvfpregs;
-extern int ptrace_setvfpregs;
-extern int ptrace_getsiginfo;
-extern int ptrace_setsiginfo;
-extern int ptrace_getregset;
-extern int ptrace_setregset;
-extern int ptrace_geteventmsg;
-#endif
-
-#if SANITIZER_LINUX  && !SANITIZER_ANDROID
-extern unsigned struct_shminfo_sz;
-extern unsigned struct_shm_info_sz;
-extern int shmctl_ipc_stat;
-extern int shmctl_ipc_info;
-extern int shmctl_shm_info;
-extern int shmctl_shm_stat;
-#endif
-
-#if !SANITIZER_APPLE && !SANITIZER_FREEBSD
-extern unsigned struct_utmp_sz;
-#endif
-#if !SANITIZER_ANDROID
-extern unsigned struct_utmpx_sz;
-#endif
-
-extern int map_fixed;
-
-// ioctl arguments
-struct __sanitizer_ifconf {
-  int ifc_len;
-  union {
-    void *ifcu_req;
-  } ifc_ifcu;
-#if SANITIZER_APPLE
-} __attribute__((packed));
-#else
-};
-#endif
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-struct __sanitizer__obstack_chunk {
-  char *limit;
-  struct __sanitizer__obstack_chunk *prev;
-};
-
-struct __sanitizer_obstack {
-  long chunk_size;
-  struct __sanitizer__obstack_chunk *chunk;
-  char *object_base;
-  char *next_free;
-  uptr more_fields[7];
-};
-
-typedef uptr (*__sanitizer_cookie_io_read)(void *cookie, char *buf, uptr size);
-typedef uptr (*__sanitizer_cookie_io_write)(void *cookie, const char *buf,
-                                            uptr size);
-typedef int (*__sanitizer_cookie_io_seek)(void *cookie, u64 *offset,
-                                          int whence);
-typedef int (*__sanitizer_cookie_io_close)(void *cookie);
-
-struct __sanitizer_cookie_io_functions_t {
-  __sanitizer_cookie_io_read read;
-  __sanitizer_cookie_io_write write;
-  __sanitizer_cookie_io_seek seek;
-  __sanitizer_cookie_io_close close;
-};
-#endif
-
-#define IOC_NRBITS 8
-#define IOC_TYPEBITS 8
-#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__) || \
-    defined(__sparc__)
-#define IOC_SIZEBITS 13
-#define IOC_DIRBITS 3
-#define IOC_NONE 1U
-#define IOC_WRITE 4U
-#define IOC_READ 2U
-#else
-#define IOC_SIZEBITS 14
-#define IOC_DIRBITS 2
-#define IOC_NONE 0U
-#define IOC_WRITE 1U
-#define IOC_READ 2U
-#endif
-#define IOC_NRMASK ((1 << IOC_NRBITS) - 1)
-#define IOC_TYPEMASK ((1 << IOC_TYPEBITS) - 1)
-#define IOC_SIZEMASK ((1 << IOC_SIZEBITS) - 1)
-#if defined(IOC_DIRMASK)
-#undef IOC_DIRMASK
-#endif
-#define IOC_DIRMASK ((1 << IOC_DIRBITS) - 1)
-#define IOC_NRSHIFT 0
-#define IOC_TYPESHIFT (IOC_NRSHIFT + IOC_NRBITS)
-#define IOC_SIZESHIFT (IOC_TYPESHIFT + IOC_TYPEBITS)
-#define IOC_DIRSHIFT (IOC_SIZESHIFT + IOC_SIZEBITS)
-#define EVIOC_EV_MAX 0x1f
-#define EVIOC_ABS_MAX 0x3f
-
-#define IOC_DIR(nr) (((nr) >> IOC_DIRSHIFT) & IOC_DIRMASK)
-#define IOC_TYPE(nr) (((nr) >> IOC_TYPESHIFT) & IOC_TYPEMASK)
-#define IOC_NR(nr) (((nr) >> IOC_NRSHIFT) & IOC_NRMASK)
-
-#if defined(__sparc__)
-// In sparc the 14 bits SIZE field overlaps with the
-// least significant bit of DIR, so either IOC_READ or
-// IOC_WRITE shall be 1 in order to get a non-zero SIZE.
-#define IOC_SIZE(nr) \
-  ((((((nr) >> 29) & 0x7) & (4U | 2U)) == 0) ? 0 : (((nr) >> 16) & 0x3fff))
-#else
-#define IOC_SIZE(nr) (((nr) >> IOC_SIZESHIFT) & IOC_SIZEMASK)
-#endif
-
-extern unsigned struct_ifreq_sz;
-extern unsigned struct_termios_sz;
-extern unsigned struct_winsize_sz;
-
-#if SANITIZER_LINUX
-extern unsigned struct_arpreq_sz;
-extern unsigned struct_cdrom_msf_sz;
-extern unsigned struct_cdrom_multisession_sz;
-extern unsigned struct_cdrom_read_audio_sz;
-extern unsigned struct_cdrom_subchnl_sz;
-extern unsigned struct_cdrom_ti_sz;
-extern unsigned struct_cdrom_tocentry_sz;
-extern unsigned struct_cdrom_tochdr_sz;
-extern unsigned struct_cdrom_volctrl_sz;
-extern unsigned struct_ff_effect_sz;
-extern unsigned struct_floppy_drive_params_sz;
-extern unsigned struct_floppy_drive_struct_sz;
-extern unsigned struct_floppy_fdc_state_sz;
-extern unsigned struct_floppy_max_errors_sz;
-extern unsigned struct_floppy_raw_cmd_sz;
-extern unsigned struct_floppy_struct_sz;
-extern unsigned struct_floppy_write_errors_sz;
-extern unsigned struct_format_descr_sz;
-extern unsigned struct_hd_driveid_sz;
-extern unsigned struct_hd_geometry_sz;
-extern unsigned struct_input_absinfo_sz;
-extern unsigned struct_input_id_sz;
-extern unsigned struct_mtpos_sz;
-extern unsigned struct_termio_sz;
-extern unsigned struct_vt_consize_sz;
-extern unsigned struct_vt_sizes_sz;
-extern unsigned struct_vt_stat_sz;
-#endif  // SANITIZER_LINUX
-
-#if SANITIZER_LINUX
-extern unsigned struct_copr_buffer_sz;
-extern unsigned struct_copr_debug_buf_sz;
-extern unsigned struct_copr_msg_sz;
-extern unsigned struct_midi_info_sz;
-extern unsigned struct_mtget_sz;
-extern unsigned struct_mtop_sz;
-extern unsigned struct_rtentry_sz;
-extern unsigned struct_sbi_instrument_sz;
-extern unsigned struct_seq_event_rec_sz;
-extern unsigned struct_synth_info_sz;
-extern unsigned struct_vt_mode_sz;
-#endif // SANITIZER_LINUX
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned struct_ax25_parms_struct_sz;
-extern unsigned struct_input_keymap_entry_sz;
-extern unsigned struct_ipx_config_data_sz;
-extern unsigned struct_kbdiacrs_sz;
-extern unsigned struct_kbentry_sz;
-extern unsigned struct_kbkeycode_sz;
-extern unsigned struct_kbsentry_sz;
-extern unsigned struct_mtconfiginfo_sz;
-extern unsigned struct_nr_parms_struct_sz;
-extern unsigned struct_scc_modem_sz;
-extern unsigned struct_scc_stat_sz;
-extern unsigned struct_serial_multiport_struct_sz;
-extern unsigned struct_serial_struct_sz;
-extern unsigned struct_sockaddr_ax25_sz;
-extern unsigned struct_unimapdesc_sz;
-extern unsigned struct_unimapinit_sz;
-#endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
-
-extern const unsigned long __sanitizer_bufsiz;
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned struct_audio_buf_info_sz;
-extern unsigned struct_ppp_stats_sz;
-#endif  // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
-
-#if !SANITIZER_ANDROID && !SANITIZER_APPLE
-extern unsigned struct_sioc_sg_req_sz;
-extern unsigned struct_sioc_vif_req_sz;
-#endif
-
-// ioctl request identifiers
-
-// A special value to mark ioctls that are not present on the target platform,
-// when it can not be determined without including any system headers.
-extern const unsigned IOCTL_NOT_PRESENT;
-
-extern unsigned IOCTL_FIOASYNC;
-extern unsigned IOCTL_FIOCLEX;
-extern unsigned IOCTL_FIOGETOWN;
-extern unsigned IOCTL_FIONBIO;
-extern unsigned IOCTL_FIONCLEX;
-extern unsigned IOCTL_FIOSETOWN;
-extern unsigned IOCTL_SIOCADDMULTI;
-extern unsigned IOCTL_SIOCATMARK;
-extern unsigned IOCTL_SIOCDELMULTI;
-extern unsigned IOCTL_SIOCGIFADDR;
-extern unsigned IOCTL_SIOCGIFBRDADDR;
-extern unsigned IOCTL_SIOCGIFCONF;
-extern unsigned IOCTL_SIOCGIFDSTADDR;
-extern unsigned IOCTL_SIOCGIFFLAGS;
-extern unsigned IOCTL_SIOCGIFMETRIC;
-extern unsigned IOCTL_SIOCGIFMTU;
-extern unsigned IOCTL_SIOCGIFNETMASK;
-extern unsigned IOCTL_SIOCGPGRP;
-extern unsigned IOCTL_SIOCSIFADDR;
-extern unsigned IOCTL_SIOCSIFBRDADDR;
-extern unsigned IOCTL_SIOCSIFDSTADDR;
-extern unsigned IOCTL_SIOCSIFFLAGS;
-extern unsigned IOCTL_SIOCSIFMETRIC;
-extern unsigned IOCTL_SIOCSIFMTU;
-extern unsigned IOCTL_SIOCSIFNETMASK;
-extern unsigned IOCTL_SIOCSPGRP;
-extern unsigned IOCTL_TIOCCONS;
-extern unsigned IOCTL_TIOCEXCL;
-extern unsigned IOCTL_TIOCGETD;
-extern unsigned IOCTL_TIOCGPGRP;
-extern unsigned IOCTL_TIOCGWINSZ;
-extern unsigned IOCTL_TIOCMBIC;
-extern unsigned IOCTL_TIOCMBIS;
-extern unsigned IOCTL_TIOCMGET;
-extern unsigned IOCTL_TIOCMSET;
-extern unsigned IOCTL_TIOCNOTTY;
-extern unsigned IOCTL_TIOCNXCL;
-extern unsigned IOCTL_TIOCOUTQ;
-extern unsigned IOCTL_TIOCPKT;
-extern unsigned IOCTL_TIOCSCTTY;
-extern unsigned IOCTL_TIOCSETD;
-extern unsigned IOCTL_TIOCSPGRP;
-extern unsigned IOCTL_TIOCSTI;
-extern unsigned IOCTL_TIOCSWINSZ;
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned IOCTL_SIOCGETSGCNT;
-extern unsigned IOCTL_SIOCGETVIFCNT;
-#endif
-#if SANITIZER_LINUX
-extern unsigned IOCTL_EVIOCGABS;
-extern unsigned IOCTL_EVIOCGBIT;
-extern unsigned IOCTL_EVIOCGEFFECTS;
-extern unsigned IOCTL_EVIOCGID;
-extern unsigned IOCTL_EVIOCGKEY;
-extern unsigned IOCTL_EVIOCGKEYCODE;
-extern unsigned IOCTL_EVIOCGLED;
-extern unsigned IOCTL_EVIOCGNAME;
-extern unsigned IOCTL_EVIOCGPHYS;
-extern unsigned IOCTL_EVIOCGRAB;
-extern unsigned IOCTL_EVIOCGREP;
-extern unsigned IOCTL_EVIOCGSND;
-extern unsigned IOCTL_EVIOCGSW;
-extern unsigned IOCTL_EVIOCGUNIQ;
-extern unsigned IOCTL_EVIOCGVERSION;
-extern unsigned IOCTL_EVIOCRMFF;
-extern unsigned IOCTL_EVIOCSABS;
-extern unsigned IOCTL_EVIOCSFF;
-extern unsigned IOCTL_EVIOCSKEYCODE;
-extern unsigned IOCTL_EVIOCSREP;
-extern unsigned IOCTL_BLKFLSBUF;
-extern unsigned IOCTL_BLKGETSIZE;
-extern unsigned IOCTL_BLKRAGET;
-extern unsigned IOCTL_BLKRASET;
-extern unsigned IOCTL_BLKROGET;
-extern unsigned IOCTL_BLKROSET;
-extern unsigned IOCTL_BLKRRPART;
-extern unsigned IOCTL_BLKFRASET;
-extern unsigned IOCTL_BLKFRAGET;
-extern unsigned IOCTL_BLKSECTSET;
-extern unsigned IOCTL_BLKSECTGET;
-extern unsigned IOCTL_BLKSSZGET;
-extern unsigned IOCTL_BLKBSZGET;
-extern unsigned IOCTL_BLKBSZSET;
-extern unsigned IOCTL_BLKGETSIZE64;
-extern unsigned IOCTL_CDROMAUDIOBUFSIZ;
-extern unsigned IOCTL_CDROMEJECT;
-extern unsigned IOCTL_CDROMEJECT_SW;
-extern unsigned IOCTL_CDROMMULTISESSION;
-extern unsigned IOCTL_CDROMPAUSE;
-extern unsigned IOCTL_CDROMPLAYMSF;
-extern unsigned IOCTL_CDROMPLAYTRKIND;
-extern unsigned IOCTL_CDROMREADAUDIO;
-extern unsigned IOCTL_CDROMREADCOOKED;
-extern unsigned IOCTL_CDROMREADMODE1;
-extern unsigned IOCTL_CDROMREADMODE2;
-extern unsigned IOCTL_CDROMREADRAW;
-extern unsigned IOCTL_CDROMREADTOCENTRY;
-extern unsigned IOCTL_CDROMREADTOCHDR;
-extern unsigned IOCTL_CDROMRESET;
-extern unsigned IOCTL_CDROMRESUME;
-extern unsigned IOCTL_CDROMSEEK;
-extern unsigned IOCTL_CDROMSTART;
-extern unsigned IOCTL_CDROMSTOP;
-extern unsigned IOCTL_CDROMSUBCHNL;
-extern unsigned IOCTL_CDROMVOLCTRL;
-extern unsigned IOCTL_CDROMVOLREAD;
-extern unsigned IOCTL_CDROM_GET_UPC;
-extern unsigned IOCTL_FDCLRPRM;
-extern unsigned IOCTL_FDDEFPRM;
-extern unsigned IOCTL_FDFLUSH;
-extern unsigned IOCTL_FDFMTBEG;
-extern unsigned IOCTL_FDFMTEND;
-extern unsigned IOCTL_FDFMTTRK;
-extern unsigned IOCTL_FDGETDRVPRM;
-extern unsigned IOCTL_FDGETDRVSTAT;
-extern unsigned IOCTL_FDGETDRVTYP;
-extern unsigned IOCTL_FDGETFDCSTAT;
-extern unsigned IOCTL_FDGETMAXERRS;
-extern unsigned IOCTL_FDGETPRM;
-extern unsigned IOCTL_FDMSGOFF;
-extern unsigned IOCTL_FDMSGON;
-extern unsigned IOCTL_FDPOLLDRVSTAT;
-extern unsigned IOCTL_FDRAWCMD;
-extern unsigned IOCTL_FDRESET;
-extern unsigned IOCTL_FDSETDRVPRM;
-extern unsigned IOCTL_FDSETEMSGTRESH;
-extern unsigned IOCTL_FDSETMAXERRS;
-extern unsigned IOCTL_FDSETPRM;
-extern unsigned IOCTL_FDTWADDLE;
-extern unsigned IOCTL_FDWERRORCLR;
-extern unsigned IOCTL_FDWERRORGET;
-extern unsigned IOCTL_HDIO_DRIVE_CMD;
-extern unsigned IOCTL_HDIO_GETGEO;
-extern unsigned IOCTL_HDIO_GET_32BIT;
-extern unsigned IOCTL_HDIO_GET_DMA;
-extern unsigned IOCTL_HDIO_GET_IDENTITY;
-extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS;
-extern unsigned IOCTL_HDIO_GET_MULTCOUNT;
-extern unsigned IOCTL_HDIO_GET_NOWERR;
-extern unsigned IOCTL_HDIO_GET_UNMASKINTR;
-extern unsigned IOCTL_HDIO_SET_32BIT;
-extern unsigned IOCTL_HDIO_SET_DMA;
-extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS;
-extern unsigned IOCTL_HDIO_SET_MULTCOUNT;
-extern unsigned IOCTL_HDIO_SET_NOWERR;
-extern unsigned IOCTL_HDIO_SET_UNMASKINTR;
-extern unsigned IOCTL_MTIOCPOS;
-extern unsigned IOCTL_PPPIOCGASYNCMAP;
-extern unsigned IOCTL_PPPIOCGDEBUG;
-extern unsigned IOCTL_PPPIOCGFLAGS;
-extern unsigned IOCTL_PPPIOCGUNIT;
-extern unsigned IOCTL_PPPIOCGXASYNCMAP;
-extern unsigned IOCTL_PPPIOCSASYNCMAP;
-extern unsigned IOCTL_PPPIOCSDEBUG;
-extern unsigned IOCTL_PPPIOCSFLAGS;
-extern unsigned IOCTL_PPPIOCSMAXCID;
-extern unsigned IOCTL_PPPIOCSMRU;
-extern unsigned IOCTL_PPPIOCSXASYNCMAP;
-extern unsigned IOCTL_SIOCDARP;
-extern unsigned IOCTL_SIOCDRARP;
-extern unsigned IOCTL_SIOCGARP;
-extern unsigned IOCTL_SIOCGIFENCAP;
-extern unsigned IOCTL_SIOCGIFHWADDR;
-extern unsigned IOCTL_SIOCGIFMAP;
-extern unsigned IOCTL_SIOCGIFMEM;
-extern unsigned IOCTL_SIOCGIFNAME;
-extern unsigned IOCTL_SIOCGIFSLAVE;
-extern unsigned IOCTL_SIOCGRARP;
-extern unsigned IOCTL_SIOCGSTAMP;
-extern unsigned IOCTL_SIOCSARP;
-extern unsigned IOCTL_SIOCSIFENCAP;
-extern unsigned IOCTL_SIOCSIFHWADDR;
-extern unsigned IOCTL_SIOCSIFLINK;
-extern unsigned IOCTL_SIOCSIFMAP;
-extern unsigned IOCTL_SIOCSIFMEM;
-extern unsigned IOCTL_SIOCSIFSLAVE;
-extern unsigned IOCTL_SIOCSRARP;
-extern unsigned IOCTL_SNDCTL_COPR_HALT;
-extern unsigned IOCTL_SNDCTL_COPR_LOAD;
-extern unsigned IOCTL_SNDCTL_COPR_RCODE;
-extern unsigned IOCTL_SNDCTL_COPR_RCVMSG;
-extern unsigned IOCTL_SNDCTL_COPR_RDATA;
-extern unsigned IOCTL_SNDCTL_COPR_RESET;
-extern unsigned IOCTL_SNDCTL_COPR_RUN;
-extern unsigned IOCTL_SNDCTL_COPR_SENDMSG;
-extern unsigned IOCTL_SNDCTL_COPR_WCODE;
-extern unsigned IOCTL_SNDCTL_COPR_WDATA;
-extern unsigned IOCTL_TCFLSH;
-extern unsigned IOCTL_TCGETA;
-extern unsigned IOCTL_TCGETS;
-extern unsigned IOCTL_TCSBRK;
-extern unsigned IOCTL_TCSBRKP;
-extern unsigned IOCTL_TCSETA;
-extern unsigned IOCTL_TCSETAF;
-extern unsigned IOCTL_TCSETAW;
-extern unsigned IOCTL_TCSETS;
-extern unsigned IOCTL_TCSETSF;
-extern unsigned IOCTL_TCSETSW;
-extern unsigned IOCTL_TCXONC;
-extern unsigned IOCTL_TIOCGLCKTRMIOS;
-extern unsigned IOCTL_TIOCGSOFTCAR;
-extern unsigned IOCTL_TIOCINQ;
-extern unsigned IOCTL_TIOCLINUX;
-extern unsigned IOCTL_TIOCSERCONFIG;
-extern unsigned IOCTL_TIOCSERGETLSR;
-extern unsigned IOCTL_TIOCSERGWILD;
-extern unsigned IOCTL_TIOCSERSWILD;
-extern unsigned IOCTL_TIOCSLCKTRMIOS;
-extern unsigned IOCTL_TIOCSSOFTCAR;
-extern unsigned IOCTL_VT_DISALLOCATE;
-extern unsigned IOCTL_VT_GETSTATE;
-extern unsigned IOCTL_VT_RESIZE;
-extern unsigned IOCTL_VT_RESIZEX;
-extern unsigned IOCTL_VT_SENDSIG;
-extern unsigned IOCTL_MTIOCGET;
-extern unsigned IOCTL_MTIOCTOP;
-extern unsigned IOCTL_SIOCADDRT;
-extern unsigned IOCTL_SIOCDELRT;
-extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE;
-extern unsigned IOCTL_SNDCTL_DSP_GETFMTS;
-extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK;
-extern unsigned IOCTL_SNDCTL_DSP_POST;
-extern unsigned IOCTL_SNDCTL_DSP_RESET;
-extern unsigned IOCTL_SNDCTL_DSP_SETFMT;
-extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT;
-extern unsigned IOCTL_SNDCTL_DSP_SPEED;
-extern unsigned IOCTL_SNDCTL_DSP_STEREO;
-extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE;
-extern unsigned IOCTL_SNDCTL_DSP_SYNC;
-extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE;
-extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR;
-extern unsigned IOCTL_SNDCTL_MIDI_INFO;
-extern unsigned IOCTL_SNDCTL_MIDI_PRETIME;
-extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE;
-extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT;
-extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT;
-extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS;
-extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS;
-extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND;
-extern unsigned IOCTL_SNDCTL_SEQ_PANIC;
-extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE;
-extern unsigned IOCTL_SNDCTL_SEQ_RESET;
-extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES;
-extern unsigned IOCTL_SNDCTL_SEQ_SYNC;
-extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI;
-extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD;
-extern unsigned IOCTL_SNDCTL_SYNTH_INFO;
-extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL;
-extern unsigned IOCTL_SNDCTL_TMR_CONTINUE;
-extern unsigned IOCTL_SNDCTL_TMR_METRONOME;
-extern unsigned IOCTL_SNDCTL_TMR_SELECT;
-extern unsigned IOCTL_SNDCTL_TMR_SOURCE;
-extern unsigned IOCTL_SNDCTL_TMR_START;
-extern unsigned IOCTL_SNDCTL_TMR_STOP;
-extern unsigned IOCTL_SNDCTL_TMR_TEMPO;
-extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE;
-extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM;
-extern unsigned IOCTL_SOUND_MIXER_READ_BASS;
-extern unsigned IOCTL_SOUND_MIXER_READ_CAPS;
-extern unsigned IOCTL_SOUND_MIXER_READ_CD;
-extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK;
-extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE;
-extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN;
-extern unsigned IOCTL_SOUND_MIXER_READ_IMIX;
-extern unsigned IOCTL_SOUND_MIXER_READ_LINE1;
-extern unsigned IOCTL_SOUND_MIXER_READ_LINE2;
-extern unsigned IOCTL_SOUND_MIXER_READ_LINE3;
-extern unsigned IOCTL_SOUND_MIXER_READ_LINE;
-extern unsigned IOCTL_SOUND_MIXER_READ_LOUD;
-extern unsigned IOCTL_SOUND_MIXER_READ_MIC;
-extern unsigned IOCTL_SOUND_MIXER_READ_MUTE;
-extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN;
-extern unsigned IOCTL_SOUND_MIXER_READ_PCM;
-extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV;
-extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK;
-extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC;
-extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER;
-extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS;
-extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH;
-extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE;
-extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_CD;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE;
-extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME;
-extern unsigned IOCTL_SOUND_PCM_READ_BITS;
-extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS;
-extern unsigned IOCTL_SOUND_PCM_READ_FILTER;
-extern unsigned IOCTL_SOUND_PCM_READ_RATE;
-extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS;
-extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER;
-extern unsigned IOCTL_VT_ACTIVATE;
-extern unsigned IOCTL_VT_GETMODE;
-extern unsigned IOCTL_VT_OPENQRY;
-extern unsigned IOCTL_VT_RELDISP;
-extern unsigned IOCTL_VT_SETMODE;
-extern unsigned IOCTL_VT_WAITACTIVE;
-#endif  // SANITIZER_LINUX
-
-#if SANITIZER_LINUX && !SANITIZER_ANDROID
-extern unsigned IOCTL_EQL_EMANCIPATE;
-extern unsigned IOCTL_EQL_ENSLAVE;
-extern unsigned IOCTL_EQL_GETMASTRCFG;
-extern unsigned IOCTL_EQL_GETSLAVECFG;
-extern unsigned IOCTL_EQL_SETMASTRCFG;
-extern unsigned IOCTL_EQL_SETSLAVECFG;
-extern unsigned IOCTL_EVIOCGKEYCODE_V2;
-extern unsigned IOCTL_EVIOCGPROP;
-extern unsigned IOCTL_EVIOCSKEYCODE_V2;
-extern unsigned IOCTL_FS_IOC_GETFLAGS;
-extern unsigned IOCTL_FS_IOC_GETVERSION;
-extern unsigned IOCTL_FS_IOC_SETFLAGS;
-extern unsigned IOCTL_FS_IOC_SETVERSION;
-extern unsigned IOCTL_GIO_CMAP;
-extern unsigned IOCTL_GIO_FONT;
-extern unsigned IOCTL_GIO_UNIMAP;
-extern unsigned IOCTL_GIO_UNISCRNMAP;
-extern unsigned IOCTL_KDADDIO;
-extern unsigned IOCTL_KDDELIO;
-extern unsigned IOCTL_KDGETKEYCODE;
-extern unsigned IOCTL_KDGKBDIACR;
-extern unsigned IOCTL_KDGKBENT;
-extern unsigned IOCTL_KDGKBLED;
-extern unsigned IOCTL_KDGKBMETA;
-extern unsigned IOCTL_KDGKBSENT;
-extern unsigned IOCTL_KDMAPDISP;
-extern unsigned IOCTL_KDSETKEYCODE;
-extern unsigned IOCTL_KDSIGACCEPT;
-extern unsigned IOCTL_KDSKBDIACR;
-extern unsigned IOCTL_KDSKBENT;
-extern unsigned IOCTL_KDSKBLED;
-extern unsigned IOCTL_KDSKBMETA;
-extern unsigned IOCTL_KDSKBSENT;
-extern unsigned IOCTL_KDUNMAPDISP;
-extern unsigned IOCTL_LPABORT;
-extern unsigned IOCTL_LPABORTOPEN;
-extern unsigned IOCTL_LPCAREFUL;
-extern unsigned IOCTL_LPCHAR;
-extern unsigned IOCTL_LPGETIRQ;
-extern unsigned IOCTL_LPGETSTATUS;
-extern unsigned IOCTL_LPRESET;
-extern unsigned IOCTL_LPSETIRQ;
-extern unsigned IOCTL_LPTIME;
-extern unsigned IOCTL_LPWAIT;
-extern unsigned IOCTL_MTIOCGETCONFIG;
-extern unsigned IOCTL_MTIOCSETCONFIG;
-extern unsigned IOCTL_PIO_CMAP;
-extern unsigned IOCTL_PIO_FONT;
-extern unsigned IOCTL_PIO_UNIMAP;
-extern unsigned IOCTL_PIO_UNIMAPCLR;
-extern unsigned IOCTL_PIO_UNISCRNMAP;
-extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN;
-extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST;
-extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE;
-extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE;
-extern unsigned IOCTL_SIOCAIPXITFCRT;
-extern unsigned IOCTL_SIOCAIPXPRISLT;
-extern unsigned IOCTL_SIOCAX25ADDUID;
-extern unsigned IOCTL_SIOCAX25DELUID;
-extern unsigned IOCTL_SIOCAX25GETPARMS;
-extern unsigned IOCTL_SIOCAX25GETUID;
-extern unsigned IOCTL_SIOCAX25NOUID;
-extern unsigned IOCTL_SIOCAX25SETPARMS;
-extern unsigned IOCTL_SIOCDEVPLIP;
-extern unsigned IOCTL_SIOCIPXCFGDATA;
-extern unsigned IOCTL_SIOCNRDECOBS;
-extern unsigned IOCTL_SIOCNRGETPARMS;
-extern unsigned IOCTL_SIOCNRRTCTL;
-extern unsigned IOCTL_SIOCNRSETPARMS;
-extern unsigned IOCTL_SNDCTL_DSP_GETISPACE;
-extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE;
-extern unsigned IOCTL_TIOCGSERIAL;
-extern unsigned IOCTL_TIOCSERGETMULTI;
-extern unsigned IOCTL_TIOCSERSETMULTI;
-extern unsigned IOCTL_TIOCSSERIAL;
-extern unsigned IOCTL_GIO_SCRNMAP;
-extern unsigned IOCTL_KDDISABIO;
-extern unsigned IOCTL_KDENABIO;
-extern unsigned IOCTL_KDGETLED;
-extern unsigned IOCTL_KDGETMODE;
-extern unsigned IOCTL_KDGKBMODE;
-extern unsigned IOCTL_KDGKBTYPE;
-extern unsigned IOCTL_KDMKTONE;
-extern unsigned IOCTL_KDSETLED;
-extern unsigned IOCTL_KDSETMODE;
-extern unsigned IOCTL_KDSKBMODE;
-extern unsigned IOCTL_KIOCSOUND;
-extern unsigned IOCTL_PIO_SCRNMAP;
-#endif
-
-extern const int si_SEGV_MAPERR;
-extern const int si_SEGV_ACCERR;
-}  // namespace __sanitizer
-
-#define CHECK_TYPE_SIZE(TYPE) \
-  COMPILER_CHECK(sizeof(__sanitizer_##TYPE) == sizeof(TYPE))
-
-#define CHECK_SIZE_AND_OFFSET(CLASS, MEMBER)                      \
-  COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *)NULL)->MEMBER) == \
-                 sizeof(((CLASS *)NULL)->MEMBER));                \
-  COMPILER_CHECK(offsetof(__sanitizer_##CLASS, MEMBER) ==         \
-                 offsetof(CLASS, MEMBER))
-
-// For sigaction, which is a function and struct at the same time,
-// and thus requires explicit "struct" in sizeof() expression.
-#define CHECK_STRUCT_SIZE_AND_OFFSET(CLASS, MEMBER)                      \
-  COMPILER_CHECK(sizeof(((struct __sanitizer_##CLASS *)NULL)->MEMBER) == \
-                 sizeof(((struct CLASS *)NULL)->MEMBER));                \
-  COMPILER_CHECK(offsetof(struct __sanitizer_##CLASS, MEMBER) ==         \
-                 offsetof(struct CLASS, MEMBER))
-
-#define SIGACTION_SYMNAME sigaction
-
-#endif  // SANITIZER_LINUX || SANITIZER_APPLE
-
-#endif
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib/sanitizer_common
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new/compiler-rt
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-mips.patch
-
-mv llvm-$VERSION-compiler-rt-mips.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-compiler-rt-mips-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/llvm/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-ppc64.patch
-
-mv llvm-$VERSION-llvm-ppc64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake/config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake/config-ix.cmake	(nonexistent)
@@ -1,697 +0,0 @@
-if( WIN32 AND NOT CYGWIN )
-  # We consider Cygwin as another Unix
-  set(PURE_WINDOWS 1)
-endif()
-
-include(CheckIncludeFile)
-include(CheckLibraryExists)
-include(CheckSymbolExists)
-include(CheckFunctionExists)
-include(CheckStructHasMember)
-include(CheckCCompilerFlag)
-include(CMakePushCheckState)
-
-include(CheckCompilerVersion)
-include(HandleLLVMStdlib)
-
-if( UNIX AND NOT (APPLE OR BEOS OR HAIKU) )
-  # Used by check_symbol_exists:
-  list(APPEND CMAKE_REQUIRED_LIBRARIES "m")
-endif()
-# x86_64 FreeBSD 9.2 requires libcxxrt to be specified explicitly.
-if( CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" AND
-    CMAKE_SIZEOF_VOID_P EQUAL 8 )
-  list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
-endif()
-
-# Do checks with _XOPEN_SOURCE and large-file API on AIX, because we will build
-# with those too.
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_LARGE_FILE_API")
-endif()
-
-# Do checks with _FILE_OFFSET_BITS=64 on Solaris, because we will build
-# with those too.
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
-endif()
-
-# include checks
-check_include_file(dlfcn.h HAVE_DLFCN_H)
-check_include_file(errno.h HAVE_ERRNO_H)
-check_include_file(fcntl.h HAVE_FCNTL_H)
-check_include_file(link.h HAVE_LINK_H)
-check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
-if( NOT PURE_WINDOWS )
-  check_include_file(pthread.h HAVE_PTHREAD_H)
-endif()
-check_include_file(signal.h HAVE_SIGNAL_H)
-check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
-check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
-check_include_file(sys/param.h HAVE_SYS_PARAM_H)
-check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
-check_include_file(sys/stat.h HAVE_SYS_STAT_H)
-check_include_file(sys/time.h HAVE_SYS_TIME_H)
-check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-check_include_file(sysexits.h HAVE_SYSEXITS_H)
-check_include_file(termios.h HAVE_TERMIOS_H)
-check_include_file(unistd.h HAVE_UNISTD_H)
-check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
-check_include_file(fenv.h HAVE_FENV_H)
-check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT)
-check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT)
-
-check_include_file(mach/mach.h HAVE_MACH_MACH_H)
-check_include_file(histedit.h HAVE_HISTEDIT_H)
-check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H)
-if(APPLE)
-  include(CheckCSourceCompiles)
-  CHECK_C_SOURCE_COMPILES("
-     static const char *__crashreporter_info__ = 0;
-     asm(\".desc ___crashreporter_info__, 0x10\");
-     int main() { return 0; }"
-    HAVE_CRASHREPORTER_INFO)
-endif()
-
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-  check_include_file(linux/magic.h HAVE_LINUX_MAGIC_H)
-  if(NOT HAVE_LINUX_MAGIC_H)
-    # older kernels use split files
-    check_include_file(linux/nfs_fs.h HAVE_LINUX_NFS_FS_H)
-    check_include_file(linux/smb.h HAVE_LINUX_SMB_H)
-  endif()
-endif()
-
-# library checks
-if( NOT PURE_WINDOWS )
-  check_library_exists(pthread pthread_create "" HAVE_LIBPTHREAD)
-  if (HAVE_LIBPTHREAD)
-    check_library_exists(pthread pthread_getspecific "" HAVE_PTHREAD_GETSPECIFIC)
-    check_library_exists(pthread pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
-    check_library_exists(pthread pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
-  else()
-    # this could be Android
-    check_library_exists(c pthread_create "" PTHREAD_IN_LIBC)
-    if (PTHREAD_IN_LIBC)
-      check_library_exists(c pthread_getspecific "" HAVE_PTHREAD_GETSPECIFIC)
-      check_library_exists(c pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
-      check_library_exists(c pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
-    endif()
-  endif()
-  check_library_exists(dl dlopen "" HAVE_LIBDL)
-  check_library_exists(rt clock_gettime "" HAVE_LIBRT)
-endif()
-
-# Check for libpfm.
-include(FindLibpfm)
-
-if(HAVE_LIBPTHREAD)
-  # We want to find pthreads library and at the moment we do want to
-  # have it reported as '-l<lib>' instead of '-pthread'.
-  # TODO: switch to -pthread once the rest of the build system can deal with it.
-  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-  set(THREADS_HAVE_PTHREAD_ARG Off)
-  find_package(Threads REQUIRED)
-  set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-if(LLVM_ENABLE_ZLIB)
-  if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON)
-    find_package(ZLIB REQUIRED)
-  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-    find_package(ZLIB)
-  endif()
-  if(ZLIB_FOUND)
-    # Check if zlib we found is usable; for example, we may have found a 32-bit
-    # library on a 64-bit system which would result in a link-time failure.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY})
-    check_symbol_exists(compress2 zlib.h HAVE_ZLIB)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB)
-      message(FATAL_ERROR "Failed to configure zlib")
-    endif()
-  endif()
-  set(LLVM_ENABLE_ZLIB "${HAVE_ZLIB}")
-endif()
-
-if(LLVM_ENABLE_LIBXML2)
-  if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON)
-    find_package(LibXml2 REQUIRED)
-  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-    find_package(LibXml2)
-  endif()
-  if(LibXml2_FOUND)
-    # Check if libxml2 we found is usable; for example, we may have found a 32-bit
-    # library on a 64-bit system which would result in a link-time failure.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBXML2_INCLUDE_DIRS})
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBXML2_LIBRARIES})
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LIBXML2_DEFINITIONS})
-    check_symbol_exists(xmlReadMemory libxml/xmlreader.h HAVE_LIBXML2)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON AND NOT HAVE_LIBXML2)
-      message(FATAL_ERROR "Failed to configure libxml2")
-    endif()
-  endif()
-  set(LLVM_ENABLE_LIBXML2 "${HAVE_LIBXML2}")
-endif()
-
-# Don't look for these libraries if we're using MSan, since uninstrumented third
-# party code may call MSan interceptors like strlen, leading to false positives.
-if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-  # Don't look for these libraries on Windows.
-  if (NOT PURE_WINDOWS)
-    # Skip libedit if using ASan as it contains memory leaks.
-    if (LLVM_ENABLE_LIBEDIT AND HAVE_HISTEDIT_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*")
-      check_library_exists(edit el_init "" HAVE_LIBEDIT)
-    else()
-      set(HAVE_LIBEDIT 0)
-    endif()
-    if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON)
-      set(MAYBE_REQUIRED REQUIRED)
-    else()
-      set(MAYBE_REQUIRED)
-    endif()
-    if(LLVM_ENABLE_TERMINFO)
-      find_library(TERMINFO_LIB NAMES terminfo tinfo curses ncurses ncursesw ${MAYBE_REQUIRED})
-    endif()
-    if(TERMINFO_LIB)
-      set(LLVM_ENABLE_TERMINFO 1)
-    else()
-      set(LLVM_ENABLE_TERMINFO 0)
-    endif()
-  else()
-    set(LLVM_ENABLE_TERMINFO 0)
-  endif()
-else()
-  set(LLVM_ENABLE_TERMINFO 0)
-endif()
-
-check_library_exists(xar xar_open "" LLVM_HAVE_LIBXAR)
-if(LLVM_HAVE_LIBXAR)
-  set(XAR_LIB xar)
-endif()
-
-# function checks
-check_symbol_exists(arc4random "stdlib.h" HAVE_DECL_ARC4RANDOM)
-find_package(Backtrace)
-set(HAVE_BACKTRACE ${Backtrace_FOUND})
-set(BACKTRACE_HEADER ${Backtrace_HEADER})
-
-# Prevent check_symbol_exists from using API that is not supported for a given
-# deployment target.
-check_c_compiler_flag("-Werror=unguarded-availability-new" "C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW")
-if(C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW)
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror=unguarded-availability-new")
-endif()
-
-# Determine whether we can register EH tables.
-check_symbol_exists(__register_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_REGISTER_FRAME)
-check_symbol_exists(__deregister_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_DEREGISTER_FRAME)
-
-check_symbol_exists(_Unwind_Backtrace "unwind.h" HAVE__UNWIND_BACKTRACE)
-check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
-check_symbol_exists(sysconf unistd.h HAVE_SYSCONF)
-check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
-check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT)
-check_symbol_exists(isatty unistd.h HAVE_ISATTY)
-check_symbol_exists(futimens sys/stat.h HAVE_FUTIMENS)
-check_symbol_exists(futimes sys/time.h HAVE_FUTIMES)
-check_symbol_exists(posix_fallocate fcntl.h HAVE_POSIX_FALLOCATE)
-# AddressSanitizer conflicts with lib/Support/Unix/Signals.inc
-# Avoid sigaltstack on Apple platforms, where backtrace() cannot handle it
-# (rdar://7089625) and _Unwind_Backtrace is unusable because it cannot unwind
-# past the signal handler after an assertion failure (rdar://29866587).
-if( HAVE_SIGNAL_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*" AND NOT APPLE )
-  check_symbol_exists(sigaltstack signal.h HAVE_SIGALTSTACK)
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS "-D_LARGEFILE64_SOURCE")
-check_symbol_exists(lseek64 "sys/types.h;unistd.h" HAVE_LSEEK64)
-set(CMAKE_REQUIRED_DEFINITIONS "")
-check_symbol_exists(mallctl malloc_np.h HAVE_MALLCTL)
-check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
-check_symbol_exists(mallinfo2 malloc.h HAVE_MALLINFO2)
-check_symbol_exists(malloc_zone_statistics malloc/malloc.h
-                    HAVE_MALLOC_ZONE_STATISTICS)
-check_symbol_exists(getrlimit "sys/types.h;sys/time.h;sys/resource.h" HAVE_GETRLIMIT)
-check_symbol_exists(posix_spawn spawn.h HAVE_POSIX_SPAWN)
-check_symbol_exists(pread unistd.h HAVE_PREAD)
-check_symbol_exists(sbrk unistd.h HAVE_SBRK)
-check_symbol_exists(strerror string.h HAVE_STRERROR)
-check_symbol_exists(strerror_r string.h HAVE_STRERROR_R)
-check_symbol_exists(strerror_s string.h HAVE_DECL_STRERROR_S)
-check_symbol_exists(setenv stdlib.h HAVE_SETENV)
-if( PURE_WINDOWS )
-  check_symbol_exists(_chsize_s io.h HAVE__CHSIZE_S)
-
-  check_function_exists(_alloca HAVE__ALLOCA)
-  check_function_exists(__alloca HAVE___ALLOCA)
-  check_function_exists(__chkstk HAVE___CHKSTK)
-  check_function_exists(__chkstk_ms HAVE___CHKSTK_MS)
-  check_function_exists(___chkstk HAVE____CHKSTK)
-  check_function_exists(___chkstk_ms HAVE____CHKSTK_MS)
-
-  check_function_exists(__ashldi3 HAVE___ASHLDI3)
-  check_function_exists(__ashrdi3 HAVE___ASHRDI3)
-  check_function_exists(__divdi3 HAVE___DIVDI3)
-  check_function_exists(__fixdfdi HAVE___FIXDFDI)
-  check_function_exists(__fixsfdi HAVE___FIXSFDI)
-  check_function_exists(__floatdidf HAVE___FLOATDIDF)
-  check_function_exists(__lshrdi3 HAVE___LSHRDI3)
-  check_function_exists(__moddi3 HAVE___MODDI3)
-  check_function_exists(__udivdi3 HAVE___UDIVDI3)
-  check_function_exists(__umoddi3 HAVE___UMODDI3)
-
-  check_function_exists(__main HAVE___MAIN)
-  check_function_exists(__cmpdi2 HAVE___CMPDI2)
-endif()
-if( HAVE_DLFCN_H )
-  if( HAVE_LIBDL )
-    list(APPEND CMAKE_REQUIRED_LIBRARIES dl)
-  endif()
-  check_symbol_exists(dlopen dlfcn.h HAVE_DLOPEN)
-  check_symbol_exists(dladdr dlfcn.h HAVE_DLADDR)
-  if( HAVE_LIBDL )
-    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES dl)
-  endif()
-endif()
-
-CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtimespec.tv_nsec
-    "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC)
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
-# The st_mtim.tv_nsec member of a `stat` structure is not reliable on some AIX
-# environments.
-  set(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0)
-else()
-  CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtim.tv_nsec
-      "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
-endif()
-
-check_symbol_exists(__GLIBC__ stdio.h LLVM_USING_GLIBC)
-if( LLVM_USING_GLIBC )
-  add_definitions( -D_GNU_SOURCE )
-  list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
-endif()
-# This check requires _GNU_SOURCE
-if (NOT PURE_WINDOWS)
-  if (LLVM_PTHREAD_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
-  endif()
-  check_symbol_exists(pthread_getname_np pthread.h HAVE_PTHREAD_GETNAME_NP)
-  check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP)
-  if (LLVM_PTHREAD_LIB)
-    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
-  endif()
-endif()
-
-# available programs checks
-function(llvm_find_program name)
-  string(TOUPPER ${name} NAME)
-  string(REGEX REPLACE "\\." "_" NAME ${NAME})
-
-  find_program(LLVM_PATH_${NAME} NAMES ${ARGV})
-  mark_as_advanced(LLVM_PATH_${NAME})
-  if(LLVM_PATH_${NAME})
-    set(HAVE_${NAME} 1 CACHE INTERNAL "Is ${name} available ?")
-    mark_as_advanced(HAVE_${NAME})
-  else(LLVM_PATH_${NAME})
-    set(HAVE_${NAME} "" CACHE INTERNAL "Is ${name} available ?")
-  endif(LLVM_PATH_${NAME})
-endfunction()
-
-if (LLVM_ENABLE_DOXYGEN)
-  llvm_find_program(dot)
-endif ()
-
-if( LLVM_ENABLE_FFI )
-  find_path(FFI_INCLUDE_PATH ffi.h PATHS ${FFI_INCLUDE_DIR})
-  if( EXISTS "${FFI_INCLUDE_PATH}/ffi.h" )
-    set(FFI_HEADER ffi.h CACHE INTERNAL "")
-    set(HAVE_FFI_H 1 CACHE INTERNAL "")
-  else()
-    find_path(FFI_INCLUDE_PATH ffi/ffi.h PATHS ${FFI_INCLUDE_DIR})
-    if( EXISTS "${FFI_INCLUDE_PATH}/ffi/ffi.h" )
-      set(FFI_HEADER ffi/ffi.h CACHE INTERNAL "")
-      set(HAVE_FFI_FFI_H 1 CACHE INTERNAL "")
-    endif()
-  endif()
-
-  if( NOT FFI_HEADER )
-    message(FATAL_ERROR "libffi includes are not found.")
-  endif()
-
-  find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR})
-  if( NOT FFI_LIBRARY_PATH )
-    message(FATAL_ERROR "libffi is not found.")
-  endif()
-
-  list(APPEND CMAKE_REQUIRED_LIBRARIES ${FFI_LIBRARY_PATH})
-  list(APPEND CMAKE_REQUIRED_INCLUDES ${FFI_INCLUDE_PATH})
-  check_symbol_exists(ffi_call ${FFI_HEADER} HAVE_FFI_CALL)
-  list(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${FFI_INCLUDE_PATH})
-  list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${FFI_LIBRARY_PATH})
-else()
-  unset(HAVE_FFI_FFI_H CACHE)
-  unset(HAVE_FFI_H CACHE)
-  unset(HAVE_FFI_CALL CACHE)
-endif( LLVM_ENABLE_FFI )
-
-check_symbol_exists(proc_pid_rusage "libproc.h" HAVE_PROC_PID_RUSAGE)
-
-# Whether we can use std::is_trivially_copyable to verify llvm::is_trivially_copyable.
-CHECK_CXX_SOURCE_COMPILES("
-#include <type_traits>
-struct T { int val; };
-static_assert(std::is_trivially_copyable<T>::value, \"ok\");
-int main() { return 0;}
-" HAVE_STD_IS_TRIVIALLY_COPYABLE)
-
-
-# Define LLVM_HAS_ATOMICS if gcc or MSVC atomic builtins are supported.
-include(CheckAtomic)
-
-if( LLVM_ENABLE_PIC )
-  set(ENABLE_PIC 1)
-else()
-  set(ENABLE_PIC 0)
-  check_cxx_compiler_flag("-fno-pie" SUPPORTS_NO_PIE_FLAG)
-  if(SUPPORTS_NO_PIE_FLAG)
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie")
-  endif()
-endif()
-
-check_cxx_compiler_flag("-Wvariadic-macros" SUPPORTS_VARIADIC_MACROS_FLAG)
-check_cxx_compiler_flag("-Wgnu-zero-variadic-macro-arguments"
-                        SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG)
-
-set(USE_NO_MAYBE_UNINITIALIZED 0)
-set(USE_NO_UNINITIALIZED 0)
-
-# Disable gcc's potentially uninitialized use analysis as it presents lots of
-# false positives.
-if (CMAKE_COMPILER_IS_GNUCXX)
-  check_cxx_compiler_flag("-Wmaybe-uninitialized" HAS_MAYBE_UNINITIALIZED)
-  if (HAS_MAYBE_UNINITIALIZED)
-    set(USE_NO_MAYBE_UNINITIALIZED 1)
-  else()
-    # Only recent versions of gcc make the distinction between -Wuninitialized
-    # and -Wmaybe-uninitialized. If -Wmaybe-uninitialized isn't supported, just
-    # turn off all uninitialized use warnings.
-    check_cxx_compiler_flag("-Wuninitialized" HAS_UNINITIALIZED)
-    set(USE_NO_UNINITIALIZED ${HAS_UNINITIALIZED})
-  endif()
-endif()
-
-# By default, we target the host, but this can be overridden at CMake
-# invocation time.
-include(GetHostTriple)
-get_host_triple(LLVM_INFERRED_HOST_TRIPLE)
-
-set(LLVM_HOST_TRIPLE "${LLVM_INFERRED_HOST_TRIPLE}" CACHE STRING
-    "Host on which LLVM binaries will run")
-
-# Determine the native architecture.
-string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH)
-if( LLVM_NATIVE_ARCH STREQUAL "host" )
-  string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE})
-endif ()
-
-if (LLVM_NATIVE_ARCH MATCHES "i[2-6]86")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "x86")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "amd64")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "x86_64")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH MATCHES "sparc")
-  set(LLVM_NATIVE_ARCH Sparc)
-elseif (LLVM_NATIVE_ARCH MATCHES "sparc64")
-  set(LLVM_NATIVE_ARCH Sparc)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "powerpc")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc64")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc64le")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "aarch64")
-  set(LLVM_NATIVE_ARCH AArch64)
-elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
-  set(LLVM_NATIVE_ARCH AArch64)
-elseif (LLVM_NATIVE_ARCH MATCHES "arm")
-  set(LLVM_NATIVE_ARCH ARM)
-elseif (LLVM_NATIVE_ARCH MATCHES "avr")
-  set(LLVM_NATIVE_ARCH AVR)
-elseif (LLVM_NATIVE_ARCH MATCHES "mips")
-  set(LLVM_NATIVE_ARCH Mips)
-elseif (LLVM_NATIVE_ARCH MATCHES "xcore")
-  set(LLVM_NATIVE_ARCH XCore)
-elseif (LLVM_NATIVE_ARCH MATCHES "msp430")
-  set(LLVM_NATIVE_ARCH MSP430)
-elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
-  set(LLVM_NATIVE_ARCH Hexagon)
-elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
-  set(LLVM_NATIVE_ARCH SystemZ)
-elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
-  set(LLVM_NATIVE_ARCH WebAssembly)
-elseif (LLVM_NATIVE_ARCH MATCHES "wasm64")
-  set(LLVM_NATIVE_ARCH WebAssembly)
-elseif (LLVM_NATIVE_ARCH MATCHES "riscv32")
-  set(LLVM_NATIVE_ARCH RISCV)
-elseif (LLVM_NATIVE_ARCH MATCHES "riscv64")
-  set(LLVM_NATIVE_ARCH RISCV)
-elseif (LLVM_NATIVE_ARCH STREQUAL "m68k")
-  set(LLVM_NATIVE_ARCH M68k)
-else ()
-  message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}")
-endif ()
-
-# If build targets includes "host" or "Native", then replace with native architecture.
-foreach (NATIVE_KEYWORD host Native)
-  list(FIND LLVM_TARGETS_TO_BUILD ${NATIVE_KEYWORD} idx)
-  if( NOT idx LESS 0 )
-    list(REMOVE_AT LLVM_TARGETS_TO_BUILD ${idx})
-    list(APPEND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH})
-    list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)
-  endif()
-endforeach()
-
-list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX)
-if (NATIVE_ARCH_IDX EQUAL -1)
-  message(STATUS
-    "Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not JIT code")
-else ()
-  message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")
-  set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)
-  set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)
-  set(LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC)
-  set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)
-
-  # We don't have an ASM parser for all architectures yet.
-  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/CMakeLists.txt)
-    set(LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser)
-  endif ()
-
-  # We don't have an disassembler for all architectures yet.
-  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/Disassembler/CMakeLists.txt)
-    set(LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler)
-  endif ()
-endif ()
-
-if( MSVC )
-  set(SHLIBEXT ".lib")
-  set(stricmp "_stricmp")
-  set(strdup "_strdup")
-
-  # See if the DIA SDK is available and usable.
-  set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK" CACHE PATH
-      "Path to the DIA SDK")
-
-  # Due to a bug in MSVC 2013's installation software, it is possible
-  # for MSVC 2013 to write the DIA SDK into the Visual Studio 2012
-  # install directory.  If this happens, the installation is corrupt
-  # and there's nothing we can do.  It happens with enough frequency
-  # though that we should handle it.  We do so by simply checking that
-  # the DIA SDK folder exists.  Should this happen you will need to
-  # uninstall VS 2012 and then re-install VS 2013.
-  if (IS_DIRECTORY "${MSVC_DIA_SDK_DIR}")
-    set(HAVE_DIA_SDK 1)
-  else()
-    set(HAVE_DIA_SDK 0)
-  endif()
-
-  option(LLVM_ENABLE_DIA_SDK "Use MSVC DIA SDK for debugging if available."
-                             ${HAVE_DIA_SDK})
-
-  if(LLVM_ENABLE_DIA_SDK AND NOT HAVE_DIA_SDK)
-    message(FATAL_ERROR "DIA SDK not found. If you have both VS 2012 and 2013 installed, you may need to uninstall the former and re-install the latter afterwards.")
-  endif()
-else()
-  set(LLVM_ENABLE_DIA_SDK 0)
-endif( MSVC )
-
-# FIXME: Signal handler return type, currently hardcoded to 'void'
-set(RETSIGTYPE void)
-
-if( LLVM_ENABLE_THREADS )
-  # Check if threading primitives aren't supported on this platform
-  if( NOT HAVE_PTHREAD_H AND NOT WIN32 )
-    set(LLVM_ENABLE_THREADS 0)
-  endif()
-endif()
-
-if( LLVM_ENABLE_THREADS )
-  message(STATUS "Threads enabled.")
-else( LLVM_ENABLE_THREADS )
-  message(STATUS "Threads disabled.")
-endif()
-
-if (LLVM_ENABLE_DOXYGEN)
-  message(STATUS "Doxygen enabled.")
-  find_package(Doxygen REQUIRED)
-
-  if (DOXYGEN_FOUND)
-    # If we find doxygen and we want to enable doxygen by default create a
-    # global aggregate doxygen target for generating llvm and any/all
-    # subprojects doxygen documentation.
-    if (LLVM_BUILD_DOCS)
-      add_custom_target(doxygen ALL)
-    endif()
-
-    option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF)
-    if (LLVM_DOXYGEN_EXTERNAL_SEARCH)
-      set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.")
-      set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
-    endif()
-  endif()
-else()
-  message(STATUS "Doxygen disabled.")
-endif()
-
-set(LLVM_BINDINGS "")
-find_program(GO_EXECUTABLE NAMES go DOC "go executable")
-if(WIN32 OR NOT LLVM_ENABLE_BINDINGS)
-  message(STATUS "Go bindings disabled.")
-else()
-  if(GO_EXECUTABLE STREQUAL "GO_EXECUTABLE-NOTFOUND")
-    message(STATUS "Go bindings disabled.")
-  else()
-    execute_process(COMMAND ${GO_EXECUTABLE} run ${PROJECT_SOURCE_DIR}/bindings/go/conftest.go
-                    RESULT_VARIABLE GO_CONFTEST)
-    if(GO_CONFTEST STREQUAL "0")
-      set(LLVM_BINDINGS "${LLVM_BINDINGS} go")
-      message(STATUS "Go bindings enabled.")
-    else()
-      message(STATUS "Go bindings disabled, need at least Go 1.2.")
-    endif()
-  endif()
-endif()
-
-find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold ${LLVM_DEFAULT_TARGET_TRIPLE}-ld ld DOC "The gold linker")
-set(LLVM_BINUTILS_INCDIR "" CACHE PATH
-	"PATH to binutils/include containing plugin-api.h for gold plugin.")
-
-if(CMAKE_GENERATOR STREQUAL "Ninja")
-  execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --version
-    OUTPUT_VARIABLE NINJA_VERSION
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-  set(NINJA_VERSION ${NINJA_VERSION} CACHE STRING "Ninja version number" FORCE)
-  message(STATUS "Ninja version: ${NINJA_VERSION}")
-endif()
-
-if(CMAKE_GENERATOR STREQUAL "Ninja" AND
-    NOT "${NINJA_VERSION}" VERSION_LESS "1.9.0" AND
-    CMAKE_HOST_APPLE AND CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER "15.6.0")
-  set(LLVM_TOUCH_STATIC_LIBRARIES ON)
-endif()
-
-if(CMAKE_HOST_APPLE AND APPLE)
-  if(NOT CMAKE_XCRUN)
-    find_program(CMAKE_XCRUN NAMES xcrun)
-  endif()
-  if(CMAKE_XCRUN)
-    execute_process(COMMAND ${CMAKE_XCRUN} -find ld
-      OUTPUT_VARIABLE LD64_EXECUTABLE
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-  else()
-    find_program(LD64_EXECUTABLE NAMES ld DOC "The ld64 linker")
-  endif()
-
-  if(LD64_EXECUTABLE)
-    set(LD64_EXECUTABLE ${LD64_EXECUTABLE} CACHE PATH "ld64 executable")
-    message(STATUS "Found ld64 - ${LD64_EXECUTABLE}")
-  endif()
-endif()
-
-# Keep the version requirements in sync with bindings/ocaml/README.txt.
-include(FindOCaml)
-include(AddOCaml)
-if(WIN32 OR NOT LLVM_ENABLE_BINDINGS)
-  message(STATUS "OCaml bindings disabled.")
-else()
-  find_package(OCaml)
-  if( NOT OCAML_FOUND )
-    message(STATUS "OCaml bindings disabled.")
-  else()
-    if( OCAML_VERSION VERSION_LESS "4.00.0" )
-      message(STATUS "OCaml bindings disabled, need OCaml >=4.00.0.")
-    else()
-      find_ocamlfind_package(ctypes VERSION 0.4 OPTIONAL)
-      if( HAVE_OCAML_CTYPES )
-        message(STATUS "OCaml bindings enabled.")
-        find_ocamlfind_package(oUnit VERSION 2 OPTIONAL)
-        set(LLVM_BINDINGS "${LLVM_BINDINGS} ocaml")
-
-        set(LLVM_OCAML_INSTALL_PATH "${OCAML_STDLIB_PATH}" CACHE STRING
-            "Install directory for LLVM OCaml packages")
-      else()
-        message(STATUS "OCaml bindings disabled, need ctypes >=0.4.")
-      endif()
-    endif()
-  endif()
-endif()
-
-string(REPLACE " " ";" LLVM_BINDINGS_LIST "${LLVM_BINDINGS}")
-
-function(find_python_module module)
-  string(REPLACE "." "_" module_name ${module})
-  string(TOUPPER ${module_name} module_upper)
-  set(FOUND_VAR PY_${module_upper}_FOUND)
-  if (DEFINED ${FOUND_VAR})
-    return()
-  endif()
-
-  execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import ${module}"
-    RESULT_VARIABLE status
-    ERROR_QUIET)
-
-  if(status)
-    set(${FOUND_VAR} OFF CACHE BOOL "Failed to find python module '${module}'")
-    message(STATUS "Could NOT find Python module ${module}")
-  else()
-  set(${FOUND_VAR} ON CACHE BOOL "Found python module '${module}'")
-    message(STATUS "Found Python module ${module}")
-  endif()
-endfunction()
-
-set (PYTHON_MODULES
-  pygments
-  # Some systems still don't have pygments.lexers.c_cpp which was introduced in
-  # version 2.0 in 2014...
-  pygments.lexers.c_cpp
-  yaml
-  )
-foreach(module ${PYTHON_MODULES})
-  find_python_module(${module})
-endforeach()
-
-if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
-  set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
-else()
-  set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-ppc64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/clang/lib/Basic/Version.cpp
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic/Version.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic/Version.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic/Version.cpp	(nonexistent)
@@ -1,106 +0,0 @@
-//===- Version.cpp - Clang Version Number -----------------------*- 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 defines several version-related utility functions for Clang.
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/Basic/Version.h"
-#include "clang/Basic/LLVM.h"
-#include "clang/Config/config.h"
-#include "llvm/Support/raw_ostream.h"
-#include <cstdlib>
-#include <cstring>
-
-#include "VCSVersion.inc"
-
-namespace clang {
-
-std::string getClangRepositoryPath() {
-  return "";
-}
-
-std::string getLLVMRepositoryPath() {
-  return "";
-}
-
-std::string getClangRevision() {
-  return "";
-}
-
-std::string getLLVMRevision() {
-  return "";
-}
-
-std::string getClangFullRepositoryVersion() {
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-  std::string Path = getClangRepositoryPath();
-  std::string Revision = getClangRevision();
-  if (!Path.empty() || !Revision.empty()) {
-    OS << '(';
-    if (!Path.empty())
-      OS << Path;
-    if (!Revision.empty()) {
-      if (!Path.empty())
-        OS << ' ';
-      OS << Revision;
-    }
-    OS << ')';
-  }
-  // Support LLVM in a separate repository.
-  std::string LLVMRev = getLLVMRevision();
-  if (!LLVMRev.empty() && LLVMRev != Revision) {
-    OS << " (";
-    std::string LLVMRepo = getLLVMRepositoryPath();
-    if (!LLVMRepo.empty())
-      OS << LLVMRepo << ' ';
-    OS << LLVMRev << ')';
-  }
-  return buf;
-}
-
-std::string getClangFullVersion() {
-  return getClangToolFullVersion("clang");
-}
-
-std::string getClangToolFullVersion(StringRef ToolName) {
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-#ifdef CLANG_VENDOR
-  OS << CLANG_VENDOR;
-#endif
-  OS << ToolName << " version " CLANG_VERSION_STRING;
-
-  std::string repo = getClangFullRepositoryVersion();
-  if (!repo.empty()) {
-    OS << " " << repo;
-  }
-
-  return buf;
-}
-
-std::string getClangFullCPPVersion() {
-  // The version string we report in __VERSION__ is just a compacted version of
-  // the one we report on the command line.
-  std::string buf;
-  llvm::raw_string_ostream OS(buf);
-#ifdef CLANG_VENDOR
-  OS << CLANG_VENDOR;
-#endif
-  OS << "Clang " CLANG_VERSION_STRING;
-
-  std::string repo = getClangFullRepositoryVersion();
-  if (!repo.empty()) {
-    OS << " " << repo;
-  }
-
-  return buf;
-}
-
-} // end namespace clang
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib/Basic
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-set-revision.patch
-
-mv llvm-$VERSION-clang-set-revision.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-clang-set-revision-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/file.list	(nonexistent)
@@ -1,2 +0,0 @@
-llvm-15.0.4/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
-llvm-15.0.4/openmp/runtime/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake/config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake/config-ix.cmake	(nonexistent)
@@ -1,360 +0,0 @@
-#
-#//===----------------------------------------------------------------------===//
-#//
-#// 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
-#//
-#//===----------------------------------------------------------------------===//
-#
-
-include(CheckCCompilerFlag)
-include(CheckCSourceCompiles)
-include(CheckCXXSourceCompiles)
-include(CheckCXXCompilerFlag)
-include(CheckIncludeFile)
-include(CheckLibraryExists)
-include(CheckIncludeFiles)
-include(CheckSymbolExists)
-include(LibompCheckLinkerFlag)
-include(LibompCheckFortranFlag)
-
-# Check for versioned symbols
-function(libomp_check_version_symbols retval)
-  set(source_code
-    "#include <stdio.h>
-    void func1() { printf(\"Hello\"); }
-    void func2() { printf(\"World\"); }
-    __asm__(\".symver func1, func@VER1\");
-    __asm__(\".symver func2, func@VER2\");
-    int main() {
-      func1();
-      func2();
-      return 0;
-    }")
-  set(version_script_source "VER1 { }; VER2 { } VER1;")
-  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt "${version_script_source}")
-  set(CMAKE_REQUIRED_FLAGS -Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt)
-  check_c_source_compiles("${source_code}" ${retval})
-  set(${retval} ${${retval}} PARENT_SCOPE)
-  file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt)
-endfunction()
-
-# Includes the architecture flag in both compile and link phase
-function(libomp_check_architecture_flag flag retval)
-  set(CMAKE_REQUIRED_FLAGS "${flag}")
-  check_c_compiler_flag("${flag}" ${retval})
-  set(${retval} ${${retval}} PARENT_SCOPE)
-endfunction()
-
-# Checking CXX, Linker Flags
-check_cxx_compiler_flag(-fno-exceptions LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG)
-check_cxx_compiler_flag(-fno-rtti LIBOMP_HAVE_FNO_RTTI_FLAG)
-check_cxx_compiler_flag(-Wno-class-memaccess LIBOMP_HAVE_WNO_CLASS_MEMACCESS_FLAG)
-check_cxx_compiler_flag(-Wno-covered-switch-default LIBOMP_HAVE_WNO_COVERED_SWITCH_DEFAULT_FLAG)
-check_cxx_compiler_flag(-Wno-frame-address LIBOMP_HAVE_WNO_FRAME_ADDRESS_FLAG)
-check_cxx_compiler_flag(-Wno-strict-aliasing LIBOMP_HAVE_WNO_STRICT_ALIASING_FLAG)
-check_cxx_compiler_flag(-Wstringop-overflow=0 LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG)
-check_cxx_compiler_flag(-Wno-stringop-truncation LIBOMP_HAVE_WNO_STRINGOP_TRUNCATION_FLAG)
-check_cxx_compiler_flag(-Wno-switch LIBOMP_HAVE_WNO_SWITCH_FLAG)
-check_cxx_compiler_flag(-Wno-uninitialized LIBOMP_HAVE_WNO_UNINITIALIZED_FLAG)
-check_cxx_compiler_flag(-Wno-unused-but-set-variable LIBOMP_HAVE_WNO_UNUSED_BUT_SET_VARIABLE_FLAG)
-check_cxx_compiler_flag(-Wno-return-type-c-linkage LIBOMP_HAVE_WNO_RETURN_TYPE_C_LINKAGE_FLAG)
-check_cxx_compiler_flag(-Wno-cast-qual LIBOMP_HAVE_WNO_CAST_QUAL_FLAG)
-check_cxx_compiler_flag(-Wno-int-to-void-pointer-cast LIBOMP_HAVE_WNO_INT_TO_VOID_POINTER_CAST_FLAG)
-# check_cxx_compiler_flag(-Wconversion LIBOMP_HAVE_WCONVERSION_FLAG)
-check_cxx_compiler_flag(-msse2 LIBOMP_HAVE_MSSE2_FLAG)
-check_cxx_compiler_flag(-ftls-model=initial-exec LIBOMP_HAVE_FTLS_MODEL_FLAG)
-libomp_check_architecture_flag(-mmic LIBOMP_HAVE_MMIC_FLAG)
-libomp_check_architecture_flag(-m32 LIBOMP_HAVE_M32_FLAG)
-if(WIN32)
-  if(MSVC)
-    # Check Windows MSVC style flags.
-    check_cxx_compiler_flag(/EHsc LIBOMP_HAVE_EHSC_FLAG)
-    check_cxx_compiler_flag(/GS LIBOMP_HAVE_GS_FLAG)
-    check_cxx_compiler_flag(/Oy- LIBOMP_HAVE_Oy__FLAG)
-    check_cxx_compiler_flag(/arch:SSE2 LIBOMP_HAVE_ARCH_SSE2_FLAG)
-    check_cxx_compiler_flag(/Qsafeseh LIBOMP_HAVE_QSAFESEH_FLAG)
-  endif()
-  check_cxx_compiler_flag(-mrtm LIBOMP_HAVE_MRTM_FLAG)
-  # It is difficult to create a dummy masm assembly file
-  # and then check the MASM assembler to see if these flags exist and work,
-  # so we assume they do for Windows.
-  set(LIBOMP_HAVE_SAFESEH_MASM_FLAG TRUE)
-  set(LIBOMP_HAVE_COFF_MASM_FLAG TRUE)
-  # Change Windows flags /MDx to /MTx
-  foreach(libomp_lang IN ITEMS C CXX)
-    foreach(libomp_btype IN ITEMS DEBUG RELWITHDEBINFO RELEASE MINSIZEREL)
-      string(REPLACE "/MD" "/MT"
-        CMAKE_${libomp_lang}_FLAGS_${libomp_btype}
-        "${CMAKE_${libomp_lang}_FLAGS_${libomp_btype}}"
-      )
-    endforeach()
-  endforeach()
-else()
-  # It is difficult to create a dummy assembly file that compiles into an
-  # executable for every architecture and then check the C compiler to
-  # see if -x assembler-with-cpp exists and works, so we assume it does for non-Windows.
-  set(LIBOMP_HAVE_X_ASSEMBLER_WITH_CPP_FLAG TRUE)
-endif()
-if(${LIBOMP_FORTRAN_MODULES})
-  libomp_check_fortran_flag(-m32 LIBOMP_HAVE_M32_FORTRAN_FLAG)
-endif()
-
-# Check for Unix shared memory
-check_symbol_exists(shm_open "sys/mman.h" LIBOMP_HAVE_SHM_OPEN_NO_LRT)
-if (NOT LIBOMP_HAVE_SHM_OPEN_NO_LRT)
-  set(CMAKE_REQUIRED_LIBRARIES -lrt)
-  check_symbol_exists(shm_open "sys/mman.h" LIBOMP_HAVE_SHM_OPEN_WITH_LRT)
-  set(CMAKE_REQUIRED_LIBRARIES)
-endif()
-
-# Check for aligned memory allocator function
-check_include_file(xmmintrin.h LIBOMP_HAVE_XMMINTRIN_H)
-set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-if (LIBOMP_HAVE_XMMINTRIN_H)
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -DLIBOMP_HAVE_XMMINTRIN_H")
-endif()
-set(source_code "// check for _mm_malloc
-    #ifdef LIBOMP_HAVE_XMMINTRIN_H
-    #include <xmmintrin.h>
-    #endif
-    int main() { void *ptr = _mm_malloc(sizeof(int) * 1000, 64); _mm_free(ptr); return 0; }")
-check_cxx_source_compiles("${source_code}" LIBOMP_HAVE__MM_MALLOC)
-set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-check_symbol_exists(aligned_alloc "stdlib.h" LIBOMP_HAVE_ALIGNED_ALLOC)
-check_symbol_exists(posix_memalign "stdlib.h" LIBOMP_HAVE_POSIX_MEMALIGN)
-check_symbol_exists(_aligned_malloc "malloc.h" LIBOMP_HAVE__ALIGNED_MALLOC)
-
-# Check linker flags
-if(WIN32)
-  libomp_check_linker_flag(/SAFESEH LIBOMP_HAVE_SAFESEH_FLAG)
-elseif(NOT APPLE)
-  libomp_check_linker_flag(-Wl,-x LIBOMP_HAVE_X_FLAG)
-  libomp_check_linker_flag(-Wl,--warn-shared-textrel LIBOMP_HAVE_WARN_SHARED_TEXTREL_FLAG)
-  libomp_check_linker_flag(-Wl,--as-needed LIBOMP_HAVE_AS_NEEDED_FLAG)
-  libomp_check_linker_flag("-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
-  libomp_check_linker_flag(-static-libgcc LIBOMP_HAVE_STATIC_LIBGCC_FLAG)
-  libomp_check_linker_flag(-Wl,-z,noexecstack LIBOMP_HAVE_Z_NOEXECSTACK_FLAG)
-endif()
-
-# Check Intel(R) C Compiler specific flags
-if(CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM")
-  check_cxx_compiler_flag(/Qlong_double LIBOMP_HAVE_LONG_DOUBLE_FLAG)
-  check_cxx_compiler_flag(/Qdiag-disable:177 LIBOMP_HAVE_DIAG_DISABLE_177_FLAG)
-  check_cxx_compiler_flag(/Qinline-min-size=1 LIBOMP_HAVE_INLINE_MIN_SIZE_FLAG)
-  check_cxx_compiler_flag(-Qoption,cpp,--extended_float_types LIBOMP_HAVE_EXTENDED_FLOAT_TYPES_FLAG)
-  check_cxx_compiler_flag(-falign-stack=maintain-16-byte LIBOMP_HAVE_FALIGN_STACK_FLAG)
-  check_cxx_compiler_flag("-opt-streaming-stores never" LIBOMP_HAVE_OPT_STREAMING_STORES_FLAG)
-  libomp_check_linker_flag(-static-intel LIBOMP_HAVE_STATIC_INTEL_FLAG)
-  libomp_check_linker_flag(-no-intel-extensions LIBOMP_HAVE_NO_INTEL_EXTENSIONS_FLAG)
-  check_library_exists(irc_pic _intel_fast_memcpy "" LIBOMP_HAVE_IRC_PIC_LIBRARY)
-endif()
-
-# Checking Threading requirements
-find_package(Threads REQUIRED)
-if(WIN32)
-  if(NOT CMAKE_USE_WIN32_THREADS_INIT)
-    libomp_error_say("Need Win32 thread interface on Windows.")
-  endif()
-else()
-  if(NOT CMAKE_USE_PTHREADS_INIT)
-    libomp_error_say("Need pthread interface on Unix-like systems.")
-  endif()
-endif()
-
-# Checking for x86-specific waitpkg and rtm attribute and intrinsics
-if (IA32 OR INTEL64)
-  check_include_file(immintrin.h LIBOMP_HAVE_IMMINTRIN_H)
-  if (NOT LIBOMP_HAVE_IMMINTRIN_H)
-    check_include_file(intrin.h LIBOMP_HAVE_INTRIN_H)
-  endif()
-  check_cxx_source_compiles("__attribute__((target(\"rtm\")))
-                             int main() {return 0;}" LIBOMP_HAVE_ATTRIBUTE_RTM)
-  check_cxx_source_compiles("__attribute__((target(\"waitpkg\")))
-                            int main() {return 0;}" LIBOMP_HAVE_ATTRIBUTE_WAITPKG)
-  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DIMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H)
-  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DINTRIN_H LIBOMP_HAVE_INTRIN_H)
-  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG)
-  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM)
-  set(source_code "// check for attribute and wait pkg intrinsics
-      #ifdef IMMINTRIN_H
-      #include <immintrin.h>
-      #endif
-      #ifdef INTRIN_H
-      #include <intrin.h>
-      #endif
-      #ifdef ATTRIBUTE_WAITPKG
-      __attribute__((target(\"waitpkg\")))
-      #endif
-      static inline int __kmp_umwait(unsigned hint, unsigned long long counter) {
-        return _umwait(hint, counter);
-      }
-      int main() { int a = __kmp_umwait(0, 1000); return a; }")
-  check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_WAITPKG_INTRINSICS)
-  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-  if (LIBOMP_HAVE_MRTM_FLAG)
-    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mrtm")
-  endif()
-  set(source_code "// check for attribute rtm and rtm intrinsics
-      #ifdef IMMINTRIN_H
-      #include <immintrin.h>
-      #endif
-      #ifdef INTRIN_H
-      #include <intrin.h>
-      #endif
-      #ifdef ATTRIBUTE_RTM
-      __attribute__((target(\"rtm\")))
-      #endif
-      static inline int __kmp_xbegin() {
-        return _xbegin();
-      }
-      int main() { int a = __kmp_xbegin(); return a; }")
-  check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_RTM_INTRINSICS)
-  set(CMAKE_REQUIRED_DEFINITIONS)
-  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-endif()
-
-# Find perl executable
-# Perl is used to create omp.h (and other headers) along with kmp_i18n_id.inc and kmp_i18n_default.inc
-#find_package(Perl REQUIRED)
-# The perl scripts take the --os=/--arch= flags which expect a certain format for operating systems and arch's.
-# Until the perl scripts are removed, the most portable way to handle this is to have all operating systems that
-# are neither Windows nor Mac (Most Unix flavors) be considered lin to the perl scripts.  This is rooted
-# in that all the Perl scripts check the operating system and will fail if it isn't "valid".  This
-# temporary solution lets us avoid trying to enumerate all the possible OS values inside the Perl modules.
-if(WIN32)
-  set(LIBOMP_PERL_SCRIPT_OS win)
-elseif(APPLE)
-  set(LIBOMP_PERL_SCRIPT_OS mac)
-else()
-  set(LIBOMP_PERL_SCRIPT_OS lin)
-endif()
-if(IA32)
-  set(LIBOMP_PERL_SCRIPT_ARCH 32)
-elseif(MIC)
-  set(LIBOMP_PERL_SCRIPT_ARCH mic)
-elseif(INTEL64)
-  set(LIBOMP_PERL_SCRIPT_ARCH 32e)
-else()
-  set(LIBOMP_PERL_SCRIPT_ARCH ${LIBOMP_ARCH})
-endif()
-
-# Checking features
-# Check if version symbol assembler directives are supported
-libomp_check_version_symbols(LIBOMP_HAVE_VERSION_SYMBOLS)
-
-# Check if quad precision types are available
-if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
-  set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
-elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM")
-  if(LIBOMP_HAVE_EXTENDED_FLOAT_TYPES_FLAG)
-    set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
-  else()
-    set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
-  endif()
-else()
-  set(LIBOMP_HAVE_QUAD_PRECISION FALSE)
-endif()
-
-# Check if adaptive locks are available
-if((${IA32} OR ${INTEL64}) AND NOT MSVC)
-  set(LIBOMP_HAVE_ADAPTIVE_LOCKS TRUE)
-else()
-  set(LIBOMP_HAVE_ADAPTIVE_LOCKS FALSE)
-endif()
-
-# Check if stats-gathering is available
-if(${LIBOMP_STATS})
-  check_c_source_compiles(
-     "__thread int x;
-     int main(int argc, char** argv)
-     { x = argc; return x; }"
-     LIBOMP_HAVE___THREAD)
-  check_c_source_compiles(
-     "int main(int argc, char** argv)
-     { unsigned long long t = __builtin_readcyclecounter(); return 0; }"
-     LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER)
-  if(NOT LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER)
-    if(${IA32} OR ${INTEL64} OR ${MIC})
-      check_include_file(x86intrin.h LIBOMP_HAVE_X86INTRIN_H)
-      libomp_append(CMAKE_REQUIRED_DEFINITIONS -DLIBOMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H)
-      check_c_source_compiles(
-        "#ifdef LIBOMP_HAVE_X86INTRIN_H
-         # include <x86intrin.h>
-         #endif
-         int main(int argc, char** argv) { unsigned long long t = __rdtsc(); return 0; }" LIBOMP_HAVE___RDTSC)
-      set(CMAKE_REQUIRED_DEFINITIONS)
-    endif()
-  endif()
-  if(LIBOMP_HAVE___THREAD AND (LIBOMP_HAVE___RDTSC OR LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER))
-    set(LIBOMP_HAVE_STATS TRUE)
-  else()
-    set(LIBOMP_HAVE_STATS FALSE)
-  endif()
-endif()
-
-# Check if OMPT support is available
-# Currently, __builtin_frame_address() is required for OMPT
-# Weak attribute is required for Unices (except Darwin), LIBPSAPI is used for Windows
-check_c_source_compiles("int main(int argc, char** argv) {
-  void* p = __builtin_frame_address(0);
-  return 0;}" LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
-check_c_source_compiles("__attribute__ ((weak)) int foo(int a) { return a*a; }
-  int main(int argc, char** argv) {
-  return foo(argc);}" LIBOMP_HAVE_WEAK_ATTRIBUTE)
-set(CMAKE_REQUIRED_LIBRARIES psapi)
-check_c_source_compiles("#include <windows.h>
-  #include <psapi.h>
-  int main(int artc, char** argv) {
-    return EnumProcessModules(NULL, NULL, 0, NULL);
-  }" LIBOMP_HAVE_PSAPI)
-set(CMAKE_REQUIRED_LIBRARIES)
-if(NOT LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
-  set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
-else()
-  if( # hardware architecture supported?
-     ((LIBOMP_ARCH STREQUAL x86_64) OR
-      (LIBOMP_ARCH STREQUAL i386) OR
-#      (LIBOMP_ARCH STREQUAL arm) OR
-      (LIBOMP_ARCH STREQUAL aarch64) OR
-      (LIBOMP_ARCH STREQUAL aarch64_a64fx) OR
-      (LIBOMP_ARCH STREQUAL ppc64le) OR
-      (LIBOMP_ARCH STREQUAL ppc64) OR
-      (LIBOMP_ARCH STREQUAL riscv64))
-     AND # OS supported?
-     ((WIN32 AND LIBOMP_HAVE_PSAPI) OR APPLE OR (NOT WIN32 AND LIBOMP_HAVE_WEAK_ATTRIBUTE)))
-    set(LIBOMP_HAVE_OMPT_SUPPORT TRUE)
-  else()
-    set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
-  endif()
-endif()
-
-# Check if HWLOC support is available
-if(${LIBOMP_USE_HWLOC})
-  find_path(LIBOMP_HWLOC_INCLUDE_DIR NAMES hwloc.h HINTS ${LIBOMP_HWLOC_INSTALL_DIR} PATH_SUFFIXES include)
-  set(CMAKE_REQUIRED_INCLUDES ${LIBOMP_HWLOC_INCLUDE_DIR})
-  check_include_file(hwloc.h LIBOMP_HAVE_HWLOC_H)
-  set(CMAKE_REQUIRED_INCLUDES)
-  find_library(LIBOMP_HWLOC_LIBRARY
-    NAMES hwloc libhwloc
-    HINTS ${LIBOMP_HWLOC_INSTALL_DIR}/lib)
-  if(LIBOMP_HWLOC_LIBRARY)
-    check_library_exists(${LIBOMP_HWLOC_LIBRARY} hwloc_topology_init
-      ${LIBOMP_HWLOC_INSTALL_DIR}/lib LIBOMP_HAVE_LIBHWLOC)
-    get_filename_component(LIBOMP_HWLOC_LIBRARY_DIR ${LIBOMP_HWLOC_LIBRARY} PATH)
-  endif()
-  if(LIBOMP_HAVE_HWLOC_H AND LIBOMP_HAVE_LIBHWLOC AND LIBOMP_HWLOC_LIBRARY)
-    set(LIBOMP_HAVE_HWLOC TRUE)
-  else()
-    set(LIBOMP_HAVE_HWLOC FALSE)
-    libomp_say("Could not find hwloc")
-  endif()
-endif()
-
-# Check if ThreadSanitizer support is available
-if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" AND ${INTEL64})
-  set(LIBOMP_HAVE_TSAN_SUPPORT TRUE)
-else()
-  set(LIBOMP_HAVE_TSAN_SUPPORT FALSE)
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/runtime
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake	(nonexistent)
@@ -1,283 +0,0 @@
-#
-#//===----------------------------------------------------------------------===//
-#//
-#// 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
-#//
-#//===----------------------------------------------------------------------===//
-#
-
-# Try to detect in the system several dependencies required by the different
-# components of libomptarget. These are the dependencies we have:
-#
-# libelf : required by some targets to handle the ELF files at runtime.
-# libffi : required to launch target kernels given function and argument
-#          pointers.
-# CUDA : required to control offloading to NVIDIA GPUs.
-# VEOS : required to control offloading to NEC Aurora.
-
-include (FindPackageHandleStandardArgs)
-
-################################################################################
-# Looking for LLVM...
-################################################################################
-
-if (OPENMP_STANDALONE_BUILD)
-  # Complete LLVM package is required for building libomptarget
-  # in an out-of-tree mode.
-  find_package(LLVM REQUIRED)
-  message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
-  message(STATUS "Using LLVM in: ${LLVM_DIR}")
-  list(APPEND LIBOMPTARGET_LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
-  list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR})
-  include(AddLLVM)
-  if(TARGET omptarget)
-    message(FATAL_ERROR "CMake target 'omptarget' already exists. "
-                        "Use an LLVM installation that doesn't expose its 'omptarget' target.")
-  endif()
-else()
-  # Note that OPENMP_STANDALONE_BUILD is FALSE, when
-  # openmp is built with -DLLVM_ENABLE_RUNTIMES="openmp" vs
-  # -DLLVM_ENABLE_PROJECTS="openmp", but openmp build
-  # is actually done as a standalone project build with many
-  # LLVM CMake variables propagated to it.
-  list(APPEND LIBOMPTARGET_LLVM_INCLUDE_DIRS
-    ${LLVM_MAIN_INCLUDE_DIR} ${LLVM_BINARY_DIR}/include
-    )
-  message(STATUS
-    "Using LLVM include directories: ${LIBOMPTARGET_LLVM_INCLUDE_DIRS}")
-endif()
-
-################################################################################
-# Looking for libelf...
-################################################################################
-
-find_path (
-  LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR
-  NAMES
-    libelf.h
-  PATHS
-    /usr/include
-    /usr/local/include
-    /opt/local/include
-    /sw/include
-    ENV CPATH
-  PATH_SUFFIXES
-    libelf)
-
-find_library (
-  LIBOMPTARGET_DEP_LIBELF_LIBRARIES
-  NAMES
-    elf
-  PATHS
-    /usr/lib
-    /usr/local/lib
-    /opt/local/lib
-    /sw/lib
-    ENV LIBRARY_PATH
-    ENV LD_LIBRARY_PATH)
-
-set(LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS ${LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIR})
-find_package_handle_standard_args(
-  LIBOMPTARGET_DEP_LIBELF
-  DEFAULT_MSG
-  LIBOMPTARGET_DEP_LIBELF_LIBRARIES
-  LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS)
-
-mark_as_advanced(
-  LIBOMPTARGET_DEP_LIBELF_INCLUDE_DIRS
-  LIBOMPTARGET_DEP_LIBELF_LIBRARIES)
-
-################################################################################
-# Looking for libffi...
-################################################################################
-#find_package(PkgConfig)
-
-pkg_check_modules(LIBOMPTARGET_SEARCH_LIBFFI QUIET libffi)
-
-find_path (
-  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR
-  NAMES
-    ffi.h
-  HINTS
-    ${LIBOMPTARGET_SEARCH_LIBFFI_INCLUDEDIR}
-    ${LIBOMPTARGET_SEARCH_LIBFFI_INCLUDE_DIRS}
-  PATHS
-    /usr/include
-    /usr/local/include
-    /opt/local/include
-    /sw/include
-    ENV CPATH)
-
-# Don't bother look for the library if the header files were not found.
-if (LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR)
-  find_library (
-      LIBOMPTARGET_DEP_LIBFFI_LIBRARIES
-    NAMES
-      ffi
-    HINTS
-      ${LIBOMPTARGET_SEARCH_LIBFFI_LIBDIR}
-      ${LIBOMPTARGET_SEARCH_LIBFFI_LIBRARY_DIRS}
-    PATHS
-      /usr/lib
-      /usr/local/lib
-      /opt/local/lib
-      /sw/lib
-      ENV LIBRARY_PATH
-      ENV LD_LIBRARY_PATH)
-endif()
-
-set(LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS ${LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR})
-find_package_handle_standard_args(
-  LIBOMPTARGET_DEP_LIBFFI
-  DEFAULT_MSG
-  LIBOMPTARGET_DEP_LIBFFI_LIBRARIES
-  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS)
-
-mark_as_advanced(
-  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS
-  LIBOMPTARGET_DEP_LIBFFI_LIBRARIES)
-
-################################################################################
-# Looking for CUDA...
-################################################################################
-if (CUDA_TOOLKIT_ROOT_DIR)
-  set(LIBOMPTARGET_CUDA_TOOLKIT_ROOT_DIR_PRESET TRUE)
-endif()
-find_package(CUDA QUIET)
-
-# Try to get the highest Nvidia GPU architecture the system supports
-if (CUDA_FOUND)
-  cuda_select_nvcc_arch_flags(CUDA_ARCH_FLAGS)
-  string(REGEX MATCH "sm_([0-9]+)" CUDA_ARCH_MATCH_OUTPUT ${CUDA_ARCH_FLAGS})
-  if (NOT DEFINED CUDA_ARCH_MATCH_OUTPUT OR "${CMAKE_MATCH_1}" LESS 35)
-    libomptarget_warning_say("Setting Nvidia GPU architecture support for OpenMP target runtime library to sm_35 by default")
-    set(LIBOMPTARGET_DEP_CUDA_ARCH "35")
-  else()
-    set(LIBOMPTARGET_DEP_CUDA_ARCH "${CMAKE_MATCH_1}")
-  endif()
-endif()
-
-set(LIBOMPTARGET_DEP_CUDA_FOUND ${CUDA_FOUND})
-set(LIBOMPTARGET_DEP_CUDA_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
-
-mark_as_advanced(
-  LIBOMPTARGET_DEP_CUDA_FOUND
-  LIBOMPTARGET_DEP_CUDA_INCLUDE_DIRS)
-
-################################################################################
-# Looking for CUDA Driver API... (needed for CUDA plugin)
-################################################################################
-
-find_library (
-    LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
-  NAMES
-    cuda
-  PATHS
-    /lib64)
-
-# There is a libcuda.so in lib64/stubs that can be used for linking.
-if (NOT LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES AND CUDA_FOUND)
-  get_filename_component(CUDA_LIBDIR "${CUDA_cudart_static_LIBRARY}" DIRECTORY)
-  find_library(
-      LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
-    NAMES
-      cuda
-    HINTS
-      "${CUDA_LIBDIR}/stubs")
-endif()
-
-find_package_handle_standard_args(
-  LIBOMPTARGET_DEP_CUDA_DRIVER
-  DEFAULT_MSG
-  LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES)
-
-mark_as_advanced(LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES)
-
-################################################################################
-# Looking for VEO...
-################################################################################
-
-find_path (
-  LIBOMPTARGET_DEP_VEO_INCLUDE_DIR
-  NAMES
-    ve_offload.h
-  PATHS
-    /usr/include
-    /usr/local/include
-    /opt/local/include
-    /sw/include
-    /opt/nec/ve/veos/include
-    ENV CPATH
-  PATH_SUFFIXES
-    libveo)
-
-find_library (
-  LIBOMPTARGET_DEP_VEO_LIBRARIES
-  NAMES
-    veo
-  PATHS
-    /usr/lib
-    /usr/local/lib
-    /opt/local/lib
-    /sw/lib
-    /opt/nec/ve/veos/lib64
-    ENV LIBRARY_PATH
-    ENV LD_LIBRARY_PATH)
-
-find_library(
-  LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES
-  NAMES
-    veosinfo
-  PATHS
-    /usr/lib
-    /usr/local/lib
-    /opt/local/lib
-    /sw/lib
-    /opt/nec/ve/veos/lib64
-    ENV LIBRARY_PATH
-    ENV LD_LIBRARY_PATH)
-
-set(LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS ${LIBOMPTARGET_DEP_VEO_INCLUDE_DIR})
-find_package_handle_standard_args(
-  LIBOMPTARGET_DEP_VEO
-  DEFAULT_MSG
-  LIBOMPTARGET_DEP_VEO_LIBRARIES
-  LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES
-  LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS)
-
-mark_as_advanced(
-  LIBOMPTARGET_DEP_VEO_FOUND
-  LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS)
-
-# Looking for CUDA libdevice subdirectory
-#
-# Special case for Debian/Ubuntu to have nvidia-cuda-toolkit work
-# out of the box. More info on http://bugs.debian.org/882505
-################################################################################
-
-set(LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR nvvm/libdevice)
-
-# Don't alter CUDA_TOOLKIT_ROOT_DIR if the user specified it, if a value was
-# already cached for it, or if it already has libdevice.  Otherwise, on
-# Debian/Ubuntu, look where the nvidia-cuda-toolkit package normally installs
-# libdevice.
-if (NOT LIBOMPTARGET_CUDA_TOOLKIT_ROOT_DIR_PRESET AND
-    NOT EXISTS
-      "${CUDA_TOOLKIT_ROOT_DIR}/${LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR}")
-  find_program(LSB_RELEASE lsb_release)
-  if (LSB_RELEASE)
-    execute_process(COMMAND ${LSB_RELEASE} -is
-      OUTPUT_VARIABLE LSB_RELEASE_ID
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-    set(candidate_dir /usr/lib/cuda)
-    if ((LSB_RELEASE_ID STREQUAL "Debian" OR LSB_RELEASE_ID STREQUAL "Ubuntu")
-        AND EXISTS "${candidate_dir}/${LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR}")
-      set(CUDA_TOOLKIT_ROOT_DIR "${candidate_dir}" CACHE PATH
-          "Toolkit location." FORCE)
-    endif()
-  endif()
-endif()
-
-set(OPENMP_PTHREAD_LIB ${LLVM_PTHREAD_LIB})
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake/Modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp/libomptarget
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new/openmp
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-openmp-perl.patch
-
-mv llvm-$VERSION-openmp-perl.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-openmp-perl-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/llvm/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake/config-ix.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake/config-ix.cmake	(nonexistent)
@@ -1,766 +0,0 @@
-if( WIN32 AND NOT CYGWIN )
-  # We consider Cygwin as another Unix
-  set(PURE_WINDOWS 1)
-endif()
-
-include(CheckIncludeFile)
-include(CheckLibraryExists)
-include(CheckSymbolExists)
-include(CheckCXXSymbolExists)
-include(CheckFunctionExists)
-include(CheckStructHasMember)
-include(CheckCCompilerFlag)
-include(CMakePushCheckState)
-
-include(CheckCompilerVersion)
-include(CheckProblematicConfigurations)
-include(HandleLLVMStdlib)
-
-if( UNIX AND NOT (APPLE OR BEOS OR HAIKU) )
-  # Used by check_symbol_exists:
-  list(APPEND CMAKE_REQUIRED_LIBRARIES "m")
-endif()
-# x86_64 FreeBSD 9.2 requires libcxxrt to be specified explicitly.
-if( CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" AND
-    CMAKE_SIZEOF_VOID_P EQUAL 8 )
-  list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
-endif()
-
-# Do checks with _XOPEN_SOURCE and large-file API on AIX, because we will build
-# with those too.
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_LARGE_FILE_API")
-endif()
-
-# Do checks with _FILE_OFFSET_BITS=64 on Solaris, because we will build
-# with those too.
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
-          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
-endif()
-
-# include checks
-check_include_file(dlfcn.h HAVE_DLFCN_H)
-check_include_file(errno.h HAVE_ERRNO_H)
-check_include_file(fcntl.h HAVE_FCNTL_H)
-check_include_file(link.h HAVE_LINK_H)
-check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
-if( NOT PURE_WINDOWS )
-  check_include_file(pthread.h HAVE_PTHREAD_H)
-endif()
-check_include_file(signal.h HAVE_SIGNAL_H)
-check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
-check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
-check_include_file(sys/param.h HAVE_SYS_PARAM_H)
-check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
-check_include_file(sys/stat.h HAVE_SYS_STAT_H)
-check_include_file(sys/time.h HAVE_SYS_TIME_H)
-check_include_file(sys/types.h HAVE_SYS_TYPES_H)
-check_include_file(sysexits.h HAVE_SYSEXITS_H)
-check_include_file(termios.h HAVE_TERMIOS_H)
-check_include_file(unistd.h HAVE_UNISTD_H)
-check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
-check_include_file(fenv.h HAVE_FENV_H)
-check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT)
-check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT)
-
-check_include_file(mach/mach.h HAVE_MACH_MACH_H)
-check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H)
-if(APPLE)
-  include(CheckCSourceCompiles)
-  CHECK_C_SOURCE_COMPILES("
-     static const char *__crashreporter_info__ = 0;
-     asm(\".desc ___crashreporter_info__, 0x10\");
-     int main() { return 0; }"
-    HAVE_CRASHREPORTER_INFO)
-endif()
-
-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
-  check_include_file(linux/magic.h HAVE_LINUX_MAGIC_H)
-  if(NOT HAVE_LINUX_MAGIC_H)
-    # older kernels use split files
-    check_include_file(linux/nfs_fs.h HAVE_LINUX_NFS_FS_H)
-    check_include_file(linux/smb.h HAVE_LINUX_SMB_H)
-  endif()
-endif()
-
-# library checks
-if( NOT PURE_WINDOWS )
-  check_library_exists(pthread pthread_create "" HAVE_LIBPTHREAD)
-  if (HAVE_LIBPTHREAD)
-    check_library_exists(pthread pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
-    check_library_exists(pthread pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
-  else()
-    # this could be Android
-    check_library_exists(c pthread_create "" PTHREAD_IN_LIBC)
-    if (PTHREAD_IN_LIBC)
-      check_library_exists(c pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
-      check_library_exists(c pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
-    endif()
-  endif()
-  check_library_exists(dl dlopen "" HAVE_LIBDL)
-  check_library_exists(rt clock_gettime "" HAVE_LIBRT)
-endif()
-
-# Check for libpfm.
-include(FindLibpfm)
-
-if(HAVE_LIBPTHREAD)
-  # We want to find pthreads library and at the moment we do want to
-  # have it reported as '-l<lib>' instead of '-pthread'.
-  # TODO: switch to -pthread once the rest of the build system can deal with it.
-  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-  set(THREADS_HAVE_PTHREAD_ARG Off)
-  find_package(Threads REQUIRED)
-  set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-if(LLVM_ENABLE_ZLIB)
-  if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON)
-    find_package(ZLIB REQUIRED)
-  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-    find_package(ZLIB)
-  endif()
-  if(ZLIB_FOUND)
-    # Check if zlib we found is usable; for example, we may have found a 32-bit
-    # library on a 64-bit system which would result in a link-time failure.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY})
-    check_symbol_exists(compress2 zlib.h HAVE_ZLIB)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB)
-      message(FATAL_ERROR "Failed to configure zlib")
-    endif()
-  endif()
-  set(LLVM_ENABLE_ZLIB "${HAVE_ZLIB}")
-else()
-  set(LLVM_ENABLE_ZLIB 0)
-endif()
-
-set(zstd_FOUND 0)
-if(LLVM_ENABLE_ZSTD)
-  if(LLVM_ENABLE_ZSTD STREQUAL FORCE_ON)
-    find_package(zstd REQUIRED)
-    if(NOT zstd_FOUND)
-      message(FATAL_ERROR "Failed to configure zstd, but LLVM_ENABLE_ZSTD is FORCE_ON")
-    endif()
-  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-    find_package(zstd QUIET)
-  endif()
-endif()
-set(LLVM_ENABLE_ZSTD ${zstd_FOUND})
-
-if(LLVM_ENABLE_LIBXML2)
-  if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON)
-    find_package(LibXml2 REQUIRED)
-  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-    find_package(LibXml2)
-  endif()
-  if(LibXml2_FOUND)
-    # Check if libxml2 we found is usable; for example, we may have found a 32-bit
-    # library on a 64-bit system which would result in a link-time failure.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBXML2_INCLUDE_DIRS})
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBXML2_LIBRARIES})
-    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LIBXML2_DEFINITIONS})
-    check_symbol_exists(xmlReadMemory libxml/xmlreader.h HAVE_LIBXML2)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON AND NOT HAVE_LIBXML2)
-      message(FATAL_ERROR "Failed to configure libxml2")
-    endif()
-  endif()
-  set(LLVM_ENABLE_LIBXML2 "${HAVE_LIBXML2}")
-endif()
-
-if(LLVM_ENABLE_CURL)
-  if(LLVM_ENABLE_CURL STREQUAL FORCE_ON)
-    find_package(CURL REQUIRED)
-  else()
-    find_package(CURL)
-  endif()
-  if(CURL_FOUND)
-    # Check if curl we found is usable; for example, we may have found a 32-bit
-    # library on a 64-bit system which would result in a link-time failure.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_LIBRARIES CURL::libcurl)
-    check_symbol_exists(curl_easy_init curl/curl.h HAVE_CURL)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_CURL STREQUAL FORCE_ON AND NOT HAVE_CURL)
-      message(FATAL_ERROR "Failed to configure curl")
-    endif()
-  endif()
-  set(LLVM_ENABLE_CURL "${HAVE_CURL}")
-endif()
-
-if(LLVM_ENABLE_HTTPLIB)
-  if(LLVM_ENABLE_HTTPLIB STREQUAL FORCE_ON)
-    find_package(httplib REQUIRED)
-  else()
-    find_package(httplib)
-  endif()
-  if(HTTPLIB_FOUND)
-    # Check if the "httplib" we found is usable; for example there may be another
-    # library with the same name.
-    cmake_push_check_state()
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${HTTPLIB_LIBRARY})
-    check_cxx_symbol_exists(CPPHTTPLIB_HTTPLIB_H ${HTTPLIB_HEADER_PATH} HAVE_HTTPLIB)
-    cmake_pop_check_state()
-    if(LLVM_ENABLE_HTTPLIB STREQUAL FORCE_ON AND NOT HAVE_HTTPLIB)
-      message(FATAL_ERROR "Failed to configure cpp-httplib")
-    endif()
-  endif()
-  set(LLVM_ENABLE_HTTPLIB "${HAVE_HTTPLIB}")
-endif()
-
-# Don't look for these libraries if we're using MSan, since uninstrumented third
-# party code may call MSan interceptors like strlen, leading to false positives.
-if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
-  # Don't look for these libraries on Windows.
-  if (NOT PURE_WINDOWS)
-    # Skip libedit if using ASan as it contains memory leaks.
-    if (LLVM_ENABLE_LIBEDIT AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*")
-      find_package(LibEdit)
-      set(HAVE_LIBEDIT ${LibEdit_FOUND})
-    else()
-      set(HAVE_LIBEDIT 0)
-    endif()
-    if(LLVM_ENABLE_TERMINFO)
-      if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON)
-        find_package(Terminfo REQUIRED)
-      else()
-        find_package(Terminfo)
-      endif()
-      set(LLVM_ENABLE_TERMINFO "${Terminfo_FOUND}")
-    endif()
-  else()
-    set(LLVM_ENABLE_TERMINFO 0)
-  endif()
-else()
-  set(LLVM_ENABLE_TERMINFO 0)
-endif()
-
-check_library_exists(xar xar_open "" LLVM_HAVE_LIBXAR)
-if(LLVM_HAVE_LIBXAR)
-  message(STATUS "The xar file format has been deprecated: LLVM_HAVE_LIBXAR might be removed in the future.")
-  # The xar file format has been deprecated since macOS 12.0.
-  if (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER_EQUAL 12)
-    set(LLVM_HAVE_LIBXAR 0)
-  else()
-    set(XAR_LIB xar)
-  endif()
-endif()
-
-# function checks
-check_symbol_exists(arc4random "stdlib.h" HAVE_DECL_ARC4RANDOM)
-find_package(Backtrace)
-set(HAVE_BACKTRACE ${Backtrace_FOUND})
-set(BACKTRACE_HEADER ${Backtrace_HEADER})
-
-# Prevent check_symbol_exists from using API that is not supported for a given
-# deployment target.
-check_c_compiler_flag("-Werror=unguarded-availability-new" "C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW")
-if(C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW)
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror=unguarded-availability-new")
-endif()
-
-# Determine whether we can register EH tables.
-check_symbol_exists(__register_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_REGISTER_FRAME)
-check_symbol_exists(__deregister_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_DEREGISTER_FRAME)
-check_symbol_exists(__unw_add_dynamic_fde "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_UNW_ADD_DYNAMIC_FDE)
-
-check_symbol_exists(_Unwind_Backtrace "unwind.h" HAVE__UNWIND_BACKTRACE)
-check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
-check_symbol_exists(sysconf unistd.h HAVE_SYSCONF)
-check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
-check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT)
-check_symbol_exists(isatty unistd.h HAVE_ISATTY)
-check_symbol_exists(futimens sys/stat.h HAVE_FUTIMENS)
-check_symbol_exists(futimes sys/time.h HAVE_FUTIMES)
-# AddressSanitizer conflicts with lib/Support/Unix/Signals.inc
-# Avoid sigaltstack on Apple platforms, where backtrace() cannot handle it
-# (rdar://7089625) and _Unwind_Backtrace is unusable because it cannot unwind
-# past the signal handler after an assertion failure (rdar://29866587).
-if( HAVE_SIGNAL_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*" AND NOT APPLE )
-  check_symbol_exists(sigaltstack signal.h HAVE_SIGALTSTACK)
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS "-D_LARGEFILE64_SOURCE")
-check_symbol_exists(lseek64 "sys/types.h;unistd.h" HAVE_LSEEK64)
-set(CMAKE_REQUIRED_DEFINITIONS "")
-check_symbol_exists(mallctl malloc_np.h HAVE_MALLCTL)
-check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
-check_symbol_exists(mallinfo2 malloc.h HAVE_MALLINFO2)
-check_symbol_exists(malloc_zone_statistics malloc/malloc.h
-                    HAVE_MALLOC_ZONE_STATISTICS)
-check_symbol_exists(getrlimit "sys/types.h;sys/time.h;sys/resource.h" HAVE_GETRLIMIT)
-check_symbol_exists(posix_spawn spawn.h HAVE_POSIX_SPAWN)
-check_symbol_exists(pread unistd.h HAVE_PREAD)
-check_symbol_exists(sbrk unistd.h HAVE_SBRK)
-check_symbol_exists(strerror string.h HAVE_STRERROR)
-check_symbol_exists(strerror_r string.h HAVE_STRERROR_R)
-check_symbol_exists(strerror_s string.h HAVE_DECL_STRERROR_S)
-check_symbol_exists(setenv stdlib.h HAVE_SETENV)
-if( PURE_WINDOWS )
-  check_symbol_exists(_chsize_s io.h HAVE__CHSIZE_S)
-
-  check_function_exists(_alloca HAVE__ALLOCA)
-  check_function_exists(__alloca HAVE___ALLOCA)
-  check_function_exists(__chkstk HAVE___CHKSTK)
-  check_function_exists(__chkstk_ms HAVE___CHKSTK_MS)
-  check_function_exists(___chkstk HAVE____CHKSTK)
-  check_function_exists(___chkstk_ms HAVE____CHKSTK_MS)
-
-  check_function_exists(__ashldi3 HAVE___ASHLDI3)
-  check_function_exists(__ashrdi3 HAVE___ASHRDI3)
-  check_function_exists(__divdi3 HAVE___DIVDI3)
-  check_function_exists(__fixdfdi HAVE___FIXDFDI)
-  check_function_exists(__fixsfdi HAVE___FIXSFDI)
-  check_function_exists(__floatdidf HAVE___FLOATDIDF)
-  check_function_exists(__lshrdi3 HAVE___LSHRDI3)
-  check_function_exists(__moddi3 HAVE___MODDI3)
-  check_function_exists(__udivdi3 HAVE___UDIVDI3)
-  check_function_exists(__umoddi3 HAVE___UMODDI3)
-
-  check_function_exists(__main HAVE___MAIN)
-  check_function_exists(__cmpdi2 HAVE___CMPDI2)
-endif()
-if( HAVE_DLFCN_H )
-  if( HAVE_LIBDL )
-    list(APPEND CMAKE_REQUIRED_LIBRARIES dl)
-  endif()
-  check_symbol_exists(dlopen dlfcn.h HAVE_DLOPEN)
-  check_symbol_exists(dladdr dlfcn.h HAVE_DLADDR)
-  if( HAVE_LIBDL )
-    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES dl)
-  endif()
-endif()
-
-CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtimespec.tv_nsec
-    "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC)
-if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
-# The st_mtim.tv_nsec member of a `stat` structure is not reliable on some AIX
-# environments.
-  set(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0)
-else()
-  CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtim.tv_nsec
-      "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
-endif()
-
-check_symbol_exists(__GLIBC__ stdio.h LLVM_USING_GLIBC)
-if( LLVM_USING_GLIBC )
-  add_definitions( -D_GNU_SOURCE )
-  list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
-endif()
-# This check requires _GNU_SOURCE
-if (NOT PURE_WINDOWS)
-  if (LLVM_PTHREAD_LIB)
-    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
-  endif()
-  check_symbol_exists(pthread_getname_np pthread.h HAVE_PTHREAD_GETNAME_NP)
-  check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP)
-  if (LLVM_PTHREAD_LIB)
-    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
-  endif()
-endif()
-
-# available programs checks
-function(llvm_find_program name)
-  string(TOUPPER ${name} NAME)
-  string(REGEX REPLACE "\\." "_" NAME ${NAME})
-
-  find_program(LLVM_PATH_${NAME} NAMES ${ARGV})
-  mark_as_advanced(LLVM_PATH_${NAME})
-  if(LLVM_PATH_${NAME})
-    set(HAVE_${NAME} 1 CACHE INTERNAL "Is ${name} available ?")
-    mark_as_advanced(HAVE_${NAME})
-  else(LLVM_PATH_${NAME})
-    set(HAVE_${NAME} "" CACHE INTERNAL "Is ${name} available ?")
-  endif(LLVM_PATH_${NAME})
-endfunction()
-
-if (LLVM_ENABLE_DOXYGEN)
-  llvm_find_program(dot)
-endif ()
-
-if(LLVM_ENABLE_FFI)
-  set(FFI_REQUIRE_INCLUDE On)
-  if(LLVM_ENABLE_FFI STREQUAL FORCE_ON)
-    find_package(FFI REQUIRED)
-  else()
-    find_package(FFI)
-  endif()
-  set(LLVM_ENABLE_FFI "${FFI_FOUND}")
-else()
-  unset(HAVE_FFI_FFI_H CACHE)
-  unset(HAVE_FFI_H CACHE)
-  unset(HAVE_FFI_CALL CACHE)
-endif()
-
-check_symbol_exists(proc_pid_rusage "libproc.h" HAVE_PROC_PID_RUSAGE)
-
-# Whether we can use std::is_trivially_copyable to verify llvm::is_trivially_copyable.
-CHECK_CXX_SOURCE_COMPILES("
-#include <type_traits>
-struct T { int val; };
-static_assert(std::is_trivially_copyable<T>::value, \"ok\");
-int main() { return 0;}
-" HAVE_STD_IS_TRIVIALLY_COPYABLE)
-
-
-# Define LLVM_HAS_ATOMICS if gcc or MSVC atomic builtins are supported.
-include(CheckAtomic)
-
-if( LLVM_ENABLE_PIC )
-  set(ENABLE_PIC 1)
-else()
-  set(ENABLE_PIC 0)
-  check_cxx_compiler_flag("-fno-pie" SUPPORTS_NO_PIE_FLAG)
-  if(SUPPORTS_NO_PIE_FLAG)
-    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie")
-  endif()
-endif()
-
-check_cxx_compiler_flag("-Wvariadic-macros" SUPPORTS_VARIADIC_MACROS_FLAG)
-check_cxx_compiler_flag("-Wgnu-zero-variadic-macro-arguments"
-                        SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG)
-
-set(USE_NO_MAYBE_UNINITIALIZED 0)
-set(USE_NO_UNINITIALIZED 0)
-
-# Disable gcc's potentially uninitialized use analysis as it presents lots of
-# false positives.
-if (CMAKE_COMPILER_IS_GNUCXX)
-  check_cxx_compiler_flag("-Wmaybe-uninitialized" HAS_MAYBE_UNINITIALIZED)
-  if (HAS_MAYBE_UNINITIALIZED)
-    set(USE_NO_MAYBE_UNINITIALIZED 1)
-  else()
-    # Only recent versions of gcc make the distinction between -Wuninitialized
-    # and -Wmaybe-uninitialized. If -Wmaybe-uninitialized isn't supported, just
-    # turn off all uninitialized use warnings.
-    check_cxx_compiler_flag("-Wuninitialized" HAS_UNINITIALIZED)
-    set(USE_NO_UNINITIALIZED ${HAS_UNINITIALIZED})
-  endif()
-endif()
-
-# By default, we target the host, but this can be overridden at CMake
-# invocation time.
-include(GetHostTriple)
-get_host_triple(LLVM_INFERRED_HOST_TRIPLE)
-
-set(LLVM_HOST_TRIPLE "${LLVM_INFERRED_HOST_TRIPLE}" CACHE STRING
-    "Host on which LLVM binaries will run")
-
-# Determine the native architecture.
-string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH)
-if( LLVM_NATIVE_ARCH STREQUAL "host" )
-  string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE})
-endif ()
-
-if (LLVM_NATIVE_ARCH MATCHES "i[2-6]86")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "x86")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "amd64")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH STREQUAL "x86_64")
-  set(LLVM_NATIVE_ARCH X86)
-elseif (LLVM_NATIVE_ARCH MATCHES "sparc")
-  set(LLVM_NATIVE_ARCH Sparc)
-elseif (LLVM_NATIVE_ARCH MATCHES "sparc64")
-  set(LLVM_NATIVE_ARCH Sparc)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "powerpc")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc64")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "ppc64le")
-  set(LLVM_NATIVE_ARCH PowerPC)
-elseif (LLVM_NATIVE_ARCH MATCHES "aarch64")
-  set(LLVM_NATIVE_ARCH AArch64)
-elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
-  set(LLVM_NATIVE_ARCH AArch64)
-elseif (LLVM_NATIVE_ARCH MATCHES "arm")
-  set(LLVM_NATIVE_ARCH ARM)
-elseif (LLVM_NATIVE_ARCH MATCHES "avr")
-  set(LLVM_NATIVE_ARCH AVR)
-elseif (LLVM_NATIVE_ARCH MATCHES "mips")
-  set(LLVM_NATIVE_ARCH Mips)
-elseif (LLVM_NATIVE_ARCH MATCHES "xcore")
-  set(LLVM_NATIVE_ARCH XCore)
-elseif (LLVM_NATIVE_ARCH MATCHES "msp430")
-  set(LLVM_NATIVE_ARCH MSP430)
-elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
-  set(LLVM_NATIVE_ARCH Hexagon)
-elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
-  set(LLVM_NATIVE_ARCH SystemZ)
-elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
-  set(LLVM_NATIVE_ARCH WebAssembly)
-elseif (LLVM_NATIVE_ARCH MATCHES "wasm64")
-  set(LLVM_NATIVE_ARCH WebAssembly)
-elseif (LLVM_NATIVE_ARCH MATCHES "riscv32")
-  set(LLVM_NATIVE_ARCH RISCV)
-elseif (LLVM_NATIVE_ARCH MATCHES "riscv64")
-  set(LLVM_NATIVE_ARCH RISCV)
-elseif (LLVM_NATIVE_ARCH STREQUAL "m68k")
-  set(LLVM_NATIVE_ARCH M68k)
-else ()
-  message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}")
-endif ()
-
-# If build targets includes "host" or "Native", then replace with native architecture.
-foreach (NATIVE_KEYWORD host Native)
-  list(FIND LLVM_TARGETS_TO_BUILD ${NATIVE_KEYWORD} idx)
-  if( NOT idx LESS 0 )
-    list(REMOVE_AT LLVM_TARGETS_TO_BUILD ${idx})
-    list(APPEND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH})
-    list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)
-  endif()
-endforeach()
-
-list(FIND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH} NATIVE_ARCH_IDX)
-if (NATIVE_ARCH_IDX EQUAL -1)
-  message(STATUS
-    "Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not JIT code")
-else ()
-  message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")
-  set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)
-  set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)
-  set(LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC)
-  set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)
-
-  # We don't have an ASM parser for all architectures yet.
-  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/CMakeLists.txt)
-    set(LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser)
-  endif ()
-
-  # We don't have an disassembler for all architectures yet.
-  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/Disassembler/CMakeLists.txt)
-    set(LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler)
-  endif ()
-endif ()
-
-if( MSVC )
-  set(SHLIBEXT ".lib")
-  set(stricmp "_stricmp")
-  set(strdup "_strdup")
-
-  # Allow setting clang-cl's /winsysroot flag.
-  set(LLVM_WINSYSROOT "" CACHE STRING
-    "If set, argument to clang-cl's /winsysroot")
-
-  if (LLVM_WINSYSROOT)
-    set(MSVC_DIA_SDK_DIR "${LLVM_WINSYSROOT}/DIA SDK" CACHE PATH
-        "Path to the DIA SDK")
-  else()
-    set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK" CACHE PATH
-        "Path to the DIA SDK")
-  endif()
-
-  # See if the DIA SDK is available and usable.
-  # Due to a bug in MSVC 2013's installation software, it is possible
-  # for MSVC 2013 to write the DIA SDK into the Visual Studio 2012
-  # install directory.  If this happens, the installation is corrupt
-  # and there's nothing we can do.  It happens with enough frequency
-  # though that we should handle it.  We do so by simply checking that
-  # the DIA SDK folder exists.  Should this happen you will need to
-  # uninstall VS 2012 and then re-install VS 2013.
-  if (IS_DIRECTORY "${MSVC_DIA_SDK_DIR}")
-    set(HAVE_DIA_SDK 1)
-  else()
-    set(HAVE_DIA_SDK 0)
-  endif()
-
-  option(LLVM_ENABLE_DIA_SDK "Use MSVC DIA SDK for debugging if available."
-                             ${HAVE_DIA_SDK})
-
-  if(LLVM_ENABLE_DIA_SDK AND NOT HAVE_DIA_SDK)
-    message(FATAL_ERROR "DIA SDK not found. If you have both VS 2012 and 2013 installed, you may need to uninstall the former and re-install the latter afterwards.")
-  endif()
-else()
-  set(LLVM_ENABLE_DIA_SDK 0)
-endif( MSVC )
-
-if( LLVM_ENABLE_THREADS )
-  # Check if threading primitives aren't supported on this platform
-  if( NOT HAVE_PTHREAD_H AND NOT WIN32 )
-    set(LLVM_ENABLE_THREADS 0)
-  endif()
-endif()
-
-if( LLVM_ENABLE_THREADS )
-  message(STATUS "Threads enabled.")
-else( LLVM_ENABLE_THREADS )
-  message(STATUS "Threads disabled.")
-endif()
-
-if (LLVM_ENABLE_DOXYGEN)
-  message(STATUS "Doxygen enabled.")
-  find_package(Doxygen REQUIRED)
-
-  if (DOXYGEN_FOUND)
-    # If we find doxygen and we want to enable doxygen by default create a
-    # global aggregate doxygen target for generating llvm and any/all
-    # subprojects doxygen documentation.
-    if (LLVM_BUILD_DOCS)
-      add_custom_target(doxygen ALL)
-    endif()
-
-    option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF)
-    if (LLVM_DOXYGEN_EXTERNAL_SEARCH)
-      set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.")
-      set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
-    endif()
-  endif()
-else()
-  message(STATUS "Doxygen disabled.")
-endif()
-
-set(LLVM_BINDINGS "")
-find_program(GO_EXECUTABLE NAMES go DOC "go executable")
-if(WIN32 OR NOT LLVM_ENABLE_BINDINGS)
-  message(STATUS "Go bindings disabled.")
-else()
-  if(GO_EXECUTABLE STREQUAL "GO_EXECUTABLE-NOTFOUND")
-    message(STATUS "Go bindings disabled.")
-  else()
-    execute_process(COMMAND ${GO_EXECUTABLE} run ${PROJECT_SOURCE_DIR}/bindings/go/conftest.go
-                    RESULT_VARIABLE GO_CONFTEST)
-    if(GO_CONFTEST STREQUAL "0")
-      set(LLVM_BINDINGS "${LLVM_BINDINGS} go")
-      message(STATUS "Go bindings enabled.")
-    else()
-      message(STATUS "Go bindings disabled, need at least Go 1.2.")
-    endif()
-  endif()
-endif()
-
-find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold ${LLVM_DEFAULT_TARGET_TRIPLE}-ld ld DOC "The gold linker")
-set(LLVM_BINUTILS_INCDIR "" CACHE PATH
-    "PATH to binutils/include containing plugin-api.h for gold plugin.")
-
-if(CMAKE_GENERATOR MATCHES "Ninja")
-  execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --version
-    OUTPUT_VARIABLE NINJA_VERSION
-    OUTPUT_STRIP_TRAILING_WHITESPACE)
-  set(NINJA_VERSION ${NINJA_VERSION} CACHE STRING "Ninja version number" FORCE)
-  message(STATUS "Ninja version: ${NINJA_VERSION}")
-endif()
-
-if(CMAKE_GENERATOR MATCHES "Ninja" AND
-    NOT "${NINJA_VERSION}" VERSION_LESS "1.9.0" AND
-    CMAKE_HOST_APPLE AND CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER "15.6.0")
-  set(LLVM_TOUCH_STATIC_LIBRARIES ON)
-endif()
-
-if(CMAKE_HOST_APPLE AND APPLE)
-  if(NOT CMAKE_XCRUN)
-    find_program(CMAKE_XCRUN NAMES xcrun)
-  endif()
-  if(CMAKE_XCRUN)
-    execute_process(COMMAND ${CMAKE_XCRUN} -find ld
-      OUTPUT_VARIABLE LD64_EXECUTABLE
-      OUTPUT_STRIP_TRAILING_WHITESPACE)
-  else()
-    find_program(LD64_EXECUTABLE NAMES ld DOC "The ld64 linker")
-  endif()
-
-  if(LD64_EXECUTABLE)
-    set(LD64_EXECUTABLE ${LD64_EXECUTABLE} CACHE PATH "ld64 executable")
-    message(STATUS "Found ld64 - ${LD64_EXECUTABLE}")
-  endif()
-endif()
-
-# Keep the version requirements in sync with bindings/ocaml/README.txt.
-include(FindOCaml)
-include(AddOCaml)
-if(WIN32 OR NOT LLVM_ENABLE_BINDINGS)
-  message(STATUS "OCaml bindings disabled.")
-else()
-  find_package(OCaml)
-  if( NOT OCAML_FOUND )
-    message(STATUS "OCaml bindings disabled.")
-  else()
-    if( OCAML_VERSION VERSION_LESS "4.00.0" )
-      message(STATUS "OCaml bindings disabled, need OCaml >=4.00.0.")
-    else()
-      find_ocamlfind_package(ctypes VERSION 0.4 OPTIONAL)
-      if( HAVE_OCAML_CTYPES )
-        message(STATUS "OCaml bindings enabled.")
-        set(LLVM_BINDINGS "${LLVM_BINDINGS} ocaml")
-
-        set(LLVM_OCAML_INSTALL_PATH "${OCAML_STDLIB_PATH}" CACHE STRING
-            "Install directory for LLVM OCaml packages")
-      else()
-        message(STATUS "OCaml bindings disabled, need ctypes >=0.4.")
-      endif()
-    endif()
-  endif()
-endif()
-
-string(REPLACE " " ";" LLVM_BINDINGS_LIST "${LLVM_BINDINGS}")
-
-function(find_python_module module)
-  string(REPLACE "." "_" module_name ${module})
-  string(TOUPPER ${module_name} module_upper)
-  set(FOUND_VAR PY_${module_upper}_FOUND)
-  if (DEFINED ${FOUND_VAR})
-    return()
-  endif()
-
-  execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import ${module}"
-    RESULT_VARIABLE status
-    ERROR_QUIET)
-
-  if(status)
-    set(${FOUND_VAR} OFF CACHE BOOL "Failed to find python module '${module}'")
-    message(STATUS "Could NOT find Python module ${module}")
-  else()
-  set(${FOUND_VAR} ON CACHE BOOL "Found python module '${module}'")
-    message(STATUS "Found Python module ${module}")
-  endif()
-endfunction()
-
-set (PYTHON_MODULES
-  pygments
-  # Some systems still don't have pygments.lexers.c_cpp which was introduced in
-  # version 2.0 in 2014...
-  pygments.lexers.c_cpp
-  yaml
-  )
-foreach(module ${PYTHON_MODULES})
-  find_python_module(${module})
-endforeach()
-
-if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
-  set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
-else()
-  set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
-endif()
-
-function(llvm_get_host_prefixes_and_suffixes)
-  # Not all platform files will set these variables (relying on them being
-  # implicitly empty if they're unset), so unset the variables before including
-  # the platform file, to prevent any values from the target system leaking.
-  unset(CMAKE_STATIC_LIBRARY_PREFIX)
-  unset(CMAKE_STATIC_LIBRARY_SUFFIX)
-  unset(CMAKE_SHARED_LIBRARY_PREFIX)
-  unset(CMAKE_SHARED_LIBRARY_SUFFIX)
-  unset(CMAKE_IMPORT_LIBRARY_PREFIX)
-  unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
-  unset(CMAKE_EXECUTABLE_SUFFIX)
-  unset(CMAKE_LINK_LIBRARY_SUFFIX)
-  include(Platform/${CMAKE_HOST_SYSTEM_NAME} OPTIONAL RESULT_VARIABLE _includedFile)
-  if (_includedFile)
-    set(LLVM_HOST_STATIC_LIBRARY_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX} PARENT_SCOPE)
-    set(LLVM_HOST_STATIC_LIBRARY_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX} PARENT_SCOPE)
-    set(LLVM_HOST_SHARED_LIBRARY_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX} PARENT_SCOPE)
-    set(LLVM_HOST_SHARED_LIBRARY_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX} PARENT_SCOPE)
-    set(LLVM_HOST_IMPORT_LIBRARY_PREFIX ${CMAKE_IMPORT_LIBRARY_PREFIX} PARENT_SCOPE)
-    set(LLVM_HOST_IMPORT_LIBRARY_SUFFIX ${CMAKE_IMPORT_LIBRARY_SUFFIX} PARENT_SCOPE)
-    set(LLVM_HOST_EXECUTABLE_SUFFIX ${CMAKE_EXECUTABLE_SUFFIX} PARENT_SCOPE)
-    set(LLVM_HOST_LINK_LIBRARY_SUFFIX ${CMAKE_LINK_LIBRARY_SUFFIX} PARENT_SCOPE)
-  endif()
-endfunction()
-
-llvm_get_host_prefixes_and_suffixes()
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-ppc64.patch
-
-mv llvm-$VERSION-llvm-ppc64.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-llvm-ppc64-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/llvm/cmake/modules/CheckAtomic.cmake
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-64bit-atomic.patch
-
-mv llvm-$VERSION-llvm-64bit-atomic.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules/CheckAtomic.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules/CheckAtomic.cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules/CheckAtomic.cmake	(nonexistent)
@@ -1,115 +0,0 @@
-# atomic builtins are required for threading support.
-
-INCLUDE(CheckCXXSourceCompiles)
-INCLUDE(CheckLibraryExists)
-
-# Sometimes linking against libatomic is required for atomic ops, if
-# the platform doesn't support lock-free atomics.
-
-function(check_working_cxx_atomics varname)
-  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
-  CHECK_CXX_SOURCE_COMPILES("
-#include <atomic>
-std::atomic<int> x;
-std::atomic<short> y;
-std::atomic<char> z;
-int main() {
-  ++z;
-  ++y;
-  return ++x;
-}
-" ${varname})
-  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-endfunction(check_working_cxx_atomics)
-
-function(check_working_cxx_atomics64 varname)
-  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-  set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
-  CHECK_CXX_SOURCE_COMPILES("
-#include <atomic>
-#include <cstdint>
-std::atomic<uint64_t> x (0);
-std::atomic<double> y (0);
-int main() {
-  uint64_t i = x.load(std::memory_order_relaxed);
-  double j = y.load(std::memory_order_relaxed);
-  (void)i;
-  (void)j;
-  return 0;
-}
-" ${varname})
-  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
-endfunction(check_working_cxx_atomics64)
-
-
-# Check for (non-64-bit) atomic operations.
-if(MSVC)
-  set(HAVE_CXX_ATOMICS_WITHOUT_LIB True)
-elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE)
-  # First check if atomics work without the library.
-  check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
-  # If not, check if the library exists, and atomics work with it.
-  if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
-    check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
-    if(HAVE_LIBATOMIC)
-      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-      check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
-      if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
-        message(FATAL_ERROR "Host compiler must support std::atomic!")
-      endif()
-    else()
-      message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
-    endif()
-  endif()
-endif()
-
-# Check for 64 bit atomic operations.
-if(MSVC)
-  set(HAVE_CXX_ATOMICS64_WITHOUT_LIB True)
-elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE)
-  # First check if atomics work without the library.
-  check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
-  # If not, check if the library exists, and atomics work with it.
-  if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
-    check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64)
-    if(HAVE_CXX_LIBATOMICS64)
-      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
-      check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
-      if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
-        message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!")
-      endif()
-    else()
-      message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, but cannot find it.")
-    endif()
-  endif()
-endif()
-
-## TODO: This define is only used for the legacy atomic operations in
-## llvm's Atomic.h, which should be replaced.  Other code simply
-## assumes C++11 <atomic> works.
-CHECK_CXX_SOURCE_COMPILES("
-#ifdef _MSC_VER
-#include <windows.h>
-#endif
-int main() {
-#ifdef _MSC_VER
-        volatile LONG val = 1;
-        MemoryBarrier();
-        InterlockedCompareExchange(&val, 0, 1);
-        InterlockedIncrement(&val);
-        InterlockedDecrement(&val);
-#else
-        volatile unsigned long val = 1;
-        __sync_synchronize();
-        __sync_val_compare_and_swap(&val, 1, 0);
-        __sync_add_and_fetch(&val, 1);
-        __sync_sub_and_fetch(&val, 1);
-#endif
-        return 0;
-      }
-" LLVM_HAS_ATOMICS)
-
-if( NOT LLVM_HAS_ATOMICS )
-  message(STATUS "Warning: LLVM will be built thread-unsafe because atomic builtins are missing")
-endif()
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake/modules
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm/cmake
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new/llvm
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-llvm-64bit-atomic-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-13.0.0/clang/lib/Driver/ToolChains/Gnu.cpp
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=13.0.0
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-gnu-triple.patch
-
-mv llvm-$VERSION-clang-gnu-triple.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains/Gnu.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains/Gnu.cpp	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains/Gnu.cpp	(nonexistent)
@@ -1,3096 +0,0 @@
-//===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- 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
-//
-//===----------------------------------------------------------------------===//
-
-#include "Gnu.h"
-#include "Arch/ARM.h"
-#include "Arch/Mips.h"
-#include "Arch/PPC.h"
-#include "Arch/RISCV.h"
-#include "Arch/Sparc.h"
-#include "Arch/SystemZ.h"
-#include "CommonArgs.h"
-#include "Linux.h"
-#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
-#include "clang/Driver/Compilation.h"
-#include "clang/Driver/Driver.h"
-#include "clang/Driver/DriverDiagnostic.h"
-#include "clang/Driver/Options.h"
-#include "clang/Driver/Tool.h"
-#include "clang/Driver/ToolChain.h"
-#include "llvm/Option/ArgList.h"
-#include "llvm/Support/CodeGen.h"
-#include "llvm/Support/Path.h"
-#include "llvm/Support/TargetParser.h"
-#include "llvm/Support/VirtualFileSystem.h"
-#include <system_error>
-
-using namespace clang::driver;
-using namespace clang::driver::toolchains;
-using namespace clang;
-using namespace llvm::opt;
-
-using tools::addMultilibFlag;
-using tools::addPathIfExists;
-
-static bool forwardToGCC(const Option &O) {
-  // LinkerInput options have been forwarded. Don't duplicate.
-  if (O.hasFlag(options::LinkerInput))
-    return false;
-  return O.matches(options::OPT_Link_Group) || O.hasFlag(options::LinkOption);
-}
-
-// Switch CPU names not recognized by GNU assembler to a close CPU that it does
-// recognize, instead of a lower march from being picked in the absence of a cpu
-// flag.
-static void normalizeCPUNamesForAssembler(const ArgList &Args,
-                                          ArgStringList &CmdArgs) {
-  if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) {
-    StringRef CPUArg(A->getValue());
-    if (CPUArg.equals_insensitive("krait"))
-      CmdArgs.push_back("-mcpu=cortex-a15");
-    else if (CPUArg.equals_insensitive("kryo"))
-      CmdArgs.push_back("-mcpu=cortex-a57");
-    else
-      Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
-  }
-}
-
-void tools::gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
-                                      const InputInfo &Output,
-                                      const InputInfoList &Inputs,
-                                      const ArgList &Args,
-                                      const char *LinkingOutput) const {
-  const Driver &D = getToolChain().getDriver();
-  ArgStringList CmdArgs;
-
-  for (const auto &A : Args) {
-    if (forwardToGCC(A->getOption())) {
-      // It is unfortunate that we have to claim here, as this means
-      // we will basically never report anything interesting for
-      // platforms using a generic gcc, even if we are just using gcc
-      // to get to the assembler.
-      A->claim();
-
-      A->render(Args, CmdArgs);
-    }
-  }
-
-  RenderExtraToolArgs(JA, CmdArgs);
-
-  // If using a driver driver, force the arch.
-  if (getToolChain().getTriple().isOSDarwin()) {
-    CmdArgs.push_back("-arch");
-    CmdArgs.push_back(
-        Args.MakeArgString(getToolChain().getDefaultUniversalArchName()));
-  }
-
-  // Try to force gcc to match the tool chain we want, if we recognize
-  // the arch.
-  //
-  // FIXME: The triple class should directly provide the information we want
-  // here.
-  switch (getToolChain().getArch()) {
-  default:
-    break;
-  case llvm::Triple::x86:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-    CmdArgs.push_back("-m32");
-    break;
-  case llvm::Triple::x86_64:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-    CmdArgs.push_back("-m64");
-    break;
-  case llvm::Triple::sparcel:
-    CmdArgs.push_back("-EL");
-    break;
-  }
-
-  if (Output.isFilename()) {
-    CmdArgs.push_back("-o");
-    CmdArgs.push_back(Output.getFilename());
-  } else {
-    assert(Output.isNothing() && "Unexpected output");
-    CmdArgs.push_back("-fsyntax-only");
-  }
-
-  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
-
-  // Only pass -x if gcc will understand it; otherwise hope gcc
-  // understands the suffix correctly. The main use case this would go
-  // wrong in is for linker inputs if they happened to have an odd
-  // suffix; really the only way to get this to happen is a command
-  // like '-x foobar a.c' which will treat a.c like a linker input.
-  //
-  // FIXME: For the linker case specifically, can we safely convert
-  // inputs into '-Wl,' options?
-  for (const auto &II : Inputs) {
-    // Don't try to pass LLVM or AST inputs to a generic gcc.
-    if (types::isLLVMIR(II.getType()))
-      D.Diag(clang::diag::err_drv_no_linker_llvm_support)
-          << getToolChain().getTripleString();
-    else if (II.getType() == types::TY_AST)
-      D.Diag(diag::err_drv_no_ast_support) << getToolChain().getTripleString();
-    else if (II.getType() == types::TY_ModuleFile)
-      D.Diag(diag::err_drv_no_module_support)
-          << getToolChain().getTripleString();
-
-    if (types::canTypeBeUserSpecified(II.getType())) {
-      CmdArgs.push_back("-x");
-      CmdArgs.push_back(types::getTypeName(II.getType()));
-    }
-
-    if (II.isFilename())
-      CmdArgs.push_back(II.getFilename());
-    else {
-      const Arg &A = II.getInputArg();
-
-      // Reverse translate some rewritten options.
-      if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) {
-        CmdArgs.push_back("-lstdc++");
-        continue;
-      }
-
-      // Don't render as input, we need gcc to do the translations.
-      A.render(Args, CmdArgs);
-    }
-  }
-
-  const std::string &customGCCName = D.getCCCGenericGCCName();
-  const char *GCCName;
-  if (!customGCCName.empty())
-    GCCName = customGCCName.c_str();
-  else if (D.CCCIsCXX()) {
-    GCCName = "g++";
-  } else
-    GCCName = "gcc";
-
-  const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath(GCCName));
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gcc::Preprocessor::RenderExtraToolArgs(
-    const JobAction &JA, ArgStringList &CmdArgs) const {
-  CmdArgs.push_back("-E");
-}
-
-void tools::gcc::Compiler::RenderExtraToolArgs(const JobAction &JA,
-                                               ArgStringList &CmdArgs) const {
-  const Driver &D = getToolChain().getDriver();
-
-  switch (JA.getType()) {
-  // If -flto, etc. are present then make sure not to force assembly output.
-  case types::TY_LLVM_IR:
-  case types::TY_LTO_IR:
-  case types::TY_LLVM_BC:
-  case types::TY_LTO_BC:
-    CmdArgs.push_back("-c");
-    break;
-  // We assume we've got an "integrated" assembler in that gcc will produce an
-  // object file itself.
-  case types::TY_Object:
-    CmdArgs.push_back("-c");
-    break;
-  case types::TY_PP_Asm:
-    CmdArgs.push_back("-S");
-    break;
-  case types::TY_Nothing:
-    CmdArgs.push_back("-fsyntax-only");
-    break;
-  default:
-    D.Diag(diag::err_drv_invalid_gcc_output_type) << getTypeName(JA.getType());
-  }
-}
-
-void tools::gcc::Linker::RenderExtraToolArgs(const JobAction &JA,
-                                             ArgStringList &CmdArgs) const {
-  // The types are (hopefully) good enough.
-}
-
-// On Arm the endianness of the output file is determined by the target and
-// can be overridden by the pseudo-target flags '-mlittle-endian'/'-EL' and
-// '-mbig-endian'/'-EB'. Unlike other targets the flag does not result in a
-// normalized triple so we must handle the flag here.
-static bool isArmBigEndian(const llvm::Triple &Triple,
-                           const ArgList &Args) {
-  bool IsBigEndian = false;
-  switch (Triple.getArch()) {
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    IsBigEndian = true;
-    LLVM_FALLTHROUGH;
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-    if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
-                               options::OPT_mbig_endian))
-      IsBigEndian = !A->getOption().matches(options::OPT_mlittle_endian);
-    break;
-  default:
-    break;
-  }
-  return IsBigEndian;
-}
-
-static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
-  switch (T.getArch()) {
-  case llvm::Triple::x86:
-    if (T.isOSIAMCU())
-      return "elf_iamcu";
-    return "elf_i386";
-  case llvm::Triple::aarch64:
-    return "aarch64linux";
-  case llvm::Triple::aarch64_be:
-    return "aarch64linuxb";
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    return isArmBigEndian(T, Args) ? "armelfb_linux_eabi" : "armelf_linux_eabi";
-  case llvm::Triple::m68k:
-    return "m68kelf";
-  case llvm::Triple::ppc:
-    if (T.isOSLinux())
-      return "elf32ppclinux";
-    return "elf32ppc";
-  case llvm::Triple::ppcle:
-    if (T.isOSLinux())
-      return "elf32lppclinux";
-    return "elf32lppc";
-  case llvm::Triple::ppc64:
-    return "elf64ppc";
-  case llvm::Triple::ppc64le:
-    return "elf64lppc";
-  case llvm::Triple::riscv32:
-    return "elf32lriscv";
-  case llvm::Triple::riscv64:
-    return "elf64lriscv";
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-    return "elf32_sparc";
-  case llvm::Triple::sparcv9:
-    return "elf64_sparc";
-  case llvm::Triple::mips:
-    return "elf32btsmip";
-  case llvm::Triple::mipsel:
-    return "elf32ltsmip";
-  case llvm::Triple::mips64:
-    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
-        T.getEnvironment() == llvm::Triple::GNUABIN32)
-      return "elf32btsmipn32";
-    return "elf64btsmip";
-  case llvm::Triple::mips64el:
-    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
-        T.getEnvironment() == llvm::Triple::GNUABIN32)
-      return "elf32ltsmipn32";
-    return "elf64ltsmip";
-  case llvm::Triple::systemz:
-    return "elf64_s390";
-  case llvm::Triple::x86_64:
-    if (T.isX32())
-      return "elf32_x86_64";
-    return "elf_x86_64";
-  case llvm::Triple::ve:
-    return "elf64ve";
-  default:
-    return nullptr;
-  }
-}
-
-static bool getPIE(const ArgList &Args, const ToolChain &TC) {
-  if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
-      Args.hasArg(options::OPT_r) || Args.hasArg(options::OPT_static_pie))
-    return false;
-
-  Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
-                           options::OPT_nopie);
-  if (!A)
-    return TC.isPIEDefault();
-  return A->getOption().matches(options::OPT_pie);
-}
-
-static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
-  bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
-  // -no-pie is an alias for -nopie. So, handling -nopie takes care of
-  // -no-pie as well.
-  if (HasStaticPIE && Args.hasArg(options::OPT_nopie)) {
-    const Driver &D = TC.getDriver();
-    const llvm::opt::OptTable &Opts = D.getOpts();
-    const char *StaticPIEName = Opts.getOptionName(options::OPT_static_pie);
-    const char *NoPIEName = Opts.getOptionName(options::OPT_nopie);
-    D.Diag(diag::err_drv_cannot_mix_options) << StaticPIEName << NoPIEName;
-  }
-  return HasStaticPIE;
-}
-
-static bool getStatic(const ArgList &Args) {
-  return Args.hasArg(options::OPT_static) &&
-      !Args.hasArg(options::OPT_static_pie);
-}
-
-void tools::gnutools::StaticLibTool::ConstructJob(
-    Compilation &C, const JobAction &JA, const InputInfo &Output,
-    const InputInfoList &Inputs, const ArgList &Args,
-    const char *LinkingOutput) const {
-  const Driver &D = getToolChain().getDriver();
-
-  // Silence warning for "clang -g foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_g_Group);
-  // and "clang -emit-llvm foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_emit_llvm);
-  // and for "clang -w foo.o -o foo". Other warning options are already
-  // handled somewhere else.
-  Args.ClaimAllArgs(options::OPT_w);
-  // Silence warnings when linking C code with a C++ '-stdlib' argument.
-  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
-
-  // ar tool command "llvm-ar <options> <output_file> <input_files>".
-  ArgStringList CmdArgs;
-  // Create and insert file members with a deterministic index.
-  CmdArgs.push_back("rcsD");
-  CmdArgs.push_back(Output.getFilename());
-
-  for (const auto &II : Inputs) {
-    if (II.isFilename()) {
-       CmdArgs.push_back(II.getFilename());
-    }
-  }
-
-  // Delete old output archive file if it already exists before generating a new
-  // archive file.
-  auto OutputFileName = Output.getFilename();
-  if (Output.isFilename() && llvm::sys::fs::exists(OutputFileName)) {
-    if (std::error_code EC = llvm::sys::fs::remove(OutputFileName)) {
-      D.Diag(diag::err_drv_unable_to_remove_file) << EC.message();
-      return;
-    }
-  }
-
-  const char *Exec = Args.MakeArgString(getToolChain().GetStaticLibToolPath());
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
-                                           const InputInfo &Output,
-                                           const InputInfoList &Inputs,
-                                           const ArgList &Args,
-                                           const char *LinkingOutput) const {
-  // FIXME: The Linker class constructor takes a ToolChain and not a
-  // Generic_ELF, so the static_cast might return a reference to a invalid
-  // instance (see PR45061). Ideally, the Linker constructor needs to take a
-  // Generic_ELF instead.
-  const toolchains::Generic_ELF &ToolChain =
-      static_cast<const toolchains::Generic_ELF &>(getToolChain());
-  const Driver &D = ToolChain.getDriver();
-
-  const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
-
-  const llvm::Triple::ArchType Arch = ToolChain.getArch();
-  const bool isAndroid = ToolChain.getTriple().isAndroid();
-  const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
-  const bool IsVE = ToolChain.getTriple().isVE();
-  const bool IsPIE = getPIE(Args, ToolChain);
-  const bool IsStaticPIE = getStaticPIE(Args, ToolChain);
-  const bool IsStatic = getStatic(Args);
-  const bool HasCRTBeginEndFiles =
-      ToolChain.getTriple().hasEnvironment() ||
-      (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
-
-  ArgStringList CmdArgs;
-
-  // Silence warning for "clang -g foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_g_Group);
-  // and "clang -emit-llvm foo.o -o foo"
-  Args.ClaimAllArgs(options::OPT_emit_llvm);
-  // and for "clang -w foo.o -o foo". Other warning options are already
-  // handled somewhere else.
-  Args.ClaimAllArgs(options::OPT_w);
-
-  if (!D.SysRoot.empty())
-    CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
-
-  if (IsPIE)
-    CmdArgs.push_back("-pie");
-
-  if (IsStaticPIE) {
-    CmdArgs.push_back("-static");
-    CmdArgs.push_back("-pie");
-    CmdArgs.push_back("--no-dynamic-linker");
-    CmdArgs.push_back("-z");
-    CmdArgs.push_back("text");
-  }
-
-  if (ToolChain.isNoExecStackDefault()) {
-    CmdArgs.push_back("-z");
-    CmdArgs.push_back("noexecstack");
-  }
-
-  if (Args.hasArg(options::OPT_rdynamic))
-    CmdArgs.push_back("-export-dynamic");
-
-  if (Args.hasArg(options::OPT_s))
-    CmdArgs.push_back("-s");
-
-  if (Triple.isARM() || Triple.isThumb() || Triple.isAArch64()) {
-    bool IsBigEndian = isArmBigEndian(Triple, Args);
-    if (IsBigEndian)
-      arm::appendBE8LinkFlag(Args, CmdArgs, Triple);
-    IsBigEndian = IsBigEndian || Arch == llvm::Triple::aarch64_be;
-    CmdArgs.push_back(IsBigEndian ? "-EB" : "-EL");
-  }
-
-  // Most Android ARM64 targets should enable the linker fix for erratum
-  // 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
-  if (Arch == llvm::Triple::aarch64 && isAndroid) {
-    std::string CPU = getCPUName(Args, Triple);
-    if (CPU.empty() || CPU == "generic" || CPU == "cortex-a53")
-      CmdArgs.push_back("--fix-cortex-a53-843419");
-  }
-
-  // Android does not allow shared text relocations. Emit a warning if the
-  // user's code contains any.
-  if (isAndroid)
-      CmdArgs.push_back("--warn-shared-textrel");
-
-  ToolChain.addExtraOpts(CmdArgs);
-
-  CmdArgs.push_back("--eh-frame-hdr");
-
-  if (const char *LDMOption = getLDMOption(ToolChain.getTriple(), Args)) {
-    CmdArgs.push_back("-m");
-    CmdArgs.push_back(LDMOption);
-  } else {
-    D.Diag(diag::err_target_unknown_triple) << Triple.str();
-    return;
-  }
-
-  if (IsStatic) {
-    if (Arch == llvm::Triple::arm || Arch == llvm::Triple::armeb ||
-        Arch == llvm::Triple::thumb || Arch == llvm::Triple::thumbeb)
-      CmdArgs.push_back("-Bstatic");
-    else
-      CmdArgs.push_back("-static");
-  } else if (Args.hasArg(options::OPT_shared)) {
-    CmdArgs.push_back("-shared");
-  }
-
-  if (!IsStatic) {
-    if (Args.hasArg(options::OPT_rdynamic))
-      CmdArgs.push_back("-export-dynamic");
-
-    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE) {
-      CmdArgs.push_back("-dynamic-linker");
-      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
-                                           ToolChain.getDynamicLinker(Args)));
-    }
-  }
-
-  CmdArgs.push_back("-o");
-  CmdArgs.push_back(Output.getFilename());
-
-  if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles)) {
-    if (!isAndroid && !IsIAMCU) {
-      const char *crt1 = nullptr;
-      if (!Args.hasArg(options::OPT_shared)) {
-        if (Args.hasArg(options::OPT_pg))
-          crt1 = "gcrt1.o";
-        else if (IsPIE)
-          crt1 = "Scrt1.o";
-        else if (IsStaticPIE)
-          crt1 = "rcrt1.o";
-        else
-          crt1 = "crt1.o";
-      }
-      if (crt1)
-        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
-
-      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
-    }
-
-    if (IsVE) {
-      CmdArgs.push_back("-z");
-      CmdArgs.push_back("max-page-size=0x4000000");
-    }
-
-    if (IsIAMCU)
-      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
-    else if (HasCRTBeginEndFiles) {
-      std::string P;
-      if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
-          !isAndroid) {
-        std::string crtbegin = ToolChain.getCompilerRT(Args, "crtbegin",
-                                                       ToolChain::FT_Object);
-        if (ToolChain.getVFS().exists(crtbegin))
-          P = crtbegin;
-      }
-      if (P.empty()) {
-        const char *crtbegin;
-        if (IsStatic)
-          crtbegin = isAndroid ? "crtbegin_static.o" : "crtbeginT.o";
-        else if (Args.hasArg(options::OPT_shared))
-          crtbegin = isAndroid ? "crtbegin_so.o" : "crtbeginS.o";
-        else if (IsPIE || IsStaticPIE)
-          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o";
-        else
-          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o";
-        P = ToolChain.GetFilePath(crtbegin);
-      }
-      CmdArgs.push_back(Args.MakeArgString(P));
-    }
-
-    // Add crtfastmath.o if available and fast math is enabled.
-    ToolChain.addFastMathRuntimeIfAvailable(Args, CmdArgs);
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_L);
-  Args.AddAllArgs(CmdArgs, options::OPT_u);
-
-  ToolChain.AddFilePathLibArgs(Args, CmdArgs);
-
-  if (D.isUsingLTO()) {
-    assert(!Inputs.empty() && "Must have at least one input.");
-    addLTOOptions(ToolChain, Args, CmdArgs, Output, Inputs[0],
-                  D.getLTOMode() == LTOK_Thin);
-  }
-
-  if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle))
-    CmdArgs.push_back("--no-demangle");
-
-  bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
-  bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
-  addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
-  AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
-  // The profile runtime also needs access to system libraries.
-  getToolChain().addProfileRTLibs(Args, CmdArgs);
-
-  if (D.CCCIsCXX() &&
-      !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs)) {
-    if (ToolChain.ShouldLinkCXXStdlib(Args)) {
-      bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx) &&
-                                 !Args.hasArg(options::OPT_static);
-      if (OnlyLibstdcxxStatic)
-        CmdArgs.push_back("-Bstatic");
-      ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
-      if (OnlyLibstdcxxStatic)
-        CmdArgs.push_back("-Bdynamic");
-    }
-    CmdArgs.push_back("-lm");
-  }
-  // Silence warnings when linking C code with a C++ '-stdlib' argument.
-  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
-
-  if (!Args.hasArg(options::OPT_nostdlib)) {
-    if (!Args.hasArg(options::OPT_nodefaultlibs)) {
-      if (IsStatic || IsStaticPIE)
-        CmdArgs.push_back("--start-group");
-
-      if (NeedsSanitizerDeps)
-        linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
-
-      if (NeedsXRayDeps)
-        linkXRayRuntimeDeps(ToolChain, CmdArgs);
-
-      bool WantPthread = Args.hasArg(options::OPT_pthread) ||
-                         Args.hasArg(options::OPT_pthreads);
-
-      // Use the static OpenMP runtime with -static-openmp
-      bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) &&
-                          !Args.hasArg(options::OPT_static);
-
-      // FIXME: Only pass GompNeedsRT = true for platforms with libgomp that
-      // require librt. Most modern Linux platforms do, but some may not.
-      if (addOpenMPRuntime(CmdArgs, ToolChain, Args, StaticOpenMP,
-                           JA.isHostOffloading(Action::OFK_OpenMP),
-                           /* GompNeedsRT= */ true))
-        // OpenMP runtimes implies pthreads when using the GNU toolchain.
-        // FIXME: Does this really make sense for all GNU toolchains?
-        WantPthread = true;
-
-      AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
-
-      if (WantPthread && !isAndroid)
-        CmdArgs.push_back("-lpthread");
-
-      if (Args.hasArg(options::OPT_fsplit_stack))
-        CmdArgs.push_back("--wrap=pthread_create");
-
-      if (!Args.hasArg(options::OPT_nolibc))
-        CmdArgs.push_back("-lc");
-
-      // Add IAMCU specific libs, if needed.
-      if (IsIAMCU)
-        CmdArgs.push_back("-lgloss");
-
-      if (IsStatic || IsStaticPIE)
-        CmdArgs.push_back("--end-group");
-      else
-        AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
-
-      // Add IAMCU specific libs (outside the group), if needed.
-      if (IsIAMCU) {
-        CmdArgs.push_back("--as-needed");
-        CmdArgs.push_back("-lsoftfp");
-        CmdArgs.push_back("--no-as-needed");
-      }
-    }
-
-    if (!Args.hasArg(options::OPT_nostartfiles) && !IsIAMCU) {
-      if (HasCRTBeginEndFiles) {
-        std::string P;
-        if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
-            !isAndroid) {
-          std::string crtend = ToolChain.getCompilerRT(Args, "crtend",
-                                                       ToolChain::FT_Object);
-          if (ToolChain.getVFS().exists(crtend))
-            P = crtend;
-        }
-        if (P.empty()) {
-          const char *crtend;
-          if (Args.hasArg(options::OPT_shared))
-            crtend = isAndroid ? "crtend_so.o" : "crtendS.o";
-          else if (IsPIE || IsStaticPIE)
-            crtend = isAndroid ? "crtend_android.o" : "crtendS.o";
-          else
-            crtend = isAndroid ? "crtend_android.o" : "crtend.o";
-          P = ToolChain.GetFilePath(crtend);
-        }
-        CmdArgs.push_back(Args.MakeArgString(P));
-      }
-      if (!isAndroid)
-        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
-    }
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_T);
-
-  const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-}
-
-void tools::gnutools::Assembler::ConstructJob(Compilation &C,
-                                              const JobAction &JA,
-                                              const InputInfo &Output,
-                                              const InputInfoList &Inputs,
-                                              const ArgList &Args,
-                                              const char *LinkingOutput) const {
-  const auto &D = getToolChain().getDriver();
-
-  claimNoWarnArgs(Args);
-
-  ArgStringList CmdArgs;
-
-  llvm::Reloc::Model RelocationModel;
-  unsigned PICLevel;
-  bool IsPIE;
-  const char *DefaultAssembler = "as";
-  std::tie(RelocationModel, PICLevel, IsPIE) =
-      ParsePICArgs(getToolChain(), Args);
-
-  if (const Arg *A = Args.getLastArg(options::OPT_gz, options::OPT_gz_EQ)) {
-    if (A->getOption().getID() == options::OPT_gz) {
-      CmdArgs.push_back("--compress-debug-sections");
-    } else {
-      StringRef Value = A->getValue();
-      if (Value == "none" || Value == "zlib" || Value == "zlib-gnu") {
-        CmdArgs.push_back(
-            Args.MakeArgString("--compress-debug-sections=" + Twine(Value)));
-      } else {
-        D.Diag(diag::err_drv_unsupported_option_argument)
-            << A->getOption().getName() << Value;
-      }
-    }
-  }
-
-  if (getToolChain().isNoExecStackDefault()) {
-      CmdArgs.push_back("--noexecstack");
-  }
-
-  switch (getToolChain().getArch()) {
-  default:
-    break;
-  // Add --32/--64 to make sure we get the format we want.
-  // This is incomplete
-  case llvm::Triple::x86:
-    CmdArgs.push_back("--32");
-    break;
-  case llvm::Triple::x86_64:
-    if (getToolChain().getTriple().isX32())
-      CmdArgs.push_back("--x32");
-    else
-      CmdArgs.push_back("--64");
-    break;
-  case llvm::Triple::ppc: {
-    CmdArgs.push_back("-a32");
-    CmdArgs.push_back("-mppc");
-    CmdArgs.push_back("-mbig-endian");
-    CmdArgs.push_back(
-      ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppcle: {
-    CmdArgs.push_back("-a32");
-    CmdArgs.push_back("-mppc");
-    CmdArgs.push_back("-mlittle-endian");
-    CmdArgs.push_back(
-        ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppc64: {
-    CmdArgs.push_back("-a64");
-    CmdArgs.push_back("-mppc64");
-    CmdArgs.push_back("-mbig-endian");
-    CmdArgs.push_back(
-      ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::ppc64le: {
-    CmdArgs.push_back("-a64");
-    CmdArgs.push_back("-mppc64");
-    CmdArgs.push_back("-mlittle-endian");
-    CmdArgs.push_back(
-      ppc::getPPCAsmModeForCPU(getCPUName(Args, getToolChain().getTriple())));
-    break;
-  }
-  case llvm::Triple::riscv32:
-  case llvm::Triple::riscv64: {
-    StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
-    CmdArgs.push_back("-mabi");
-    CmdArgs.push_back(ABIName.data());
-    StringRef MArchName = riscv::getRISCVArch(Args, getToolChain().getTriple());
-    CmdArgs.push_back("-march");
-    CmdArgs.push_back(MArchName.data());
-    break;
-  }
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel: {
-    CmdArgs.push_back("-32");
-    std::string CPU = getCPUName(Args, getToolChain().getTriple());
-    CmdArgs.push_back(
-        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::sparcv9: {
-    CmdArgs.push_back("-64");
-    std::string CPU = getCPUName(Args, getToolChain().getTriple());
-    CmdArgs.push_back(
-        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::arm:
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumb:
-  case llvm::Triple::thumbeb: {
-    const llvm::Triple &Triple2 = getToolChain().getTriple();
-    CmdArgs.push_back(isArmBigEndian(Triple2, Args) ? "-EB" : "-EL");
-    switch (Triple2.getSubArch()) {
-    case llvm::Triple::ARMSubArch_v7:
-      CmdArgs.push_back("-mfpu=neon");
-      break;
-    case llvm::Triple::ARMSubArch_v8:
-      CmdArgs.push_back("-mfpu=crypto-neon-fp-armv8");
-      break;
-    default:
-      break;
-    }
-
-    switch (arm::getARMFloatABI(getToolChain(), Args)) {
-    case arm::FloatABI::Invalid: llvm_unreachable("must have an ABI!");
-    case arm::FloatABI::Soft:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=soft"));
-      break;
-    case arm::FloatABI::SoftFP:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=softfp"));
-      break;
-    case arm::FloatABI::Hard:
-      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=hard"));
-      break;
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
-    normalizeCPUNamesForAssembler(Args, CmdArgs);
-
-    Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
-    break;
-  }
-  case llvm::Triple::aarch64:
-  case llvm::Triple::aarch64_be: {
-    CmdArgs.push_back(
-        getToolChain().getArch() == llvm::Triple::aarch64_be ? "-EB" : "-EL");
-    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
-    normalizeCPUNamesForAssembler(Args, CmdArgs);
-
-    break;
-  }
-  case llvm::Triple::mips:
-  case llvm::Triple::mipsel:
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el: {
-    StringRef CPUName;
-    StringRef ABIName;
-    mips::getMipsCPUAndABI(Args, getToolChain().getTriple(), CPUName, ABIName);
-    ABIName = mips::getGnuCompatibleMipsABIName(ABIName);
-
-    CmdArgs.push_back("-march");
-    CmdArgs.push_back(CPUName.data());
-
-    CmdArgs.push_back("-mabi");
-    CmdArgs.push_back(ABIName.data());
-
-    // -mno-shared should be emitted unless -fpic, -fpie, -fPIC, -fPIE,
-    // or -mshared (not implemented) is in effect.
-    if (RelocationModel == llvm::Reloc::Static)
-      CmdArgs.push_back("-mno-shared");
-
-    // LLVM doesn't support -mplt yet and acts as if it is always given.
-    // However, -mplt has no effect with the N64 ABI.
-    if (ABIName != "64" && !Args.hasArg(options::OPT_mno_abicalls))
-      CmdArgs.push_back("-call_nonpic");
-
-    if (getToolChain().getTriple().isLittleEndian())
-      CmdArgs.push_back("-EL");
-    else
-      CmdArgs.push_back("-EB");
-
-    if (Arg *A = Args.getLastArg(options::OPT_mnan_EQ)) {
-      if (StringRef(A->getValue()) == "2008")
-        CmdArgs.push_back(Args.MakeArgString("-mnan=2008"));
-    }
-
-    // Add the last -mfp32/-mfpxx/-mfp64 or -mfpxx if it is enabled by default.
-    if (Arg *A = Args.getLastArg(options::OPT_mfp32, options::OPT_mfpxx,
-                                 options::OPT_mfp64)) {
-      A->claim();
-      A->render(Args, CmdArgs);
-    } else if (mips::shouldUseFPXX(
-                   Args, getToolChain().getTriple(), CPUName, ABIName,
-                   mips::getMipsFloatABI(getToolChain().getDriver(), Args,
-                                         getToolChain().getTriple())))
-      CmdArgs.push_back("-mfpxx");
-
-    // Pass on -mmips16 or -mno-mips16. However, the assembler equivalent of
-    // -mno-mips16 is actually -no-mips16.
-    if (Arg *A =
-            Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16)) {
-      if (A->getOption().matches(options::OPT_mips16)) {
-        A->claim();
-        A->render(Args, CmdArgs);
-      } else {
-        A->claim();
-        CmdArgs.push_back("-no-mips16");
-      }
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_mmicromips,
-                    options::OPT_mno_micromips);
-    Args.AddLastArg(CmdArgs, options::OPT_mdsp, options::OPT_mno_dsp);
-    Args.AddLastArg(CmdArgs, options::OPT_mdspr2, options::OPT_mno_dspr2);
-
-    if (Arg *A = Args.getLastArg(options::OPT_mmsa, options::OPT_mno_msa)) {
-      // Do not use AddLastArg because not all versions of MIPS assembler
-      // support -mmsa / -mno-msa options.
-      if (A->getOption().matches(options::OPT_mmsa))
-        CmdArgs.push_back(Args.MakeArgString("-mmsa"));
-    }
-
-    Args.AddLastArg(CmdArgs, options::OPT_mhard_float,
-                    options::OPT_msoft_float);
-
-    Args.AddLastArg(CmdArgs, options::OPT_mdouble_float,
-                    options::OPT_msingle_float);
-
-    Args.AddLastArg(CmdArgs, options::OPT_modd_spreg,
-                    options::OPT_mno_odd_spreg);
-
-    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
-    break;
-  }
-  case llvm::Triple::systemz: {
-    // Always pass an -march option, since our default of z10 is later
-    // than the GNU assembler's default.
-    std::string CPUName = systemz::getSystemZTargetCPU(Args);
-    CmdArgs.push_back(Args.MakeArgString("-march=" + CPUName));
-    break;
-  }
-  case llvm::Triple::ve:
-    DefaultAssembler = "nas";
-  }
-
-  for (const Arg *A : Args.filtered(options::OPT_ffile_prefix_map_EQ,
-                                    options::OPT_fdebug_prefix_map_EQ)) {
-    StringRef Map = A->getValue();
-    if (Map.find('=') == StringRef::npos)
-      D.Diag(diag::err_drv_invalid_argument_to_option)
-          << Map << A->getOption().getName();
-    else {
-      CmdArgs.push_back(Args.MakeArgString("--debug-prefix-map"));
-      CmdArgs.push_back(Args.MakeArgString(Map));
-    }
-    A->claim();
-  }
-
-  Args.AddAllArgs(CmdArgs, options::OPT_I);
-  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
-
-  CmdArgs.push_back("-o");
-  CmdArgs.push_back(Output.getFilename());
-
-  for (const auto &II : Inputs)
-    CmdArgs.push_back(II.getFilename());
-
-  const char *Exec =
-      Args.MakeArgString(getToolChain().GetProgramPath(DefaultAssembler));
-  C.addCommand(std::make_unique<Command>(JA, *this,
-                                         ResponseFileSupport::AtFileCurCP(),
-                                         Exec, CmdArgs, Inputs, Output));
-
-  // Handle the debug info splitting at object creation time if we're
-  // creating an object.
-  // TODO: Currently only works on linux with newer objcopy.
-  if (Args.hasArg(options::OPT_gsplit_dwarf) &&
-      getToolChain().getTriple().isOSLinux())
-    SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
-                   SplitDebugName(JA, Args, Inputs[0], Output));
-}
-
-namespace {
-// Filter to remove Multilibs that don't exist as a suffix to Path
-class FilterNonExistent {
-  StringRef Base, File;
-  llvm::vfs::FileSystem &VFS;
-
-public:
-  FilterNonExistent(StringRef Base, StringRef File, llvm::vfs::FileSystem &VFS)
-      : Base(Base), File(File), VFS(VFS) {}
-  bool operator()(const Multilib &M) {
-    return !VFS.exists(Base + M.gccSuffix() + File);
-  }
-};
-} // end anonymous namespace
-
-static bool isSoftFloatABI(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float,
-                           options::OPT_mfloat_abi_EQ);
-  if (!A)
-    return false;
-
-  return A->getOption().matches(options::OPT_msoft_float) ||
-         (A->getOption().matches(options::OPT_mfloat_abi_EQ) &&
-          A->getValue() == StringRef("soft"));
-}
-
-static bool isArmOrThumbArch(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb;
-}
-
-static bool isMipsEL(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::mipsel || Arch == llvm::Triple::mips64el;
-}
-
-static bool isMips16(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16);
-  return A && A->getOption().matches(options::OPT_mips16);
-}
-
-static bool isMicroMips(const ArgList &Args) {
-  Arg *A = Args.getLastArg(options::OPT_mmicromips, options::OPT_mno_micromips);
-  return A && A->getOption().matches(options::OPT_mmicromips);
-}
-
-static bool isMSP430(llvm::Triple::ArchType Arch) {
-  return Arch == llvm::Triple::msp430;
-}
-
-static Multilib makeMultilib(StringRef commonSuffix) {
-  return Multilib(commonSuffix, commonSuffix, commonSuffix);
-}
-
-static bool findMipsCsMultilibs(const Multilib::flags_list &Flags,
-                                FilterNonExistent &NonExistent,
-                                DetectedMultilibs &Result) {
-  // Check for Code Sourcery toolchain multilibs
-  MultilibSet CSMipsMultilibs;
-  {
-    auto MArchMips16 = makeMultilib("/mips16").flag("+m32").flag("+mips16");
-
-    auto MArchMicroMips =
-        makeMultilib("/micromips").flag("+m32").flag("+mmicromips");
-
-    auto MArchDefault = makeMultilib("").flag("-mips16").flag("-mmicromips");
-
-    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
-
-    auto SoftFloat = makeMultilib("/soft-float").flag("+msoft-float");
-
-    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
-
-    auto DefaultFloat =
-        makeMultilib("").flag("-msoft-float").flag("-mnan=2008");
-
-    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    // Note that this one's osSuffix is ""
-    auto MAbi64 = makeMultilib("")
-                      .gccSuffix("/64")
-                      .includeSuffix("/64")
-                      .flag("+mabi=n64")
-                      .flag("-mabi=n32")
-                      .flag("-m32");
-
-    CSMipsMultilibs =
-        MultilibSet()
-            .Either(MArchMips16, MArchMicroMips, MArchDefault)
-            .Maybe(UCLibc)
-            .Either(SoftFloat, Nan2008, DefaultFloat)
-            .FilterOut("/micromips/nan2008")
-            .FilterOut("/mips16/nan2008")
-            .Either(BigEndian, LittleEndian)
-            .Maybe(MAbi64)
-            .FilterOut("/mips16.*/64")
-            .FilterOut("/micromips.*/64")
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              std::vector<std::string> Dirs({"/include"});
-              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
-                Dirs.push_back(
-                    "/../../../../mips-linux-gnu/libc/uclibc/usr/include");
-              else
-                Dirs.push_back("/../../../../mips-linux-gnu/libc/usr/include");
-              return Dirs;
-            });
-  }
-
-  MultilibSet DebianMipsMultilibs;
-  {
-    Multilib MAbiN32 =
-        Multilib().gccSuffix("/n32").includeSuffix("/n32").flag("+mabi=n32");
-
-    Multilib M64 = Multilib()
-                       .gccSuffix("/64")
-                       .includeSuffix("/64")
-                       .flag("+m64")
-                       .flag("-m32")
-                       .flag("-mabi=n32");
-
-    Multilib M32 = Multilib().flag("-m64").flag("+m32").flag("-mabi=n32");
-
-    DebianMipsMultilibs =
-        MultilibSet().Either(M32, M64, MAbiN32).FilterOut(NonExistent);
-  }
-
-  // Sort candidates. Toolchain that best meets the directories tree goes first.
-  // Then select the first toolchains matches command line flags.
-  MultilibSet *Candidates[] = {&CSMipsMultilibs, &DebianMipsMultilibs};
-  if (CSMipsMultilibs.size() < DebianMipsMultilibs.size())
-    std::iter_swap(Candidates, Candidates + 1);
-  for (const MultilibSet *Candidate : Candidates) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      if (Candidate == &DebianMipsMultilibs)
-        Result.BiarchSibling = Multilib();
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-static bool findMipsAndroidMultilibs(llvm::vfs::FileSystem &VFS, StringRef Path,
-                                     const Multilib::flags_list &Flags,
-                                     FilterNonExistent &NonExistent,
-                                     DetectedMultilibs &Result) {
-
-  MultilibSet AndroidMipsMultilibs =
-      MultilibSet()
-          .Maybe(Multilib("/mips-r2").flag("+march=mips32r2"))
-          .Maybe(Multilib("/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet AndroidMipselMultilibs =
-      MultilibSet()
-          .Either(Multilib().flag("+march=mips32"),
-                  Multilib("/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
-                  Multilib("/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet AndroidMips64elMultilibs =
-      MultilibSet()
-          .Either(
-              Multilib().flag("+march=mips64r6"),
-              Multilib("/32/mips-r1", "", "/mips-r1").flag("+march=mips32"),
-              Multilib("/32/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
-              Multilib("/32/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
-          .FilterOut(NonExistent);
-
-  MultilibSet *MS = &AndroidMipsMultilibs;
-  if (VFS.exists(Path + "/mips-r6"))
-    MS = &AndroidMipselMultilibs;
-  else if (VFS.exists(Path + "/32"))
-    MS = &AndroidMips64elMultilibs;
-  if (MS->select(Flags, Result.SelectedMultilib)) {
-    Result.Multilibs = *MS;
-    return true;
-  }
-  return false;
-}
-
-static bool findMipsMuslMultilibs(const Multilib::flags_list &Flags,
-                                  FilterNonExistent &NonExistent,
-                                  DetectedMultilibs &Result) {
-  // Musl toolchain multilibs
-  MultilibSet MuslMipsMultilibs;
-  {
-    auto MArchMipsR2 = makeMultilib("")
-                           .osSuffix("/mips-r2-hard-musl")
-                           .flag("+EB")
-                           .flag("-EL")
-                           .flag("+march=mips32r2");
-
-    auto MArchMipselR2 = makeMultilib("/mipsel-r2-hard-musl")
-                             .flag("-EB")
-                             .flag("+EL")
-                             .flag("+march=mips32r2");
-
-    MuslMipsMultilibs = MultilibSet().Either(MArchMipsR2, MArchMipselR2);
-
-    // Specify the callback that computes the include directories.
-    MuslMipsMultilibs.setIncludeDirsCallback([](const Multilib &M) {
-      return std::vector<std::string>(
-          {"/../sysroot" + M.osSuffix() + "/usr/include"});
-    });
-  }
-  if (MuslMipsMultilibs.select(Flags, Result.SelectedMultilib)) {
-    Result.Multilibs = MuslMipsMultilibs;
-    return true;
-  }
-  return false;
-}
-
-static bool findMipsMtiMultilibs(const Multilib::flags_list &Flags,
-                                 FilterNonExistent &NonExistent,
-                                 DetectedMultilibs &Result) {
-  // CodeScape MTI toolchain v1.2 and early.
-  MultilibSet MtiMipsMultilibsV1;
-  {
-    auto MArchMips32 = makeMultilib("/mips32")
-                           .flag("+m32")
-                           .flag("-m64")
-                           .flag("-mmicromips")
-                           .flag("+march=mips32");
-
-    auto MArchMicroMips = makeMultilib("/micromips")
-                              .flag("+m32")
-                              .flag("-m64")
-                              .flag("+mmicromips");
-
-    auto MArchMips64r2 = makeMultilib("/mips64r2")
-                             .flag("-m32")
-                             .flag("+m64")
-                             .flag("+march=mips64r2");
-
-    auto MArchMips64 = makeMultilib("/mips64").flag("-m32").flag("+m64").flag(
-        "-march=mips64r2");
-
-    auto MArchDefault = makeMultilib("")
-                            .flag("+m32")
-                            .flag("-m64")
-                            .flag("-mmicromips")
-                            .flag("+march=mips32r2");
-
-    auto Mips16 = makeMultilib("/mips16").flag("+mips16");
-
-    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
-
-    auto MAbi64 =
-        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
-
-    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    auto SoftFloat = makeMultilib("/sof").flag("+msoft-float");
-
-    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
-
-    MtiMipsMultilibsV1 =
-        MultilibSet()
-            .Either(MArchMips32, MArchMicroMips, MArchMips64r2, MArchMips64,
-                    MArchDefault)
-            .Maybe(UCLibc)
-            .Maybe(Mips16)
-            .FilterOut("/mips64/mips16")
-            .FilterOut("/mips64r2/mips16")
-            .FilterOut("/micromips/mips16")
-            .Maybe(MAbi64)
-            .FilterOut("/micromips/64")
-            .FilterOut("/mips32/64")
-            .FilterOut("^/64")
-            .FilterOut("/mips16/64")
-            .Either(BigEndian, LittleEndian)
-            .Maybe(SoftFloat)
-            .Maybe(Nan2008)
-            .FilterOut(".*sof/nan2008")
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              std::vector<std::string> Dirs({"/include"});
-              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
-                Dirs.push_back("/../../../../sysroot/uclibc/usr/include");
-              else
-                Dirs.push_back("/../../../../sysroot/usr/include");
-              return Dirs;
-            });
-  }
-
-  // CodeScape IMG toolchain starting from v1.3.
-  MultilibSet MtiMipsMultilibsV2;
-  {
-    auto BeHard = makeMultilib("/mips-r2-hard")
-                      .flag("+EB")
-                      .flag("-msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-muclibc");
-    auto BeSoft = makeMultilib("/mips-r2-soft")
-                      .flag("+EB")
-                      .flag("+msoft-float")
-                      .flag("-mnan=2008");
-    auto ElHard = makeMultilib("/mipsel-r2-hard")
-                      .flag("+EL")
-                      .flag("-msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-muclibc");
-    auto ElSoft = makeMultilib("/mipsel-r2-soft")
-                      .flag("+EL")
-                      .flag("+msoft-float")
-                      .flag("-mnan=2008")
-                      .flag("-mmicromips");
-    auto BeHardNan = makeMultilib("/mips-r2-hard-nan2008")
-                         .flag("+EB")
-                         .flag("-msoft-float")
-                         .flag("+mnan=2008")
-                         .flag("-muclibc");
-    auto ElHardNan = makeMultilib("/mipsel-r2-hard-nan2008")
-                         .flag("+EL")
-                         .flag("-msoft-float")
-                         .flag("+mnan=2008")
-                         .flag("-muclibc")
-                         .flag("-mmicromips");
-    auto BeHardNanUclibc = makeMultilib("/mips-r2-hard-nan2008-uclibc")
-                               .flag("+EB")
-                               .flag("-msoft-float")
-                               .flag("+mnan=2008")
-                               .flag("+muclibc");
-    auto ElHardNanUclibc = makeMultilib("/mipsel-r2-hard-nan2008-uclibc")
-                               .flag("+EL")
-                               .flag("-msoft-float")
-                               .flag("+mnan=2008")
-                               .flag("+muclibc");
-    auto BeHardUclibc = makeMultilib("/mips-r2-hard-uclibc")
-                            .flag("+EB")
-                            .flag("-msoft-float")
-                            .flag("-mnan=2008")
-                            .flag("+muclibc");
-    auto ElHardUclibc = makeMultilib("/mipsel-r2-hard-uclibc")
-                            .flag("+EL")
-                            .flag("-msoft-float")
-                            .flag("-mnan=2008")
-                            .flag("+muclibc");
-    auto ElMicroHardNan = makeMultilib("/micromipsel-r2-hard-nan2008")
-                              .flag("+EL")
-                              .flag("-msoft-float")
-                              .flag("+mnan=2008")
-                              .flag("+mmicromips");
-    auto ElMicroSoft = makeMultilib("/micromipsel-r2-soft")
-                           .flag("+EL")
-                           .flag("+msoft-float")
-                           .flag("-mnan=2008")
-                           .flag("+mmicromips");
-
-    auto O32 =
-        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
-    auto N32 =
-        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
-    auto N64 =
-        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
-
-    MtiMipsMultilibsV2 =
-        MultilibSet()
-            .Either({BeHard, BeSoft, ElHard, ElSoft, BeHardNan, ElHardNan,
-                     BeHardNanUclibc, ElHardNanUclibc, BeHardUclibc,
-                     ElHardUclibc, ElMicroHardNan, ElMicroSoft})
-            .Either(O32, N32, N64)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>({"/../../../../sysroot" +
-                                               M.includeSuffix() +
-                                               "/../usr/include"});
-            })
-            .setFilePathsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/../../../../mips-mti-linux-gnu/lib" + M.gccSuffix()});
-            });
-  }
-  for (auto Candidate : {&MtiMipsMultilibsV1, &MtiMipsMultilibsV2}) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-static bool findMipsImgMultilibs(const Multilib::flags_list &Flags,
-                                 FilterNonExistent &NonExistent,
-                                 DetectedMultilibs &Result) {
-  // CodeScape IMG toolchain v1.2 and early.
-  MultilibSet ImgMultilibsV1;
-  {
-    auto Mips64r6 = makeMultilib("/mips64r6").flag("+m64").flag("-m32");
-
-    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
-
-    auto MAbi64 =
-        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
-
-    ImgMultilibsV1 =
-        MultilibSet()
-            .Maybe(Mips64r6)
-            .Maybe(MAbi64)
-            .Maybe(LittleEndian)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/include", "/../../../../sysroot/usr/include"});
-            });
-  }
-
-  // CodeScape IMG toolchain starting from v1.3.
-  MultilibSet ImgMultilibsV2;
-  {
-    auto BeHard = makeMultilib("/mips-r6-hard")
-                      .flag("+EB")
-                      .flag("-msoft-float")
-                      .flag("-mmicromips");
-    auto BeSoft = makeMultilib("/mips-r6-soft")
-                      .flag("+EB")
-                      .flag("+msoft-float")
-                      .flag("-mmicromips");
-    auto ElHard = makeMultilib("/mipsel-r6-hard")
-                      .flag("+EL")
-                      .flag("-msoft-float")
-                      .flag("-mmicromips");
-    auto ElSoft = makeMultilib("/mipsel-r6-soft")
-                      .flag("+EL")
-                      .flag("+msoft-float")
-                      .flag("-mmicromips");
-    auto BeMicroHard = makeMultilib("/micromips-r6-hard")
-                           .flag("+EB")
-                           .flag("-msoft-float")
-                           .flag("+mmicromips");
-    auto BeMicroSoft = makeMultilib("/micromips-r6-soft")
-                           .flag("+EB")
-                           .flag("+msoft-float")
-                           .flag("+mmicromips");
-    auto ElMicroHard = makeMultilib("/micromipsel-r6-hard")
-                           .flag("+EL")
-                           .flag("-msoft-float")
-                           .flag("+mmicromips");
-    auto ElMicroSoft = makeMultilib("/micromipsel-r6-soft")
-                           .flag("+EL")
-                           .flag("+msoft-float")
-                           .flag("+mmicromips");
-
-    auto O32 =
-        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
-    auto N32 =
-        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
-    auto N64 =
-        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
-
-    ImgMultilibsV2 =
-        MultilibSet()
-            .Either({BeHard, BeSoft, ElHard, ElSoft, BeMicroHard, BeMicroSoft,
-                     ElMicroHard, ElMicroSoft})
-            .Either(O32, N32, N64)
-            .FilterOut(NonExistent)
-            .setIncludeDirsCallback([](const Multilib &M) {
-              return std::vector<std::string>({"/../../../../sysroot" +
-                                               M.includeSuffix() +
-                                               "/../usr/include"});
-            })
-            .setFilePathsCallback([](const Multilib &M) {
-              return std::vector<std::string>(
-                  {"/../../../../mips-img-linux-gnu/lib" + M.gccSuffix()});
-            });
-  }
-  for (auto Candidate : {&ImgMultilibsV1, &ImgMultilibsV2}) {
-    if (Candidate->select(Flags, Result.SelectedMultilib)) {
-      Result.Multilibs = *Candidate;
-      return true;
-    }
-  }
-  return false;
-}
-
-bool clang::driver::findMIPSMultilibs(const Driver &D,
-                                      const llvm::Triple &TargetTriple,
-                                      StringRef Path, const ArgList &Args,
-                                      DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-
-  StringRef CPUName;
-  StringRef ABIName;
-  tools::mips::getMipsCPUAndABI(Args, TargetTriple, CPUName, ABIName);
-
-  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(TargetTriple.isMIPS32(), "m32", Flags);
-  addMultilibFlag(TargetTriple.isMIPS64(), "m64", Flags);
-  addMultilibFlag(isMips16(Args), "mips16", Flags);
-  addMultilibFlag(CPUName == "mips32", "march=mips32", Flags);
-  addMultilibFlag(CPUName == "mips32r2" || CPUName == "mips32r3" ||
-                      CPUName == "mips32r5" || CPUName == "p5600",
-                  "march=mips32r2", Flags);
-  addMultilibFlag(CPUName == "mips32r6", "march=mips32r6", Flags);
-  addMultilibFlag(CPUName == "mips64", "march=mips64", Flags);
-  addMultilibFlag(CPUName == "mips64r2" || CPUName == "mips64r3" ||
-                      CPUName == "mips64r5" || CPUName == "octeon" ||
-                      CPUName == "octeon+",
-                  "march=mips64r2", Flags);
-  addMultilibFlag(CPUName == "mips64r6", "march=mips64r6", Flags);
-  addMultilibFlag(isMicroMips(Args), "mmicromips", Flags);
-  addMultilibFlag(tools::mips::isUCLibc(Args), "muclibc", Flags);
-  addMultilibFlag(tools::mips::isNaN2008(Args, TargetTriple), "mnan=2008",
-                  Flags);
-  addMultilibFlag(ABIName == "n32", "mabi=n32", Flags);
-  addMultilibFlag(ABIName == "n64", "mabi=n64", Flags);
-  addMultilibFlag(isSoftFloatABI(Args), "msoft-float", Flags);
-  addMultilibFlag(!isSoftFloatABI(Args), "mhard-float", Flags);
-  addMultilibFlag(isMipsEL(TargetArch), "EL", Flags);
-  addMultilibFlag(!isMipsEL(TargetArch), "EB", Flags);
-
-  if (TargetTriple.isAndroid())
-    return findMipsAndroidMultilibs(D.getVFS(), Path, Flags, NonExistent,
-                                    Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.getEnvironment() == llvm::Triple::UnknownEnvironment)
-    return findMipsMuslMultilibs(Flags, NonExistent, Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.isGNUEnvironment())
-    return findMipsMtiMultilibs(Flags, NonExistent, Result);
-
-  if (TargetTriple.getVendor() == llvm::Triple::ImaginationTechnologies &&
-      TargetTriple.getOS() == llvm::Triple::Linux &&
-      TargetTriple.isGNUEnvironment())
-    return findMipsImgMultilibs(Flags, NonExistent, Result);
-
-  if (findMipsCsMultilibs(Flags, NonExistent, Result))
-    return true;
-
-  // Fallback to the regular toolchain-tree structure.
-  Multilib Default;
-  Result.Multilibs.push_back(Default);
-  Result.Multilibs.FilterOut(NonExistent);
-
-  if (Result.Multilibs.select(Flags, Result.SelectedMultilib)) {
-    Result.BiarchSibling = Multilib();
-    return true;
-  }
-
-  return false;
-}
-
-static void findAndroidArmMultilibs(const Driver &D,
-                                    const llvm::Triple &TargetTriple,
-                                    StringRef Path, const ArgList &Args,
-                                    DetectedMultilibs &Result) {
-  // Find multilibs with subdirectories like armv7-a, thumb, armv7-a/thumb.
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib ArmV7Multilib = makeMultilib("/armv7-a")
-                               .flag("+march=armv7-a")
-                               .flag("-mthumb");
-  Multilib ThumbMultilib = makeMultilib("/thumb")
-                               .flag("-march=armv7-a")
-                               .flag("+mthumb");
-  Multilib ArmV7ThumbMultilib = makeMultilib("/armv7-a/thumb")
-                               .flag("+march=armv7-a")
-                               .flag("+mthumb");
-  Multilib DefaultMultilib = makeMultilib("")
-                               .flag("-march=armv7-a")
-                               .flag("-mthumb");
-  MultilibSet AndroidArmMultilibs =
-      MultilibSet()
-          .Either(ThumbMultilib, ArmV7Multilib,
-                  ArmV7ThumbMultilib, DefaultMultilib)
-          .FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  llvm::StringRef Arch = Args.getLastArgValue(options::OPT_march_EQ);
-  bool IsArmArch = TargetTriple.getArch() == llvm::Triple::arm;
-  bool IsThumbArch = TargetTriple.getArch() == llvm::Triple::thumb;
-  bool IsV7SubArch = TargetTriple.getSubArch() == llvm::Triple::ARMSubArch_v7;
-  bool IsThumbMode = IsThumbArch ||
-      Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb, false) ||
-      (IsArmArch && llvm::ARM::parseArchISA(Arch) == llvm::ARM::ISAKind::THUMB);
-  bool IsArmV7Mode = (IsArmArch || IsThumbArch) &&
-      (llvm::ARM::parseArchVersion(Arch) == 7 ||
-       (IsArmArch && Arch == "" && IsV7SubArch));
-  addMultilibFlag(IsArmV7Mode, "march=armv7-a", Flags);
-  addMultilibFlag(IsThumbMode, "mthumb", Flags);
-
-  if (AndroidArmMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = AndroidArmMultilibs;
-}
-
-static bool findMSP430Multilibs(const Driver &D,
-                                const llvm::Triple &TargetTriple,
-                                StringRef Path, const ArgList &Args,
-                                DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib WithoutExceptions = makeMultilib("/430").flag("-exceptions");
-  Multilib WithExceptions = makeMultilib("/430/exceptions").flag("+exceptions");
-
-  // FIXME: when clang starts to support msp430x ISA additional logic
-  // to select between multilib must be implemented
-  // Multilib MSP430xMultilib = makeMultilib("/large");
-
-  Result.Multilibs.push_back(WithoutExceptions);
-  Result.Multilibs.push_back(WithExceptions);
-  Result.Multilibs.FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(Args.hasFlag(options::OPT_fexceptions,
-                               options::OPT_fno_exceptions, false),
-                  "exceptions", Flags);
-  if (Result.Multilibs.select(Flags, Result.SelectedMultilib))
-    return true;
-
-  return false;
-}
-
-static void findRISCVBareMetalMultilibs(const Driver &D,
-                                        const llvm::Triple &TargetTriple,
-                                        StringRef Path, const ArgList &Args,
-                                        DetectedMultilibs &Result) {
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  struct RiscvMultilib {
-    StringRef march;
-    StringRef mabi;
-  };
-  // currently only support the set of multilibs like riscv-gnu-toolchain does.
-  // TODO: support MULTILIB_REUSE
-  constexpr RiscvMultilib RISCVMultilibSet[] = {
-      {"rv32i", "ilp32"},     {"rv32im", "ilp32"},     {"rv32iac", "ilp32"},
-      {"rv32imac", "ilp32"},  {"rv32imafc", "ilp32f"}, {"rv64imac", "lp64"},
-      {"rv64imafdc", "lp64d"}};
-
-  std::vector<Multilib> Ms;
-  for (auto Element : RISCVMultilibSet) {
-    // multilib path rule is ${march}/${mabi}
-    Ms.emplace_back(
-        makeMultilib((Twine(Element.march) + "/" + Twine(Element.mabi)).str())
-            .flag(Twine("+march=", Element.march).str())
-            .flag(Twine("+mabi=", Element.mabi).str()));
-  }
-  MultilibSet RISCVMultilibs =
-      MultilibSet()
-          .Either(ArrayRef<Multilib>(Ms))
-          .FilterOut(NonExistent)
-          .setFilePathsCallback([](const Multilib &M) {
-            return std::vector<std::string>(
-                {M.gccSuffix(),
-                 "/../../../../riscv64-unknown-elf/lib" + M.gccSuffix(),
-                 "/../../../../riscv32-unknown-elf/lib" + M.gccSuffix()});
-          });
-
-
-  Multilib::flags_list Flags;
-  llvm::StringSet<> Added_ABIs;
-  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
-  StringRef MArch = tools::riscv::getRISCVArch(Args, TargetTriple);
-  for (auto Element : RISCVMultilibSet) {
-    addMultilibFlag(MArch == Element.march,
-                    Twine("march=", Element.march).str().c_str(), Flags);
-    if (!Added_ABIs.count(Element.mabi)) {
-      Added_ABIs.insert(Element.mabi);
-      addMultilibFlag(ABIName == Element.mabi,
-                      Twine("mabi=", Element.mabi).str().c_str(), Flags);
-    }
-  }
-
-  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = RISCVMultilibs;
-}
-
-static void findRISCVMultilibs(const Driver &D,
-                               const llvm::Triple &TargetTriple, StringRef Path,
-                               const ArgList &Args, DetectedMultilibs &Result) {
-  if (TargetTriple.getOS() == llvm::Triple::UnknownOS)
-    return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
-
-  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
-  Multilib Ilp32 = makeMultilib("lib32/ilp32").flag("+m32").flag("+mabi=ilp32");
-  Multilib Ilp32f =
-      makeMultilib("lib32/ilp32f").flag("+m32").flag("+mabi=ilp32f");
-  Multilib Ilp32d =
-      makeMultilib("lib32/ilp32d").flag("+m32").flag("+mabi=ilp32d");
-  Multilib Lp64 = makeMultilib("lib64/lp64").flag("+m64").flag("+mabi=lp64");
-  Multilib Lp64f = makeMultilib("lib64/lp64f").flag("+m64").flag("+mabi=lp64f");
-  Multilib Lp64d = makeMultilib("lib64/lp64d").flag("+m64").flag("+mabi=lp64d");
-  MultilibSet RISCVMultilibs =
-      MultilibSet()
-          .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
-          .FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
-  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
-
-  addMultilibFlag(!IsRV64, "m32", Flags);
-  addMultilibFlag(IsRV64, "m64", Flags);
-  addMultilibFlag(ABIName == "ilp32", "mabi=ilp32", Flags);
-  addMultilibFlag(ABIName == "ilp32f", "mabi=ilp32f", Flags);
-  addMultilibFlag(ABIName == "ilp32d", "mabi=ilp32d", Flags);
-  addMultilibFlag(ABIName == "lp64", "mabi=lp64", Flags);
-  addMultilibFlag(ABIName == "lp64f", "mabi=lp64f", Flags);
-  addMultilibFlag(ABIName == "lp64d", "mabi=lp64d", Flags);
-
-  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
-    Result.Multilibs = RISCVMultilibs;
-}
-
-static bool findBiarchMultilibs(const Driver &D,
-                                const llvm::Triple &TargetTriple,
-                                StringRef Path, const ArgList &Args,
-                                bool NeedsBiarchSuffix,
-                                DetectedMultilibs &Result) {
-  Multilib Default;
-
-  // Some versions of SUSE and Fedora on ppc64 put 32-bit libs
-  // in what would normally be GCCInstallPath and put the 64-bit
-  // libs in a subdirectory named 64. The simple logic we follow is that
-  // *if* there is a subdirectory of the right name with crtbegin.o in it,
-  // we use that. If not, and if not a biarch triple alias, we look for
-  // crtbegin.o without the subdirectory.
-
-  StringRef Suff64 = "/64";
-  // Solaris uses platform-specific suffixes instead of /64.
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::x86:
-    case llvm::Triple::x86_64:
-      Suff64 = "/amd64";
-      break;
-    case llvm::Triple::sparc:
-    case llvm::Triple::sparcv9:
-      Suff64 = "/sparcv9";
-      break;
-    default:
-      break;
-    }
-  }
-
-  Multilib Alt64 = Multilib()
-                       .gccSuffix(Suff64)
-                       .includeSuffix(Suff64)
-                       .flag("-m32")
-                       .flag("+m64")
-                       .flag("-mx32");
-  Multilib Alt32 = Multilib()
-                       .gccSuffix("/32")
-                       .includeSuffix("/32")
-                       .flag("+m32")
-                       .flag("-m64")
-                       .flag("-mx32");
-  Multilib Altx32 = Multilib()
-                        .gccSuffix("/x32")
-                        .includeSuffix("/x32")
-                        .flag("-m32")
-                        .flag("-m64")
-                        .flag("+mx32");
-
-  // GCC toolchain for IAMCU doesn't have crtbegin.o, so look for libgcc.a.
-  FilterNonExistent NonExistent(
-      Path, TargetTriple.isOSIAMCU() ? "/libgcc.a" : "/crtbegin.o", D.getVFS());
-
-  // Determine default multilib from: 32, 64, x32
-  // Also handle cases such as 64 on 32, 32 on 64, etc.
-  enum { UNKNOWN, WANT32, WANT64, WANTX32 } Want = UNKNOWN;
-  const bool IsX32 = TargetTriple.isX32();
-  if (TargetTriple.isArch32Bit() && !NonExistent(Alt32))
-    Want = WANT64;
-  else if (TargetTriple.isArch64Bit() && IsX32 && !NonExistent(Altx32))
-    Want = WANT64;
-  else if (TargetTriple.isArch64Bit() && !IsX32 && !NonExistent(Alt64))
-    Want = WANT32;
-  else {
-    if (TargetTriple.isArch32Bit())
-      Want = NeedsBiarchSuffix ? WANT64 : WANT32;
-    else if (IsX32)
-      Want = NeedsBiarchSuffix ? WANT64 : WANTX32;
-    else
-      Want = NeedsBiarchSuffix ? WANT32 : WANT64;
-  }
-
-  if (Want == WANT32)
-    Default.flag("+m32").flag("-m64").flag("-mx32");
-  else if (Want == WANT64)
-    Default.flag("-m32").flag("+m64").flag("-mx32");
-  else if (Want == WANTX32)
-    Default.flag("-m32").flag("-m64").flag("+mx32");
-  else
-    return false;
-
-  Result.Multilibs.push_back(Default);
-  Result.Multilibs.push_back(Alt64);
-  Result.Multilibs.push_back(Alt32);
-  Result.Multilibs.push_back(Altx32);
-
-  Result.Multilibs.FilterOut(NonExistent);
-
-  Multilib::flags_list Flags;
-  addMultilibFlag(TargetTriple.isArch64Bit() && !IsX32, "m64", Flags);
-  addMultilibFlag(TargetTriple.isArch32Bit(), "m32", Flags);
-  addMultilibFlag(TargetTriple.isArch64Bit() && IsX32, "mx32", Flags);
-
-  if (!Result.Multilibs.select(Flags, Result.SelectedMultilib))
-    return false;
-
-  if (Result.SelectedMultilib == Alt64 || Result.SelectedMultilib == Alt32 ||
-      Result.SelectedMultilib == Altx32)
-    Result.BiarchSibling = Default;
-
-  return true;
-}
-
-/// Generic_GCC - A tool chain using the 'gcc' command to perform
-/// all subcommands; this relies on gcc translating the majority of
-/// command line options.
-
-/// Less-than for GCCVersion, implementing a Strict Weak Ordering.
-bool Generic_GCC::GCCVersion::isOlderThan(int RHSMajor, int RHSMinor,
-                                          int RHSPatch,
-                                          StringRef RHSPatchSuffix) const {
-  if (Major != RHSMajor)
-    return Major < RHSMajor;
-  if (Minor != RHSMinor)
-    return Minor < RHSMinor;
-  if (Patch != RHSPatch) {
-    // Note that versions without a specified patch sort higher than those with
-    // a patch.
-    if (RHSPatch == -1)
-      return true;
-    if (Patch == -1)
-      return false;
-
-    // Otherwise just sort on the patch itself.
-    return Patch < RHSPatch;
-  }
-  if (PatchSuffix != RHSPatchSuffix) {
-    // Sort empty suffixes higher.
-    if (RHSPatchSuffix.empty())
-      return true;
-    if (PatchSuffix.empty())
-      return false;
-
-    // Provide a lexicographic sort to make this a total ordering.
-    return PatchSuffix < RHSPatchSuffix;
-  }
-
-  // The versions are equal.
-  return false;
-}
-
-/// Parse a GCCVersion object out of a string of text.
-///
-/// This is the primary means of forming GCCVersion objects.
-/*static*/
-Generic_GCC::GCCVersion Generic_GCC::GCCVersion::Parse(StringRef VersionText) {
-  const GCCVersion BadVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
-  std::pair<StringRef, StringRef> First = VersionText.split('.');
-  std::pair<StringRef, StringRef> Second = First.second.split('.');
-
-  GCCVersion GoodVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
-  if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
-    return BadVersion;
-  GoodVersion.MajorStr = First.first.str();
-  if (First.second.empty())
-    return GoodVersion;
-  StringRef MinorStr = Second.first;
-  if (Second.second.empty()) {
-    if (size_t EndNumber = MinorStr.find_first_not_of("0123456789")) {
-      GoodVersion.PatchSuffix = std::string(MinorStr.substr(EndNumber));
-      MinorStr = MinorStr.slice(0, EndNumber);
-    }
-  }
-  if (!MinorStr.str().empty() &&
-      (MinorStr.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0))
-    return BadVersion;
-  GoodVersion.MinorStr = MinorStr.str();
-
-  // First look for a number prefix and parse that if present. Otherwise just
-  // stash the entire patch string in the suffix, and leave the number
-  // unspecified. This covers versions strings such as:
-  //   5        (handled above)
-  //   4.4
-  //   4.4-patched
-  //   4.4.0
-  //   4.4.x
-  //   4.4.2-rc4
-  //   4.4.x-patched
-  // And retains any patch number it finds.
-  StringRef PatchText = Second.second;
-  if (!PatchText.empty()) {
-    if (size_t EndNumber = PatchText.find_first_not_of("0123456789")) {
-      // Try to parse the number and any suffix.
-      if (PatchText.slice(0, EndNumber).getAsInteger(10, GoodVersion.Patch) ||
-          GoodVersion.Patch < 0)
-        return BadVersion;
-      GoodVersion.PatchSuffix = std::string(PatchText.substr(EndNumber));
-    }
-  }
-
-  return GoodVersion;
-}
-
-static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
-                                          llvm::StringRef SysRoot) {
-  const Arg *A = Args.getLastArg(clang::driver::options::OPT_gcc_toolchain);
-  if (A)
-    return A->getValue();
-
-  // If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
-  // GCC_INSTALL_PREFIX specifies the gcc installation for the default
-  // sysroot and is likely not valid with a different sysroot.
-  if (!SysRoot.empty())
-    return "";
-
-  return GCC_INSTALL_PREFIX;
-}
-
-/// Initialize a GCCInstallationDetector from the driver.
-///
-/// This performs all of the autodetection and sets up the various paths.
-/// Once constructed, a GCCInstallationDetector is essentially immutable.
-///
-/// FIXME: We shouldn't need an explicit TargetTriple parameter here, and
-/// should instead pull the target out of the driver. This is currently
-/// necessary because the driver doesn't store the final version of the target
-/// triple.
-void Generic_GCC::GCCInstallationDetector::init(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    ArrayRef<std::string> ExtraTripleAliases) {
-  llvm::Triple BiarchVariantTriple = TargetTriple.isArch32Bit()
-                                         ? TargetTriple.get64BitArchVariant()
-                                         : TargetTriple.get32BitArchVariant();
-  // The library directories which may contain GCC installations.
-  SmallVector<StringRef, 4> CandidateLibDirs, CandidateBiarchLibDirs;
-  // The compatible GCC triples for this particular architecture.
-  SmallVector<StringRef, 16> CandidateTripleAliases;
-  SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
-  CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
-                           CandidateTripleAliases, CandidateBiarchLibDirs,
-                           CandidateBiarchTripleAliases);
-
-  // Compute the set of prefixes for our search.
-  SmallVector<std::string, 8> Prefixes;
-  StringRef GCCToolchainDir = getGCCToolchainDir(Args, D.SysRoot);
-  if (GCCToolchainDir != "") {
-    if (GCCToolchainDir.back() == '/')
-      GCCToolchainDir = GCCToolchainDir.drop_back(); // remove the /
-
-    Prefixes.push_back(std::string(GCCToolchainDir));
-  } else {
-    // If we have a SysRoot, try that first.
-    if (!D.SysRoot.empty()) {
-      Prefixes.push_back(D.SysRoot);
-      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
-    }
-
-    // Then look for gcc installed alongside clang.
-    Prefixes.push_back(D.InstalledDir + "/..");
-
-    // Next, look for prefix(es) that correspond to distribution-supplied gcc
-    // installations.
-    if (D.SysRoot.empty()) {
-      // Typically /usr.
-      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
-    }
-
-    // Try to respect gcc-config on Gentoo if --gcc-toolchain is not provided.
-    // This avoids accidentally enforcing the system GCC version when using a
-    // custom toolchain.
-    SmallVector<StringRef, 16> GentooTestTriples;
-    // Try to match an exact triple as target triple first.
-    // e.g. crossdev -S x86_64-gentoo-linux-gnu will install gcc libs for
-    // x86_64-gentoo-linux-gnu. But "clang -target x86_64-gentoo-linux-gnu"
-    // may pick the libraries for x86_64-pc-linux-gnu even when exact matching
-    // triple x86_64-gentoo-linux-gnu is present.
-    GentooTestTriples.push_back(TargetTriple.str());
-    // Check rest of triples.
-    GentooTestTriples.append(ExtraTripleAliases.begin(),
-                             ExtraTripleAliases.end());
-    GentooTestTriples.append(CandidateTripleAliases.begin(),
-                             CandidateTripleAliases.end());
-    if (ScanGentooConfigs(TargetTriple, Args, GentooTestTriples,
-                          CandidateBiarchTripleAliases))
-      return;
-  }
-
-  // Loop over the various components which exist and select the best GCC
-  // installation available. GCC installs are ranked by version number.
-  const GCCVersion VersionZero = GCCVersion::Parse("0.0.0");
-  Version = VersionZero;
-  for (const std::string &Prefix : Prefixes) {
-    auto &VFS = D.getVFS();
-    if (!VFS.exists(Prefix))
-      continue;
-    for (StringRef Suffix : CandidateLibDirs) {
-      const std::string LibDir = Prefix + Suffix.str();
-      if (!VFS.exists(LibDir))
-        continue;
-      // Maybe filter out <libdir>/gcc and <libdir>/gcc-cross.
-      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
-      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
-      // Try to match the exact target triple first.
-      ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, TargetTriple.str(),
-                             false, GCCDirExists, GCCCrossDirExists);
-      // Try rest of possible triples.
-      for (StringRef Candidate : ExtraTripleAliases) // Try these first.
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
-                               GCCDirExists, GCCCrossDirExists);
-      for (StringRef Candidate : CandidateTripleAliases)
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
-                               GCCDirExists, GCCCrossDirExists);
-    }
-    for (StringRef Suffix : CandidateBiarchLibDirs) {
-      const std::string LibDir = Prefix + Suffix.str();
-      if (!VFS.exists(LibDir))
-        continue;
-      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
-      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
-      for (StringRef Candidate : CandidateBiarchTripleAliases)
-        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, true,
-                               GCCDirExists, GCCCrossDirExists);
-    }
-
-    // Skip other prefixes once a GCC installation is found.
-    if (Version > VersionZero)
-      break;
-  }
-}
-
-void Generic_GCC::GCCInstallationDetector::print(raw_ostream &OS) const {
-  for (const auto &InstallPath : CandidateGCCInstallPaths)
-    OS << "Found candidate GCC installation: " << InstallPath << "\n";
-
-  if (!GCCInstallPath.empty())
-    OS << "Selected GCC installation: " << GCCInstallPath << "\n";
-
-  for (const auto &Multilib : Multilibs)
-    OS << "Candidate multilib: " << Multilib << "\n";
-
-  if (Multilibs.size() != 0 || !SelectedMultilib.isDefault())
-    OS << "Selected multilib: " << SelectedMultilib << "\n";
-}
-
-bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
-  if (BiarchSibling.hasValue()) {
-    M = BiarchSibling.getValue();
-    return true;
-  }
-  return false;
-}
-
-void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
-    const llvm::Triple &TargetTriple, SmallVectorImpl<std::string> &Prefixes,
-    StringRef SysRoot) {
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    // Solaris is a special case.
-    // The GCC installation is under
-    //   /usr/gcc/<major>.<minor>/lib/gcc/<triple>/<major>.<minor>.<patch>/
-    // so we need to find those /usr/gcc/*/lib/gcc libdirs and go with
-    // /usr/gcc/<version> as a prefix.
-
-    std::string PrefixDir = SysRoot.str() + "/usr/gcc";
-    std::error_code EC;
-    for (llvm::vfs::directory_iterator LI = D.getVFS().dir_begin(PrefixDir, EC),
-                                       LE;
-         !EC && LI != LE; LI = LI.increment(EC)) {
-      StringRef VersionText = llvm::sys::path::filename(LI->path());
-      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
-
-      // Filter out obviously bad entries.
-      if (CandidateVersion.Major == -1 || CandidateVersion.isOlderThan(4, 1, 1))
-        continue;
-
-      std::string CandidatePrefix = PrefixDir + "/" + VersionText.str();
-      std::string CandidateLibPath = CandidatePrefix + "/lib/gcc";
-      if (!D.getVFS().exists(CandidateLibPath))
-        continue;
-
-      Prefixes.push_back(CandidatePrefix);
-    }
-    return;
-  }
-
-  // Non-Solaris is much simpler - most systems just go with "/usr".
-  if (SysRoot.empty() && TargetTriple.getOS() == llvm::Triple::Linux) {
-    // Yet, still look for RHEL devtoolsets.
-    Prefixes.push_back("/opt/rh/devtoolset-10/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-9/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-8/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-7/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-6/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-4/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-3/root/usr");
-    Prefixes.push_back("/opt/rh/devtoolset-2/root/usr");
-  }
-  Prefixes.push_back(SysRoot.str() + "/usr");
-}
-
-/*static*/ void Generic_GCC::GCCInstallationDetector::CollectLibDirsAndTriples(
-    const llvm::Triple &TargetTriple, const llvm::Triple &BiarchTriple,
-    SmallVectorImpl<StringRef> &LibDirs,
-    SmallVectorImpl<StringRef> &TripleAliases,
-    SmallVectorImpl<StringRef> &BiarchLibDirs,
-    SmallVectorImpl<StringRef> &BiarchTripleAliases) {
-  // Declare a bunch of static data sets that we'll select between below. These
-  // are specifically designed to always refer to string literals to avoid any
-  // lifetime or initialization issues.
-  static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const AArch64Triples[] = {
-      "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
-      "aarch64-suse-linux", "aarch64-linux-android"};
-  static const char *const AArch64beLibDirs[] = {"/lib"};
-  static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
-                                                 "aarch64_be-linux-gnu"};
-
-  static const char *const ARMLibDirs[] = {"/lib"};
-  static const char *const ARMTriples[] = {"arm-linux-gnueabi",
-                                           "arm-linux-androideabi"};
-  static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
-                                             "armv7hl-redhat-linux-gnueabi",
-                                             "armv6hl-suse-linux-gnueabi",
-                                             "armv7hl-suse-linux-gnueabi"};
-  static const char *const ARMebLibDirs[] = {"/lib"};
-  static const char *const ARMebTriples[] = {"armeb-linux-gnueabi",
-                                             "armeb-linux-androideabi"};
-  static const char *const ARMebHFTriples[] = {
-      "armeb-linux-gnueabihf", "armebv7hl-redhat-linux-gnueabi"};
-
-  static const char *const AVRLibDirs[] = {"/lib"};
-  static const char *const AVRTriples[] = {"avr"};
-
-  static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const X86_64Triples[] = {
-      "x86_64-linux-gnu",       "x86_64-unknown-linux-gnu",
-      "x86_64-pc-linux-gnu",    "x86_64-redhat-linux6E",
-      "x86_64-redhat-linux",    "x86_64-suse-linux",
-      "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
-      "x86_64-slackware-linux", "x86_64-radix-linux-gnu", "x86_64-unknown-linux",
-      "x86_64-amazon-linux",    "x86_64-linux-android"};
-  static const char *const X32Triples[] = {"x86_64-linux-gnux32",
-                                           "x86_64-pc-linux-gnux32"};
-  static const char *const X32LibDirs[] = {"/libx32", "/lib"};
-  static const char *const X86LibDirs[] = {"/lib32", "/lib"};
-  static const char *const X86Triples[] = {
-      "i586-linux-gnu",       "i686-linux-gnu",
-      "i686-pc-linux-gnu",    "i386-redhat-linux6E",
-      "i686-redhat-linux",    "i386-redhat-linux",
-      "i486-slackware-linux", "i586-slackware-linux", "i686-slackware-linux",
-      "i586-radix-linux-gnu", "i686-radix-linux-gnu",
-      "i586-suse-linux",      "i686-montavista-linux",
-      "i686-linux-android",   "i686-gnu",
-  };
-
-  static const char *const M68kLibDirs[] = {"/lib"};
-  static const char *const M68kTriples[] = {
-      "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"};
-
-  static const char *const MIPSLibDirs[] = {"/lib"};
-  static const char *const MIPSTriples[] = {
-      "mips-linux-gnu", "mips-mti-linux", "mips-mti-linux-gnu",
-      "mips-img-linux-gnu", "mipsisa32r6-linux-gnu"};
-  static const char *const MIPSELLibDirs[] = {"/lib"};
-  static const char *const MIPSELTriples[] = {
-      "mipsel-linux-gnu", "mips-img-linux-gnu", "mipsisa32r6el-linux-gnu",
-      "mipsel-p5600-linux-gnu", "mipsel-jz47xx-linux-gnu",
-      "mipsel-radix-linux-gnu",
-      "mipsel-linux-android"};
-
-  static const char *const MIPS64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const MIPS64Triples[] = {
-      "mips64-linux-gnu",      "mips-mti-linux-gnu",
-      "mips-img-linux-gnu",    "mips64-linux-gnuabi64",
-      "mipsisa64r6-linux-gnu", "mipsisa64r6-linux-gnuabi64"};
-  static const char *const MIPS64ELLibDirs[] = {"/lib64", "/lib"};
-  static const char *const MIPS64ELTriples[] = {
-      "mips64el-linux-gnu",      "mips-mti-linux-gnu",
-      "mips-img-linux-gnu",      "mips64el-linux-gnuabi64",
-      "mipsisa64r6el-linux-gnu", "mipsisa64r6el-linux-gnuabi64",
-      "mips64el-linux-android"};
-
-  static const char *const MIPSN32LibDirs[] = {"/lib32"};
-  static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32",
-                                               "mipsisa64r6-linux-gnuabin32"};
-  static const char *const MIPSN32ELLibDirs[] = {"/lib32"};
-  static const char *const MIPSN32ELTriples[] = {
-      "mips64el-linux-gnuabin32", "mipsisa64r6el-linux-gnuabin32"};
-
-  static const char *const MSP430LibDirs[] = {"/lib"};
-  static const char *const MSP430Triples[] = {"msp430-elf"};
-
-  static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
-  static const char *const PPCTriples[] = {
-      "powerpc-linux-gnu", "powerpc-unknown-linux-gnu", "powerpc-linux-gnuspe",
-      "powerpc-power8-linux-gnu", "powerpc-power9-linux-gnu",
-      "ppc-power8-linux-gnu", "ppc-power9-linux-gnu",
-      "powerpc-radix-linux-gnu", "ppc-radix-linux-gnu",
-      // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
-      // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
-      "powerpc64-suse-linux", "powerpc-montavista-linuxspe"};
-  static const char *const PPCLELibDirs[] = {"/lib32", "/lib"};
-  static const char *const PPCLETriples[] = {"powerpcle-linux-gnu",
-                                             "powerpcle-unknown-linux-gnu",
-                                             "powerpcle-linux-musl"};
-
-  static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const PPC64Triples[] = {
-      "powerpc64-linux-gnu", "powerpc64-unknown-linux-gnu",
-      "powerpc64-power8-linux-gnu", "powerpc64-power8-linux-gnu",
-      "ppc64-power8-linux-gnu", "ppc64-power8-linux-gnu",
-      "powerpc64-radix-linux-gnu", "ppc64-radix-linux-gnu",
-      "powerpc64-suse-linux", "ppc64-redhat-linux"};
-  static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"};
-  static const char *const PPC64LETriples[] = {
-      "powerpc64le-linux-gnu", "powerpc64le-unknown-linux-gnu",
-      "powerpc64le-none-linux-gnu", "powerpc64le-suse-linux",
-      "powerpc64le-power8-linux-gnu", "powerpc64le-power8-linux-gnu",
-      "ppc64le-power8-linux-gnu", "ppc64le-power8-linux-gnu",
-      "powerpc64le-radix-linux-gnu", "ppc64le-radix-linux-gnu",
-      "ppc64le-redhat-linux"};
-
-  static const char *const RISCV32LibDirs[] = {"/lib32", "/lib"};
-  static const char *const RISCV32Triples[] = {"riscv32-unknown-linux-gnu",
-                                               "riscv32-linux-gnu",
-                                               "riscv32-unknown-elf"};
-  static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
-  static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
-                                               "riscv64-linux-gnu",
-                                               "riscv64-unknown-elf",
-                                               "riscv64-rv64gc-linux-gnu", "riscv64-radix-linux-gnu",
-                                               "riscv64-redhat-linux",
-                                               "riscv64-suse-linux"};
-
-  static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
-  static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
-                                               "sparcv8-linux-gnu"};
-  static const char *const SPARCv9LibDirs[] = {"/lib64", "/lib"};
-  static const char *const SPARCv9Triples[] = {"sparc64-linux-gnu",
-                                               "sparcv9-linux-gnu"};
-
-  static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
-  static const char *const SystemZTriples[] = {
-      "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
-      "s390x-suse-linux", "s390x-redhat-linux"};
-
-
-  using std::begin;
-  using std::end;
-
-  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
-    static const char *const SolarisLibDirs[] = {"/lib"};
-    static const char *const SolarisSparcV8Triples[] = {
-        "sparc-sun-solaris2.11", "sparc-sun-solaris2.12"};
-    static const char *const SolarisSparcV9Triples[] = {
-        "sparcv9-sun-solaris2.11", "sparcv9-sun-solaris2.12"};
-    static const char *const SolarisX86Triples[] = {"i386-pc-solaris2.11",
-                                                    "i386-pc-solaris2.12"};
-    static const char *const SolarisX86_64Triples[] = {"x86_64-pc-solaris2.11",
-                                                       "x86_64-pc-solaris2.12"};
-    LibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
-    BiarchLibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::x86:
-      TripleAliases.append(begin(SolarisX86Triples), end(SolarisX86Triples));
-      BiarchTripleAliases.append(begin(SolarisX86_64Triples),
-                                 end(SolarisX86_64Triples));
-      break;
-    case llvm::Triple::x86_64:
-      TripleAliases.append(begin(SolarisX86_64Triples),
-                           end(SolarisX86_64Triples));
-      BiarchTripleAliases.append(begin(SolarisX86Triples),
-                                 end(SolarisX86Triples));
-      break;
-    case llvm::Triple::sparc:
-      TripleAliases.append(begin(SolarisSparcV8Triples),
-                           end(SolarisSparcV8Triples));
-      BiarchTripleAliases.append(begin(SolarisSparcV9Triples),
-                                 end(SolarisSparcV9Triples));
-      break;
-    case llvm::Triple::sparcv9:
-      TripleAliases.append(begin(SolarisSparcV9Triples),
-                           end(SolarisSparcV9Triples));
-      BiarchTripleAliases.append(begin(SolarisSparcV8Triples),
-                                 end(SolarisSparcV8Triples));
-      break;
-    default:
-      break;
-    }
-    return;
-  }
-
-  // Android targets should not use GNU/Linux tools or libraries.
-  if (TargetTriple.isAndroid()) {
-    static const char *const AArch64AndroidTriples[] = {
-        "aarch64-linux-android"};
-    static const char *const ARMAndroidTriples[] = {"arm-linux-androideabi"};
-    static const char *const MIPSELAndroidTriples[] = {"mipsel-linux-android"};
-    static const char *const MIPS64ELAndroidTriples[] = {
-        "mips64el-linux-android"};
-    static const char *const X86AndroidTriples[] = {"i686-linux-android"};
-    static const char *const X86_64AndroidTriples[] = {"x86_64-linux-android"};
-
-    switch (TargetTriple.getArch()) {
-    case llvm::Triple::aarch64:
-      LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-      TripleAliases.append(begin(AArch64AndroidTriples),
-                           end(AArch64AndroidTriples));
-      break;
-    case llvm::Triple::arm:
-    case llvm::Triple::thumb:
-      LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
-      TripleAliases.append(begin(ARMAndroidTriples), end(ARMAndroidTriples));
-      break;
-    case llvm::Triple::mipsel:
-      LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-      TripleAliases.append(begin(MIPSELAndroidTriples),
-                           end(MIPSELAndroidTriples));
-      BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-      BiarchTripleAliases.append(begin(MIPS64ELAndroidTriples),
-                                 end(MIPS64ELAndroidTriples));
-      break;
-    case llvm::Triple::mips64el:
-      LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-      TripleAliases.append(begin(MIPS64ELAndroidTriples),
-                           end(MIPS64ELAndroidTriples));
-      BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-      BiarchTripleAliases.append(begin(MIPSELAndroidTriples),
-                                 end(MIPSELAndroidTriples));
-      break;
-    case llvm::Triple::x86_64:
-      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      TripleAliases.append(begin(X86_64AndroidTriples),
-                           end(X86_64AndroidTriples));
-      BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-      BiarchTripleAliases.append(begin(X86AndroidTriples),
-                                 end(X86AndroidTriples));
-      break;
-    case llvm::Triple::x86:
-      LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-      TripleAliases.append(begin(X86AndroidTriples), end(X86AndroidTriples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64AndroidTriples),
-                                 end(X86_64AndroidTriples));
-      break;
-    default:
-      break;
-    }
-
-    return;
-  }
-
-  switch (TargetTriple.getArch()) {
-  case llvm::Triple::aarch64:
-    LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-    TripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
-    BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
-    BiarchTripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
-    break;
-  case llvm::Triple::aarch64_be:
-    LibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
-    TripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
-    BiarchLibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
-    BiarchTripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
-    break;
-  case llvm::Triple::arm:
-  case llvm::Triple::thumb:
-    LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
-    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
-      TripleAliases.append(begin(ARMHFTriples), end(ARMHFTriples));
-    } else {
-      TripleAliases.append(begin(ARMTriples), end(ARMTriples));
-    }
-    break;
-  case llvm::Triple::armeb:
-  case llvm::Triple::thumbeb:
-    LibDirs.append(begin(ARMebLibDirs), end(ARMebLibDirs));
-    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
-      TripleAliases.append(begin(ARMebHFTriples), end(ARMebHFTriples));
-    } else {
-      TripleAliases.append(begin(ARMebTriples), end(ARMebTriples));
-    }
-    break;
-  case llvm::Triple::avr:
-    LibDirs.append(begin(AVRLibDirs), end(AVRLibDirs));
-    TripleAliases.append(begin(AVRTriples), end(AVRTriples));
-    break;
-  case llvm::Triple::x86_64:
-    if (TargetTriple.isX32()) {
-      LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      TripleAliases.append(begin(X32Triples), end(X32Triples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-    } else {
-      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
-    }
-    BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-    BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
-    break;
-  case llvm::Triple::x86:
-    LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
-    // MCU toolchain is 32 bit only and its triple alias is TargetTriple
-    // itself, which will be appended below.
-    if (!TargetTriple.isOSIAMCU()) {
-      TripleAliases.append(begin(X86Triples), end(X86Triples));
-      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
-      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
-      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
-      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
-    }
-    break;
-  case llvm::Triple::m68k:
-    LibDirs.append(begin(M68kLibDirs), end(M68kLibDirs));
-    TripleAliases.append(begin(M68kTriples), end(M68kTriples));
-    break;
-  case llvm::Triple::mips:
-    LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
-    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
-    BiarchTripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
-    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
-    break;
-  case llvm::Triple::mipsel:
-    LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-    TripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
-    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
-    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
-    break;
-  case llvm::Triple::mips64:
-    LibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
-    TripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
-    BiarchLibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
-    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
-    break;
-  case llvm::Triple::mips64el:
-    LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
-    TripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
-    BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
-    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
-    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
-    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
-    break;
-  case llvm::Triple::msp430:
-    LibDirs.append(begin(MSP430LibDirs), end(MSP430LibDirs));
-    TripleAliases.append(begin(MSP430Triples), end(MSP430Triples));
-    break;
-  case llvm::Triple::ppc:
-    LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
-    TripleAliases.append(begin(PPCTriples), end(PPCTriples));
-    BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-    BiarchTripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-    break;
-  case llvm::Triple::ppcle:
-    LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-    TripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-    BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-    BiarchTripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-    break;
-  case llvm::Triple::ppc64:
-    LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
-    TripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
-    BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
-    BiarchTripleAliases.append(begin(PPCTriples), end(PPCTriples));
-    break;
-  case llvm::Triple::ppc64le:
-    LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
-    TripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
-    BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
-    BiarchTripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
-    break;
-  case llvm::Triple::riscv32:
-    LibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
-    TripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
-    BiarchLibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
-    BiarchTripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
-    break;
-  case llvm::Triple::riscv64:
-    LibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
-    TripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
-    BiarchLibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
-    BiarchTripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
-    break;
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-    LibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
-    TripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
-    BiarchLibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
-    BiarchTripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
-    break;
-  case llvm::Triple::sparcv9:
-    LibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
-    TripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
-    BiarchLibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
-    BiarchTripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
-    break;
-  case llvm::Triple::systemz:
-    LibDirs.append(begin(SystemZLibDirs), end(SystemZLibDirs));
-    TripleAliases.append(begin(SystemZTriples), end(SystemZTriples));
-    break;
-  default:
-    // By default, just rely on the standard lib directories and the original
-    // triple.
-    break;
-  }
-
-  // Always append the drivers target triple to the end, in case it doesn't
-  // match any of our aliases.
-  TripleAliases.push_back(TargetTriple.str());
-
-  // Also include the multiarch variant if it's different.
-  if (TargetTriple.str() != BiarchTriple.str())
-    BiarchTripleAliases.push_back(BiarchTriple.str());
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGCCForMultilibs(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    StringRef Path, bool NeedsBiarchSuffix) {
-  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
-  DetectedMultilibs Detected;
-
-  // Android standalone toolchain could have multilibs for ARM and Thumb.
-  // Debian mips multilibs behave more like the rest of the biarch ones,
-  // so handle them there
-  if (isArmOrThumbArch(TargetArch) && TargetTriple.isAndroid()) {
-    // It should also work without multilibs in a simplified toolchain.
-    findAndroidArmMultilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (TargetTriple.isMIPS()) {
-    if (!findMIPSMultilibs(D, TargetTriple, Path, Args, Detected))
-      return false;
-  } else if (TargetTriple.isRISCV()) {
-    findRISCVMultilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (isMSP430(TargetArch)) {
-    findMSP430Multilibs(D, TargetTriple, Path, Args, Detected);
-  } else if (TargetArch == llvm::Triple::avr) {
-    // AVR has no multilibs.
-  } else if (!findBiarchMultilibs(D, TargetTriple, Path, Args,
-                                  NeedsBiarchSuffix, Detected)) {
-    return false;
-  }
-
-  Multilibs = Detected.Multilibs;
-  SelectedMultilib = Detected.SelectedMultilib;
-  BiarchSibling = Detected.BiarchSibling;
-
-  return true;
-}
-
-void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    const std::string &LibDir, StringRef CandidateTriple,
-    bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
-  // Locations relative to the system lib directory where GCC's triple-specific
-  // directories might reside.
-  struct GCCLibSuffix {
-    // Path from system lib directory to GCC triple-specific directory.
-    std::string LibSuffix;
-    // Path from GCC triple-specific directory back to system lib directory.
-    // This is one '..' component per component in LibSuffix.
-    StringRef ReversePath;
-    // Whether this library suffix is relevant for the triple.
-    bool Active;
-  } Suffixes[] = {
-      // This is the normal place.
-      {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists},
-
-      // Debian puts cross-compilers in gcc-cross.
-      {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists},
-
-      // The Freescale PPC SDK has the gcc libraries in
-      // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do
-      // this on Freescale triples, though, since some systems put a *lot* of
-      // files in that location, not just GCC installation data.
-      {CandidateTriple.str(), "..",
-       TargetTriple.getVendor() == llvm::Triple::Freescale ||
-           TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
-
-  for (auto &Suffix : Suffixes) {
-    if (!Suffix.Active)
-      continue;
-
-    StringRef LibSuffix = Suffix.LibSuffix;
-    std::error_code EC;
-    for (llvm::vfs::directory_iterator
-             LI = D.getVFS().dir_begin(LibDir + "/" + LibSuffix, EC),
-             LE;
-         !EC && LI != LE; LI = LI.increment(EC)) {
-      StringRef VersionText = llvm::sys::path::filename(LI->path());
-      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
-      if (CandidateVersion.Major != -1) // Filter obviously bad entries.
-        if (!CandidateGCCInstallPaths.insert(std::string(LI->path())).second)
-          continue; // Saw this path before; no need to look at it again.
-      if (CandidateVersion.isOlderThan(4, 1, 1))
-        continue;
-      if (CandidateVersion <= Version)
-        continue;
-
-      if (!ScanGCCForMultilibs(TargetTriple, Args, LI->path(),
-                               NeedsBiarchSuffix))
-        continue;
-
-      Version = CandidateVersion;
-      GCCTriple.setTriple(CandidateTriple);
-      // FIXME: We hack together the directory name here instead of
-      // using LI to ensure stable path separators across Windows and
-      // Linux.
-      GCCInstallPath = (LibDir + "/" + LibSuffix + "/" + VersionText).str();
-      GCCParentLibPath = (GCCInstallPath + "/../" + Suffix.ReversePath).str();
-      IsValid = true;
-    }
-  }
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGentooConfigs(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    const SmallVectorImpl<StringRef> &CandidateTriples,
-    const SmallVectorImpl<StringRef> &CandidateBiarchTriples) {
-  if (!D.getVFS().exists(D.SysRoot + GentooConfigDir))
-    return false;
-
-  for (StringRef CandidateTriple : CandidateTriples) {
-    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple))
-      return true;
-  }
-
-  for (StringRef CandidateTriple : CandidateBiarchTriples) {
-    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple, true))
-      return true;
-  }
-  return false;
-}
-
-bool Generic_GCC::GCCInstallationDetector::ScanGentooGccConfig(
-    const llvm::Triple &TargetTriple, const ArgList &Args,
-    StringRef CandidateTriple, bool NeedsBiarchSuffix) {
-  llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
-      D.getVFS().getBufferForFile(D.SysRoot + GentooConfigDir + "/config-" +
-                                  CandidateTriple.str());
-  if (File) {
-    SmallVector<StringRef, 2> Lines;
-    File.get()->getBuffer().split(Lines, "\n");
-    for (StringRef Line : Lines) {
-      Line = Line.trim();
-      // CURRENT=triple-version
-      if (!Line.consume_front("CURRENT="))
-        continue;
-      // Process the config file pointed to by CURRENT.
-      llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> ConfigFile =
-          D.getVFS().getBufferForFile(D.SysRoot + GentooConfigDir + "/" +
-                                      Line.str());
-      std::pair<StringRef, StringRef> ActiveVersion = Line.rsplit('-');
-      // List of paths to scan for libraries.
-      SmallVector<StringRef, 4> GentooScanPaths;
-      // Scan the Config file to find installed GCC libraries path.
-      // Typical content of the GCC config file:
-      // LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x:/usr/lib/gcc/
-      // (continued from previous line) x86_64-pc-linux-gnu/4.9.x/32"
-      // MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/man"
-      // INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/info"
-      // STDCXX_INCDIR="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x/include/g++-v4"
-      // We are looking for the paths listed in LDPATH=... .
-      if (ConfigFile) {
-        SmallVector<StringRef, 2> ConfigLines;
-        ConfigFile.get()->getBuffer().split(ConfigLines, "\n");
-        for (StringRef ConfLine : ConfigLines) {
-          ConfLine = ConfLine.trim();
-          if (ConfLine.consume_front("LDPATH=")) {
-            // Drop '"' from front and back if present.
-            ConfLine.consume_back("\"");
-            ConfLine.consume_front("\"");
-            // Get all paths sperated by ':'
-            ConfLine.split(GentooScanPaths, ':', -1, /*AllowEmpty*/ false);
-          }
-        }
-      }
-      // Test the path based on the version in /etc/env.d/gcc/config-{tuple}.
-      std::string basePath = "/usr/lib/gcc/" + ActiveVersion.first.str() + "/"
-          + ActiveVersion.second.str();
-      GentooScanPaths.push_back(StringRef(basePath));
-
-      // Scan all paths for GCC libraries.
-      for (const auto &GentooScanPath : GentooScanPaths) {
-        std::string GentooPath = D.SysRoot + std::string(GentooScanPath);
-        if (D.getVFS().exists(GentooPath + "/crtbegin.o")) {
-          if (!ScanGCCForMultilibs(TargetTriple, Args, GentooPath,
-                                   NeedsBiarchSuffix))
-            continue;
-
-          Version = GCCVersion::Parse(ActiveVersion.second);
-          GCCInstallPath = GentooPath;
-          GCCParentLibPath = GentooPath + std::string("/../../..");
-          GCCTriple.setTriple(ActiveVersion.first);
-          IsValid = true;
-          return true;
-        }
-      }
-    }
-  }
-
-  return false;
-}
-
-Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple,
-                         const ArgList &Args)
-    : ToolChain(D, Triple, Args), GCCInstallation(D),
-      CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {
-  getProgramPaths().push_back(getDriver().getInstalledDir());
-  if (getDriver().getInstalledDir() != getDriver().Dir)
-    getProgramPaths().push_back(getDriver().Dir);
-}
-
-Generic_GCC::~Generic_GCC() {}
-
-Tool *Generic_GCC::getTool(Action::ActionClass AC) const {
-  switch (AC) {
-  case Action::PreprocessJobClass:
-    if (!Preprocess)
-      Preprocess.reset(new clang::driver::tools::gcc::Preprocessor(*this));
-    return Preprocess.get();
-  case Action::CompileJobClass:
-    if (!Compile)
-      Compile.reset(new tools::gcc::Compiler(*this));
-    return Compile.get();
-  default:
-    return ToolChain::getTool(AC);
-  }
-}
-
-Tool *Generic_GCC::buildAssembler() const {
-  return new tools::gnutools::Assembler(*this);
-}
-
-Tool *Generic_GCC::buildLinker() const { return new tools::gcc::Linker(*this); }
-
-void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
-  // Print the information about how we detected the GCC installation.
-  GCCInstallation.print(OS);
-  CudaInstallation.print(OS);
-  RocmInstallation.print(OS);
-}
-
-bool Generic_GCC::IsUnwindTablesDefault(const ArgList &Args) const {
-  switch (getArch()) {
-  case llvm::Triple::aarch64:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-  case llvm::Triple::x86_64:
-    return true;
-  default:
-    return false;
-  }
-}
-
-bool Generic_GCC::isPICDefault() const {
-  switch (getArch()) {
-  case llvm::Triple::x86_64:
-    return getTriple().isOSWindows();
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el:
-    return true;
-  default:
-    return false;
-  }
-}
-
-bool Generic_GCC::isPIEDefault() const { return false; }
-
-bool Generic_GCC::isPICDefaultForced() const {
-  return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows();
-}
-
-bool Generic_GCC::IsIntegratedAssemblerDefault() const {
-  switch (getTriple().getArch()) {
-  case llvm::Triple::x86:
-  case llvm::Triple::x86_64:
-  case llvm::Triple::aarch64:
-  case llvm::Triple::aarch64_be:
-  case llvm::Triple::arm:
-  case llvm::Triple::armeb:
-  case llvm::Triple::avr:
-  case llvm::Triple::bpfel:
-  case llvm::Triple::bpfeb:
-  case llvm::Triple::thumb:
-  case llvm::Triple::thumbeb:
-  case llvm::Triple::ppc:
-  case llvm::Triple::ppcle:
-  case llvm::Triple::ppc64:
-  case llvm::Triple::ppc64le:
-  case llvm::Triple::riscv32:
-  case llvm::Triple::riscv64:
-  case llvm::Triple::systemz:
-  case llvm::Triple::mips:
-  case llvm::Triple::mipsel:
-  case llvm::Triple::mips64:
-  case llvm::Triple::mips64el:
-  case llvm::Triple::msp430:
-  case llvm::Triple::m68k:
-    return true;
-  case llvm::Triple::sparc:
-  case llvm::Triple::sparcel:
-  case llvm::Triple::sparcv9:
-    if (getTriple().isOSFreeBSD() || getTriple().isOSOpenBSD() ||
-        getTriple().isOSSolaris())
-      return true;
-    return false;
-  default:
-    return false;
-  }
-}
-
-void Generic_GCC::PushPPaths(ToolChain::path_list &PPaths) {
-  // Cross-compiling binutils and GCC installations (vanilla and openSUSE at
-  // least) put various tools in a triple-prefixed directory off of the parent
-  // of the GCC installation. We use the GCC triple here to ensure that we end
-  // up with tools that support the same amount of cross compiling as the
-  // detected GCC installation. For example, if we find a GCC installation
-  // targeting x86_64, but it is a bi-arch GCC installation, it can also be
-  // used to target i386.
-  if (GCCInstallation.isValid()) {
-    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
-                           GCCInstallation.getTriple().str() + "/bin")
-                         .str());
-  }
-}
-
-void Generic_GCC::AddMultilibPaths(const Driver &D,
-                                   const std::string &SysRoot,
-                                   const std::string &OSLibDir,
-                                   const std::string &MultiarchTriple,
-                                   path_list &Paths) {
-  // Add the multilib suffixed paths where they are available.
-  if (GCCInstallation.isValid()) {
-    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-    const std::string &LibPath =
-        std::string(GCCInstallation.getParentLibPath());
-
-    // Sourcery CodeBench MIPS toolchain holds some libraries under
-    // a biarch-like suffix of the GCC installation.
-    if (const auto &PathsCallback = Multilibs.filePathsCallback())
-      for (const auto &Path : PathsCallback(SelectedMultilib))
-        addPathIfExists(D, GCCInstallation.getInstallPath() + Path, Paths);
-
-    // Add lib/gcc/$triple/$version, with an optional /multilib suffix.
-    addPathIfExists(
-        D, GCCInstallation.getInstallPath() + SelectedMultilib.gccSuffix(),
-        Paths);
-
-    // GCC cross compiling toolchains will install target libraries which ship
-    // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
-    // any part of the GCC installation in
-    // <prefix>/<libdir>/gcc/<triple>/<version>. This decision is somewhat
-    // debatable, but is the reality today. We need to search this tree even
-    // when we have a sysroot somewhere else. It is the responsibility of
-    // whomever is doing the cross build targeting a sysroot using a GCC
-    // installation that is *not* within the system root to ensure two things:
-    //
-    //  1) Any DSOs that are linked in from this tree or from the install path
-    //     above must be present on the system root and found via an
-    //     appropriate rpath.
-    //  2) There must not be libraries installed into
-    //     <prefix>/<triple>/<libdir> unless they should be preferred over
-    //     those within the system root.
-    //
-    // Note that this matches the GCC behavior. See the below comment for where
-    // Clang diverges from GCC's behavior.
-    addPathIfExists(D,
-                    LibPath + "/../" + GCCTriple.str() + "/lib/../" + OSLibDir +
-                        SelectedMultilib.osSuffix(),
-                    Paths);
-
-    // If the GCC installation we found is inside of the sysroot, we want to
-    // prefer libraries installed in the parent prefix of the GCC installation.
-    // It is important to *not* use these paths when the GCC installation is
-    // outside of the system root as that can pick up unintended libraries.
-    // This usually happens when there is an external cross compiler on the
-    // host system, and a more minimal sysroot available that is the target of
-    // the cross. Note that GCC does include some of these directories in some
-    // configurations but this seems somewhere between questionable and simply
-    // a bug.
-    if (StringRef(LibPath).startswith(SysRoot))
-      addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
-  }
-}
-
-void Generic_GCC::AddMultiarchPaths(const Driver &D,
-                                    const std::string &SysRoot,
-                                    const std::string &OSLibDir,
-                                    path_list &Paths) {
-  if (GCCInstallation.isValid()) {
-    const std::string &LibPath =
-        std::string(GCCInstallation.getParentLibPath());
-    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-    const Multilib &Multilib = GCCInstallation.getMultilib();
-    addPathIfExists(
-        D, LibPath + "/../" + GCCTriple.str() + "/lib" + Multilib.osSuffix(),
-                    Paths);
-  }
-}
-
-void Generic_GCC::AddMultilibIncludeArgs(const ArgList &DriverArgs,
-                                         ArgStringList &CC1Args) const {
-  // Add include directories specific to the selected multilib set and multilib.
-  if (!GCCInstallation.isValid())
-    return;
-  // gcc TOOL_INCLUDE_DIR.
-  const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-  std::string LibPath(GCCInstallation.getParentLibPath());
-  addSystemInclude(DriverArgs, CC1Args,
-                   Twine(LibPath) + "/../" + GCCTriple.str() + "/include");
-
-  const auto &Callback = Multilibs.includeDirsCallback();
-  if (Callback) {
-    for (const auto &Path : Callback(GCCInstallation.getMultilib()))
-      addExternCSystemIncludeIfExists(DriverArgs, CC1Args,
-                                      GCCInstallation.getInstallPath() + Path);
-  }
-}
-
-void Generic_GCC::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
-                                               ArgStringList &CC1Args) const {
-  if (DriverArgs.hasArg(options::OPT_nostdinc, options::OPT_nostdincxx,
-                        options::OPT_nostdlibinc))
-    return;
-
-  switch (GetCXXStdlibType(DriverArgs)) {
-  case ToolChain::CST_Libcxx:
-    addLibCxxIncludePaths(DriverArgs, CC1Args);
-    break;
-
-  case ToolChain::CST_Libstdcxx:
-    addLibStdCxxIncludePaths(DriverArgs, CC1Args);
-    break;
-  }
-}
-
-void
-Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
-                                   llvm::opt::ArgStringList &CC1Args) const {
-  const Driver &D = getDriver();
-  std::string SysRoot = computeSysRoot();
-  std::string Target = getTripleString();
-
-  auto AddIncludePath = [&](std::string Path) {
-    std::string Version = detectLibcxxVersion(Path);
-    if (Version.empty())
-      return false;
-
-    // First add the per-target include path if it exists.
-    std::string TargetDir = Path + "/" + Target + "/c++/" + Version;
-    if (D.getVFS().exists(TargetDir))
-      addSystemInclude(DriverArgs, CC1Args, TargetDir);
-
-    // Second add the generic one.
-    addSystemInclude(DriverArgs, CC1Args, Path + "/c++/" + Version);
-    return true;
-  };
-
-  // Android never uses the libc++ headers installed alongside the toolchain,
-  // which are generally incompatible with the NDK libraries anyway.
-  if (!getTriple().isAndroid())
-    if (AddIncludePath(getDriver().Dir + "/../include"))
-      return;
-  // If this is a development, non-installed, clang, libcxx will
-  // not be found at ../include/c++ but it likely to be found at
-  // one of the following two locations:
-  if (AddIncludePath(SysRoot + "/usr/local/include"))
-    return;
-  if (AddIncludePath(SysRoot + "/usr/include"))
-    return;
-}
-
-bool Generic_GCC::addLibStdCXXIncludePaths(Twine IncludeDir, StringRef Triple,
-                                           Twine IncludeSuffix,
-                                           const llvm::opt::ArgList &DriverArgs,
-                                           llvm::opt::ArgStringList &CC1Args,
-                                           bool DetectDebian) const {
-  if (!getVFS().exists(IncludeDir))
-    return false;
-
-  // Debian native gcc uses g++-multiarch-incdir.diff which uses
-  // include/x86_64-linux-gnu/c++/10$IncludeSuffix instead of
-  // include/c++/10/x86_64-linux-gnu$IncludeSuffix.
-  std::string Dir = IncludeDir.str();
-  StringRef Include =
-      llvm::sys::path::parent_path(llvm::sys::path::parent_path(Dir));
-  std::string Path =
-      (Include + "/" + Triple + Dir.substr(Include.size()) + IncludeSuffix)
-          .str();
-  if (DetectDebian && !getVFS().exists(Path))
-    return false;
-
-  // GPLUSPLUS_INCLUDE_DIR
-  addSystemInclude(DriverArgs, CC1Args, IncludeDir);
-  // GPLUSPLUS_TOOL_INCLUDE_DIR. If Triple is not empty, add a target-dependent
-  // include directory.
-  if (DetectDebian)
-    addSystemInclude(DriverArgs, CC1Args, Path);
-  else if (!Triple.empty())
-    addSystemInclude(DriverArgs, CC1Args,
-                     IncludeDir + "/" + Triple + IncludeSuffix);
-  // GPLUSPLUS_BACKWARD_INCLUDE_DIR
-  addSystemInclude(DriverArgs, CC1Args, IncludeDir + "/backward");
-  return true;
-}
-
-bool Generic_GCC::addGCCLibStdCxxIncludePaths(
-    const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
-    StringRef DebianMultiarch) const {
-  assert(GCCInstallation.isValid());
-
-  // By default, look for the C++ headers in an include directory adjacent to
-  // the lib directory of the GCC installation. Note that this is expect to be
-  // equivalent to '/usr/include/c++/X.Y' in almost all cases.
-  StringRef LibDir = GCCInstallation.getParentLibPath();
-  StringRef InstallDir = GCCInstallation.getInstallPath();
-  StringRef TripleStr = GCCInstallation.getTriple().str();
-  const Multilib &Multilib = GCCInstallation.getMultilib();
-  const GCCVersion &Version = GCCInstallation.getVersion();
-
-  // Try /../$triple/include/c++/$version (gcc --print-multiarch is not empty).
-  if (addLibStdCXXIncludePaths(
-          LibDir.str() + "/../" + TripleStr + "/include/c++/" + Version.Text,
-          TripleStr, Multilib.includeSuffix(), DriverArgs, CC1Args))
-    return true;
-
-  // Detect Debian g++-multiarch-incdir.diff.
-  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
-                               DebianMultiarch, Multilib.includeSuffix(),
-                               DriverArgs, CC1Args, /*Debian=*/true))
-    return true;
-
-  // Try /../include/c++/$version (gcc --print-multiarch is empty).
-  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
-                               TripleStr, Multilib.includeSuffix(), DriverArgs,
-                               CC1Args))
-    return true;
-
-  // Otherwise, fall back on a bunch of options which don't use multiarch
-  // layouts for simplicity.
-  const std::string LibStdCXXIncludePathCandidates[] = {
-      // Gentoo is weird and places its headers inside the GCC install,
-      // so if the first attempt to find the headers fails, try these patterns.
-      InstallDir.str() + "/include/g++-v" + Version.Text,
-      InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
-          Version.MinorStr,
-      InstallDir.str() + "/include/g++-v" + Version.MajorStr,
-  };
-
-  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
-    if (addLibStdCXXIncludePaths(IncludePath, TripleStr,
-                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
-      return true;
-  }
-  return false;
-}
-
-void
-Generic_GCC::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
-                                      llvm::opt::ArgStringList &CC1Args) const {
-  if (GCCInstallation.isValid()) {
-    addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
-                                GCCInstallation.getTriple().str());
-  }
-}
-
-llvm::opt::DerivedArgList *
-Generic_GCC::TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef,
-                           Action::OffloadKind DeviceOffloadKind) const {
-
-  // If this tool chain is used for an OpenMP offloading device we have to make
-  // sure we always generate a shared library regardless of the commands the
-  // user passed to the host. This is required because the runtime library
-  // is required to load the device image dynamically at run time.
-  if (DeviceOffloadKind == Action::OFK_OpenMP) {
-    DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
-    const OptTable &Opts = getDriver().getOpts();
-
-    // Request the shared library. Given that these options are decided
-    // implicitly, they do not refer to any base argument.
-    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_shared));
-    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_fPIC));
-
-    // Filter all the arguments we don't care passing to the offloading
-    // toolchain as they can mess up with the creation of a shared library.
-    for (auto *A : Args) {
-      switch ((options::ID)A->getOption().getID()) {
-      default:
-        DAL->append(A);
-        break;
-      case options::OPT_shared:
-      case options::OPT_dynamic:
-      case options::OPT_static:
-      case options::OPT_fPIC:
-      case options::OPT_fno_PIC:
-      case options::OPT_fpic:
-      case options::OPT_fno_pic:
-      case options::OPT_fPIE:
-      case options::OPT_fno_PIE:
-      case options::OPT_fpie:
-      case options::OPT_fno_pie:
-        break;
-      }
-    }
-    return DAL;
-  }
-  return nullptr;
-}
-
-void Generic_ELF::anchor() {}
-
-void Generic_ELF::addClangTargetOptions(const ArgList &DriverArgs,
-                                        ArgStringList &CC1Args,
-                                        Action::OffloadKind) const {
-  if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
-                          options::OPT_fno_use_init_array, true))
-    CC1Args.push_back("-fno-use-init-array");
-}
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver/ToolChains
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib/Driver
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang/lib
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new/clang
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch/llvm-13.0.0-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-13.0.0-clang-gnu-triple-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/file.list	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/file.list	(nonexistent)
@@ -1 +0,0 @@
-llvm-15.0.4/pstl/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl/CMakeLists.txt	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl/CMakeLists.txt	(nonexistent)
@@ -1,102 +0,0 @@
-#===-- CMakeLists.txt ----------------------------------------------------===##
-#
-# 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
-#
-#===----------------------------------------------------------------------===##
-cmake_minimum_required(VERSION 3.13.4)
-
-set(PARALLELSTL_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/include/pstl/internal/pstl_config.h")
-file(STRINGS "${PARALLELSTL_VERSION_FILE}" PARALLELSTL_VERSION_SOURCE REGEX "#define _PSTL_VERSION .*$")
-string(REGEX REPLACE "#define _PSTL_VERSION (.*)$" "\\1" PARALLELSTL_VERSION_SOURCE "${PARALLELSTL_VERSION_SOURCE}")
-math(EXPR VERSION_MAJOR "(${PARALLELSTL_VERSION_SOURCE} / 1000)")
-math(EXPR VERSION_MINOR "((${PARALLELSTL_VERSION_SOURCE} % 1000) / 10)")
-math(EXPR VERSION_PATCH "(${PARALLELSTL_VERSION_SOURCE} % 10)")
-
-project(ParallelSTL VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH} LANGUAGES CXX)
-
-# Must go below project(..)
-include(GNUInstallDirs)
-
-set(PSTL_PARALLEL_BACKEND "serial" CACHE STRING "Threading backend to use. Valid choices are 'serial', 'omp', and 'tbb'. The default is 'serial'.")
-set(PSTL_HIDE_FROM_ABI_PER_TU OFF CACHE BOOL "Whether to constrain ABI-unstable symbols to each translation unit (basically, mark them with C's static keyword).")
-set(_PSTL_HIDE_FROM_ABI_PER_TU ${PSTL_HIDE_FROM_ABI_PER_TU}) # For __pstl_config_site
-
-if (NOT TBB_DIR)
-    get_filename_component(PSTL_DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
-    string(REPLACE pstl tbb TBB_DIR_NAME ${PSTL_DIR_NAME})
-    if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../${TBB_DIR_NAME}/cmake")
-        get_filename_component(TBB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${TBB_DIR_NAME}/cmake" ABSOLUTE)
-    endif()
-endif()
-
-###############################################################################
-# Setup the ParallelSTL library target
-###############################################################################
-add_library(ParallelSTL INTERFACE)
-add_library(pstl::ParallelSTL ALIAS ParallelSTL)
-target_compile_features(ParallelSTL INTERFACE cxx_std_17)
-
-if (PSTL_PARALLEL_BACKEND STREQUAL "serial")
-    message(STATUS "Parallel STL uses the serial backend")
-    set(_PSTL_PAR_BACKEND_SERIAL ON)
-elseif (PSTL_PARALLEL_BACKEND STREQUAL "tbb")
-    find_package(TBB 2018 REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
-    message(STATUS "Parallel STL uses TBB ${TBB_VERSION} (interface version: ${TBB_INTERFACE_VERSION})")
-    target_link_libraries(ParallelSTL INTERFACE TBB::tbb)
-    set(_PSTL_PAR_BACKEND_TBB ON)
-elseif (PSTL_PARALLEL_BACKEND STREQUAL "omp")
-    message(STATUS "Parallel STL uses the omp backend")
-    target_compile_options(ParallelSTL INTERFACE "-fopenmp=libomp")
-    set(_PSTL_PAR_BACKEND_OPENMP ON)
-else()
-    message(FATAL_ERROR "Requested unknown Parallel STL backend '${PSTL_PARALLEL_BACKEND}'.")
-endif()
-
-set(PSTL_GENERATED_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated_headers")
-set(PSTL_CONFIG_SITE_PATH "${PSTL_GENERATED_HEADERS_DIR}/__pstl_config_site")
-configure_file("include/__pstl_config_site.in"
-               "${PSTL_CONFIG_SITE_PATH}"
-               @ONLY)
-
-target_include_directories(ParallelSTL
-    INTERFACE
-    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
-    $<BUILD_INTERFACE:${PSTL_GENERATED_HEADERS_DIR}>
-    $<INSTALL_INTERFACE:include>)
-
-###############################################################################
-# Setup tests
-###############################################################################
-enable_testing()
-add_subdirectory(test)
-
-###############################################################################
-# Install the target and the associated CMake files
-###############################################################################
-include(CMakePackageConfigHelpers)
-write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake"
-                                 COMPATIBILITY ExactVersion)
-
-configure_file(cmake/ParallelSTLConfig.cmake.in
-               "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
-               @ONLY)
-
-install(TARGETS ParallelSTL
-        EXPORT ParallelSTLTargets)
-install(EXPORT ParallelSTLTargets
-        FILE ParallelSTLTargets.cmake
-        NAMESPACE pstl::
-        DESTINATION lib32/cmake/ParallelSTL)
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
-              "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake"
-        DESTINATION lib32/cmake/ParallelSTL)
-install(DIRECTORY include/
-        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
-        PATTERN "*.in" EXCLUDE)
-install(FILES "${PSTL_CONFIG_SITE_PATH}"
-        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
-
-add_custom_target(install-pstl
-                  COMMAND "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_install.cmake" -DCOMPONENT=ParallelSTL)
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new/pstl
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/llvm-15.0.4-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/create.patch.sh	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/create.patch.sh	(nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=15.0.4
-
-tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
-mv llvm-$VERSION llvm-$VERSION-orig
-
-cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
-
-diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-pstl-x32.patch
-
-mv llvm-$VERSION-pstl-x32.patch ../patches
-
-rm -rf ./llvm-$VERSION
-rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch	(nonexistent)

Property changes on: radix-1.9/sources/packages/d/llvm/create-15.0.4-pstl-x32-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: radix-1.9/sources/packages/d/llvm/Makefile
===================================================================
--- radix-1.9/sources/packages/d/llvm/Makefile	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/Makefile	(revision 40)
@@ -7,7 +7,7 @@
 
 url         = $(DOWNLOAD_SERVER)/sources/packages/d/llvm
 
-versions    = 13.0.0 15.0.4
+versions    = 16.0.2
 pkgname     = llvm
 suffix      = tar.xz
 
@@ -14,42 +14,29 @@
 tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
 sha1s       = $(addsuffix .sha1sum, $(tarballs))
 
-patches     = $(CURDIR)/patches/llvm-13.0.0-clang-gnu-triple.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-clang-set-revision.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-clangd-riscv64.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-compiler-rt-p5600.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-compiler-rt-ppc64.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-compiler-rt-synonyms.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-lldb-riscv64.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-lldb-set-revision.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-llvm-64bit-atomic.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-llvm-pass-variables.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-llvm-ppc64.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-llvm-versioning.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-polly-hack.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-python3.patch
-patches    += $(CURDIR)/patches/llvm-13.0.0-scan-build-py-x32.patch
+patches     = $(CURDIR)/patches/llvm-16.0.2-clang-gnu-triple.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-clang-set-revision.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-clangd-riscv64.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-compiler-rt-mips.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-compiler-rt-jz47xx.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-compiler-rt-p5600.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-compiler-rt-ppc64.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-compiler-rt-synonyms.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-lldb-instr-link.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-lldb-lua-version.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-lldb-riscv64.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-lldb-set-revision.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-llvm-64bit-atomic.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-llvm-install-symlink.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-llvm-pass-variables.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-llvm-ppc64.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-llvm-versioning.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-openmp-perl.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-polly-hack.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-pstl-x32.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-x32-interpreter.patch
+patches    += $(CURDIR)/patches/llvm-16.0.2-x64-interpreter.patch
 
-patches    += $(CURDIR)/patches/llvm-15.0.4-clang-gnu-triple.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-clang-set-revision.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-clangd-riscv64.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-compiler-rt-mips.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-compiler-rt-p5600.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-compiler-rt-ppc64.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-compiler-rt-synonyms.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-lldb-lua-version.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-lldb-riscv64.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-lldb-set-revision.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-llvm-64bit-atomic.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-llvm-install-symlink.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-llvm-ppc64.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-llvm-versioning.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-openmp-perl.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-polly-hack.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-python3.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-scan-build-py-x32.patch
-patches    += $(CURDIR)/patches/llvm-15.0.4-pstl-x32.patch
-
 .NOTPARALLEL: $(patches)
 
 
@@ -83,40 +70,28 @@
 
 $(patches): $(sha1s)
 	@echo -e "\n======= Create Patches =======\n" ; \
-	 ( cd create-13.0.0-clang-gnu-triple-patch     ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-clang-set-revision-patch   ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-clangd-riscv64-patch       ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-compiler-rt-p5600-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-compiler-rt-ppc64-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-compiler-rt-synonyms-patch ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-lldb-riscv64-patch         ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-lldb-set-revision-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-llvm-64bit-atomic-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-llvm-pass-variables-patch  ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-llvm-ppc64-patch           ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-llvm-versioning-patch      ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-polly-hack-patch           ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-python3-patch              ; ./create.patch.sh ) ; \
-	 ( cd create-13.0.0-scan-build-py-x32-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-clang-gnu-triple-patch     ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-clang-set-revision-patch   ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-clangd-riscv64-patch       ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-compiler-rt-mips-patch     ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-compiler-rt-p5600-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-compiler-rt-ppc64-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-compiler-rt-synonyms-patch ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-lldb-lua-version-patch     ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-lldb-riscv64-patch         ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-lldb-set-revision-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-llvm-64bit-atomic-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-llvm-install-symlink-patch ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-llvm-ppc64-patch           ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-llvm-versioning-patch      ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-openmp-perl-patch          ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-polly-hack-patch           ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-python3-patch              ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-scan-build-py-x32-patch    ; ./create.patch.sh ) ; \
-	 ( cd create-15.0.4-pstl-x32-patch             ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-clang-gnu-triple-patch     ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-clang-set-revision-patch   ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-clangd-riscv64-patch       ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-compiler-rt-mips-patch     ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-compiler-rt-jz47xx-patch   ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-compiler-rt-p5600-patch    ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-compiler-rt-ppc64-patch    ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-compiler-rt-synonyms-patch ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-lldb-instr-link-patch      ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-lldb-lua-version-patch     ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-lldb-riscv64-patch         ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-lldb-set-revision-patch    ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-llvm-64bit-atomic-patch    ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-llvm-install-symlink-patch ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-llvm-pass-variables-patch  ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-llvm-ppc64-patch           ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-llvm-versioning-patch      ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-openmp-perl-patch          ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-polly-hack-patch           ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-pstl-x32-patch             ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-x32-interpreter-patch      ; ./create.patch.sh ) ; \
+	 ( cd create-16.0.2-x64-interpreter-patch      ; ./create.patch.sh ) ; \
 	 echo -e "\n"
 
 download_clean:
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-gnu-triple.patch
+
+mv llvm-$VERSION-clang-gnu-triple.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/clang/lib/Driver/ToolChains/Gnu.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Gnu.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Gnu.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-gnu-triple-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Gnu.cpp	(revision 40)
@@ -0,0 +1,3281 @@
+//===--- Gnu.cpp - Gnu Tool and ToolChain Implementations -------*- 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "Gnu.h"
+#include "Arch/ARM.h"
+#include "Arch/CSKY.h"
+#include "Arch/Mips.h"
+#include "Arch/PPC.h"
+#include "Arch/RISCV.h"
+#include "Arch/Sparc.h"
+#include "Arch/SystemZ.h"
+#include "CommonArgs.h"
+#include "Linux.h"
+#include "clang/Config/config.h" // for GCC_INSTALL_PREFIX
+#include "clang/Driver/Compilation.h"
+#include "clang/Driver/Driver.h"
+#include "clang/Driver/DriverDiagnostic.h"
+#include "clang/Driver/Options.h"
+#include "clang/Driver/Tool.h"
+#include "clang/Driver/ToolChain.h"
+#include "llvm/ADT/StringSet.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/Option/ArgList.h"
+#include "llvm/Support/CodeGen.h"
+#include "llvm/Support/Path.h"
+#include "llvm/Support/TargetParser.h"
+#include "llvm/Support/VirtualFileSystem.h"
+#include <system_error>
+
+using namespace clang::driver;
+using namespace clang::driver::toolchains;
+using namespace clang;
+using namespace llvm::opt;
+
+using tools::addMultilibFlag;
+using tools::addPathIfExists;
+
+static bool forwardToGCC(const Option &O) {
+  // LinkerInput options have been forwarded. Don't duplicate.
+  if (O.hasFlag(options::LinkerInput))
+    return false;
+  return O.matches(options::OPT_Link_Group) || O.hasFlag(options::LinkOption);
+}
+
+// Switch CPU names not recognized by GNU assembler to a close CPU that it does
+// recognize, instead of a lower march from being picked in the absence of a cpu
+// flag.
+static void normalizeCPUNamesForAssembler(const ArgList &Args,
+                                          ArgStringList &CmdArgs) {
+  if (Arg *A = Args.getLastArg(options::OPT_mcpu_EQ)) {
+    StringRef CPUArg(A->getValue());
+    if (CPUArg.equals_insensitive("krait"))
+      CmdArgs.push_back("-mcpu=cortex-a15");
+    else if (CPUArg.equals_insensitive("kryo"))
+      CmdArgs.push_back("-mcpu=cortex-a57");
+    else
+      Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
+  }
+}
+
+void tools::gcc::Common::ConstructJob(Compilation &C, const JobAction &JA,
+                                      const InputInfo &Output,
+                                      const InputInfoList &Inputs,
+                                      const ArgList &Args,
+                                      const char *LinkingOutput) const {
+  const Driver &D = getToolChain().getDriver();
+  ArgStringList CmdArgs;
+
+  for (const auto &A : Args) {
+    if (forwardToGCC(A->getOption())) {
+      // It is unfortunate that we have to claim here, as this means
+      // we will basically never report anything interesting for
+      // platforms using a generic gcc, even if we are just using gcc
+      // to get to the assembler.
+      A->claim();
+
+      A->render(Args, CmdArgs);
+    }
+  }
+
+  RenderExtraToolArgs(JA, CmdArgs);
+
+  // If using a driver, force the arch.
+  if (getToolChain().getTriple().isOSDarwin()) {
+    CmdArgs.push_back("-arch");
+    CmdArgs.push_back(
+        Args.MakeArgString(getToolChain().getDefaultUniversalArchName()));
+  }
+
+  // Try to force gcc to match the tool chain we want, if we recognize
+  // the arch.
+  //
+  // FIXME: The triple class should directly provide the information we want
+  // here.
+  switch (getToolChain().getArch()) {
+  default:
+    break;
+  case llvm::Triple::x86:
+  case llvm::Triple::ppc:
+  case llvm::Triple::ppcle:
+    CmdArgs.push_back("-m32");
+    break;
+  case llvm::Triple::x86_64:
+  case llvm::Triple::ppc64:
+  case llvm::Triple::ppc64le:
+    CmdArgs.push_back("-m64");
+    break;
+  case llvm::Triple::sparcel:
+    CmdArgs.push_back("-EL");
+    break;
+  }
+
+  if (Output.isFilename()) {
+    CmdArgs.push_back("-o");
+    CmdArgs.push_back(Output.getFilename());
+  } else {
+    assert(Output.isNothing() && "Unexpected output");
+    CmdArgs.push_back("-fsyntax-only");
+  }
+
+  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
+
+  // Only pass -x if gcc will understand it; otherwise hope gcc
+  // understands the suffix correctly. The main use case this would go
+  // wrong in is for linker inputs if they happened to have an odd
+  // suffix; really the only way to get this to happen is a command
+  // like '-x foobar a.c' which will treat a.c like a linker input.
+  //
+  // FIXME: For the linker case specifically, can we safely convert
+  // inputs into '-Wl,' options?
+  for (const auto &II : Inputs) {
+    // Don't try to pass LLVM or AST inputs to a generic gcc.
+    if (types::isLLVMIR(II.getType()))
+      D.Diag(clang::diag::err_drv_no_linker_llvm_support)
+          << getToolChain().getTripleString();
+    else if (II.getType() == types::TY_AST)
+      D.Diag(diag::err_drv_no_ast_support) << getToolChain().getTripleString();
+    else if (II.getType() == types::TY_ModuleFile)
+      D.Diag(diag::err_drv_no_module_support)
+          << getToolChain().getTripleString();
+
+    if (types::canTypeBeUserSpecified(II.getType())) {
+      CmdArgs.push_back("-x");
+      CmdArgs.push_back(types::getTypeName(II.getType()));
+    }
+
+    if (II.isFilename())
+      CmdArgs.push_back(II.getFilename());
+    else {
+      const Arg &A = II.getInputArg();
+
+      // Reverse translate some rewritten options.
+      if (A.getOption().matches(options::OPT_Z_reserved_lib_stdcxx)) {
+        CmdArgs.push_back("-lstdc++");
+        continue;
+      }
+
+      // Don't render as input, we need gcc to do the translations.
+      A.render(Args, CmdArgs);
+    }
+  }
+
+  const std::string &customGCCName = D.getCCCGenericGCCName();
+  const char *GCCName;
+  if (!customGCCName.empty())
+    GCCName = customGCCName.c_str();
+  else if (D.CCCIsCXX()) {
+    GCCName = "g++";
+  } else
+    GCCName = "gcc";
+
+  const char *Exec = Args.MakeArgString(getToolChain().GetProgramPath(GCCName));
+  C.addCommand(std::make_unique<Command>(JA, *this,
+                                         ResponseFileSupport::AtFileCurCP(),
+                                         Exec, CmdArgs, Inputs, Output));
+}
+
+void tools::gcc::Preprocessor::RenderExtraToolArgs(
+    const JobAction &JA, ArgStringList &CmdArgs) const {
+  CmdArgs.push_back("-E");
+}
+
+void tools::gcc::Compiler::RenderExtraToolArgs(const JobAction &JA,
+                                               ArgStringList &CmdArgs) const {
+  const Driver &D = getToolChain().getDriver();
+
+  switch (JA.getType()) {
+  // If -flto, etc. are present then make sure not to force assembly output.
+  case types::TY_LLVM_IR:
+  case types::TY_LTO_IR:
+  case types::TY_LLVM_BC:
+  case types::TY_LTO_BC:
+    CmdArgs.push_back("-c");
+    break;
+  // We assume we've got an "integrated" assembler in that gcc will produce an
+  // object file itself.
+  case types::TY_Object:
+    CmdArgs.push_back("-c");
+    break;
+  case types::TY_PP_Asm:
+    CmdArgs.push_back("-S");
+    break;
+  case types::TY_Nothing:
+    CmdArgs.push_back("-fsyntax-only");
+    break;
+  default:
+    D.Diag(diag::err_drv_invalid_gcc_output_type) << getTypeName(JA.getType());
+  }
+}
+
+void tools::gcc::Linker::RenderExtraToolArgs(const JobAction &JA,
+                                             ArgStringList &CmdArgs) const {
+  // The types are (hopefully) good enough.
+}
+
+// On Arm the endianness of the output file is determined by the target and
+// can be overridden by the pseudo-target flags '-mlittle-endian'/'-EL' and
+// '-mbig-endian'/'-EB'. Unlike other targets the flag does not result in a
+// normalized triple so we must handle the flag here.
+static bool isArmBigEndian(const llvm::Triple &Triple,
+                           const ArgList &Args) {
+  bool IsBigEndian = false;
+  switch (Triple.getArch()) {
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb:
+    IsBigEndian = true;
+    [[fallthrough]];
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+    if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
+                               options::OPT_mbig_endian))
+      IsBigEndian = !A->getOption().matches(options::OPT_mlittle_endian);
+    break;
+  default:
+    break;
+  }
+  return IsBigEndian;
+}
+
+static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
+  switch (T.getArch()) {
+  case llvm::Triple::x86:
+    if (T.isOSIAMCU())
+      return "elf_iamcu";
+    return "elf_i386";
+  case llvm::Triple::aarch64:
+    return "aarch64linux";
+  case llvm::Triple::aarch64_be:
+    return "aarch64linuxb";
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb:
+    return isArmBigEndian(T, Args) ? "armelfb_linux_eabi" : "armelf_linux_eabi";
+  case llvm::Triple::m68k:
+    return "m68kelf";
+  case llvm::Triple::ppc:
+    if (T.isOSLinux())
+      return "elf32ppclinux";
+    return "elf32ppc";
+  case llvm::Triple::ppcle:
+    if (T.isOSLinux())
+      return "elf32lppclinux";
+    return "elf32lppc";
+  case llvm::Triple::ppc64:
+    return "elf64ppc";
+  case llvm::Triple::ppc64le:
+    return "elf64lppc";
+  case llvm::Triple::riscv32:
+    return "elf32lriscv";
+  case llvm::Triple::riscv64:
+    return "elf64lriscv";
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel:
+    return "elf32_sparc";
+  case llvm::Triple::sparcv9:
+    return "elf64_sparc";
+  case llvm::Triple::loongarch32:
+    return "elf32loongarch";
+  case llvm::Triple::loongarch64:
+    return "elf64loongarch";
+  case llvm::Triple::mips:
+    return "elf32btsmip";
+  case llvm::Triple::mipsel:
+    return "elf32ltsmip";
+  case llvm::Triple::mips64:
+    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
+        T.getEnvironment() == llvm::Triple::GNUABIN32)
+      return "elf32btsmipn32";
+    return "elf64btsmip";
+  case llvm::Triple::mips64el:
+    if (tools::mips::hasMipsAbiArg(Args, "n32") ||
+        T.getEnvironment() == llvm::Triple::GNUABIN32)
+      return "elf32ltsmipn32";
+    return "elf64ltsmip";
+  case llvm::Triple::systemz:
+    return "elf64_s390";
+  case llvm::Triple::x86_64:
+    if (T.isX32())
+      return "elf32_x86_64";
+    return "elf_x86_64";
+  case llvm::Triple::ve:
+    return "elf64ve";
+  case llvm::Triple::csky:
+    return "cskyelf_linux";
+  default:
+    return nullptr;
+  }
+}
+
+static bool getPIE(const ArgList &Args, const ToolChain &TC) {
+  if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
+      Args.hasArg(options::OPT_r) || Args.hasArg(options::OPT_static_pie))
+    return false;
+
+  Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
+                           options::OPT_nopie);
+  if (!A)
+    return TC.isPIEDefault(Args);
+  return A->getOption().matches(options::OPT_pie);
+}
+
+static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
+  bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
+  // -no-pie is an alias for -nopie. So, handling -nopie takes care of
+  // -no-pie as well.
+  if (HasStaticPIE && Args.hasArg(options::OPT_nopie)) {
+    const Driver &D = TC.getDriver();
+    const llvm::opt::OptTable &Opts = D.getOpts();
+    StringRef StaticPIEName = Opts.getOptionName(options::OPT_static_pie);
+    StringRef NoPIEName = Opts.getOptionName(options::OPT_nopie);
+    D.Diag(diag::err_drv_cannot_mix_options) << StaticPIEName << NoPIEName;
+  }
+  return HasStaticPIE;
+}
+
+static bool getStatic(const ArgList &Args) {
+  return Args.hasArg(options::OPT_static) &&
+      !Args.hasArg(options::OPT_static_pie);
+}
+
+void tools::gnutools::StaticLibTool::ConstructJob(
+    Compilation &C, const JobAction &JA, const InputInfo &Output,
+    const InputInfoList &Inputs, const ArgList &Args,
+    const char *LinkingOutput) const {
+  const Driver &D = getToolChain().getDriver();
+
+  // Silence warning for "clang -g foo.o -o foo"
+  Args.ClaimAllArgs(options::OPT_g_Group);
+  // and "clang -emit-llvm foo.o -o foo"
+  Args.ClaimAllArgs(options::OPT_emit_llvm);
+  // and for "clang -w foo.o -o foo". Other warning options are already
+  // handled somewhere else.
+  Args.ClaimAllArgs(options::OPT_w);
+  // Silence warnings when linking C code with a C++ '-stdlib' argument.
+  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
+
+  // ar tool command "llvm-ar <options> <output_file> <input_files>".
+  ArgStringList CmdArgs;
+  // Create and insert file members with a deterministic index.
+  CmdArgs.push_back("rcsD");
+  CmdArgs.push_back(Output.getFilename());
+
+  for (const auto &II : Inputs) {
+    if (II.isFilename()) {
+       CmdArgs.push_back(II.getFilename());
+    }
+  }
+
+  // Delete old output archive file if it already exists before generating a new
+  // archive file.
+  auto OutputFileName = Output.getFilename();
+  if (Output.isFilename() && llvm::sys::fs::exists(OutputFileName)) {
+    if (std::error_code EC = llvm::sys::fs::remove(OutputFileName)) {
+      D.Diag(diag::err_drv_unable_to_remove_file) << EC.message();
+      return;
+    }
+  }
+
+  const char *Exec = Args.MakeArgString(getToolChain().GetStaticLibToolPath());
+  C.addCommand(std::make_unique<Command>(JA, *this,
+                                         ResponseFileSupport::AtFileCurCP(),
+                                         Exec, CmdArgs, Inputs, Output));
+}
+
+void tools::gnutools::Linker::ConstructJob(Compilation &C, const JobAction &JA,
+                                           const InputInfo &Output,
+                                           const InputInfoList &Inputs,
+                                           const ArgList &Args,
+                                           const char *LinkingOutput) const {
+  // FIXME: The Linker class constructor takes a ToolChain and not a
+  // Generic_ELF, so the static_cast might return a reference to a invalid
+  // instance (see PR45061). Ideally, the Linker constructor needs to take a
+  // Generic_ELF instead.
+  const toolchains::Generic_ELF &ToolChain =
+      static_cast<const toolchains::Generic_ELF &>(getToolChain());
+  const Driver &D = ToolChain.getDriver();
+
+  const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
+
+  const llvm::Triple::ArchType Arch = ToolChain.getArch();
+  const bool isAndroid = ToolChain.getTriple().isAndroid();
+  const bool IsIAMCU = ToolChain.getTriple().isOSIAMCU();
+  const bool IsVE = ToolChain.getTriple().isVE();
+  const bool IsPIE = getPIE(Args, ToolChain);
+  const bool IsStaticPIE = getStaticPIE(Args, ToolChain);
+  const bool IsStatic = getStatic(Args);
+  const bool HasCRTBeginEndFiles =
+      ToolChain.getTriple().hasEnvironment() ||
+      (ToolChain.getTriple().getVendor() != llvm::Triple::MipsTechnologies);
+
+  ArgStringList CmdArgs;
+
+  // Silence warning for "clang -g foo.o -o foo"
+  Args.ClaimAllArgs(options::OPT_g_Group);
+  // and "clang -emit-llvm foo.o -o foo"
+  Args.ClaimAllArgs(options::OPT_emit_llvm);
+  // and for "clang -w foo.o -o foo". Other warning options are already
+  // handled somewhere else.
+  Args.ClaimAllArgs(options::OPT_w);
+
+  if (!D.SysRoot.empty())
+    CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
+
+  if (IsPIE)
+    CmdArgs.push_back("-pie");
+
+  if (IsStaticPIE) {
+    CmdArgs.push_back("-static");
+    CmdArgs.push_back("-pie");
+    CmdArgs.push_back("--no-dynamic-linker");
+    CmdArgs.push_back("-z");
+    CmdArgs.push_back("text");
+  }
+
+  if (Args.hasArg(options::OPT_rdynamic))
+    CmdArgs.push_back("-export-dynamic");
+
+  if (Args.hasArg(options::OPT_s))
+    CmdArgs.push_back("-s");
+
+  if (Triple.isARM() || Triple.isThumb() || Triple.isAArch64()) {
+    bool IsBigEndian = isArmBigEndian(Triple, Args);
+    if (IsBigEndian)
+      arm::appendBE8LinkFlag(Args, CmdArgs, Triple);
+    IsBigEndian = IsBigEndian || Arch == llvm::Triple::aarch64_be;
+    CmdArgs.push_back(IsBigEndian ? "-EB" : "-EL");
+  }
+
+  // Most Android ARM64 targets should enable the linker fix for erratum
+  // 843419. Only non-Cortex-A53 devices are allowed to skip this flag.
+  if (Arch == llvm::Triple::aarch64 && isAndroid) {
+    std::string CPU = getCPUName(D, Args, Triple);
+    if (CPU.empty() || CPU == "generic" || CPU == "cortex-a53")
+      CmdArgs.push_back("--fix-cortex-a53-843419");
+  }
+
+  ToolChain.addExtraOpts(CmdArgs);
+
+  CmdArgs.push_back("--eh-frame-hdr");
+
+  if (const char *LDMOption = getLDMOption(ToolChain.getTriple(), Args)) {
+    CmdArgs.push_back("-m");
+    CmdArgs.push_back(LDMOption);
+  } else {
+    D.Diag(diag::err_target_unknown_triple) << Triple.str();
+    return;
+  }
+  if (Triple.isRISCV())
+    CmdArgs.push_back("-X");
+
+  if (Args.hasArg(options::OPT_shared))
+    CmdArgs.push_back("-shared");
+
+  if (IsStatic) {
+    CmdArgs.push_back("-static");
+  } else {
+    if (Args.hasArg(options::OPT_rdynamic))
+      CmdArgs.push_back("-export-dynamic");
+
+    if (!Args.hasArg(options::OPT_shared) && !IsStaticPIE &&
+        !Args.hasArg(options::OPT_r)) {
+      CmdArgs.push_back("-dynamic-linker");
+      CmdArgs.push_back(Args.MakeArgString(Twine(D.DyldPrefix) +
+                                           ToolChain.getDynamicLinker(Args)));
+    }
+  }
+
+  CmdArgs.push_back("-o");
+  CmdArgs.push_back(Output.getFilename());
+
+  if (!Args.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles,
+                   options::OPT_r)) {
+    if (!isAndroid && !IsIAMCU) {
+      const char *crt1 = nullptr;
+      if (!Args.hasArg(options::OPT_shared)) {
+        if (Args.hasArg(options::OPT_pg))
+          crt1 = "gcrt1.o";
+        else if (IsPIE)
+          crt1 = "Scrt1.o";
+        else if (IsStaticPIE)
+          crt1 = "rcrt1.o";
+        else
+          crt1 = "crt1.o";
+      }
+      if (crt1)
+        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crt1)));
+
+      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crti.o")));
+    }
+
+    if (IsVE) {
+      CmdArgs.push_back("-z");
+      CmdArgs.push_back("max-page-size=0x4000000");
+    }
+
+    if (IsIAMCU)
+      CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crt0.o")));
+    else if (HasCRTBeginEndFiles) {
+      std::string P;
+      if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
+          !isAndroid) {
+        std::string crtbegin = ToolChain.getCompilerRT(Args, "crtbegin",
+                                                       ToolChain::FT_Object);
+        if (ToolChain.getVFS().exists(crtbegin))
+          P = crtbegin;
+      }
+      if (P.empty()) {
+        const char *crtbegin;
+        if (Args.hasArg(options::OPT_shared))
+          crtbegin = isAndroid ? "crtbegin_so.o" : "crtbeginS.o";
+        else if (IsStatic)
+          crtbegin = isAndroid ? "crtbegin_static.o" : "crtbeginT.o";
+        else if (IsPIE || IsStaticPIE)
+          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbeginS.o";
+        else
+          crtbegin = isAndroid ? "crtbegin_dynamic.o" : "crtbegin.o";
+        P = ToolChain.GetFilePath(crtbegin);
+      }
+      CmdArgs.push_back(Args.MakeArgString(P));
+    }
+
+    // Add crtfastmath.o if available and fast math is enabled.
+    ToolChain.addFastMathRuntimeIfAvailable(Args, CmdArgs);
+  }
+
+  Args.AddAllArgs(CmdArgs, options::OPT_L);
+  Args.AddAllArgs(CmdArgs, options::OPT_u);
+
+  ToolChain.AddFilePathLibArgs(Args, CmdArgs);
+
+  if (D.isUsingLTO()) {
+    assert(!Inputs.empty() && "Must have at least one input.");
+    addLTOOptions(ToolChain, Args, CmdArgs, Output, Inputs[0],
+                  D.getLTOMode() == LTOK_Thin);
+  }
+
+  if (Args.hasArg(options::OPT_Z_Xlinker__no_demangle))
+    CmdArgs.push_back("--no-demangle");
+
+  bool NeedsSanitizerDeps = addSanitizerRuntimes(ToolChain, Args, CmdArgs);
+  bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);
+  addLinkerCompressDebugSectionsOption(ToolChain, Args, CmdArgs);
+  AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs, JA);
+
+  addHIPRuntimeLibArgs(ToolChain, Args, CmdArgs);
+
+  // The profile runtime also needs access to system libraries.
+  getToolChain().addProfileRTLibs(Args, CmdArgs);
+
+  if (D.CCCIsCXX() &&
+      !Args.hasArg(options::OPT_nostdlib, options::OPT_nodefaultlibs,
+                   options::OPT_r)) {
+    if (ToolChain.ShouldLinkCXXStdlib(Args)) {
+      bool OnlyLibstdcxxStatic = Args.hasArg(options::OPT_static_libstdcxx) &&
+                                 !Args.hasArg(options::OPT_static);
+      if (OnlyLibstdcxxStatic)
+        CmdArgs.push_back("-Bstatic");
+      ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
+      if (OnlyLibstdcxxStatic)
+        CmdArgs.push_back("-Bdynamic");
+    }
+    CmdArgs.push_back("-lm");
+  }
+
+  // Silence warnings when linking C code with a C++ '-stdlib' argument.
+  Args.ClaimAllArgs(options::OPT_stdlib_EQ);
+
+  // Additional linker set-up and flags for Fortran. This is required in order
+  // to generate executables. As Fortran runtime depends on the C runtime,
+  // these dependencies need to be listed before the C runtime below (i.e.
+  // AddRuntTimeLibs).
+  if (D.IsFlangMode()) {
+    addFortranRuntimeLibraryPath(ToolChain, Args, CmdArgs);
+    addFortranRuntimeLibs(ToolChain, CmdArgs);
+    CmdArgs.push_back("-lm");
+  }
+
+  if (!Args.hasArg(options::OPT_nostdlib, options::OPT_r)) {
+    if (!Args.hasArg(options::OPT_nodefaultlibs)) {
+      if (IsStatic || IsStaticPIE)
+        CmdArgs.push_back("--start-group");
+
+      if (NeedsSanitizerDeps)
+        linkSanitizerRuntimeDeps(ToolChain, CmdArgs);
+
+      if (NeedsXRayDeps)
+        linkXRayRuntimeDeps(ToolChain, CmdArgs);
+
+      bool WantPthread = Args.hasArg(options::OPT_pthread) ||
+                         Args.hasArg(options::OPT_pthreads);
+
+      // Use the static OpenMP runtime with -static-openmp
+      bool StaticOpenMP = Args.hasArg(options::OPT_static_openmp) &&
+                          !Args.hasArg(options::OPT_static);
+
+      // FIXME: Only pass GompNeedsRT = true for platforms with libgomp that
+      // require librt. Most modern Linux platforms do, but some may not.
+      if (addOpenMPRuntime(CmdArgs, ToolChain, Args, StaticOpenMP,
+                           JA.isHostOffloading(Action::OFK_OpenMP),
+                           /* GompNeedsRT= */ true))
+        // OpenMP runtimes implies pthreads when using the GNU toolchain.
+        // FIXME: Does this really make sense for all GNU toolchains?
+        WantPthread = true;
+
+      AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
+
+      // LLVM support for atomics on 32-bit SPARC V8+ is incomplete, so
+      // forcibly link with libatomic as a workaround.
+      // TODO: Issue #41880 and D118021.
+      if (getToolChain().getTriple().getArch() == llvm::Triple::sparc) {
+        CmdArgs.push_back("--push-state");
+        CmdArgs.push_back("--as-needed");
+        CmdArgs.push_back("-latomic");
+        CmdArgs.push_back("--pop-state");
+      }
+
+      if (WantPthread && !isAndroid)
+        CmdArgs.push_back("-lpthread");
+
+      if (Args.hasArg(options::OPT_fsplit_stack))
+        CmdArgs.push_back("--wrap=pthread_create");
+
+      if (!Args.hasArg(options::OPT_nolibc))
+        CmdArgs.push_back("-lc");
+
+      // Add IAMCU specific libs, if needed.
+      if (IsIAMCU)
+        CmdArgs.push_back("-lgloss");
+
+      if (IsStatic || IsStaticPIE)
+        CmdArgs.push_back("--end-group");
+      else
+        AddRunTimeLibs(ToolChain, D, CmdArgs, Args);
+
+      // Add IAMCU specific libs (outside the group), if needed.
+      if (IsIAMCU) {
+        CmdArgs.push_back("--as-needed");
+        CmdArgs.push_back("-lsoftfp");
+        CmdArgs.push_back("--no-as-needed");
+      }
+    }
+
+    if (!Args.hasArg(options::OPT_nostartfiles) && !IsIAMCU) {
+      if (HasCRTBeginEndFiles) {
+        std::string P;
+        if (ToolChain.GetRuntimeLibType(Args) == ToolChain::RLT_CompilerRT &&
+            !isAndroid) {
+          std::string crtend = ToolChain.getCompilerRT(Args, "crtend",
+                                                       ToolChain::FT_Object);
+          if (ToolChain.getVFS().exists(crtend))
+            P = crtend;
+        }
+        if (P.empty()) {
+          const char *crtend;
+          if (Args.hasArg(options::OPT_shared))
+            crtend = isAndroid ? "crtend_so.o" : "crtendS.o";
+          else if (IsPIE || IsStaticPIE)
+            crtend = isAndroid ? "crtend_android.o" : "crtendS.o";
+          else
+            crtend = isAndroid ? "crtend_android.o" : "crtend.o";
+          P = ToolChain.GetFilePath(crtend);
+        }
+        CmdArgs.push_back(Args.MakeArgString(P));
+      }
+      if (!isAndroid)
+        CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath("crtn.o")));
+    }
+  }
+
+  Args.AddAllArgs(CmdArgs, options::OPT_T);
+
+  const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath());
+  C.addCommand(std::make_unique<Command>(JA, *this,
+                                         ResponseFileSupport::AtFileCurCP(),
+                                         Exec, CmdArgs, Inputs, Output));
+}
+
+void tools::gnutools::Assembler::ConstructJob(Compilation &C,
+                                              const JobAction &JA,
+                                              const InputInfo &Output,
+                                              const InputInfoList &Inputs,
+                                              const ArgList &Args,
+                                              const char *LinkingOutput) const {
+  const auto &D = getToolChain().getDriver();
+
+  claimNoWarnArgs(Args);
+
+  ArgStringList CmdArgs;
+
+  llvm::Reloc::Model RelocationModel;
+  unsigned PICLevel;
+  bool IsPIE;
+  const char *DefaultAssembler = "as";
+  std::tie(RelocationModel, PICLevel, IsPIE) =
+      ParsePICArgs(getToolChain(), Args);
+
+  if (const Arg *A = Args.getLastArg(options::OPT_gz, options::OPT_gz_EQ)) {
+    if (A->getOption().getID() == options::OPT_gz) {
+      CmdArgs.push_back("--compress-debug-sections");
+    } else {
+      StringRef Value = A->getValue();
+      if (Value == "none" || Value == "zlib" || Value == "zstd") {
+        CmdArgs.push_back(
+            Args.MakeArgString("--compress-debug-sections=" + Twine(Value)));
+      } else {
+        D.Diag(diag::err_drv_unsupported_option_argument)
+            << A->getSpelling() << Value;
+      }
+    }
+  }
+
+  switch (getToolChain().getArch()) {
+  default:
+    break;
+  // Add --32/--64 to make sure we get the format we want.
+  // This is incomplete
+  case llvm::Triple::x86:
+    CmdArgs.push_back("--32");
+    break;
+  case llvm::Triple::x86_64:
+    if (getToolChain().getTriple().isX32())
+      CmdArgs.push_back("--x32");
+    else
+      CmdArgs.push_back("--64");
+    break;
+  case llvm::Triple::ppc: {
+    CmdArgs.push_back("-a32");
+    CmdArgs.push_back("-mppc");
+    CmdArgs.push_back("-mbig-endian");
+    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
+        getCPUName(D, Args, getToolChain().getTriple())));
+    break;
+  }
+  case llvm::Triple::ppcle: {
+    CmdArgs.push_back("-a32");
+    CmdArgs.push_back("-mppc");
+    CmdArgs.push_back("-mlittle-endian");
+    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
+        getCPUName(D, Args, getToolChain().getTriple())));
+    break;
+  }
+  case llvm::Triple::ppc64: {
+    CmdArgs.push_back("-a64");
+    CmdArgs.push_back("-mppc64");
+    CmdArgs.push_back("-mbig-endian");
+    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
+        getCPUName(D, Args, getToolChain().getTriple())));
+    break;
+  }
+  case llvm::Triple::ppc64le: {
+    CmdArgs.push_back("-a64");
+    CmdArgs.push_back("-mppc64");
+    CmdArgs.push_back("-mlittle-endian");
+    CmdArgs.push_back(ppc::getPPCAsmModeForCPU(
+        getCPUName(D, Args, getToolChain().getTriple())));
+    break;
+  }
+  case llvm::Triple::riscv32:
+  case llvm::Triple::riscv64: {
+    StringRef ABIName = riscv::getRISCVABI(Args, getToolChain().getTriple());
+    CmdArgs.push_back("-mabi");
+    CmdArgs.push_back(ABIName.data());
+    StringRef MArchName = riscv::getRISCVArch(Args, getToolChain().getTriple());
+    CmdArgs.push_back("-march");
+    CmdArgs.push_back(MArchName.data());
+    if (!Args.hasFlag(options::OPT_mrelax, options::OPT_mno_relax, true))
+      Args.addOptOutFlag(CmdArgs, options::OPT_mrelax, options::OPT_mno_relax);
+    break;
+  }
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel: {
+    CmdArgs.push_back("-32");
+    std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
+    CmdArgs.push_back(
+        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
+    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
+    break;
+  }
+  case llvm::Triple::sparcv9: {
+    CmdArgs.push_back("-64");
+    std::string CPU = getCPUName(D, Args, getToolChain().getTriple());
+    CmdArgs.push_back(
+        sparc::getSparcAsmModeForCPU(CPU, getToolChain().getTriple()));
+    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
+    break;
+  }
+  case llvm::Triple::arm:
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumb:
+  case llvm::Triple::thumbeb: {
+    const llvm::Triple &Triple2 = getToolChain().getTriple();
+    CmdArgs.push_back(isArmBigEndian(Triple2, Args) ? "-EB" : "-EL");
+    switch (Triple2.getSubArch()) {
+    case llvm::Triple::ARMSubArch_v7:
+      CmdArgs.push_back("-mfpu=neon");
+      break;
+    case llvm::Triple::ARMSubArch_v8:
+      CmdArgs.push_back("-mfpu=crypto-neon-fp-armv8");
+      break;
+    default:
+      break;
+    }
+
+    switch (arm::getARMFloatABI(getToolChain(), Args)) {
+    case arm::FloatABI::Invalid: llvm_unreachable("must have an ABI!");
+    case arm::FloatABI::Soft:
+      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=soft"));
+      break;
+    case arm::FloatABI::SoftFP:
+      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=softfp"));
+      break;
+    case arm::FloatABI::Hard:
+      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=hard"));
+      break;
+    }
+
+    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
+    normalizeCPUNamesForAssembler(Args, CmdArgs);
+
+    Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);
+    break;
+  }
+  case llvm::Triple::aarch64:
+  case llvm::Triple::aarch64_be: {
+    CmdArgs.push_back(
+        getToolChain().getArch() == llvm::Triple::aarch64_be ? "-EB" : "-EL");
+    Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
+    normalizeCPUNamesForAssembler(Args, CmdArgs);
+
+    break;
+  }
+  case llvm::Triple::mips:
+  case llvm::Triple::mipsel:
+  case llvm::Triple::mips64:
+  case llvm::Triple::mips64el: {
+    StringRef CPUName;
+    StringRef ABIName;
+    mips::getMipsCPUAndABI(Args, getToolChain().getTriple(), CPUName, ABIName);
+    ABIName = mips::getGnuCompatibleMipsABIName(ABIName);
+
+    CmdArgs.push_back("-march");
+    CmdArgs.push_back(CPUName.data());
+
+    CmdArgs.push_back("-mabi");
+    CmdArgs.push_back(ABIName.data());
+
+    // -mno-shared should be emitted unless -fpic, -fpie, -fPIC, -fPIE,
+    // or -mshared (not implemented) is in effect.
+    if (RelocationModel == llvm::Reloc::Static)
+      CmdArgs.push_back("-mno-shared");
+
+    // LLVM doesn't support -mplt yet and acts as if it is always given.
+    // However, -mplt has no effect with the N64 ABI.
+    if (ABIName != "64" && !Args.hasArg(options::OPT_mno_abicalls))
+      CmdArgs.push_back("-call_nonpic");
+
+    if (getToolChain().getTriple().isLittleEndian())
+      CmdArgs.push_back("-EL");
+    else
+      CmdArgs.push_back("-EB");
+
+    if (Arg *A = Args.getLastArg(options::OPT_mnan_EQ)) {
+      if (StringRef(A->getValue()) == "2008")
+        CmdArgs.push_back(Args.MakeArgString("-mnan=2008"));
+    }
+
+    // Add the last -mfp32/-mfpxx/-mfp64 or -mfpxx if it is enabled by default.
+    if (Arg *A = Args.getLastArg(options::OPT_mfp32, options::OPT_mfpxx,
+                                 options::OPT_mfp64)) {
+      A->claim();
+      A->render(Args, CmdArgs);
+    } else if (mips::shouldUseFPXX(
+                   Args, getToolChain().getTriple(), CPUName, ABIName,
+                   mips::getMipsFloatABI(getToolChain().getDriver(), Args,
+                                         getToolChain().getTriple())))
+      CmdArgs.push_back("-mfpxx");
+
+    // Pass on -mmips16 or -mno-mips16. However, the assembler equivalent of
+    // -mno-mips16 is actually -no-mips16.
+    if (Arg *A =
+            Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16)) {
+      if (A->getOption().matches(options::OPT_mips16)) {
+        A->claim();
+        A->render(Args, CmdArgs);
+      } else {
+        A->claim();
+        CmdArgs.push_back("-no-mips16");
+      }
+    }
+
+    Args.AddLastArg(CmdArgs, options::OPT_mmicromips,
+                    options::OPT_mno_micromips);
+    Args.AddLastArg(CmdArgs, options::OPT_mdsp, options::OPT_mno_dsp);
+    Args.AddLastArg(CmdArgs, options::OPT_mdspr2, options::OPT_mno_dspr2);
+
+    if (Arg *A = Args.getLastArg(options::OPT_mmsa, options::OPT_mno_msa)) {
+      // Do not use AddLastArg because not all versions of MIPS assembler
+      // support -mmsa / -mno-msa options.
+      if (A->getOption().matches(options::OPT_mmsa))
+        CmdArgs.push_back(Args.MakeArgString("-mmsa"));
+    }
+
+    Args.AddLastArg(CmdArgs, options::OPT_mhard_float,
+                    options::OPT_msoft_float);
+
+    Args.AddLastArg(CmdArgs, options::OPT_mdouble_float,
+                    options::OPT_msingle_float);
+
+    Args.AddLastArg(CmdArgs, options::OPT_modd_spreg,
+                    options::OPT_mno_odd_spreg);
+
+    AddAssemblerKPIC(getToolChain(), Args, CmdArgs);
+    break;
+  }
+  case llvm::Triple::systemz: {
+    // Always pass an -march option, since our default of z10 is later
+    // than the GNU assembler's default.
+    std::string CPUName = systemz::getSystemZTargetCPU(Args);
+    CmdArgs.push_back(Args.MakeArgString("-march=" + CPUName));
+    break;
+  }
+  case llvm::Triple::ve:
+    DefaultAssembler = "nas";
+  }
+
+  for (const Arg *A : Args.filtered(options::OPT_ffile_prefix_map_EQ,
+                                    options::OPT_fdebug_prefix_map_EQ)) {
+    StringRef Map = A->getValue();
+    if (!Map.contains('='))
+      D.Diag(diag::err_drv_invalid_argument_to_option)
+          << Map << A->getOption().getName();
+    else {
+      CmdArgs.push_back(Args.MakeArgString("--debug-prefix-map"));
+      CmdArgs.push_back(Args.MakeArgString(Map));
+    }
+    A->claim();
+  }
+
+  Args.AddAllArgs(CmdArgs, options::OPT_I);
+  Args.AddAllArgValues(CmdArgs, options::OPT_Wa_COMMA, options::OPT_Xassembler);
+
+  CmdArgs.push_back("-o");
+  CmdArgs.push_back(Output.getFilename());
+
+  for (const auto &II : Inputs)
+    CmdArgs.push_back(II.getFilename());
+
+  if (Arg *A = Args.getLastArg(options::OPT_g_Flag, options::OPT_gN_Group,
+                               options::OPT_gdwarf_2, options::OPT_gdwarf_3,
+                               options::OPT_gdwarf_4, options::OPT_gdwarf_5,
+                               options::OPT_gdwarf))
+    if (!A->getOption().matches(options::OPT_g0)) {
+      Args.AddLastArg(CmdArgs, options::OPT_g_Flag);
+
+      unsigned DwarfVersion = getDwarfVersion(getToolChain(), Args);
+      CmdArgs.push_back(Args.MakeArgString("-gdwarf-" + Twine(DwarfVersion)));
+    }
+
+  const char *Exec =
+      Args.MakeArgString(getToolChain().GetProgramPath(DefaultAssembler));
+  C.addCommand(std::make_unique<Command>(JA, *this,
+                                         ResponseFileSupport::AtFileCurCP(),
+                                         Exec, CmdArgs, Inputs, Output));
+
+  // Handle the debug info splitting at object creation time if we're
+  // creating an object.
+  // TODO: Currently only works on linux with newer objcopy.
+  if (Args.hasArg(options::OPT_gsplit_dwarf) &&
+      getToolChain().getTriple().isOSLinux())
+    SplitDebugInfo(getToolChain(), C, *this, JA, Args, Output,
+                   SplitDebugName(JA, Args, Inputs[0], Output));
+}
+
+namespace {
+// Filter to remove Multilibs that don't exist as a suffix to Path
+class FilterNonExistent {
+  StringRef Base, File;
+  llvm::vfs::FileSystem &VFS;
+
+public:
+  FilterNonExistent(StringRef Base, StringRef File, llvm::vfs::FileSystem &VFS)
+      : Base(Base), File(File), VFS(VFS) {}
+  bool operator()(const Multilib &M) {
+    return !VFS.exists(Base + M.gccSuffix() + File);
+  }
+};
+} // end anonymous namespace
+
+static bool isSoftFloatABI(const ArgList &Args) {
+  Arg *A = Args.getLastArg(options::OPT_msoft_float, options::OPT_mhard_float,
+                           options::OPT_mfloat_abi_EQ);
+  if (!A)
+    return false;
+
+  return A->getOption().matches(options::OPT_msoft_float) ||
+         (A->getOption().matches(options::OPT_mfloat_abi_EQ) &&
+          A->getValue() == StringRef("soft"));
+}
+
+static bool isArmOrThumbArch(llvm::Triple::ArchType Arch) {
+  return Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb;
+}
+
+static bool isMipsEL(llvm::Triple::ArchType Arch) {
+  return Arch == llvm::Triple::mipsel || Arch == llvm::Triple::mips64el;
+}
+
+static bool isMips16(const ArgList &Args) {
+  Arg *A = Args.getLastArg(options::OPT_mips16, options::OPT_mno_mips16);
+  return A && A->getOption().matches(options::OPT_mips16);
+}
+
+static bool isMicroMips(const ArgList &Args) {
+  Arg *A = Args.getLastArg(options::OPT_mmicromips, options::OPT_mno_micromips);
+  return A && A->getOption().matches(options::OPT_mmicromips);
+}
+
+static bool isMSP430(llvm::Triple::ArchType Arch) {
+  return Arch == llvm::Triple::msp430;
+}
+
+static Multilib makeMultilib(StringRef commonSuffix) {
+  return Multilib(commonSuffix, commonSuffix, commonSuffix);
+}
+
+static bool findMipsCsMultilibs(const Multilib::flags_list &Flags,
+                                FilterNonExistent &NonExistent,
+                                DetectedMultilibs &Result) {
+  // Check for Code Sourcery toolchain multilibs
+  MultilibSet CSMipsMultilibs;
+  {
+    auto MArchMips16 = makeMultilib("/mips16").flag("+m32").flag("+mips16");
+
+    auto MArchMicroMips =
+        makeMultilib("/micromips").flag("+m32").flag("+mmicromips");
+
+    auto MArchDefault = makeMultilib("").flag("-mips16").flag("-mmicromips");
+
+    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
+
+    auto SoftFloat = makeMultilib("/soft-float").flag("+msoft-float");
+
+    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
+
+    auto DefaultFloat =
+        makeMultilib("").flag("-msoft-float").flag("-mnan=2008");
+
+    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
+
+    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
+
+    // Note that this one's osSuffix is ""
+    auto MAbi64 = makeMultilib("")
+                      .gccSuffix("/64")
+                      .includeSuffix("/64")
+                      .flag("+mabi=n64")
+                      .flag("-mabi=n32")
+                      .flag("-m32");
+
+    CSMipsMultilibs =
+        MultilibSet()
+            .Either(MArchMips16, MArchMicroMips, MArchDefault)
+            .Maybe(UCLibc)
+            .Either(SoftFloat, Nan2008, DefaultFloat)
+            .FilterOut("/micromips/nan2008")
+            .FilterOut("/mips16/nan2008")
+            .Either(BigEndian, LittleEndian)
+            .Maybe(MAbi64)
+            .FilterOut("/mips16.*/64")
+            .FilterOut("/micromips.*/64")
+            .FilterOut(NonExistent)
+            .setIncludeDirsCallback([](const Multilib &M) {
+              std::vector<std::string> Dirs({"/include"});
+              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
+                Dirs.push_back(
+                    "/../../../../mips-linux-gnu/libc/uclibc/usr/include");
+              else
+                Dirs.push_back("/../../../../mips-linux-gnu/libc/usr/include");
+              return Dirs;
+            });
+  }
+
+  MultilibSet DebianMipsMultilibs;
+  {
+    Multilib MAbiN32 =
+        Multilib().gccSuffix("/n32").includeSuffix("/n32").flag("+mabi=n32");
+
+    Multilib M64 = Multilib()
+                       .gccSuffix("/64")
+                       .includeSuffix("/64")
+                       .flag("+m64")
+                       .flag("-m32")
+                       .flag("-mabi=n32");
+
+    Multilib M32 =
+        Multilib().gccSuffix("/32").flag("-m64").flag("+m32").flag("-mabi=n32");
+
+    DebianMipsMultilibs =
+        MultilibSet().Either(M32, M64, MAbiN32).FilterOut(NonExistent);
+  }
+
+  // Sort candidates. Toolchain that best meets the directories tree goes first.
+  // Then select the first toolchains matches command line flags.
+  MultilibSet *Candidates[] = {&CSMipsMultilibs, &DebianMipsMultilibs};
+  if (CSMipsMultilibs.size() < DebianMipsMultilibs.size())
+    std::iter_swap(Candidates, Candidates + 1);
+  for (const MultilibSet *Candidate : Candidates) {
+    if (Candidate->select(Flags, Result.SelectedMultilib)) {
+      if (Candidate == &DebianMipsMultilibs)
+        Result.BiarchSibling = Multilib();
+      Result.Multilibs = *Candidate;
+      return true;
+    }
+  }
+  return false;
+}
+
+static bool findMipsAndroidMultilibs(llvm::vfs::FileSystem &VFS, StringRef Path,
+                                     const Multilib::flags_list &Flags,
+                                     FilterNonExistent &NonExistent,
+                                     DetectedMultilibs &Result) {
+
+  MultilibSet AndroidMipsMultilibs =
+      MultilibSet()
+          .Maybe(Multilib("/mips-r2").flag("+march=mips32r2"))
+          .Maybe(Multilib("/mips-r6").flag("+march=mips32r6"))
+          .FilterOut(NonExistent);
+
+  MultilibSet AndroidMipselMultilibs =
+      MultilibSet()
+          .Either(Multilib().flag("+march=mips32"),
+                  Multilib("/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
+                  Multilib("/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
+          .FilterOut(NonExistent);
+
+  MultilibSet AndroidMips64elMultilibs =
+      MultilibSet()
+          .Either(
+              Multilib().flag("+march=mips64r6"),
+              Multilib("/32/mips-r1", "", "/mips-r1").flag("+march=mips32"),
+              Multilib("/32/mips-r2", "", "/mips-r2").flag("+march=mips32r2"),
+              Multilib("/32/mips-r6", "", "/mips-r6").flag("+march=mips32r6"))
+          .FilterOut(NonExistent);
+
+  MultilibSet *MS = &AndroidMipsMultilibs;
+  if (VFS.exists(Path + "/mips-r6"))
+    MS = &AndroidMipselMultilibs;
+  else if (VFS.exists(Path + "/32"))
+    MS = &AndroidMips64elMultilibs;
+  if (MS->select(Flags, Result.SelectedMultilib)) {
+    Result.Multilibs = *MS;
+    return true;
+  }
+  return false;
+}
+
+static bool findMipsMuslMultilibs(const Multilib::flags_list &Flags,
+                                  FilterNonExistent &NonExistent,
+                                  DetectedMultilibs &Result) {
+  // Musl toolchain multilibs
+  MultilibSet MuslMipsMultilibs;
+  {
+    auto MArchMipsR2 = makeMultilib("")
+                           .osSuffix("/mips-r2-hard-musl")
+                           .flag("+EB")
+                           .flag("-EL")
+                           .flag("+march=mips32r2");
+
+    auto MArchMipselR2 = makeMultilib("/mipsel-r2-hard-musl")
+                             .flag("-EB")
+                             .flag("+EL")
+                             .flag("+march=mips32r2");
+
+    MuslMipsMultilibs = MultilibSet().Either(MArchMipsR2, MArchMipselR2);
+
+    // Specify the callback that computes the include directories.
+    MuslMipsMultilibs.setIncludeDirsCallback([](const Multilib &M) {
+      return std::vector<std::string>(
+          {"/../sysroot" + M.osSuffix() + "/usr/include"});
+    });
+  }
+  if (MuslMipsMultilibs.select(Flags, Result.SelectedMultilib)) {
+    Result.Multilibs = MuslMipsMultilibs;
+    return true;
+  }
+  return false;
+}
+
+static bool findMipsMtiMultilibs(const Multilib::flags_list &Flags,
+                                 FilterNonExistent &NonExistent,
+                                 DetectedMultilibs &Result) {
+  // CodeScape MTI toolchain v1.2 and early.
+  MultilibSet MtiMipsMultilibsV1;
+  {
+    auto MArchMips32 = makeMultilib("/mips32")
+                           .flag("+m32")
+                           .flag("-m64")
+                           .flag("-mmicromips")
+                           .flag("+march=mips32");
+
+    auto MArchMicroMips = makeMultilib("/micromips")
+                              .flag("+m32")
+                              .flag("-m64")
+                              .flag("+mmicromips");
+
+    auto MArchMips64r2 = makeMultilib("/mips64r2")
+                             .flag("-m32")
+                             .flag("+m64")
+                             .flag("+march=mips64r2");
+
+    auto MArchMips64 = makeMultilib("/mips64").flag("-m32").flag("+m64").flag(
+        "-march=mips64r2");
+
+    auto MArchDefault = makeMultilib("")
+                            .flag("+m32")
+                            .flag("-m64")
+                            .flag("-mmicromips")
+                            .flag("+march=mips32r2");
+
+    auto Mips16 = makeMultilib("/mips16").flag("+mips16");
+
+    auto UCLibc = makeMultilib("/uclibc").flag("+muclibc");
+
+    auto MAbi64 =
+        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
+
+    auto BigEndian = makeMultilib("").flag("+EB").flag("-EL");
+
+    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
+
+    auto SoftFloat = makeMultilib("/sof").flag("+msoft-float");
+
+    auto Nan2008 = makeMultilib("/nan2008").flag("+mnan=2008");
+
+    MtiMipsMultilibsV1 =
+        MultilibSet()
+            .Either(MArchMips32, MArchMicroMips, MArchMips64r2, MArchMips64,
+                    MArchDefault)
+            .Maybe(UCLibc)
+            .Maybe(Mips16)
+            .FilterOut("/mips64/mips16")
+            .FilterOut("/mips64r2/mips16")
+            .FilterOut("/micromips/mips16")
+            .Maybe(MAbi64)
+            .FilterOut("/micromips/64")
+            .FilterOut("/mips32/64")
+            .FilterOut("^/64")
+            .FilterOut("/mips16/64")
+            .Either(BigEndian, LittleEndian)
+            .Maybe(SoftFloat)
+            .Maybe(Nan2008)
+            .FilterOut(".*sof/nan2008")
+            .FilterOut(NonExistent)
+            .setIncludeDirsCallback([](const Multilib &M) {
+              std::vector<std::string> Dirs({"/include"});
+              if (StringRef(M.includeSuffix()).startswith("/uclibc"))
+                Dirs.push_back("/../../../../sysroot/uclibc/usr/include");
+              else
+                Dirs.push_back("/../../../../sysroot/usr/include");
+              return Dirs;
+            });
+  }
+
+  // CodeScape IMG toolchain starting from v1.3.
+  MultilibSet MtiMipsMultilibsV2;
+  {
+    auto BeHard = makeMultilib("/mips-r2-hard")
+                      .flag("+EB")
+                      .flag("-msoft-float")
+                      .flag("-mnan=2008")
+                      .flag("-muclibc");
+    auto BeSoft = makeMultilib("/mips-r2-soft")
+                      .flag("+EB")
+                      .flag("+msoft-float")
+                      .flag("-mnan=2008");
+    auto ElHard = makeMultilib("/mipsel-r2-hard")
+                      .flag("+EL")
+                      .flag("-msoft-float")
+                      .flag("-mnan=2008")
+                      .flag("-muclibc");
+    auto ElSoft = makeMultilib("/mipsel-r2-soft")
+                      .flag("+EL")
+                      .flag("+msoft-float")
+                      .flag("-mnan=2008")
+                      .flag("-mmicromips");
+    auto BeHardNan = makeMultilib("/mips-r2-hard-nan2008")
+                         .flag("+EB")
+                         .flag("-msoft-float")
+                         .flag("+mnan=2008")
+                         .flag("-muclibc");
+    auto ElHardNan = makeMultilib("/mipsel-r2-hard-nan2008")
+                         .flag("+EL")
+                         .flag("-msoft-float")
+                         .flag("+mnan=2008")
+                         .flag("-muclibc")
+                         .flag("-mmicromips");
+    auto BeHardNanUclibc = makeMultilib("/mips-r2-hard-nan2008-uclibc")
+                               .flag("+EB")
+                               .flag("-msoft-float")
+                               .flag("+mnan=2008")
+                               .flag("+muclibc");
+    auto ElHardNanUclibc = makeMultilib("/mipsel-r2-hard-nan2008-uclibc")
+                               .flag("+EL")
+                               .flag("-msoft-float")
+                               .flag("+mnan=2008")
+                               .flag("+muclibc");
+    auto BeHardUclibc = makeMultilib("/mips-r2-hard-uclibc")
+                            .flag("+EB")
+                            .flag("-msoft-float")
+                            .flag("-mnan=2008")
+                            .flag("+muclibc");
+    auto ElHardUclibc = makeMultilib("/mipsel-r2-hard-uclibc")
+                            .flag("+EL")
+                            .flag("-msoft-float")
+                            .flag("-mnan=2008")
+                            .flag("+muclibc");
+    auto ElMicroHardNan = makeMultilib("/micromipsel-r2-hard-nan2008")
+                              .flag("+EL")
+                              .flag("-msoft-float")
+                              .flag("+mnan=2008")
+                              .flag("+mmicromips");
+    auto ElMicroSoft = makeMultilib("/micromipsel-r2-soft")
+                           .flag("+EL")
+                           .flag("+msoft-float")
+                           .flag("-mnan=2008")
+                           .flag("+mmicromips");
+
+    auto O32 =
+        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
+    auto N32 =
+        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
+    auto N64 =
+        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
+
+    MtiMipsMultilibsV2 =
+        MultilibSet()
+            .Either({BeHard, BeSoft, ElHard, ElSoft, BeHardNan, ElHardNan,
+                     BeHardNanUclibc, ElHardNanUclibc, BeHardUclibc,
+                     ElHardUclibc, ElMicroHardNan, ElMicroSoft})
+            .Either(O32, N32, N64)
+            .FilterOut(NonExistent)
+            .setIncludeDirsCallback([](const Multilib &M) {
+              return std::vector<std::string>({"/../../../../sysroot" +
+                                               M.includeSuffix() +
+                                               "/../usr/include"});
+            })
+            .setFilePathsCallback([](const Multilib &M) {
+              return std::vector<std::string>(
+                  {"/../../../../mips-mti-linux-gnu/lib" + M.gccSuffix()});
+            });
+  }
+  for (auto *Candidate : {&MtiMipsMultilibsV1, &MtiMipsMultilibsV2}) {
+    if (Candidate->select(Flags, Result.SelectedMultilib)) {
+      Result.Multilibs = *Candidate;
+      return true;
+    }
+  }
+  return false;
+}
+
+static bool findMipsImgMultilibs(const Multilib::flags_list &Flags,
+                                 FilterNonExistent &NonExistent,
+                                 DetectedMultilibs &Result) {
+  // CodeScape IMG toolchain v1.2 and early.
+  MultilibSet ImgMultilibsV1;
+  {
+    auto Mips64r6 = makeMultilib("/mips64r6").flag("+m64").flag("-m32");
+
+    auto LittleEndian = makeMultilib("/el").flag("+EL").flag("-EB");
+
+    auto MAbi64 =
+        makeMultilib("/64").flag("+mabi=n64").flag("-mabi=n32").flag("-m32");
+
+    ImgMultilibsV1 =
+        MultilibSet()
+            .Maybe(Mips64r6)
+            .Maybe(MAbi64)
+            .Maybe(LittleEndian)
+            .FilterOut(NonExistent)
+            .setIncludeDirsCallback([](const Multilib &M) {
+              return std::vector<std::string>(
+                  {"/include", "/../../../../sysroot/usr/include"});
+            });
+  }
+
+  // CodeScape IMG toolchain starting from v1.3.
+  MultilibSet ImgMultilibsV2;
+  {
+    auto BeHard = makeMultilib("/mips-r6-hard")
+                      .flag("+EB")
+                      .flag("-msoft-float")
+                      .flag("-mmicromips");
+    auto BeSoft = makeMultilib("/mips-r6-soft")
+                      .flag("+EB")
+                      .flag("+msoft-float")
+                      .flag("-mmicromips");
+    auto ElHard = makeMultilib("/mipsel-r6-hard")
+                      .flag("+EL")
+                      .flag("-msoft-float")
+                      .flag("-mmicromips");
+    auto ElSoft = makeMultilib("/mipsel-r6-soft")
+                      .flag("+EL")
+                      .flag("+msoft-float")
+                      .flag("-mmicromips");
+    auto BeMicroHard = makeMultilib("/micromips-r6-hard")
+                           .flag("+EB")
+                           .flag("-msoft-float")
+                           .flag("+mmicromips");
+    auto BeMicroSoft = makeMultilib("/micromips-r6-soft")
+                           .flag("+EB")
+                           .flag("+msoft-float")
+                           .flag("+mmicromips");
+    auto ElMicroHard = makeMultilib("/micromipsel-r6-hard")
+                           .flag("+EL")
+                           .flag("-msoft-float")
+                           .flag("+mmicromips");
+    auto ElMicroSoft = makeMultilib("/micromipsel-r6-soft")
+                           .flag("+EL")
+                           .flag("+msoft-float")
+                           .flag("+mmicromips");
+
+    auto O32 =
+        makeMultilib("/lib").osSuffix("").flag("-mabi=n32").flag("-mabi=n64");
+    auto N32 =
+        makeMultilib("/lib32").osSuffix("").flag("+mabi=n32").flag("-mabi=n64");
+    auto N64 =
+        makeMultilib("/lib64").osSuffix("").flag("-mabi=n32").flag("+mabi=n64");
+
+    ImgMultilibsV2 =
+        MultilibSet()
+            .Either({BeHard, BeSoft, ElHard, ElSoft, BeMicroHard, BeMicroSoft,
+                     ElMicroHard, ElMicroSoft})
+            .Either(O32, N32, N64)
+            .FilterOut(NonExistent)
+            .setIncludeDirsCallback([](const Multilib &M) {
+              return std::vector<std::string>({"/../../../../sysroot" +
+                                               M.includeSuffix() +
+                                               "/../usr/include"});
+            })
+            .setFilePathsCallback([](const Multilib &M) {
+              return std::vector<std::string>(
+                  {"/../../../../mips-img-linux-gnu/lib" + M.gccSuffix()});
+            });
+  }
+  for (auto *Candidate : {&ImgMultilibsV1, &ImgMultilibsV2}) {
+    if (Candidate->select(Flags, Result.SelectedMultilib)) {
+      Result.Multilibs = *Candidate;
+      return true;
+    }
+  }
+  return false;
+}
+
+bool clang::driver::findMIPSMultilibs(const Driver &D,
+                                      const llvm::Triple &TargetTriple,
+                                      StringRef Path, const ArgList &Args,
+                                      DetectedMultilibs &Result) {
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+
+  StringRef CPUName;
+  StringRef ABIName;
+  tools::mips::getMipsCPUAndABI(Args, TargetTriple, CPUName, ABIName);
+
+  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
+
+  Multilib::flags_list Flags;
+  addMultilibFlag(TargetTriple.isMIPS32(), "m32", Flags);
+  addMultilibFlag(TargetTriple.isMIPS64(), "m64", Flags);
+  addMultilibFlag(isMips16(Args), "mips16", Flags);
+  addMultilibFlag(CPUName == "mips32", "march=mips32", Flags);
+  addMultilibFlag(CPUName == "mips32r2" || CPUName == "mips32r3" ||
+                      CPUName == "mips32r5" || CPUName == "p5600",
+                  "march=mips32r2", Flags);
+  addMultilibFlag(CPUName == "mips32r6", "march=mips32r6", Flags);
+  addMultilibFlag(CPUName == "mips64", "march=mips64", Flags);
+  addMultilibFlag(CPUName == "mips64r2" || CPUName == "mips64r3" ||
+                      CPUName == "mips64r5" || CPUName == "octeon" ||
+                      CPUName == "octeon+",
+                  "march=mips64r2", Flags);
+  addMultilibFlag(CPUName == "mips64r6", "march=mips64r6", Flags);
+  addMultilibFlag(isMicroMips(Args), "mmicromips", Flags);
+  addMultilibFlag(tools::mips::isUCLibc(Args), "muclibc", Flags);
+  addMultilibFlag(tools::mips::isNaN2008(D, Args, TargetTriple), "mnan=2008",
+                  Flags);
+  addMultilibFlag(ABIName == "n32", "mabi=n32", Flags);
+  addMultilibFlag(ABIName == "n64", "mabi=n64", Flags);
+  addMultilibFlag(isSoftFloatABI(Args), "msoft-float", Flags);
+  addMultilibFlag(!isSoftFloatABI(Args), "mhard-float", Flags);
+  addMultilibFlag(isMipsEL(TargetArch), "EL", Flags);
+  addMultilibFlag(!isMipsEL(TargetArch), "EB", Flags);
+
+  if (TargetTriple.isAndroid())
+    return findMipsAndroidMultilibs(D.getVFS(), Path, Flags, NonExistent,
+                                    Result);
+
+  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
+      TargetTriple.getOS() == llvm::Triple::Linux &&
+      TargetTriple.getEnvironment() == llvm::Triple::UnknownEnvironment)
+    return findMipsMuslMultilibs(Flags, NonExistent, Result);
+
+  if (TargetTriple.getVendor() == llvm::Triple::MipsTechnologies &&
+      TargetTriple.getOS() == llvm::Triple::Linux &&
+      TargetTriple.isGNUEnvironment())
+    return findMipsMtiMultilibs(Flags, NonExistent, Result);
+
+  if (TargetTriple.getVendor() == llvm::Triple::ImaginationTechnologies &&
+      TargetTriple.getOS() == llvm::Triple::Linux &&
+      TargetTriple.isGNUEnvironment())
+    return findMipsImgMultilibs(Flags, NonExistent, Result);
+
+  if (findMipsCsMultilibs(Flags, NonExistent, Result))
+    return true;
+
+  // Fallback to the regular toolchain-tree structure.
+  Multilib Default;
+  Result.Multilibs.push_back(Default);
+  Result.Multilibs.FilterOut(NonExistent);
+
+  if (Result.Multilibs.select(Flags, Result.SelectedMultilib)) {
+    Result.BiarchSibling = Multilib();
+    return true;
+  }
+
+  return false;
+}
+
+static void findAndroidArmMultilibs(const Driver &D,
+                                    const llvm::Triple &TargetTriple,
+                                    StringRef Path, const ArgList &Args,
+                                    DetectedMultilibs &Result) {
+  // Find multilibs with subdirectories like armv7-a, thumb, armv7-a/thumb.
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+  Multilib ArmV7Multilib = makeMultilib("/armv7-a")
+                               .flag("+march=armv7-a")
+                               .flag("-mthumb");
+  Multilib ThumbMultilib = makeMultilib("/thumb")
+                               .flag("-march=armv7-a")
+                               .flag("+mthumb");
+  Multilib ArmV7ThumbMultilib = makeMultilib("/armv7-a/thumb")
+                               .flag("+march=armv7-a")
+                               .flag("+mthumb");
+  Multilib DefaultMultilib = makeMultilib("")
+                               .flag("-march=armv7-a")
+                               .flag("-mthumb");
+  MultilibSet AndroidArmMultilibs =
+      MultilibSet()
+          .Either(ThumbMultilib, ArmV7Multilib,
+                  ArmV7ThumbMultilib, DefaultMultilib)
+          .FilterOut(NonExistent);
+
+  Multilib::flags_list Flags;
+  llvm::StringRef Arch = Args.getLastArgValue(options::OPT_march_EQ);
+  bool IsArmArch = TargetTriple.getArch() == llvm::Triple::arm;
+  bool IsThumbArch = TargetTriple.getArch() == llvm::Triple::thumb;
+  bool IsV7SubArch = TargetTriple.getSubArch() == llvm::Triple::ARMSubArch_v7;
+  bool IsThumbMode = IsThumbArch ||
+      Args.hasFlag(options::OPT_mthumb, options::OPT_mno_thumb, false) ||
+      (IsArmArch && llvm::ARM::parseArchISA(Arch) == llvm::ARM::ISAKind::THUMB);
+  bool IsArmV7Mode = (IsArmArch || IsThumbArch) &&
+      (llvm::ARM::parseArchVersion(Arch) == 7 ||
+       (IsArmArch && Arch == "" && IsV7SubArch));
+  addMultilibFlag(IsArmV7Mode, "march=armv7-a", Flags);
+  addMultilibFlag(IsThumbMode, "mthumb", Flags);
+
+  if (AndroidArmMultilibs.select(Flags, Result.SelectedMultilib))
+    Result.Multilibs = AndroidArmMultilibs;
+}
+
+static bool findMSP430Multilibs(const Driver &D,
+                                const llvm::Triple &TargetTriple,
+                                StringRef Path, const ArgList &Args,
+                                DetectedMultilibs &Result) {
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+  Multilib WithoutExceptions = makeMultilib("/430").flag("-exceptions");
+  Multilib WithExceptions = makeMultilib("/430/exceptions").flag("+exceptions");
+
+  // FIXME: when clang starts to support msp430x ISA additional logic
+  // to select between multilib must be implemented
+  // Multilib MSP430xMultilib = makeMultilib("/large");
+
+  Result.Multilibs.push_back(WithoutExceptions);
+  Result.Multilibs.push_back(WithExceptions);
+  Result.Multilibs.FilterOut(NonExistent);
+
+  Multilib::flags_list Flags;
+  addMultilibFlag(Args.hasFlag(options::OPT_fexceptions,
+                               options::OPT_fno_exceptions, false),
+                  "exceptions", Flags);
+  if (Result.Multilibs.select(Flags, Result.SelectedMultilib))
+    return true;
+
+  return false;
+}
+
+static void findCSKYMultilibs(const Driver &D, const llvm::Triple &TargetTriple,
+                              StringRef Path, const ArgList &Args,
+                              DetectedMultilibs &Result) {
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+
+  tools::csky::FloatABI TheFloatABI = tools::csky::getCSKYFloatABI(D, Args);
+  std::optional<llvm::StringRef> Res =
+      tools::csky::getCSKYArchName(D, Args, TargetTriple);
+
+  if (!Res)
+    return;
+  auto ARCHName = *Res;
+
+  Multilib::flags_list Flags;
+  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::Hard, "hard-fp", Flags);
+  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::SoftFP, "soft-fp",
+                  Flags);
+  addMultilibFlag(TheFloatABI == tools::csky::FloatABI::Soft, "soft", Flags);
+  addMultilibFlag(ARCHName == "ck801", "march=ck801", Flags);
+  addMultilibFlag(ARCHName == "ck802", "march=ck802", Flags);
+  addMultilibFlag(ARCHName == "ck803", "march=ck803", Flags);
+  addMultilibFlag(ARCHName == "ck804", "march=ck804", Flags);
+  addMultilibFlag(ARCHName == "ck805", "march=ck805", Flags);
+  addMultilibFlag(ARCHName == "ck807", "march=ck807", Flags);
+  addMultilibFlag(ARCHName == "ck810", "march=ck810", Flags);
+  addMultilibFlag(ARCHName == "ck810v", "march=ck810v", Flags);
+  addMultilibFlag(ARCHName == "ck860", "march=ck860", Flags);
+  addMultilibFlag(ARCHName == "ck860v", "march=ck860v", Flags);
+
+  bool isBigEndian = false;
+  if (Arg *A = Args.getLastArg(options::OPT_mlittle_endian,
+                               options::OPT_mbig_endian))
+    isBigEndian = !A->getOption().matches(options::OPT_mlittle_endian);
+  addMultilibFlag(isBigEndian, "EB", Flags);
+
+  auto HardFloat = makeMultilib("/hard-fp").flag("+hard-fp");
+  auto SoftFpFloat = makeMultilib("/soft-fp").flag("+soft-fp");
+  auto SoftFloat = makeMultilib("").flag("+soft");
+  auto Arch801 = makeMultilib("/ck801").flag("+march=ck801");
+  auto Arch802 = makeMultilib("/ck802").flag("+march=ck802");
+  auto Arch803 = makeMultilib("/ck803").flag("+march=ck803");
+  // CK804 use the same library as CK803
+  auto Arch804 = makeMultilib("/ck803").flag("+march=ck804");
+  auto Arch805 = makeMultilib("/ck805").flag("+march=ck805");
+  auto Arch807 = makeMultilib("/ck807").flag("+march=ck807");
+  auto Arch810 = makeMultilib("").flag("+march=ck810");
+  auto Arch810v = makeMultilib("/ck810v").flag("+march=ck810v");
+  auto Arch860 = makeMultilib("/ck860").flag("+march=ck860");
+  auto Arch860v = makeMultilib("/ck860v").flag("+march=ck860v");
+  auto BigEndian = makeMultilib("/big").flag("+EB");
+
+  MultilibSet CSKYMultilibs =
+      MultilibSet()
+          .Maybe(BigEndian)
+          .Either({Arch801, Arch802, Arch803, Arch804, Arch805, Arch807,
+                   Arch810, Arch810v, Arch860, Arch860v})
+          .Either(HardFloat, SoftFpFloat, SoftFloat)
+          .FilterOut(NonExistent);
+
+  if (CSKYMultilibs.select(Flags, Result.SelectedMultilib))
+    Result.Multilibs = CSKYMultilibs;
+}
+
+static void findRISCVBareMetalMultilibs(const Driver &D,
+                                        const llvm::Triple &TargetTriple,
+                                        StringRef Path, const ArgList &Args,
+                                        DetectedMultilibs &Result) {
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+  struct RiscvMultilib {
+    StringRef march;
+    StringRef mabi;
+  };
+  // currently only support the set of multilibs like riscv-gnu-toolchain does.
+  // TODO: support MULTILIB_REUSE
+  constexpr RiscvMultilib RISCVMultilibSet[] = {
+      {"rv32i", "ilp32"},     {"rv32im", "ilp32"},     {"rv32iac", "ilp32"},
+      {"rv32imac", "ilp32"},  {"rv32imafc", "ilp32f"}, {"rv64imac", "lp64"},
+      {"rv64imafdc", "lp64d"}};
+
+  std::vector<Multilib> Ms;
+  for (auto Element : RISCVMultilibSet) {
+    // multilib path rule is ${march}/${mabi}
+    Ms.emplace_back(
+        makeMultilib((Twine(Element.march) + "/" + Twine(Element.mabi)).str())
+            .flag(Twine("+march=", Element.march).str())
+            .flag(Twine("+mabi=", Element.mabi).str()));
+  }
+  MultilibSet RISCVMultilibs =
+      MultilibSet()
+          .Either(ArrayRef<Multilib>(Ms))
+          .FilterOut(NonExistent)
+          .setFilePathsCallback([](const Multilib &M) {
+            return std::vector<std::string>(
+                {M.gccSuffix(),
+                 "/../../../../riscv64-unknown-elf/lib" + M.gccSuffix(),
+                 "/../../../../riscv32-unknown-elf/lib" + M.gccSuffix()});
+          });
+
+
+  Multilib::flags_list Flags;
+  llvm::StringSet<> Added_ABIs;
+  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
+  StringRef MArch = tools::riscv::getRISCVArch(Args, TargetTriple);
+  for (auto Element : RISCVMultilibSet) {
+    addMultilibFlag(MArch == Element.march,
+                    Twine("march=", Element.march).str().c_str(), Flags);
+    if (!Added_ABIs.count(Element.mabi)) {
+      Added_ABIs.insert(Element.mabi);
+      addMultilibFlag(ABIName == Element.mabi,
+                      Twine("mabi=", Element.mabi).str().c_str(), Flags);
+    }
+  }
+
+  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
+    Result.Multilibs = RISCVMultilibs;
+}
+
+static void findRISCVMultilibs(const Driver &D,
+                               const llvm::Triple &TargetTriple, StringRef Path,
+                               const ArgList &Args, DetectedMultilibs &Result) {
+  if (TargetTriple.getOS() == llvm::Triple::UnknownOS)
+    return findRISCVBareMetalMultilibs(D, TargetTriple, Path, Args, Result);
+
+  FilterNonExistent NonExistent(Path, "/crtbegin.o", D.getVFS());
+  Multilib Ilp32 = makeMultilib("lib32/ilp32").flag("+m32").flag("+mabi=ilp32");
+  Multilib Ilp32f =
+      makeMultilib("lib32/ilp32f").flag("+m32").flag("+mabi=ilp32f");
+  Multilib Ilp32d =
+      makeMultilib("lib32/ilp32d").flag("+m32").flag("+mabi=ilp32d");
+  Multilib Lp64 = makeMultilib("lib64/lp64").flag("+m64").flag("+mabi=lp64");
+  Multilib Lp64f = makeMultilib("lib64/lp64f").flag("+m64").flag("+mabi=lp64f");
+  Multilib Lp64d = makeMultilib("lib64/lp64d").flag("+m64").flag("+mabi=lp64d");
+  MultilibSet RISCVMultilibs =
+      MultilibSet()
+          .Either({Ilp32, Ilp32f, Ilp32d, Lp64, Lp64f, Lp64d})
+          .FilterOut(NonExistent);
+
+  Multilib::flags_list Flags;
+  bool IsRV64 = TargetTriple.getArch() == llvm::Triple::riscv64;
+  StringRef ABIName = tools::riscv::getRISCVABI(Args, TargetTriple);
+
+  addMultilibFlag(!IsRV64, "m32", Flags);
+  addMultilibFlag(IsRV64, "m64", Flags);
+  addMultilibFlag(ABIName == "ilp32", "mabi=ilp32", Flags);
+  addMultilibFlag(ABIName == "ilp32f", "mabi=ilp32f", Flags);
+  addMultilibFlag(ABIName == "ilp32d", "mabi=ilp32d", Flags);
+  addMultilibFlag(ABIName == "lp64", "mabi=lp64", Flags);
+  addMultilibFlag(ABIName == "lp64f", "mabi=lp64f", Flags);
+  addMultilibFlag(ABIName == "lp64d", "mabi=lp64d", Flags);
+
+  if (RISCVMultilibs.select(Flags, Result.SelectedMultilib))
+    Result.Multilibs = RISCVMultilibs;
+}
+
+static bool findBiarchMultilibs(const Driver &D,
+                                const llvm::Triple &TargetTriple,
+                                StringRef Path, const ArgList &Args,
+                                bool NeedsBiarchSuffix,
+                                DetectedMultilibs &Result) {
+  Multilib Default;
+
+  // Some versions of SUSE and Fedora on ppc64 put 32-bit libs
+  // in what would normally be GCCInstallPath and put the 64-bit
+  // libs in a subdirectory named 64. The simple logic we follow is that
+  // *if* there is a subdirectory of the right name with crtbegin.o in it,
+  // we use that. If not, and if not a biarch triple alias, we look for
+  // crtbegin.o without the subdirectory.
+
+  StringRef Suff64 = "/64";
+  // Solaris uses platform-specific suffixes instead of /64.
+  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
+    switch (TargetTriple.getArch()) {
+    case llvm::Triple::x86:
+    case llvm::Triple::x86_64:
+      Suff64 = "/amd64";
+      break;
+    case llvm::Triple::sparc:
+    case llvm::Triple::sparcv9:
+      Suff64 = "/sparcv9";
+      break;
+    default:
+      break;
+    }
+  }
+
+  Multilib Alt64 = Multilib()
+                       .gccSuffix(Suff64)
+                       .includeSuffix(Suff64)
+                       .flag("-m32")
+                       .flag("+m64")
+                       .flag("-mx32");
+  Multilib Alt32 = Multilib()
+                       .gccSuffix("/32")
+                       .includeSuffix("/32")
+                       .flag("+m32")
+                       .flag("-m64")
+                       .flag("-mx32");
+  Multilib Altx32 = Multilib()
+                        .gccSuffix("/x32")
+                        .includeSuffix("/x32")
+                        .flag("-m32")
+                        .flag("-m64")
+                        .flag("+mx32");
+
+  // GCC toolchain for IAMCU doesn't have crtbegin.o, so look for libgcc.a.
+  FilterNonExistent NonExistent(
+      Path, TargetTriple.isOSIAMCU() ? "/libgcc.a" : "/crtbegin.o", D.getVFS());
+
+  // Determine default multilib from: 32, 64, x32
+  // Also handle cases such as 64 on 32, 32 on 64, etc.
+  enum { UNKNOWN, WANT32, WANT64, WANTX32 } Want = UNKNOWN;
+  const bool IsX32 = TargetTriple.isX32();
+  if (TargetTriple.isArch32Bit() && !NonExistent(Alt32))
+    Want = WANT64;
+  else if (TargetTriple.isArch64Bit() && IsX32 && !NonExistent(Altx32))
+    Want = WANT64;
+  else if (TargetTriple.isArch64Bit() && !IsX32 && !NonExistent(Alt64))
+    Want = WANT32;
+  else {
+    if (TargetTriple.isArch32Bit())
+      Want = NeedsBiarchSuffix ? WANT64 : WANT32;
+    else if (IsX32)
+      Want = NeedsBiarchSuffix ? WANT64 : WANTX32;
+    else
+      Want = NeedsBiarchSuffix ? WANT32 : WANT64;
+  }
+
+  if (Want == WANT32)
+    Default.flag("+m32").flag("-m64").flag("-mx32");
+  else if (Want == WANT64)
+    Default.flag("-m32").flag("+m64").flag("-mx32");
+  else if (Want == WANTX32)
+    Default.flag("-m32").flag("-m64").flag("+mx32");
+  else
+    return false;
+
+  Result.Multilibs.push_back(Default);
+  Result.Multilibs.push_back(Alt64);
+  Result.Multilibs.push_back(Alt32);
+  Result.Multilibs.push_back(Altx32);
+
+  Result.Multilibs.FilterOut(NonExistent);
+
+  Multilib::flags_list Flags;
+  addMultilibFlag(TargetTriple.isArch64Bit() && !IsX32, "m64", Flags);
+  addMultilibFlag(TargetTriple.isArch32Bit(), "m32", Flags);
+  addMultilibFlag(TargetTriple.isArch64Bit() && IsX32, "mx32", Flags);
+
+  if (!Result.Multilibs.select(Flags, Result.SelectedMultilib))
+    return false;
+
+  if (Result.SelectedMultilib == Alt64 || Result.SelectedMultilib == Alt32 ||
+      Result.SelectedMultilib == Altx32)
+    Result.BiarchSibling = Default;
+
+  return true;
+}
+
+/// Generic_GCC - A tool chain using the 'gcc' command to perform
+/// all subcommands; this relies on gcc translating the majority of
+/// command line options.
+
+/// Less-than for GCCVersion, implementing a Strict Weak Ordering.
+bool Generic_GCC::GCCVersion::isOlderThan(int RHSMajor, int RHSMinor,
+                                          int RHSPatch,
+                                          StringRef RHSPatchSuffix) const {
+  if (Major != RHSMajor)
+    return Major < RHSMajor;
+  if (Minor != RHSMinor) {
+    // Note that versions without a specified minor sort higher than those with
+    // a minor.
+    if (RHSMinor == -1)
+      return true;
+    if (Minor == -1)
+      return false;
+    return Minor < RHSMinor;
+  }
+  if (Patch != RHSPatch) {
+    // Note that versions without a specified patch sort higher than those with
+    // a patch.
+    if (RHSPatch == -1)
+      return true;
+    if (Patch == -1)
+      return false;
+
+    // Otherwise just sort on the patch itself.
+    return Patch < RHSPatch;
+  }
+  if (PatchSuffix != RHSPatchSuffix) {
+    // Sort empty suffixes higher.
+    if (RHSPatchSuffix.empty())
+      return true;
+    if (PatchSuffix.empty())
+      return false;
+
+    // Provide a lexicographic sort to make this a total ordering.
+    return PatchSuffix < RHSPatchSuffix;
+  }
+
+  // The versions are equal.
+  return false;
+}
+
+/// Parse a GCCVersion object out of a string of text.
+///
+/// This is the primary means of forming GCCVersion objects.
+/*static*/
+Generic_GCC::GCCVersion Generic_GCC::GCCVersion::Parse(StringRef VersionText) {
+  const GCCVersion BadVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
+  std::pair<StringRef, StringRef> First = VersionText.split('.');
+  std::pair<StringRef, StringRef> Second = First.second.split('.');
+
+  GCCVersion GoodVersion = {VersionText.str(), -1, -1, -1, "", "", ""};
+  if (First.first.getAsInteger(10, GoodVersion.Major) || GoodVersion.Major < 0)
+    return BadVersion;
+  GoodVersion.MajorStr = First.first.str();
+  if (First.second.empty())
+    return GoodVersion;
+  StringRef MinorStr = Second.first;
+  if (Second.second.empty()) {
+    if (size_t EndNumber = MinorStr.find_first_not_of("0123456789")) {
+      GoodVersion.PatchSuffix = std::string(MinorStr.substr(EndNumber));
+      MinorStr = MinorStr.slice(0, EndNumber);
+    }
+  }
+  if (!MinorStr.str().empty() &&
+      (MinorStr.getAsInteger(10, GoodVersion.Minor) || GoodVersion.Minor < 0))
+    return BadVersion;
+  GoodVersion.MinorStr = MinorStr.str();
+
+  // First look for a number prefix and parse that if present. Otherwise just
+  // stash the entire patch string in the suffix, and leave the number
+  // unspecified. This covers versions strings such as:
+  //   5        (handled above)
+  //   4.4
+  //   4.4-patched
+  //   4.4.0
+  //   4.4.x
+  //   4.4.2-rc4
+  //   4.4.x-patched
+  // And retains any patch number it finds.
+  StringRef PatchText = Second.second;
+  if (!PatchText.empty()) {
+    if (size_t EndNumber = PatchText.find_first_not_of("0123456789")) {
+      // Try to parse the number and any suffix.
+      if (PatchText.slice(0, EndNumber).getAsInteger(10, GoodVersion.Patch) ||
+          GoodVersion.Patch < 0)
+        return BadVersion;
+      GoodVersion.PatchSuffix = std::string(PatchText.substr(EndNumber));
+    }
+  }
+
+  return GoodVersion;
+}
+
+static llvm::StringRef getGCCToolchainDir(const ArgList &Args,
+                                          llvm::StringRef SysRoot) {
+  const Arg *A = Args.getLastArg(clang::driver::options::OPT_gcc_toolchain);
+  if (A)
+    return A->getValue();
+
+  // If we have a SysRoot, ignore GCC_INSTALL_PREFIX.
+  // GCC_INSTALL_PREFIX specifies the gcc installation for the default
+  // sysroot and is likely not valid with a different sysroot.
+  if (!SysRoot.empty())
+    return "";
+
+  return GCC_INSTALL_PREFIX;
+}
+
+/// Initialize a GCCInstallationDetector from the driver.
+///
+/// This performs all of the autodetection and sets up the various paths.
+/// Once constructed, a GCCInstallationDetector is essentially immutable.
+///
+/// FIXME: We shouldn't need an explicit TargetTriple parameter here, and
+/// should instead pull the target out of the driver. This is currently
+/// necessary because the driver doesn't store the final version of the target
+/// triple.
+void Generic_GCC::GCCInstallationDetector::init(
+    const llvm::Triple &TargetTriple, const ArgList &Args,
+    ArrayRef<std::string> ExtraTripleAliases) {
+  llvm::Triple BiarchVariantTriple = TargetTriple.isArch32Bit()
+                                         ? TargetTriple.get64BitArchVariant()
+                                         : TargetTriple.get32BitArchVariant();
+  // The library directories which may contain GCC installations.
+  SmallVector<StringRef, 4> CandidateLibDirs, CandidateBiarchLibDirs;
+  // The compatible GCC triples for this particular architecture.
+  SmallVector<StringRef, 16> CandidateTripleAliases;
+  SmallVector<StringRef, 16> CandidateBiarchTripleAliases;
+  CollectLibDirsAndTriples(TargetTriple, BiarchVariantTriple, CandidateLibDirs,
+                           CandidateTripleAliases, CandidateBiarchLibDirs,
+                           CandidateBiarchTripleAliases);
+
+  // If --gcc-install-dir= is specified, skip filesystem detection.
+  if (const Arg *A =
+          Args.getLastArg(clang::driver::options::OPT_gcc_install_dir_EQ);
+      A && A->getValue()[0]) {
+    StringRef InstallDir = A->getValue();
+    if (!ScanGCCForMultilibs(TargetTriple, Args, InstallDir, false)) {
+      D.Diag(diag::err_drv_invalid_gcc_install_dir) << InstallDir;
+    } else {
+      (void)InstallDir.consume_back("/");
+      StringRef VersionText = llvm::sys::path::filename(InstallDir);
+      StringRef TripleText =
+          llvm::sys::path::filename(llvm::sys::path::parent_path(InstallDir));
+
+      Version = GCCVersion::Parse(VersionText);
+      GCCTriple.setTriple(TripleText);
+      GCCInstallPath = std::string(InstallDir);
+      GCCParentLibPath = GCCInstallPath + "/../../..";
+      IsValid = true;
+    }
+    return;
+  }
+
+  // Compute the set of prefixes for our search.
+  SmallVector<std::string, 8> Prefixes;
+  StringRef GCCToolchainDir = getGCCToolchainDir(Args, D.SysRoot);
+  if (GCCToolchainDir != "") {
+    if (GCCToolchainDir.back() == '/')
+      GCCToolchainDir = GCCToolchainDir.drop_back(); // remove the /
+
+    Prefixes.push_back(std::string(GCCToolchainDir));
+  } else {
+    // If we have a SysRoot, try that first.
+    if (!D.SysRoot.empty()) {
+      Prefixes.push_back(D.SysRoot);
+      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
+    }
+
+    // Then look for gcc installed alongside clang.
+    Prefixes.push_back(D.InstalledDir + "/..");
+
+    // Next, look for prefix(es) that correspond to distribution-supplied gcc
+    // installations.
+    if (D.SysRoot.empty()) {
+      // Typically /usr.
+      AddDefaultGCCPrefixes(TargetTriple, Prefixes, D.SysRoot);
+    }
+
+    // Try to respect gcc-config on Gentoo if --gcc-toolchain is not provided.
+    // This avoids accidentally enforcing the system GCC version when using a
+    // custom toolchain.
+    SmallVector<StringRef, 16> GentooTestTriples;
+    // Try to match an exact triple as target triple first.
+    // e.g. crossdev -S x86_64-gentoo-linux-gnu will install gcc libs for
+    // x86_64-gentoo-linux-gnu. But "clang -target x86_64-gentoo-linux-gnu"
+    // may pick the libraries for x86_64-pc-linux-gnu even when exact matching
+    // triple x86_64-gentoo-linux-gnu is present.
+    GentooTestTriples.push_back(TargetTriple.str());
+    // Check rest of triples.
+    GentooTestTriples.append(ExtraTripleAliases.begin(),
+                             ExtraTripleAliases.end());
+    GentooTestTriples.append(CandidateTripleAliases.begin(),
+                             CandidateTripleAliases.end());
+    if (ScanGentooConfigs(TargetTriple, Args, GentooTestTriples,
+                          CandidateBiarchTripleAliases))
+      return;
+  }
+
+  // Loop over the various components which exist and select the best GCC
+  // installation available. GCC installs are ranked by version number.
+  const GCCVersion VersionZero = GCCVersion::Parse("0.0.0");
+  Version = VersionZero;
+  for (const std::string &Prefix : Prefixes) {
+    auto &VFS = D.getVFS();
+    if (!VFS.exists(Prefix))
+      continue;
+    for (StringRef Suffix : CandidateLibDirs) {
+      const std::string LibDir = concat(Prefix, Suffix);
+      if (!VFS.exists(LibDir))
+        continue;
+      // Maybe filter out <libdir>/gcc and <libdir>/gcc-cross.
+      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
+      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
+      // Try to match the exact target triple first.
+      ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, TargetTriple.str(),
+                             false, GCCDirExists, GCCCrossDirExists);
+      // Try rest of possible triples.
+      for (StringRef Candidate : ExtraTripleAliases) // Try these first.
+        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
+                               GCCDirExists, GCCCrossDirExists);
+      for (StringRef Candidate : CandidateTripleAliases)
+        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, false,
+                               GCCDirExists, GCCCrossDirExists);
+    }
+    for (StringRef Suffix : CandidateBiarchLibDirs) {
+      const std::string LibDir = Prefix + Suffix.str();
+      if (!VFS.exists(LibDir))
+        continue;
+      bool GCCDirExists = VFS.exists(LibDir + "/gcc");
+      bool GCCCrossDirExists = VFS.exists(LibDir + "/gcc-cross");
+      for (StringRef Candidate : CandidateBiarchTripleAliases)
+        ScanLibDirForGCCTriple(TargetTriple, Args, LibDir, Candidate, true,
+                               GCCDirExists, GCCCrossDirExists);
+    }
+
+    // Skip other prefixes once a GCC installation is found.
+    if (Version > VersionZero)
+      break;
+  }
+}
+
+void Generic_GCC::GCCInstallationDetector::print(raw_ostream &OS) const {
+  for (const auto &InstallPath : CandidateGCCInstallPaths)
+    OS << "Found candidate GCC installation: " << InstallPath << "\n";
+
+  if (!GCCInstallPath.empty())
+    OS << "Selected GCC installation: " << GCCInstallPath << "\n";
+
+  for (const auto &Multilib : Multilibs)
+    OS << "Candidate multilib: " << Multilib << "\n";
+
+  if (Multilibs.size() != 0 || !SelectedMultilib.isDefault())
+    OS << "Selected multilib: " << SelectedMultilib << "\n";
+}
+
+bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const {
+  if (BiarchSibling) {
+    M = *BiarchSibling;
+    return true;
+  }
+  return false;
+}
+
+void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
+    const llvm::Triple &TargetTriple, SmallVectorImpl<std::string> &Prefixes,
+    StringRef SysRoot) {
+  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
+    // Solaris is a special case.
+    // The GCC installation is under
+    //   /usr/gcc/<major>.<minor>/lib/gcc/<triple>/<major>.<minor>.<patch>/
+    // so we need to find those /usr/gcc/*/lib/gcc libdirs and go with
+    // /usr/gcc/<version> as a prefix.
+
+    std::string PrefixDir = concat(SysRoot, "/usr/gcc");
+    std::error_code EC;
+    for (llvm::vfs::directory_iterator LI = D.getVFS().dir_begin(PrefixDir, EC),
+                                       LE;
+         !EC && LI != LE; LI = LI.increment(EC)) {
+      StringRef VersionText = llvm::sys::path::filename(LI->path());
+      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
+
+      // Filter out obviously bad entries.
+      if (CandidateVersion.Major == -1 || CandidateVersion.isOlderThan(4, 1, 1))
+        continue;
+
+      std::string CandidatePrefix = PrefixDir + "/" + VersionText.str();
+      std::string CandidateLibPath = CandidatePrefix + "/lib/gcc";
+      if (!D.getVFS().exists(CandidateLibPath))
+        continue;
+
+      Prefixes.push_back(CandidatePrefix);
+    }
+    return;
+  }
+
+  // For Linux, if --sysroot is not specified, look for RHEL/CentOS devtoolsets
+  // and gcc-toolsets.
+  if (SysRoot.empty() && TargetTriple.getOS() == llvm::Triple::Linux &&
+      D.getVFS().exists("/opt/rh")) {
+    // TODO: We may want to remove this, since the functionality
+    //   can be achieved using config files.
+    Prefixes.push_back("/opt/rh/gcc-toolset-12/root/usr");
+    Prefixes.push_back("/opt/rh/gcc-toolset-11/root/usr");
+    Prefixes.push_back("/opt/rh/gcc-toolset-10/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-12/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-11/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-10/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-9/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-8/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-7/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-6/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-4/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-3/root/usr");
+    Prefixes.push_back("/opt/rh/devtoolset-2/root/usr");
+  }
+
+  // Fall back to /usr which is used by most non-Solaris systems.
+  Prefixes.push_back(concat(SysRoot, "/usr"));
+}
+
+/*static*/ void Generic_GCC::GCCInstallationDetector::CollectLibDirsAndTriples(
+    const llvm::Triple &TargetTriple, const llvm::Triple &BiarchTriple,
+    SmallVectorImpl<StringRef> &LibDirs,
+    SmallVectorImpl<StringRef> &TripleAliases,
+    SmallVectorImpl<StringRef> &BiarchLibDirs,
+    SmallVectorImpl<StringRef> &BiarchTripleAliases) {
+  // Declare a bunch of static data sets that we'll select between below. These
+  // are specifically designed to always refer to string literals to avoid any
+  // lifetime or initialization issues.
+  //
+  // The *Triples variables hard code some triples so that, for example,
+  // --target=aarch64 (incomplete triple) can detect lib/aarch64-linux-gnu.
+  // They are not needed when the user has correct LLVM_DEFAULT_TARGET_TRIPLE
+  // and always uses the full --target (e.g. --target=aarch64-linux-gnu).  The
+  // lists should shrink over time. Please don't add more elements to *Triples.
+  static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const AArch64Triples[] = {
+      "aarch64-none-linux-gnu",   "aarch64-linux-gnu",        "aarch64-redhat-linux",
+      "aarch64-radix-linux-gnu",  "aarch64-a311x-linux-gnu",  "aarch64-h5-linux-gnu",
+      "aarch64-m1000-linux-gnu",  "aarch64-rk339x-linux-gnu", "aarch64-rk358x-linux-gnu",
+      "aarch64-rk33xx-linux-gnu", "aarch64-s9xx-linux-gnu",   "aarch64-suse-linux"};
+  static const char *const AArch64beLibDirs[] = {"/lib"};
+  static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
+                                                 "aarch64_be-linux-gnu"};
+
+  static const char *const ARMLibDirs[] = {"/lib"};
+  static const char *const ARMTriples[] = {"arm-linux-gnueabi"};
+  static const char *const ARMHFTriples[] = {"arm-linux-gnueabihf",
+                                             "arm-a1x-linux-gnueabihf",
+                                             "arm-a2x-linux-gnueabihf",
+                                             "arm-am335x-linux-gnueabihf",
+                                             "arm-h3-linux-gnueabihf",
+                                             "arm-imx6-linux-gnueabihf",
+                                             "arm-imx6ull-linux-gnueabihf",
+                                             "arm-omap543x-linux-gnueabihf",
+                                             "arm-rk328x-linux-gnueabihf",
+                                             "arm-s8xx-linux-gnueabihf",
+                                             "arm-radix-linux-gnueabihf",
+                                             "armv7hl-redhat-linux-gnueabi",
+                                             "armv6hl-suse-linux-gnueabi",
+                                             "armv7hl-suse-linux-gnueabi"};
+  static const char *const ARMebLibDirs[] = {"/lib"};
+  static const char *const ARMebTriples[] = {"armeb-linux-gnueabi"};
+  static const char *const ARMebHFTriples[] = {
+      "armeb-linux-gnueabihf", "armebv7hl-redhat-linux-gnueabi"};
+
+  static const char *const AVRLibDirs[] = {"/lib"};
+  static const char *const AVRTriples[] = {"avr"};
+
+  static const char *const CSKYLibDirs[] = {"/lib"};
+  static const char *const CSKYTriples[] = {
+      "csky-linux-gnuabiv2", "csky-linux-uclibcabiv2", "csky-elf-noneabiv2"};
+
+  static const char *const X86_64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const X86_64Triples[] = {
+      "x86_64-linux-gnu",       "x86_64-unknown-linux-gnu",
+      "x86_64-pc-linux-gnu",    "x86_64-redhat-linux6E",
+      "x86_64-redhat-linux",    "x86_64-suse-linux",
+      "x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
+      "x86_64-slackware-linux", "x86_64-radix-linux-gnu", "x86_64-unknown-linux",
+      "x86_64-amazon-linux"};
+  static const char *const X32Triples[] = {"x86_64-linux-gnux32",
+                                           "x86_64-pc-linux-gnux32"};
+  static const char *const X32LibDirs[] = {"/libx32", "/lib"};
+  static const char *const X86LibDirs[] = {"/lib32", "/lib"};
+  static const char *const X86Triples[] = {
+      "i586-linux-gnu",       "i686-linux-gnu",        "i686-pc-linux-gnu",
+      "i386-redhat-linux6E",  "i686-redhat-linux",     "i386-redhat-linux",
+      "i486-slackware-linux", "i586-slackware-linux",  "i686-slackware-linux",
+      "i386-radix-linux-gnu", "i586-radix-linux-gnu",  "i686-radix-linux-gnu",
+      "i586-suse-linux",      "i686-montavista-linux", "i686-gnu"};
+
+  static const char *const LoongArch64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const LoongArch64Triples[] = {
+      "loongarch64-linux-gnu", "loongarch64-unknown-linux-gnu"};
+
+  static const char *const M68kLibDirs[] = {"/lib"};
+  static const char *const M68kTriples[] = {
+      "m68k-linux-gnu", "m68k-unknown-linux-gnu", "m68k-suse-linux"};
+
+  static const char *const MIPSLibDirs[] = {"/libo32", "/lib"};
+  static const char *const MIPSTriples[] = {
+      "mips-linux-gnu", "mips-mti-linux", "mips-mti-linux-gnu",
+      "mips-img-linux-gnu", "mipsisa32r6-linux-gnu"};
+  static const char *const MIPSELLibDirs[] = {"/libo32", "/lib"};
+  static const char *const MIPSELTriples[] = {
+      "mipsel-linux-gnu",       "mips-img-linux-gnu",      "mipsisa32r6el-linux-gnu",
+      "mipsel-p5600-linux-gnu", "mipsel-jz47xx-linux-gnu", "mipsel-radix-linux-gnu"};
+
+  static const char *const MIPS64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const MIPS64Triples[] = {
+      "mips64-linux-gnu",      "mips-mti-linux-gnu",
+      "mips-img-linux-gnu",    "mips64-linux-gnuabi64",
+      "mipsisa64r6-linux-gnu", "mipsisa64r6-linux-gnuabi64"};
+  static const char *const MIPS64ELLibDirs[] = {"/lib64", "/lib"};
+  static const char *const MIPS64ELTriples[] = {
+      "mips64el-linux-gnu",      "mips-mti-linux-gnu",
+      "mips-img-linux-gnu",      "mips64el-linux-gnuabi64",
+      "mipsisa64r6el-linux-gnu", "mipsisa64r6el-linux-gnuabi64"};
+
+  static const char *const MIPSN32LibDirs[] = {"/lib32"};
+  static const char *const MIPSN32Triples[] = {"mips64-linux-gnuabin32",
+                                               "mipsisa64r6-linux-gnuabin32"};
+  static const char *const MIPSN32ELLibDirs[] = {"/lib32"};
+  static const char *const MIPSN32ELTriples[] = {
+      "mips64el-linux-gnuabin32", "mipsisa64r6el-linux-gnuabin32"};
+
+  static const char *const MSP430LibDirs[] = {"/lib"};
+  static const char *const MSP430Triples[] = {"msp430-elf"};
+
+  static const char *const PPCLibDirs[] = {"/lib32", "/lib"};
+  static const char *const PPCTriples[] = {
+      "powerpc-linux-gnu",        "powerpc-unknown-linux-gnu", "powerpc-linux-gnuspe",
+      "powerpc-power8-linux-gnu", "ppc-power8-linux-gnu",
+      "powerpc-power9-linux-gnu", "ppc-power9-linux-gnu",
+      "powerpc-radix-linux-gnu",  "ppc-radix-linux-gnu",
+      // On 32-bit PowerPC systems running SUSE Linux, gcc is configured as a
+      // 64-bit compiler which defaults to "-m32", hence "powerpc64-suse-linux".
+      "powerpc64-suse-linux", "powerpc-montavista-linuxspe"};
+  static const char *const PPCLELibDirs[] = {"/lib32", "/lib"};
+  static const char *const PPCLETriples[] = {"powerpcle-linux-gnu",
+                                             "powerpcle-unknown-linux-gnu",
+                                             "powerpcle-linux-musl"};
+
+  static const char *const PPC64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const PPC64Triples[] = {
+      "powerpc64-linux-gnu",        "powerpc64-unknown-linux-gnu",
+      "powerpc64-power8-linux-gnu", "ppc64-power8-linux-gnu",
+      "powerpc64-power9-linux-gnu", "ppc64-power9-linux-gnu",
+      "powerpc64-radix-linux-gnu",  "ppc64-radix-linux-gnu",
+      "powerpc64-suse-linux",       "ppc64-redhat-linux"};
+  static const char *const PPC64LELibDirs[] = {"/lib64", "/lib"};
+  static const char *const PPC64LETriples[] = {
+      "powerpc64le-linux-gnu",        "powerpc64le-unknown-linux-gnu",
+      "powerpc64le-none-linux-gnu",   "powerpc64le-suse-linux",
+      "powerpc64le-power8-linux-gnu", "ppc64le-power8-linux-gnu",
+      "powerpc64le-power9-linux-gnu", "ppc64le-power9-linux-gnu",
+      "powerpc64le-radix-linux-gnu",  "ppc64le-radix-linux-gnu",
+      "ppc64le-redhat-linux"};
+
+  static const char *const RISCV32LibDirs[] = {"/lib32", "/lib"};
+  static const char *const RISCV32Triples[] = {"riscv32-unknown-linux-gnu",
+                                               "riscv32-linux-gnu",
+                                               "riscv32-unknown-elf"};
+  static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
+  static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
+                                               "riscv64-linux-gnu",
+                                               "riscv64-rv64gc-linux-gnu",
+                                               "riscv64-radix-linux-gnu",
+                                               "riscv64-unknown-elf"};
+
+  static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
+  static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
+                                               "sparcv8-linux-gnu"};
+  static const char *const SPARCv9LibDirs[] = {"/lib64", "/lib"};
+  static const char *const SPARCv9Triples[] = {"sparc64-linux-gnu",
+                                               "sparcv9-linux-gnu"};
+
+  static const char *const SystemZLibDirs[] = {"/lib64", "/lib"};
+  static const char *const SystemZTriples[] = {
+      "s390x-linux-gnu", "s390x-unknown-linux-gnu", "s390x-ibm-linux-gnu",
+      "s390x-suse-linux", "s390x-redhat-linux"};
+
+
+  using std::begin;
+  using std::end;
+
+  if (TargetTriple.getOS() == llvm::Triple::Solaris) {
+    static const char *const SolarisLibDirs[] = {"/lib"};
+    static const char *const SolarisSparcV8Triples[] = {
+        "sparc-sun-solaris2.11", "sparc-sun-solaris2.12"};
+    static const char *const SolarisSparcV9Triples[] = {
+        "sparcv9-sun-solaris2.11", "sparcv9-sun-solaris2.12"};
+    static const char *const SolarisX86Triples[] = {"i386-pc-solaris2.11",
+                                                    "i386-pc-solaris2.12"};
+    static const char *const SolarisX86_64Triples[] = {"x86_64-pc-solaris2.11",
+                                                       "x86_64-pc-solaris2.12"};
+    LibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
+    BiarchLibDirs.append(begin(SolarisLibDirs), end(SolarisLibDirs));
+    switch (TargetTriple.getArch()) {
+    case llvm::Triple::x86:
+      TripleAliases.append(begin(SolarisX86Triples), end(SolarisX86Triples));
+      BiarchTripleAliases.append(begin(SolarisX86_64Triples),
+                                 end(SolarisX86_64Triples));
+      break;
+    case llvm::Triple::x86_64:
+      TripleAliases.append(begin(SolarisX86_64Triples),
+                           end(SolarisX86_64Triples));
+      BiarchTripleAliases.append(begin(SolarisX86Triples),
+                                 end(SolarisX86Triples));
+      break;
+    case llvm::Triple::sparc:
+      TripleAliases.append(begin(SolarisSparcV8Triples),
+                           end(SolarisSparcV8Triples));
+      BiarchTripleAliases.append(begin(SolarisSparcV9Triples),
+                                 end(SolarisSparcV9Triples));
+      break;
+    case llvm::Triple::sparcv9:
+      TripleAliases.append(begin(SolarisSparcV9Triples),
+                           end(SolarisSparcV9Triples));
+      BiarchTripleAliases.append(begin(SolarisSparcV8Triples),
+                                 end(SolarisSparcV8Triples));
+      break;
+    default:
+      break;
+    }
+    return;
+  }
+
+  // Android targets should not use GNU/Linux tools or libraries.
+  if (TargetTriple.isAndroid()) {
+    static const char *const AArch64AndroidTriples[] = {
+        "aarch64-linux-android"};
+    static const char *const ARMAndroidTriples[] = {"arm-linux-androideabi"};
+    static const char *const MIPSELAndroidTriples[] = {"mipsel-linux-android"};
+    static const char *const MIPS64ELAndroidTriples[] = {
+        "mips64el-linux-android"};
+    static const char *const X86AndroidTriples[] = {"i686-linux-android"};
+    static const char *const X86_64AndroidTriples[] = {"x86_64-linux-android"};
+
+    switch (TargetTriple.getArch()) {
+    case llvm::Triple::aarch64:
+      LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
+      TripleAliases.append(begin(AArch64AndroidTriples),
+                           end(AArch64AndroidTriples));
+      break;
+    case llvm::Triple::arm:
+    case llvm::Triple::thumb:
+      LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
+      TripleAliases.append(begin(ARMAndroidTriples), end(ARMAndroidTriples));
+      break;
+    case llvm::Triple::mipsel:
+      LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
+      TripleAliases.append(begin(MIPSELAndroidTriples),
+                           end(MIPSELAndroidTriples));
+      BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
+      BiarchTripleAliases.append(begin(MIPS64ELAndroidTriples),
+                                 end(MIPS64ELAndroidTriples));
+      break;
+    case llvm::Triple::mips64el:
+      LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
+      TripleAliases.append(begin(MIPS64ELAndroidTriples),
+                           end(MIPS64ELAndroidTriples));
+      BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
+      BiarchTripleAliases.append(begin(MIPSELAndroidTriples),
+                                 end(MIPSELAndroidTriples));
+      break;
+    case llvm::Triple::x86_64:
+      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      TripleAliases.append(begin(X86_64AndroidTriples),
+                           end(X86_64AndroidTriples));
+      BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+      BiarchTripleAliases.append(begin(X86AndroidTriples),
+                                 end(X86AndroidTriples));
+      break;
+    case llvm::Triple::x86:
+      LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+      TripleAliases.append(begin(X86AndroidTriples), end(X86AndroidTriples));
+      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      BiarchTripleAliases.append(begin(X86_64AndroidTriples),
+                                 end(X86_64AndroidTriples));
+      break;
+    default:
+      break;
+    }
+
+    return;
+  }
+
+  switch (TargetTriple.getArch()) {
+  case llvm::Triple::aarch64:
+    LibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
+    TripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
+    BiarchLibDirs.append(begin(AArch64LibDirs), end(AArch64LibDirs));
+    BiarchTripleAliases.append(begin(AArch64Triples), end(AArch64Triples));
+    break;
+  case llvm::Triple::aarch64_be:
+    LibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
+    TripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
+    BiarchLibDirs.append(begin(AArch64beLibDirs), end(AArch64beLibDirs));
+    BiarchTripleAliases.append(begin(AArch64beTriples), end(AArch64beTriples));
+    break;
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+    LibDirs.append(begin(ARMLibDirs), end(ARMLibDirs));
+    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
+      TripleAliases.append(begin(ARMHFTriples), end(ARMHFTriples));
+    } else {
+      TripleAliases.append(begin(ARMTriples), end(ARMTriples));
+    }
+    break;
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb:
+    LibDirs.append(begin(ARMebLibDirs), end(ARMebLibDirs));
+    if (TargetTriple.getEnvironment() == llvm::Triple::GNUEABIHF) {
+      TripleAliases.append(begin(ARMebHFTriples), end(ARMebHFTriples));
+    } else {
+      TripleAliases.append(begin(ARMebTriples), end(ARMebTriples));
+    }
+    break;
+  case llvm::Triple::avr:
+    LibDirs.append(begin(AVRLibDirs), end(AVRLibDirs));
+    TripleAliases.append(begin(AVRTriples), end(AVRTriples));
+    break;
+  case llvm::Triple::csky:
+    LibDirs.append(begin(CSKYLibDirs), end(CSKYLibDirs));
+    TripleAliases.append(begin(CSKYTriples), end(CSKYTriples));
+    break;
+  case llvm::Triple::x86_64:
+    if (TargetTriple.isX32()) {
+      LibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      TripleAliases.append(begin(X32Triples), end(X32Triples));
+      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+    } else {
+      LibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      TripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
+    }
+    BiarchLibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+    BiarchTripleAliases.append(begin(X86Triples), end(X86Triples));
+    break;
+  case llvm::Triple::x86:
+    LibDirs.append(begin(X86LibDirs), end(X86LibDirs));
+    // MCU toolchain is 32 bit only and its triple alias is TargetTriple
+    // itself, which will be appended below.
+    if (!TargetTriple.isOSIAMCU()) {
+      TripleAliases.append(begin(X86Triples), end(X86Triples));
+      BiarchLibDirs.append(begin(X86_64LibDirs), end(X86_64LibDirs));
+      BiarchTripleAliases.append(begin(X86_64Triples), end(X86_64Triples));
+      BiarchLibDirs.append(begin(X32LibDirs), end(X32LibDirs));
+      BiarchTripleAliases.append(begin(X32Triples), end(X32Triples));
+    }
+    break;
+  // TODO: Handle loongarch32.
+  case llvm::Triple::loongarch64:
+    LibDirs.append(begin(LoongArch64LibDirs), end(LoongArch64LibDirs));
+    TripleAliases.append(begin(LoongArch64Triples), end(LoongArch64Triples));
+    break;
+  case llvm::Triple::m68k:
+    LibDirs.append(begin(M68kLibDirs), end(M68kLibDirs));
+    TripleAliases.append(begin(M68kTriples), end(M68kTriples));
+    break;
+  case llvm::Triple::mips:
+    LibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
+    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
+    BiarchLibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
+    BiarchTripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
+    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
+    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
+    break;
+  case llvm::Triple::mipsel:
+    LibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
+    TripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
+    TripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
+    BiarchLibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
+    BiarchTripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
+    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
+    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
+    break;
+  case llvm::Triple::mips64:
+    LibDirs.append(begin(MIPS64LibDirs), end(MIPS64LibDirs));
+    TripleAliases.append(begin(MIPS64Triples), end(MIPS64Triples));
+    BiarchLibDirs.append(begin(MIPSLibDirs), end(MIPSLibDirs));
+    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
+    BiarchLibDirs.append(begin(MIPSN32LibDirs), end(MIPSN32LibDirs));
+    BiarchTripleAliases.append(begin(MIPSN32Triples), end(MIPSN32Triples));
+    break;
+  case llvm::Triple::mips64el:
+    LibDirs.append(begin(MIPS64ELLibDirs), end(MIPS64ELLibDirs));
+    TripleAliases.append(begin(MIPS64ELTriples), end(MIPS64ELTriples));
+    BiarchLibDirs.append(begin(MIPSELLibDirs), end(MIPSELLibDirs));
+    BiarchTripleAliases.append(begin(MIPSELTriples), end(MIPSELTriples));
+    BiarchLibDirs.append(begin(MIPSN32ELLibDirs), end(MIPSN32ELLibDirs));
+    BiarchTripleAliases.append(begin(MIPSN32ELTriples), end(MIPSN32ELTriples));
+    BiarchTripleAliases.append(begin(MIPSTriples), end(MIPSTriples));
+    break;
+  case llvm::Triple::msp430:
+    LibDirs.append(begin(MSP430LibDirs), end(MSP430LibDirs));
+    TripleAliases.append(begin(MSP430Triples), end(MSP430Triples));
+    break;
+  case llvm::Triple::ppc:
+    LibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
+    TripleAliases.append(begin(PPCTriples), end(PPCTriples));
+    BiarchLibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
+    BiarchTripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
+    break;
+  case llvm::Triple::ppcle:
+    LibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
+    TripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
+    BiarchLibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
+    BiarchTripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
+    break;
+  case llvm::Triple::ppc64:
+    LibDirs.append(begin(PPC64LibDirs), end(PPC64LibDirs));
+    TripleAliases.append(begin(PPC64Triples), end(PPC64Triples));
+    BiarchLibDirs.append(begin(PPCLibDirs), end(PPCLibDirs));
+    BiarchTripleAliases.append(begin(PPCTriples), end(PPCTriples));
+    break;
+  case llvm::Triple::ppc64le:
+    LibDirs.append(begin(PPC64LELibDirs), end(PPC64LELibDirs));
+    TripleAliases.append(begin(PPC64LETriples), end(PPC64LETriples));
+    BiarchLibDirs.append(begin(PPCLELibDirs), end(PPCLELibDirs));
+    BiarchTripleAliases.append(begin(PPCLETriples), end(PPCLETriples));
+    break;
+  case llvm::Triple::riscv32:
+    LibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
+    TripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
+    BiarchLibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
+    BiarchTripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
+    break;
+  case llvm::Triple::riscv64:
+    LibDirs.append(begin(RISCV64LibDirs), end(RISCV64LibDirs));
+    TripleAliases.append(begin(RISCV64Triples), end(RISCV64Triples));
+    BiarchLibDirs.append(begin(RISCV32LibDirs), end(RISCV32LibDirs));
+    BiarchTripleAliases.append(begin(RISCV32Triples), end(RISCV32Triples));
+    break;
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel:
+    LibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
+    TripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
+    BiarchLibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
+    BiarchTripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
+    break;
+  case llvm::Triple::sparcv9:
+    LibDirs.append(begin(SPARCv9LibDirs), end(SPARCv9LibDirs));
+    TripleAliases.append(begin(SPARCv9Triples), end(SPARCv9Triples));
+    BiarchLibDirs.append(begin(SPARCv8LibDirs), end(SPARCv8LibDirs));
+    BiarchTripleAliases.append(begin(SPARCv8Triples), end(SPARCv8Triples));
+    break;
+  case llvm::Triple::systemz:
+    LibDirs.append(begin(SystemZLibDirs), end(SystemZLibDirs));
+    TripleAliases.append(begin(SystemZTriples), end(SystemZTriples));
+    break;
+  default:
+    // By default, just rely on the standard lib directories and the original
+    // triple.
+    break;
+  }
+
+  // Always append the drivers target triple to the end, in case it doesn't
+  // match any of our aliases.
+  TripleAliases.push_back(TargetTriple.str());
+
+  // Also include the multiarch variant if it's different.
+  if (TargetTriple.str() != BiarchTriple.str())
+    BiarchTripleAliases.push_back(BiarchTriple.str());
+}
+
+bool Generic_GCC::GCCInstallationDetector::ScanGCCForMultilibs(
+    const llvm::Triple &TargetTriple, const ArgList &Args,
+    StringRef Path, bool NeedsBiarchSuffix) {
+  llvm::Triple::ArchType TargetArch = TargetTriple.getArch();
+  DetectedMultilibs Detected;
+
+  // Android standalone toolchain could have multilibs for ARM and Thumb.
+  // Debian mips multilibs behave more like the rest of the biarch ones,
+  // so handle them there
+  if (isArmOrThumbArch(TargetArch) && TargetTriple.isAndroid()) {
+    // It should also work without multilibs in a simplified toolchain.
+    findAndroidArmMultilibs(D, TargetTriple, Path, Args, Detected);
+  } else if (TargetTriple.isCSKY()) {
+    findCSKYMultilibs(D, TargetTriple, Path, Args, Detected);
+  } else if (TargetTriple.isMIPS()) {
+    if (!findMIPSMultilibs(D, TargetTriple, Path, Args, Detected))
+      return false;
+  } else if (TargetTriple.isRISCV()) {
+    findRISCVMultilibs(D, TargetTriple, Path, Args, Detected);
+  } else if (isMSP430(TargetArch)) {
+    findMSP430Multilibs(D, TargetTriple, Path, Args, Detected);
+  } else if (TargetArch == llvm::Triple::avr) {
+    // AVR has no multilibs.
+  } else if (!findBiarchMultilibs(D, TargetTriple, Path, Args,
+                                  NeedsBiarchSuffix, Detected)) {
+    return false;
+  }
+
+  Multilibs = Detected.Multilibs;
+  SelectedMultilib = Detected.SelectedMultilib;
+  BiarchSibling = Detected.BiarchSibling;
+
+  return true;
+}
+
+void Generic_GCC::GCCInstallationDetector::ScanLibDirForGCCTriple(
+    const llvm::Triple &TargetTriple, const ArgList &Args,
+    const std::string &LibDir, StringRef CandidateTriple,
+    bool NeedsBiarchSuffix, bool GCCDirExists, bool GCCCrossDirExists) {
+  // Locations relative to the system lib directory where GCC's triple-specific
+  // directories might reside.
+  struct GCCLibSuffix {
+    // Path from system lib directory to GCC triple-specific directory.
+    std::string LibSuffix;
+    // Path from GCC triple-specific directory back to system lib directory.
+    // This is one '..' component per component in LibSuffix.
+    StringRef ReversePath;
+    // Whether this library suffix is relevant for the triple.
+    bool Active;
+  } Suffixes[] = {
+      // This is the normal place.
+      {"gcc/" + CandidateTriple.str(), "../..", GCCDirExists},
+
+      // Debian puts cross-compilers in gcc-cross.
+      {"gcc-cross/" + CandidateTriple.str(), "../..", GCCCrossDirExists},
+
+      // The Freescale PPC SDK has the gcc libraries in
+      // <sysroot>/usr/lib/<triple>/x.y.z so have a look there as well. Only do
+      // this on Freescale triples, though, since some systems put a *lot* of
+      // files in that location, not just GCC installation data.
+      {CandidateTriple.str(), "..",
+       TargetTriple.getVendor() == llvm::Triple::Freescale ||
+           TargetTriple.getVendor() == llvm::Triple::OpenEmbedded}};
+
+  for (auto &Suffix : Suffixes) {
+    if (!Suffix.Active)
+      continue;
+
+    StringRef LibSuffix = Suffix.LibSuffix;
+    std::error_code EC;
+    for (llvm::vfs::directory_iterator
+             LI = D.getVFS().dir_begin(LibDir + "/" + LibSuffix, EC),
+             LE;
+         !EC && LI != LE; LI = LI.increment(EC)) {
+      StringRef VersionText = llvm::sys::path::filename(LI->path());
+      GCCVersion CandidateVersion = GCCVersion::Parse(VersionText);
+      if (CandidateVersion.Major != -1) // Filter obviously bad entries.
+        if (!CandidateGCCInstallPaths.insert(std::string(LI->path())).second)
+          continue; // Saw this path before; no need to look at it again.
+      if (CandidateVersion.isOlderThan(4, 1, 1))
+        continue;
+      if (CandidateVersion <= Version)
+        continue;
+
+      if (!ScanGCCForMultilibs(TargetTriple, Args, LI->path(),
+                               NeedsBiarchSuffix))
+        continue;
+
+      Version = CandidateVersion;
+      GCCTriple.setTriple(CandidateTriple);
+      // FIXME: We hack together the directory name here instead of
+      // using LI to ensure stable path separators across Windows and
+      // Linux.
+      GCCInstallPath = (LibDir + "/" + LibSuffix + "/" + VersionText).str();
+      GCCParentLibPath = (GCCInstallPath + "/../" + Suffix.ReversePath).str();
+      IsValid = true;
+    }
+  }
+}
+
+bool Generic_GCC::GCCInstallationDetector::ScanGentooConfigs(
+    const llvm::Triple &TargetTriple, const ArgList &Args,
+    const SmallVectorImpl<StringRef> &CandidateTriples,
+    const SmallVectorImpl<StringRef> &CandidateBiarchTriples) {
+  if (!D.getVFS().exists(concat(D.SysRoot, GentooConfigDir)))
+    return false;
+
+  for (StringRef CandidateTriple : CandidateTriples) {
+    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple))
+      return true;
+  }
+
+  for (StringRef CandidateTriple : CandidateBiarchTriples) {
+    if (ScanGentooGccConfig(TargetTriple, Args, CandidateTriple, true))
+      return true;
+  }
+  return false;
+}
+
+bool Generic_GCC::GCCInstallationDetector::ScanGentooGccConfig(
+    const llvm::Triple &TargetTriple, const ArgList &Args,
+    StringRef CandidateTriple, bool NeedsBiarchSuffix) {
+  llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> File =
+      D.getVFS().getBufferForFile(concat(D.SysRoot, GentooConfigDir,
+                                         "/config-" + CandidateTriple.str()));
+  if (File) {
+    SmallVector<StringRef, 2> Lines;
+    File.get()->getBuffer().split(Lines, "\n");
+    for (StringRef Line : Lines) {
+      Line = Line.trim();
+      // CURRENT=triple-version
+      if (!Line.consume_front("CURRENT="))
+        continue;
+      // Process the config file pointed to by CURRENT.
+      llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> ConfigFile =
+          D.getVFS().getBufferForFile(
+              concat(D.SysRoot, GentooConfigDir, "/" + Line));
+      std::pair<StringRef, StringRef> ActiveVersion = Line.rsplit('-');
+      // List of paths to scan for libraries.
+      SmallVector<StringRef, 4> GentooScanPaths;
+      // Scan the Config file to find installed GCC libraries path.
+      // Typical content of the GCC config file:
+      // LDPATH="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x:/usr/lib/gcc/
+      // (continued from previous line) x86_64-pc-linux-gnu/4.9.x/32"
+      // MANPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/man"
+      // INFOPATH="/usr/share/gcc-data/x86_64-pc-linux-gnu/4.9.x/info"
+      // STDCXX_INCDIR="/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.x/include/g++-v4"
+      // We are looking for the paths listed in LDPATH=... .
+      if (ConfigFile) {
+        SmallVector<StringRef, 2> ConfigLines;
+        ConfigFile.get()->getBuffer().split(ConfigLines, "\n");
+        for (StringRef ConfLine : ConfigLines) {
+          ConfLine = ConfLine.trim();
+          if (ConfLine.consume_front("LDPATH=")) {
+            // Drop '"' from front and back if present.
+            ConfLine.consume_back("\"");
+            ConfLine.consume_front("\"");
+            // Get all paths sperated by ':'
+            ConfLine.split(GentooScanPaths, ':', -1, /*AllowEmpty*/ false);
+          }
+        }
+      }
+      // Test the path based on the version in /etc/env.d/gcc/config-{tuple}.
+      std::string basePath = "/usr/lib/gcc/" + ActiveVersion.first.str() + "/"
+          + ActiveVersion.second.str();
+      GentooScanPaths.push_back(StringRef(basePath));
+
+      // Scan all paths for GCC libraries.
+      for (const auto &GentooScanPath : GentooScanPaths) {
+        std::string GentooPath = concat(D.SysRoot, GentooScanPath);
+        if (D.getVFS().exists(GentooPath + "/crtbegin.o")) {
+          if (!ScanGCCForMultilibs(TargetTriple, Args, GentooPath,
+                                   NeedsBiarchSuffix))
+            continue;
+
+          Version = GCCVersion::Parse(ActiveVersion.second);
+          GCCInstallPath = GentooPath;
+          GCCParentLibPath = GentooPath + std::string("/../../..");
+          GCCTriple.setTriple(ActiveVersion.first);
+          IsValid = true;
+          return true;
+        }
+      }
+    }
+  }
+
+  return false;
+}
+
+Generic_GCC::Generic_GCC(const Driver &D, const llvm::Triple &Triple,
+                         const ArgList &Args)
+    : ToolChain(D, Triple, Args), GCCInstallation(D),
+      CudaInstallation(D, Triple, Args), RocmInstallation(D, Triple, Args) {
+  getProgramPaths().push_back(getDriver().getInstalledDir());
+  if (getDriver().getInstalledDir() != getDriver().Dir)
+    getProgramPaths().push_back(getDriver().Dir);
+}
+
+Generic_GCC::~Generic_GCC() {}
+
+Tool *Generic_GCC::getTool(Action::ActionClass AC) const {
+  switch (AC) {
+  case Action::PreprocessJobClass:
+    if (!Preprocess)
+      Preprocess.reset(new clang::driver::tools::gcc::Preprocessor(*this));
+    return Preprocess.get();
+  case Action::CompileJobClass:
+    if (!Compile)
+      Compile.reset(new tools::gcc::Compiler(*this));
+    return Compile.get();
+  default:
+    return ToolChain::getTool(AC);
+  }
+}
+
+Tool *Generic_GCC::buildAssembler() const {
+  return new tools::gnutools::Assembler(*this);
+}
+
+Tool *Generic_GCC::buildLinker() const { return new tools::gcc::Linker(*this); }
+
+void Generic_GCC::printVerboseInfo(raw_ostream &OS) const {
+  // Print the information about how we detected the GCC installation.
+  GCCInstallation.print(OS);
+  CudaInstallation.print(OS);
+  RocmInstallation.print(OS);
+}
+
+ToolChain::UnwindTableLevel
+Generic_GCC::getDefaultUnwindTableLevel(const ArgList &Args) const {
+  switch (getArch()) {
+  case llvm::Triple::aarch64:
+  case llvm::Triple::ppc:
+  case llvm::Triple::ppcle:
+  case llvm::Triple::ppc64:
+  case llvm::Triple::ppc64le:
+  case llvm::Triple::x86:
+  case llvm::Triple::x86_64:
+    return UnwindTableLevel::Asynchronous;
+  default:
+    return UnwindTableLevel::None;
+  }
+}
+
+bool Generic_GCC::isPICDefault() const {
+  switch (getArch()) {
+  case llvm::Triple::x86_64:
+    return getTriple().isOSWindows();
+  case llvm::Triple::mips64:
+  case llvm::Triple::mips64el:
+    return true;
+  default:
+    return false;
+  }
+}
+
+bool Generic_GCC::isPIEDefault(const llvm::opt::ArgList &Args) const {
+  return false;
+}
+
+bool Generic_GCC::isPICDefaultForced() const {
+  return getArch() == llvm::Triple::x86_64 && getTriple().isOSWindows();
+}
+
+bool Generic_GCC::IsIntegratedAssemblerDefault() const {
+  switch (getTriple().getArch()) {
+  case llvm::Triple::aarch64:
+  case llvm::Triple::aarch64_be:
+  case llvm::Triple::amdgcn:
+  case llvm::Triple::arm:
+  case llvm::Triple::armeb:
+  case llvm::Triple::avr:
+  case llvm::Triple::bpfel:
+  case llvm::Triple::bpfeb:
+  case llvm::Triple::csky:
+  case llvm::Triple::hexagon:
+  case llvm::Triple::lanai:
+  case llvm::Triple::loongarch32:
+  case llvm::Triple::loongarch64:
+  case llvm::Triple::m68k:
+  case llvm::Triple::mips:
+  case llvm::Triple::mipsel:
+  case llvm::Triple::mips64:
+  case llvm::Triple::mips64el:
+  case llvm::Triple::msp430:
+  case llvm::Triple::ppc:
+  case llvm::Triple::ppcle:
+  case llvm::Triple::ppc64:
+  case llvm::Triple::ppc64le:
+  case llvm::Triple::r600:
+  case llvm::Triple::riscv32:
+  case llvm::Triple::riscv64:
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel:
+  case llvm::Triple::sparcv9:
+  case llvm::Triple::systemz:
+  case llvm::Triple::thumb:
+  case llvm::Triple::thumbeb:
+  case llvm::Triple::ve:
+  case llvm::Triple::x86:
+  case llvm::Triple::x86_64:
+    return true;
+  default:
+    return false;
+  }
+}
+
+void Generic_GCC::PushPPaths(ToolChain::path_list &PPaths) {
+  // Cross-compiling binutils and GCC installations (vanilla and openSUSE at
+  // least) put various tools in a triple-prefixed directory off of the parent
+  // of the GCC installation. We use the GCC triple here to ensure that we end
+  // up with tools that support the same amount of cross compiling as the
+  // detected GCC installation. For example, if we find a GCC installation
+  // targeting x86_64, but it is a bi-arch GCC installation, it can also be
+  // used to target i386.
+  if (GCCInstallation.isValid()) {
+    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
+                           GCCInstallation.getTriple().str() + "/bin")
+                         .str());
+  }
+}
+
+void Generic_GCC::AddMultilibPaths(const Driver &D,
+                                   const std::string &SysRoot,
+                                   const std::string &OSLibDir,
+                                   const std::string &MultiarchTriple,
+                                   path_list &Paths) {
+  // Add the multilib suffixed paths where they are available.
+  if (GCCInstallation.isValid()) {
+    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+    const std::string &LibPath =
+        std::string(GCCInstallation.getParentLibPath());
+
+    // Sourcery CodeBench MIPS toolchain holds some libraries under
+    // a biarch-like suffix of the GCC installation.
+    if (const auto &PathsCallback = Multilibs.filePathsCallback())
+      for (const auto &Path : PathsCallback(SelectedMultilib))
+        addPathIfExists(D, GCCInstallation.getInstallPath() + Path, Paths);
+
+    // Add lib/gcc/$triple/$version, with an optional /multilib suffix.
+    addPathIfExists(
+        D, GCCInstallation.getInstallPath() + SelectedMultilib.gccSuffix(),
+        Paths);
+
+    // Add lib/gcc/$triple/$libdir
+    // For GCC built with --enable-version-specific-runtime-libs.
+    addPathIfExists(D, GCCInstallation.getInstallPath() + "/../" + OSLibDir,
+                    Paths);
+
+    // GCC cross compiling toolchains will install target libraries which ship
+    // as part of the toolchain under <prefix>/<triple>/<libdir> rather than as
+    // any part of the GCC installation in
+    // <prefix>/<libdir>/gcc/<triple>/<version>. This decision is somewhat
+    // debatable, but is the reality today. We need to search this tree even
+    // when we have a sysroot somewhere else. It is the responsibility of
+    // whomever is doing the cross build targeting a sysroot using a GCC
+    // installation that is *not* within the system root to ensure two things:
+    //
+    //  1) Any DSOs that are linked in from this tree or from the install path
+    //     above must be present on the system root and found via an
+    //     appropriate rpath.
+    //  2) There must not be libraries installed into
+    //     <prefix>/<triple>/<libdir> unless they should be preferred over
+    //     those within the system root.
+    //
+    // Note that this matches the GCC behavior. See the below comment for where
+    // Clang diverges from GCC's behavior.
+    addPathIfExists(D,
+                    LibPath + "/../" + GCCTriple.str() + "/lib/../" + OSLibDir +
+                        SelectedMultilib.osSuffix(),
+                    Paths);
+
+    // If the GCC installation we found is inside of the sysroot, we want to
+    // prefer libraries installed in the parent prefix of the GCC installation.
+    // It is important to *not* use these paths when the GCC installation is
+    // outside of the system root as that can pick up unintended libraries.
+    // This usually happens when there is an external cross compiler on the
+    // host system, and a more minimal sysroot available that is the target of
+    // the cross. Note that GCC does include some of these directories in some
+    // configurations but this seems somewhere between questionable and simply
+    // a bug.
+    if (StringRef(LibPath).startswith(SysRoot))
+      addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
+  }
+}
+
+void Generic_GCC::AddMultiarchPaths(const Driver &D,
+                                    const std::string &SysRoot,
+                                    const std::string &OSLibDir,
+                                    path_list &Paths) {
+  if (GCCInstallation.isValid()) {
+    const std::string &LibPath =
+        std::string(GCCInstallation.getParentLibPath());
+    const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+    const Multilib &Multilib = GCCInstallation.getMultilib();
+    addPathIfExists(
+        D, LibPath + "/../" + GCCTriple.str() + "/lib" + Multilib.osSuffix(),
+                    Paths);
+  }
+}
+
+void Generic_GCC::AddMultilibIncludeArgs(const ArgList &DriverArgs,
+                                         ArgStringList &CC1Args) const {
+  // Add include directories specific to the selected multilib set and multilib.
+  if (!GCCInstallation.isValid())
+    return;
+  // gcc TOOL_INCLUDE_DIR.
+  const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+  std::string LibPath(GCCInstallation.getParentLibPath());
+  addSystemInclude(DriverArgs, CC1Args,
+                   Twine(LibPath) + "/../" + GCCTriple.str() + "/include");
+
+  const auto &Callback = Multilibs.includeDirsCallback();
+  if (Callback) {
+    for (const auto &Path : Callback(GCCInstallation.getMultilib()))
+      addExternCSystemIncludeIfExists(DriverArgs, CC1Args,
+                                      GCCInstallation.getInstallPath() + Path);
+  }
+}
+
+void Generic_GCC::AddClangCXXStdlibIncludeArgs(const ArgList &DriverArgs,
+                                               ArgStringList &CC1Args) const {
+  if (DriverArgs.hasArg(options::OPT_nostdinc, options::OPT_nostdincxx,
+                        options::OPT_nostdlibinc))
+    return;
+
+  switch (GetCXXStdlibType(DriverArgs)) {
+  case ToolChain::CST_Libcxx:
+    addLibCxxIncludePaths(DriverArgs, CC1Args);
+    break;
+
+  case ToolChain::CST_Libstdcxx:
+    addLibStdCxxIncludePaths(DriverArgs, CC1Args);
+    break;
+  }
+}
+
+void
+Generic_GCC::addLibCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                                   llvm::opt::ArgStringList &CC1Args) const {
+  const Driver &D = getDriver();
+  std::string SysRoot = computeSysRoot();
+  std::string Target = getTripleString();
+
+  auto AddIncludePath = [&](std::string Path) {
+    std::string Version = detectLibcxxVersion(Path);
+    if (Version.empty())
+      return false;
+
+    // First add the per-target include path if it exists.
+    std::string TargetDir = Path + "/" + Target + "/c++/" + Version;
+    if (D.getVFS().exists(TargetDir))
+      addSystemInclude(DriverArgs, CC1Args, TargetDir);
+
+    // Second add the generic one.
+    addSystemInclude(DriverArgs, CC1Args, Path + "/c++/" + Version);
+    return true;
+  };
+
+  // Android never uses the libc++ headers installed alongside the toolchain,
+  // which are generally incompatible with the NDK libraries anyway.
+  if (!getTriple().isAndroid())
+    if (AddIncludePath(getDriver().Dir + "/../include"))
+      return;
+  // If this is a development, non-installed, clang, libcxx will
+  // not be found at ../include/c++ but it likely to be found at
+  // one of the following two locations:
+  if (AddIncludePath(concat(SysRoot, "/usr/local/include")))
+    return;
+  if (AddIncludePath(concat(SysRoot, "/usr/include")))
+    return;
+}
+
+bool Generic_GCC::addLibStdCXXIncludePaths(Twine IncludeDir, StringRef Triple,
+                                           Twine IncludeSuffix,
+                                           const llvm::opt::ArgList &DriverArgs,
+                                           llvm::opt::ArgStringList &CC1Args,
+                                           bool DetectDebian) const {
+  if (!getVFS().exists(IncludeDir))
+    return false;
+
+  // Debian native gcc uses g++-multiarch-incdir.diff which uses
+  // include/x86_64-linux-gnu/c++/10$IncludeSuffix instead of
+  // include/c++/10/x86_64-linux-gnu$IncludeSuffix.
+  std::string Dir = IncludeDir.str();
+  StringRef Include =
+      llvm::sys::path::parent_path(llvm::sys::path::parent_path(Dir));
+  std::string Path =
+      (Include + "/" + Triple + Dir.substr(Include.size()) + IncludeSuffix)
+          .str();
+  if (DetectDebian && !getVFS().exists(Path))
+    return false;
+
+  // GPLUSPLUS_INCLUDE_DIR
+  addSystemInclude(DriverArgs, CC1Args, IncludeDir);
+  // GPLUSPLUS_TOOL_INCLUDE_DIR. If Triple is not empty, add a target-dependent
+  // include directory.
+  if (DetectDebian)
+    addSystemInclude(DriverArgs, CC1Args, Path);
+  else if (!Triple.empty())
+    addSystemInclude(DriverArgs, CC1Args,
+                     IncludeDir + "/" + Triple + IncludeSuffix);
+  // GPLUSPLUS_BACKWARD_INCLUDE_DIR
+  addSystemInclude(DriverArgs, CC1Args, IncludeDir + "/backward");
+  return true;
+}
+
+bool Generic_GCC::addGCCLibStdCxxIncludePaths(
+    const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args,
+    StringRef DebianMultiarch) const {
+  assert(GCCInstallation.isValid());
+
+  // By default, look for the C++ headers in an include directory adjacent to
+  // the lib directory of the GCC installation. Note that this is expect to be
+  // equivalent to '/usr/include/c++/X.Y' in almost all cases.
+  StringRef LibDir = GCCInstallation.getParentLibPath();
+  StringRef InstallDir = GCCInstallation.getInstallPath();
+  StringRef TripleStr = GCCInstallation.getTriple().str();
+  const Multilib &Multilib = GCCInstallation.getMultilib();
+  const GCCVersion &Version = GCCInstallation.getVersion();
+
+  // Try /../$triple/include/c++/$version (gcc --print-multiarch is not empty).
+  if (addLibStdCXXIncludePaths(
+          LibDir.str() + "/../" + TripleStr + "/include/c++/" + Version.Text,
+          TripleStr, Multilib.includeSuffix(), DriverArgs, CC1Args))
+    return true;
+
+  // Try /gcc/$triple/$version/include/c++/ (gcc --print-multiarch is not
+  // empty). Like above but for GCC built with
+  // --enable-version-specific-runtime-libs.
+  if (addLibStdCXXIncludePaths(LibDir.str() + "/gcc/" + TripleStr + "/" +
+                                   Version.Text + "/include/c++/",
+                               TripleStr, Multilib.includeSuffix(), DriverArgs,
+                               CC1Args))
+    return true;
+
+  // Detect Debian g++-multiarch-incdir.diff.
+  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
+                               DebianMultiarch, Multilib.includeSuffix(),
+                               DriverArgs, CC1Args, /*Debian=*/true))
+    return true;
+
+  // Try /../include/c++/$version (gcc --print-multiarch is empty).
+  if (addLibStdCXXIncludePaths(LibDir.str() + "/../include/c++/" + Version.Text,
+                               TripleStr, Multilib.includeSuffix(), DriverArgs,
+                               CC1Args))
+    return true;
+
+  // Otherwise, fall back on a bunch of options which don't use multiarch
+  // layouts for simplicity.
+  const std::string LibStdCXXIncludePathCandidates[] = {
+      // Gentoo is weird and places its headers inside the GCC install,
+      // so if the first attempt to find the headers fails, try these patterns.
+      InstallDir.str() + "/include/g++-v" + Version.Text,
+      InstallDir.str() + "/include/g++-v" + Version.MajorStr + "." +
+          Version.MinorStr,
+      InstallDir.str() + "/include/g++-v" + Version.MajorStr,
+  };
+
+  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
+    if (addLibStdCXXIncludePaths(IncludePath, TripleStr,
+                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
+      return true;
+  }
+  return false;
+}
+
+void
+Generic_GCC::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                                      llvm::opt::ArgStringList &CC1Args) const {
+  if (GCCInstallation.isValid()) {
+    addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
+                                GCCInstallation.getTriple().str());
+  }
+}
+
+llvm::opt::DerivedArgList *
+Generic_GCC::TranslateArgs(const llvm::opt::DerivedArgList &Args, StringRef,
+                           Action::OffloadKind DeviceOffloadKind) const {
+
+  // If this tool chain is used for an OpenMP offloading device we have to make
+  // sure we always generate a shared library regardless of the commands the
+  // user passed to the host. This is required because the runtime library
+  // is required to load the device image dynamically at run time.
+  if (DeviceOffloadKind == Action::OFK_OpenMP) {
+    DerivedArgList *DAL = new DerivedArgList(Args.getBaseArgs());
+    const OptTable &Opts = getDriver().getOpts();
+
+    // Request the shared library. Given that these options are decided
+    // implicitly, they do not refer to any base argument.
+    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_shared));
+    DAL->AddFlagArg(/*BaseArg=*/nullptr, Opts.getOption(options::OPT_fPIC));
+
+    // Filter all the arguments we don't care passing to the offloading
+    // toolchain as they can mess up with the creation of a shared library.
+    for (auto *A : Args) {
+      switch ((options::ID)A->getOption().getID()) {
+      default:
+        DAL->append(A);
+        break;
+      case options::OPT_shared:
+      case options::OPT_dynamic:
+      case options::OPT_static:
+      case options::OPT_fPIC:
+      case options::OPT_fno_PIC:
+      case options::OPT_fpic:
+      case options::OPT_fno_pic:
+      case options::OPT_fPIE:
+      case options::OPT_fno_PIE:
+      case options::OPT_fpie:
+      case options::OPT_fno_pie:
+        break;
+      }
+    }
+    return DAL;
+  }
+  return nullptr;
+}
+
+void Generic_ELF::anchor() {}
+
+void Generic_ELF::addClangTargetOptions(const ArgList &DriverArgs,
+                                        ArgStringList &CC1Args,
+                                        Action::OffloadKind) const {
+  if (!DriverArgs.hasFlag(options::OPT_fuse_init_array,
+                          options::OPT_fno_use_init_array, true))
+    CC1Args.push_back("-fno-use-init-array");
+}
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clang-set-revision.patch
+
+mv llvm-$VERSION-clang-set-revision.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/clang/lib/Basic/Version.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/llvm-16.0.2-new/clang/lib/Basic/Version.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/llvm-16.0.2-new/clang/lib/Basic/Version.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clang-set-revision-patch/llvm-16.0.2-new/clang/lib/Basic/Version.cpp	(revision 40)
@@ -0,0 +1,106 @@
+//===- Version.cpp - Clang Version Number -----------------------*- 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 defines several version-related utility functions for Clang.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/Basic/Version.h"
+#include "clang/Basic/LLVM.h"
+#include "clang/Config/config.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cstdlib>
+#include <cstring>
+
+#include "VCSVersion.inc"
+
+namespace clang {
+
+std::string getClangRepositoryPath() {
+  return "";
+}
+
+std::string getLLVMRepositoryPath() {
+  return "";
+}
+
+std::string getClangRevision() {
+  return "";
+}
+
+std::string getLLVMRevision() {
+  return "";
+}
+
+std::string getClangFullRepositoryVersion() {
+  std::string buf;
+  llvm::raw_string_ostream OS(buf);
+  std::string Path = getClangRepositoryPath();
+  std::string Revision = getClangRevision();
+  if (!Path.empty() || !Revision.empty()) {
+    OS << '(';
+    if (!Path.empty())
+      OS << Path;
+    if (!Revision.empty()) {
+      if (!Path.empty())
+        OS << ' ';
+      OS << Revision;
+    }
+    OS << ')';
+  }
+  // Support LLVM in a separate repository.
+  std::string LLVMRev = getLLVMRevision();
+  if (!LLVMRev.empty() && LLVMRev != Revision) {
+    OS << " (";
+    std::string LLVMRepo = getLLVMRepositoryPath();
+    if (!LLVMRepo.empty())
+      OS << LLVMRepo << ' ';
+    OS << LLVMRev << ')';
+  }
+  return buf;
+}
+
+std::string getClangFullVersion() {
+  return getClangToolFullVersion("clang");
+}
+
+std::string getClangToolFullVersion(StringRef ToolName) {
+  std::string buf;
+  llvm::raw_string_ostream OS(buf);
+#ifdef CLANG_VENDOR
+  OS << CLANG_VENDOR;
+#endif
+  OS << ToolName << " version " CLANG_VERSION_STRING;
+
+  std::string repo = getClangFullRepositoryVersion();
+  if (!repo.empty()) {
+    OS << " " << repo;
+  }
+
+  return buf;
+}
+
+std::string getClangFullCPPVersion() {
+  // The version string we report in __VERSION__ is just a compacted version of
+  // the one we report on the command line.
+  std::string buf;
+  llvm::raw_string_ostream OS(buf);
+#ifdef CLANG_VENDOR
+  OS << CLANG_VENDOR;
+#endif
+  OS << "Clang " CLANG_VERSION_STRING;
+
+  std::string repo = getClangFullRepositoryVersion();
+  if (!repo.empty()) {
+    OS << " " << repo;
+  }
+
+  return buf;
+}
+
+} // end namespace clang
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-clangd-riscv64.patch
+
+mv llvm-$VERSION-clangd-riscv64.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/clang-tools-extra/clangd/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/llvm-16.0.2-new/clang-tools-extra/clangd/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/llvm-16.0.2-new/clang-tools-extra/clangd/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-clangd-riscv64-patch/llvm-16.0.2-new/clang-tools-extra/clangd/CMakeLists.txt	(revision 40)
@@ -0,0 +1,224 @@
+# This is a no-op for building files in this dir, but is inherited by subdirs.
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+add_subdirectory(support)
+
+# Configure the Features.inc file.
+if (NOT DEFINED CLANGD_BUILD_XPC)
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+    set(CLANGD_BUILD_XPC_DEFAULT ON)
+  else ()
+    set(CLANGD_BUILD_XPC_DEFAULT OFF)
+  endif ()
+
+  llvm_canonicalize_cmake_booleans(CLANGD_BUILD_XPC_DEFAULT)
+
+  set(CLANGD_BUILD_XPC ${CLANGD_BUILD_XPC_DEFAULT} CACHE BOOL "Build XPC Support For Clangd." FORCE)
+  unset(CLANGD_BUILD_XPC_DEFAULT)
+endif ()
+
+# This involves generating and compiling large source files, which can run into toolchain limitations.
+option(CLANGD_DECISION_FOREST "Enable decision forest model for ranking code completion items" ON)
+option(CLANGD_MALLOC_TRIM "Call malloc_trim(3) periodically in Clangd. (only takes effect when using glibc)" ON)
+# -DCLANG_TIDY_CHECKS=Off avoids a dependency on clang-tidy, reducing rebuilds.
+option(CLANGD_TIDY_CHECKS "Link all clang-tidy checks into clangd" ON)
+
+llvm_canonicalize_cmake_booleans(
+  CLANGD_BUILD_XPC
+  CLANGD_ENABLE_REMOTE
+  ENABLE_GRPC_REFLECTION
+  CLANGD_MALLOC_TRIM
+  CLANGD_TIDY_CHECKS
+  LLVM_ENABLE_ZLIB
+  CLANGD_DECISION_FOREST
+)
+
+configure_file(
+  ${CMAKE_CURRENT_SOURCE_DIR}/Features.inc.in
+  ${CMAKE_CURRENT_BINARY_DIR}/Features.inc
+)
+
+set(LLVM_LINK_COMPONENTS
+  Support
+  AllTargetsInfos
+  FrontendOpenMP
+  Option
+  TargetParser
+  )
+
+set(COMPLETIONMODEL_SOURCES)
+if(CLANGD_DECISION_FOREST)
+  include(${CMAKE_CURRENT_SOURCE_DIR}/quality/CompletionModel.cmake)
+  gen_decision_forest(${CMAKE_CURRENT_SOURCE_DIR}/quality/model CompletionModel clang::clangd::Example)
+  list(APPEND COMPLETIONMODEL_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/CompletionModel.cpp)
+endif()
+
+if(MSVC AND NOT CLANG_CL)
+ set_source_files_properties(CompileCommands.cpp PROPERTIES COMPILE_FLAGS -wd4130) # disables C4130: logical operation on address of string constant
+endif()
+
+include_directories(BEFORE "${CMAKE_CURRENT_BINARY_DIR}/../clang-tidy")
+include_directories(BEFORE "${CMAKE_CURRENT_SOURCE_DIR}/../include-cleaner/include")
+
+add_clang_library(clangDaemon
+  AST.cpp
+  ASTSignals.cpp
+  ClangdLSPServer.cpp
+  ClangdServer.cpp
+  CodeComplete.cpp
+  CodeCompletionStrings.cpp
+  CollectMacros.cpp
+  CompileCommands.cpp
+  Compiler.cpp
+  Config.cpp
+  ConfigCompile.cpp
+  ConfigProvider.cpp
+  ConfigYAML.cpp
+  DecisionForest.cpp
+  Diagnostics.cpp
+  DraftStore.cpp
+  DumpAST.cpp
+  ExpectedTypes.cpp
+  FeatureModule.cpp
+  Feature.cpp
+  FindSymbols.cpp
+  FindTarget.cpp
+  FileDistance.cpp
+  Format.cpp
+  FS.cpp
+  FuzzyMatch.cpp
+  GlobalCompilationDatabase.cpp
+  Headers.cpp
+  HeaderSourceSwitch.cpp
+  HeuristicResolver.cpp
+  Hover.cpp
+  IncludeCleaner.cpp
+  IncludeFixer.cpp
+  InlayHints.cpp
+  JSONTransport.cpp
+  PathMapping.cpp
+  Protocol.cpp
+  Quality.cpp
+  ParsedAST.cpp
+  Preamble.cpp
+  RIFF.cpp
+  Selection.cpp
+  SemanticHighlighting.cpp
+  SemanticSelection.cpp
+  SourceCode.cpp
+  SystemIncludeExtractor.cpp
+  TidyProvider.cpp
+  TUScheduler.cpp
+  URI.cpp
+  XRefs.cpp
+  ${COMPLETIONMODEL_SOURCES}
+
+  index/Background.cpp
+  index/BackgroundIndexLoader.cpp
+  index/BackgroundIndexStorage.cpp
+  index/BackgroundQueue.cpp
+  index/BackgroundRebuild.cpp
+  index/CanonicalIncludes.cpp
+  index/FileIndex.cpp
+  index/Index.cpp
+  index/IndexAction.cpp
+  index/MemIndex.cpp
+  index/Merge.cpp
+  index/ProjectAware.cpp
+  index/Ref.cpp
+  index/Relation.cpp
+  index/Serialization.cpp
+  index/StdLib.cpp
+  index/Symbol.cpp
+  index/SymbolCollector.cpp
+  index/SymbolID.cpp
+  index/SymbolLocation.cpp
+  index/SymbolOrigin.cpp
+  index/YAMLSerialization.cpp
+
+  index/dex/Dex.cpp
+  index/dex/Iterator.cpp
+  index/dex/PostingList.cpp
+  index/dex/Trigram.cpp
+
+  refactor/InsertionPoint.cpp
+  refactor/Rename.cpp
+  refactor/Tweak.cpp
+
+  DEPENDS
+  omp_gen
+  )
+
+# Include generated CompletionModel headers.
+target_include_directories(clangDaemon PUBLIC
+  $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+)
+
+clang_target_link_libraries(clangDaemon
+  PRIVATE
+  clangAST
+  clangASTMatchers
+  clangBasic
+  clangDriver
+  clangFormat
+  clangFrontend
+  clangIndex
+  clangLex
+  clangSema
+  clangSerialization
+  clangTooling
+  clangToolingCore
+  clangToolingInclusions
+  clangToolingInclusionsStdlib
+  clangToolingSyntax
+  )
+
+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
+  target_link_libraries(clangDaemon PRIVATE atomic)
+endif()
+
+target_link_libraries(clangDaemon
+  PRIVATE
+  ${LLVM_PTHREAD_LIB}
+
+  clangIncludeCleaner
+  clangPseudo
+  clangTidy
+
+  clangdSupport
+  )
+if(CLANGD_TIDY_CHECKS)
+  target_link_libraries(clangDaemon PRIVATE ${ALL_CLANG_TIDY_CHECKS})
+endif()
+
+add_subdirectory(refactor/tweaks)
+if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+  # FIXME: Make fuzzer not use linux-specific APIs, build it everywhere.
+  add_subdirectory(fuzzer)
+endif()
+add_subdirectory(tool)
+add_subdirectory(indexer)
+
+if (LLVM_INCLUDE_BENCHMARKS)
+  add_subdirectory(benchmarks)
+endif()
+if ( CLANGD_BUILD_XPC )
+  add_subdirectory(xpc)
+endif ()
+
+if (CLANGD_ENABLE_REMOTE)
+  include(AddGRPC)
+endif()
+
+if(CLANG_INCLUDE_TESTS)
+  add_subdirectory(test)
+  add_subdirectory(unittests)
+endif()
+
+# FIXME(kirillbobyrev): Document this in the LLVM docs once remote index is stable.
+option(CLANGD_ENABLE_REMOTE "Use gRPC library to enable remote index support for Clangd" OFF)
+set(GRPC_INSTALL_PATH "" CACHE PATH "Path to gRPC library manual installation.")
+
+add_subdirectory(index/remote)
+add_subdirectory(index/dex/dexp)
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-jz47xx.patch
+
+mv llvm-$VERSION-compiler-rt-jz47xx.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/compiler-rt/cmake/base-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-jz47xx-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(revision 40)
@@ -0,0 +1,275 @@
+# The CompilerRT build system requires CMake version 2.8.8 or higher in order
+# to use its support for building convenience "libraries" as a collection of
+# .o files. This is particularly useful in producing larger, more complex
+# runtime libraries.
+
+include(BuiltinTests)
+include(CheckIncludeFile)
+include(CheckCXXSourceCompiles)
+include(GNUInstallDirs)
+include(ExtendPath)
+include(CompilerRTDarwinUtils)
+
+check_include_file(unwind.h HAVE_UNWIND_H)
+
+# Used by sanitizer_common and tests.
+check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
+if (NOT HAVE_RPC_XDR_H)
+  set(HAVE_RPC_XDR_H 0)
+endif()
+
+# Top level target used to build all compiler-rt libraries.
+add_custom_target(compiler-rt ALL)
+add_custom_target(install-compiler-rt)
+add_custom_target(install-compiler-rt-stripped)
+set_property(
+  TARGET
+    compiler-rt
+    install-compiler-rt
+    install-compiler-rt-stripped
+  PROPERTY
+    FOLDER "Compiler-RT Misc"
+)
+
+# Setting these variables from an LLVM build is sufficient that compiler-rt can
+# construct the output paths, so it can behave as if it were in-tree here.
+if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
+  set(LLVM_TREE_AVAILABLE On)
+endif()
+
+if (LLVM_TREE_AVAILABLE)
+  # Compute the Clang version from the LLVM version.
+  # FIXME: We should be able to reuse CLANG_VERSION_MAJOR variable calculated
+  #        in Clang cmake files, instead of copying the rules here.
+  string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR
+         ${PACKAGE_VERSION})
+  # Setup the paths where compiler-rt runtimes and headers should be stored.
+  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION_MAJOR})
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR})
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
+         ${LLVM_INCLUDE_TESTS})
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
+         ${LLVM_ENABLE_WERROR})
+
+  # Use just-built Clang to compile/link tests on all platforms.
+  if (CMAKE_CROSSCOMPILING)
+    if (CMAKE_HOST_WIN32)
+      set(_host_executable_suffix ".exe")
+    else()
+      set(_host_executable_suffix "")
+    endif()
+  else()
+    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
+  endif()
+  set(COMPILER_RT_TEST_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
+  set(COMPILER_RT_TEST_CXX_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
+else()
+    # Take output dir and install path from the user.
+  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
+    "Path where built compiler-rt libraries should be stored.")
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
+    "Path where built compiler-rt executables should be stored.")
+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
+    "Prefix for directories where built compiler-rt artifacts should be installed.")
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
+  # Use a host compiler to compile/link tests.
+  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
+  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
+endif()
+
+if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+else()
+  set(COMPILER_RT_TEST_COMPILER_ID GNU)
+endif()
+
+if(NOT DEFINED COMPILER_RT_OS_DIR)
+  if(ANDROID)
+    # The CMAKE_SYSTEM_NAME for Android is Android, but the OS is Linux and the
+    # driver will search for compiler-rt libraries in the "linux" directory.
+    set(COMPILER_RT_OS_DIR linux)
+  else()
+    string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
+  endif()
+endif()
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib)
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+endif()
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
+set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
+  "Path where built compiler-rt executables should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
+set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt headers should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
+set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt data files should be installed.")
+
+if(APPLE)
+  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
+  # not the command line tools (or is using macOS 10.14 or newer). If this is
+  # the case, we need to find the OS X sysroot to pass to clang.
+  if(NOT EXISTS /usr/include/c++)
+    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
+       OUTPUT_VARIABLE OSX_SYSROOT
+       ERROR_QUIET
+       OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
+      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
+    else()
+      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
+      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
+    endif()
+  else()
+    set(OSX_SYSROOT_FLAG "")
+  endif()
+
+  try_compile_only(COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG
+                   FLAGS
+                   "-target" "x86_64-apple-macos10.15"
+                   "-darwin-target-variant" "x86_64-apple-ios13.1-macabi"
+                   "-Werror")
+  option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG})
+
+  # Don't enable COMPILER_RT_ENABLE_IOS if we can't find the sdk dir.
+  # This can happen when you only have the commandline tools installed
+  # which doesn't come with the iOS SDK.
+  find_darwin_sdk_dir(HAS_IOS_SDK "iphoneos")
+  set(COMPILER_RT_ENABLE_IOS_DEFAULT On)
+  if("${HAS_IOS_SDK}" STREQUAL "")
+    message(WARNING "iOS SDK not found! Building compiler-rt without iOS support.")
+    set(COMPILER_RT_ENABLE_IOS_DEFAULT Off)
+  endif()
+  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" ${COMPILER_RT_ENABLE_IOS_DEFAULT})
+
+  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
+  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
+
+else()
+  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
+endif()
+
+if(WIN32 AND NOT MINGW AND NOT CYGWIN)
+  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
+  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
+endif()
+
+macro(test_targets)
+  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
+  # what version of MSVC to pretend to be so that the STL works.
+  set(MSVC_VERSION_FLAG "")
+  if (MSVC)
+    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
+      OUTPUT_QUIET
+      ERROR_VARIABLE MSVC_COMPAT_VERSION
+      )
+    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
+      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
+    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
+      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
+      # Add this flag into the host build if this is clang-cl.
+      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+        # Add this flag to test compiles to suppress clang's auto-detection
+        # logic.
+        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
+      endif()
+    endif()
+  endif()
+
+  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
+  if(ANDROID)
+    # Examine compiler output to determine target architecture.
+    detect_target_arch()
+    set(COMPILER_RT_OS_SUFFIX "-android")
+  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
+    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
+      if(NOT MSVC)
+        test_target_arch(x86_64 "" "-m64")
+        test_target_arch(i386 __i386__ "-m32")
+      else()
+        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+          test_target_arch(i386 "" "")
+        else()
+          test_target_arch(x86_64 "" "")
+        endif()
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "loongarch64")
+      test_target_arch(loongarch64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le|ppc64le")
+      test_target_arch(powerpc64le "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
+      test_target_arch(powerpc "" "-m32")
+      test_target_arch(powerpc64 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
+      test_target_arch(s390x "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
+      test_target_arch(sparc "" "-m32")
+      test_target_arch(sparcv9 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
+      # FIXME: Ideally, we would build the N32 library too.
+      if("${COMPILER_RT_MIPS_EL}" AND ("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}"))
+        test_target_arch(mipsel "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r6" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS_EL}")
+        test_target_arch(mipsel "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r2" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}")
+        test_target_arch(mips "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r6" "-mabi=64")
+      else()
+        test_target_arch(mips "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r2" "-mabi=64")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
+      if(WIN32)
+        test_target_arch(arm "" "" "")
+      else()
+        test_target_arch(armv4t "" "-march=armv4t" "-mfloat-abi=soft")
+        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
+        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
+        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "avr")
+      test_target_arch(avr "__AVR__" "--target=avr")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
+      test_target_arch(aarch32 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
+      test_target_arch(aarch64 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
+      test_target_arch(riscv32 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
+      test_target_arch(riscv64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
+      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
+      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
+      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
+    endif()
+    set(COMPILER_RT_OS_SUFFIX "")
+  endif()
+endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-mips.patch
+
+mv llvm-$VERSION-compiler-rt-mips.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/llvm-16.0.2-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/llvm-16.0.2-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-mips-patch/llvm-16.0.2-new/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h	(revision 40)
@@ -0,0 +1,1509 @@
+//===-- sanitizer_platform_limits_posix.h ---------------------------------===//
+//
+// 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 is a part of Sanitizer common code.
+//
+// Sizes and layouts of platform-specific POSIX data structures.
+//===----------------------------------------------------------------------===//
+
+#ifndef SANITIZER_PLATFORM_LIMITS_POSIX_H
+#define SANITIZER_PLATFORM_LIMITS_POSIX_H
+
+#if SANITIZER_LINUX || SANITIZER_APPLE
+
+#include "sanitizer_internal_defs.h"
+#include "sanitizer_platform.h"
+
+#if SANITIZER_APPLE
+#include <sys/cdefs.h>
+#if !__DARWIN_ONLY_64_BIT_INO_T
+#define SANITIZER_HAS_STAT64 1
+#define SANITIZER_HAS_STATFS64 1
+#else
+#define SANITIZER_HAS_STAT64 0
+#define SANITIZER_HAS_STATFS64 0
+#endif
+#elif SANITIZER_GLIBC || SANITIZER_ANDROID
+#define SANITIZER_HAS_STAT64 1
+#define SANITIZER_HAS_STATFS64 1
+#endif
+
+#if defined(__sparc__)
+// FIXME: This can't be included from tsan which does not support sparc yet.
+#include "sanitizer_glibc_version.h"
+#endif
+
+# define GET_LINK_MAP_BY_DLOPEN_HANDLE(handle) ((link_map*)(handle))
+
+namespace __sanitizer {
+extern unsigned struct_utsname_sz;
+extern unsigned struct_stat_sz;
+#if SANITIZER_HAS_STAT64
+extern unsigned struct_stat64_sz;
+#endif
+extern unsigned struct_rusage_sz;
+extern unsigned siginfo_t_sz;
+extern unsigned struct_itimerval_sz;
+extern unsigned pthread_t_sz;
+extern unsigned pthread_mutex_t_sz;
+extern unsigned pthread_cond_t_sz;
+extern unsigned pid_t_sz;
+extern unsigned timeval_sz;
+extern unsigned uid_t_sz;
+extern unsigned gid_t_sz;
+extern unsigned mbstate_t_sz;
+extern unsigned struct_timezone_sz;
+extern unsigned struct_tms_sz;
+extern unsigned struct_itimerspec_sz;
+extern unsigned struct_sigevent_sz;
+extern unsigned struct_stack_t_sz;
+extern unsigned struct_sched_param_sz;
+#if SANITIZER_HAS_STATFS64
+extern unsigned struct_statfs64_sz;
+#endif
+extern unsigned struct_regex_sz;
+extern unsigned struct_regmatch_sz;
+
+#if !SANITIZER_ANDROID
+extern unsigned struct_fstab_sz;
+extern unsigned struct_statfs_sz;
+extern unsigned struct_sockaddr_sz;
+unsigned ucontext_t_sz(void *uctx);
+#  endif  // !SANITIZER_ANDROID
+
+#  if SANITIZER_LINUX
+
+#    if defined(__x86_64__)
+const unsigned struct_kernel_stat_sz = 144;
+const unsigned struct_kernel_stat64_sz = 0;
+#elif defined(__i386__)
+const unsigned struct_kernel_stat_sz = 64;
+const unsigned struct_kernel_stat64_sz = 96;
+#elif defined(__arm__)
+const unsigned struct_kernel_stat_sz = 64;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__aarch64__)
+const unsigned struct_kernel_stat_sz = 128;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__powerpc__) && !defined(__powerpc64__)
+const unsigned struct_kernel_stat_sz = 72;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__powerpc64__)
+const unsigned struct_kernel_stat_sz = 144;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__mips__)
+const unsigned struct_kernel_stat_sz =
+    SANITIZER_ANDROID
+        ? FIRST_32_SECOND_64(104, 128)
+        : FIRST_32_SECOND_64((_MIPS_SIM == _ABIO32) ? 160 : 144, 216);
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__s390__) && !defined(__s390x__)
+const unsigned struct_kernel_stat_sz = 64;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif defined(__s390x__)
+const unsigned struct_kernel_stat_sz = 144;
+const unsigned struct_kernel_stat64_sz = 0;
+#elif defined(__sparc__) && defined(__arch64__)
+const unsigned struct___old_kernel_stat_sz = 0;
+const unsigned struct_kernel_stat_sz = 104;
+const unsigned struct_kernel_stat64_sz = 144;
+#elif defined(__sparc__) && !defined(__arch64__)
+const unsigned struct___old_kernel_stat_sz = 0;
+const unsigned struct_kernel_stat_sz = 64;
+const unsigned struct_kernel_stat64_sz = 104;
+#elif SANITIZER_RISCV64
+const unsigned struct_kernel_stat_sz = 128;
+const unsigned struct_kernel_stat64_sz = 0;  // RISCV64 does not use stat64
+#    elif defined(__hexagon__)
+const unsigned struct_kernel_stat_sz = 128;
+const unsigned struct_kernel_stat64_sz = 0;
+#    elif defined(__loongarch__)
+const unsigned struct_kernel_stat_sz = 128;
+const unsigned struct_kernel_stat64_sz = 0;
+#    endif
+struct __sanitizer_perf_event_attr {
+  unsigned type;
+  unsigned size;
+  // More fields that vary with the kernel version.
+};
+
+extern unsigned struct_epoll_event_sz;
+extern unsigned struct_sysinfo_sz;
+extern unsigned __user_cap_header_struct_sz;
+extern unsigned __user_cap_data_struct_sz;
+extern unsigned struct_new_utsname_sz;
+extern unsigned struct_old_utsname_sz;
+extern unsigned struct_oldold_utsname_sz;
+
+const unsigned struct_kexec_segment_sz = 4 * sizeof(unsigned long);
+#endif  // SANITIZER_LINUX
+
+#if SANITIZER_LINUX
+
+#if defined(__powerpc64__) || defined(__s390__) || defined(__loongarch__)
+const unsigned struct___old_kernel_stat_sz = 0;
+#elif !defined(__sparc__)
+const unsigned struct___old_kernel_stat_sz = 32;
+#endif
+
+extern unsigned struct_rlimit_sz;
+extern unsigned struct_utimbuf_sz;
+extern unsigned struct_timespec_sz;
+
+struct __sanitizer_iocb {
+  u64 aio_data;
+  u32 aio_key_or_aio_reserved1;  // Simply crazy.
+  u32 aio_reserved1_or_aio_key;  // Luckily, we don't need these.
+  u16 aio_lio_opcode;
+  s16 aio_reqprio;
+  u32 aio_fildes;
+  u64 aio_buf;
+  u64 aio_nbytes;
+  s64 aio_offset;
+  u64 aio_reserved2;
+  u64 aio_reserved3;
+};
+
+struct __sanitizer_io_event {
+  u64 data;
+  u64 obj;
+  u64 res;
+  u64 res2;
+};
+
+const unsigned iocb_cmd_pread = 0;
+const unsigned iocb_cmd_pwrite = 1;
+const unsigned iocb_cmd_preadv = 7;
+const unsigned iocb_cmd_pwritev = 8;
+
+struct __sanitizer___sysctl_args {
+  int *name;
+  int nlen;
+  void *oldval;
+  uptr *oldlenp;
+  void *newval;
+  uptr newlen;
+  unsigned long ___unused[4];
+};
+
+const unsigned old_sigset_t_sz = sizeof(unsigned long);
+
+struct __sanitizer_sem_t {
+#if SANITIZER_ANDROID && defined(_LP64)
+  int data[4];
+#elif SANITIZER_ANDROID && !defined(_LP64)
+  int data;
+#elif SANITIZER_LINUX
+  uptr data[4];
+#endif
+};
+#endif // SANITIZER_LINUX
+
+#if SANITIZER_ANDROID
+struct __sanitizer_struct_mallinfo {
+  uptr v[10];
+};
+#endif
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+struct __sanitizer_struct_mallinfo {
+  int v[10];
+};
+
+extern unsigned struct_ustat_sz;
+extern unsigned struct_rlimit64_sz;
+extern unsigned struct_statvfs64_sz;
+
+struct __sanitizer_ipc_perm {
+  int __key;
+  int uid;
+  int gid;
+  int cuid;
+  int cgid;
+#ifdef __powerpc__
+  unsigned mode;
+  unsigned __seq;
+  u64 __unused1;
+  u64 __unused2;
+#elif defined(__sparc__)
+  unsigned mode;
+  unsigned short __pad2;
+  unsigned short __seq;
+  unsigned long long __unused1;
+  unsigned long long __unused2;
+#else
+  unsigned int mode;
+  unsigned short __seq;
+  unsigned short __pad2;
+#if defined(__x86_64__) && !defined(_LP64)
+  u64 __unused1;
+  u64 __unused2;
+#else
+  unsigned long __unused1;
+  unsigned long __unused2;
+#endif
+#endif
+};
+
+struct __sanitizer_shmid_ds {
+  __sanitizer_ipc_perm shm_perm;
+#if defined(__sparc__)
+#if !defined(__arch64__)
+  u32 __pad1;
+#endif
+  long shm_atime;
+#if !defined(__arch64__)
+  u32 __pad2;
+#endif
+  long shm_dtime;
+#if !defined(__arch64__)
+  u32 __pad3;
+#endif
+  long shm_ctime;
+  uptr shm_segsz;
+  int shm_cpid;
+  int shm_lpid;
+  unsigned long shm_nattch;
+  unsigned long __glibc_reserved1;
+  unsigned long __glibc_reserved2;
+#else
+#ifndef __powerpc__
+  uptr shm_segsz;
+#elif !defined(__powerpc64__)
+  uptr __unused0;
+#endif
+#if defined(__x86_64__) && !defined(_LP64)
+  u64 shm_atime;
+  u64 shm_dtime;
+  u64 shm_ctime;
+#else
+  uptr shm_atime;
+#if !defined(_LP64) && !defined(__mips__)
+  uptr __unused1;
+#endif
+  uptr shm_dtime;
+#if !defined(_LP64) && !defined(__mips__)
+  uptr __unused2;
+#endif
+  uptr shm_ctime;
+#if !defined(_LP64) && !defined(__mips__)
+  uptr __unused3;
+#endif
+#endif
+#ifdef __powerpc__
+  uptr shm_segsz;
+#endif
+  int shm_cpid;
+  int shm_lpid;
+#if defined(__x86_64__) && !defined(_LP64)
+  u64 shm_nattch;
+  u64 __unused4;
+  u64 __unused5;
+#else
+  uptr shm_nattch;
+  uptr __unused4;
+  uptr __unused5;
+#endif
+#endif
+};
+#endif
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+extern unsigned struct_msqid_ds_sz;
+extern unsigned struct_mq_attr_sz;
+extern unsigned struct_timex_sz;
+extern unsigned struct_statvfs_sz;
+extern unsigned struct_crypt_data_sz;
+#endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
+
+struct __sanitizer_iovec {
+  void *iov_base;
+  uptr iov_len;
+};
+
+#if !SANITIZER_ANDROID
+struct __sanitizer_ifaddrs {
+  struct __sanitizer_ifaddrs *ifa_next;
+  char *ifa_name;
+  unsigned int ifa_flags;
+  void *ifa_addr;     // (struct sockaddr *)
+  void *ifa_netmask;  // (struct sockaddr *)
+  // This is a union on Linux.
+# ifdef ifa_dstaddr
+# undef ifa_dstaddr
+# endif
+  void *ifa_dstaddr;  // (struct sockaddr *)
+  void *ifa_data;
+};
+#endif  // !SANITIZER_ANDROID
+
+#if SANITIZER_APPLE
+typedef unsigned long __sanitizer_pthread_key_t;
+#else
+typedef unsigned __sanitizer_pthread_key_t;
+#endif
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+
+struct __sanitizer_XDR {
+  int x_op;
+  void *x_ops;
+  uptr x_public;
+  uptr x_private;
+  uptr x_base;
+  unsigned x_handy;
+};
+
+const int __sanitizer_XDR_ENCODE = 0;
+const int __sanitizer_XDR_DECODE = 1;
+const int __sanitizer_XDR_FREE = 2;
+#endif
+
+struct __sanitizer_passwd {
+  char *pw_name;
+  char *pw_passwd;
+  int pw_uid;
+  int pw_gid;
+#if SANITIZER_APPLE
+  long pw_change;
+  char *pw_class;
+#endif
+#if !(SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32))
+  char *pw_gecos;
+#endif
+  char *pw_dir;
+  char *pw_shell;
+#if SANITIZER_APPLE
+  long pw_expire;
+#endif
+};
+
+struct __sanitizer_group {
+  char *gr_name;
+  char *gr_passwd;
+  int gr_gid;
+  char **gr_mem;
+};
+
+#  if (SANITIZER_LINUX && !SANITIZER_GLIBC && !SANITIZER_ANDROID) || \
+      (defined(__x86_64__) && !defined(_LP64)) || defined(__hexagon__)
+typedef long long __sanitizer_time_t;
+#else
+typedef long __sanitizer_time_t;
+#endif
+
+typedef long __sanitizer_suseconds_t;
+
+struct __sanitizer_timeval {
+  __sanitizer_time_t tv_sec;
+  __sanitizer_suseconds_t tv_usec;
+};
+
+struct __sanitizer_itimerval {
+  struct __sanitizer_timeval it_interval;
+  struct __sanitizer_timeval it_value;
+};
+
+struct __sanitizer_timeb {
+  __sanitizer_time_t time;
+  unsigned short millitm;
+  short timezone;
+  short dstflag;
+};
+
+struct __sanitizer_ether_addr {
+  u8 octet[6];
+};
+
+struct __sanitizer_tm {
+  int tm_sec;
+  int tm_min;
+  int tm_hour;
+  int tm_mday;
+  int tm_mon;
+  int tm_year;
+  int tm_wday;
+  int tm_yday;
+  int tm_isdst;
+  long int tm_gmtoff;
+  const char *tm_zone;
+};
+
+#if SANITIZER_LINUX
+struct __sanitizer_mntent {
+  char *mnt_fsname;
+  char *mnt_dir;
+  char *mnt_type;
+  char *mnt_opts;
+  int mnt_freq;
+  int mnt_passno;
+};
+
+struct __sanitizer_file_handle {
+  unsigned int handle_bytes;
+  int handle_type;
+  unsigned char f_handle[1];  // variable sized
+};
+#endif
+
+#if SANITIZER_APPLE
+struct __sanitizer_msghdr {
+  void *msg_name;
+  unsigned msg_namelen;
+  struct __sanitizer_iovec *msg_iov;
+  unsigned msg_iovlen;
+  void *msg_control;
+  unsigned msg_controllen;
+  int msg_flags;
+};
+struct __sanitizer_cmsghdr {
+  unsigned cmsg_len;
+  int cmsg_level;
+  int cmsg_type;
+};
+#else
+// In POSIX, int msg_iovlen; socklen_t msg_controllen; socklen_t cmsg_len; but
+// many implementations don't conform to the standard.
+struct __sanitizer_msghdr {
+  void *msg_name;
+  unsigned msg_namelen;
+  struct __sanitizer_iovec *msg_iov;
+  uptr msg_iovlen;
+  void *msg_control;
+  uptr msg_controllen;
+  int msg_flags;
+};
+struct __sanitizer_cmsghdr {
+  uptr cmsg_len;
+  int cmsg_level;
+  int cmsg_type;
+};
+#endif
+
+#if SANITIZER_LINUX
+struct __sanitizer_mmsghdr {
+  __sanitizer_msghdr msg_hdr;
+  unsigned int msg_len;
+};
+#endif
+
+#if SANITIZER_APPLE
+struct __sanitizer_dirent {
+  unsigned long long d_ino;
+  unsigned long long d_seekoff;
+  unsigned short d_reclen;
+  // more fields that we don't care about
+};
+#  elif (SANITIZER_LINUX && !SANITIZER_GLIBC) || defined(__x86_64__) || \
+      defined(__hexagon__)
+struct __sanitizer_dirent {
+  unsigned long long d_ino;
+  unsigned long long d_off;
+  unsigned short d_reclen;
+  // more fields that we don't care about
+};
+#  else
+struct __sanitizer_dirent {
+  uptr d_ino;
+  uptr d_off;
+  unsigned short d_reclen;
+  // more fields that we don't care about
+};
+#  endif
+
+#  if SANITIZER_GLIBC
+struct __sanitizer_dirent64 {
+  unsigned long long d_ino;
+  unsigned long long d_off;
+  unsigned short d_reclen;
+  // more fields that we don't care about
+};
+#endif
+
+#if defined(__x86_64__) && !defined(_LP64)
+typedef long long __sanitizer_clock_t;
+#else
+typedef long __sanitizer_clock_t;
+#endif
+
+#if SANITIZER_LINUX
+typedef int __sanitizer_clockid_t;
+#endif
+
+#if SANITIZER_LINUX
+#    if defined(_LP64) || defined(__x86_64__) || defined(__powerpc__) || \
+        defined(__mips__) || defined(__hexagon__)
+typedef unsigned __sanitizer___kernel_uid_t;
+typedef unsigned __sanitizer___kernel_gid_t;
+#else
+typedef unsigned short __sanitizer___kernel_uid_t;
+typedef unsigned short __sanitizer___kernel_gid_t;
+#endif
+#if defined(__x86_64__) && !defined(_LP64)
+typedef long long __sanitizer___kernel_off_t;
+#else
+typedef long __sanitizer___kernel_off_t;
+#endif
+
+#if defined(__powerpc__) || defined(__mips__)
+typedef unsigned int __sanitizer___kernel_old_uid_t;
+typedef unsigned int __sanitizer___kernel_old_gid_t;
+#else
+typedef unsigned short __sanitizer___kernel_old_uid_t;
+typedef unsigned short __sanitizer___kernel_old_gid_t;
+#endif
+
+typedef long long __sanitizer___kernel_loff_t;
+typedef struct {
+  unsigned long fds_bits[1024 / (8 * sizeof(long))];
+} __sanitizer___kernel_fd_set;
+#endif
+
+// This thing depends on the platform. We are only interested in the upper
+// limit. Verified with a compiler assert in .cpp.
+union __sanitizer_pthread_attr_t {
+  char size[128];
+  void *align;
+};
+
+#if SANITIZER_ANDROID
+# if SANITIZER_MIPS
+typedef unsigned long __sanitizer_sigset_t[16 / sizeof(unsigned long)];
+# else
+typedef unsigned long __sanitizer_sigset_t;
+# endif
+#elif SANITIZER_APPLE
+typedef unsigned __sanitizer_sigset_t;
+#elif SANITIZER_LINUX
+struct __sanitizer_sigset_t {
+  // The size is determined by looking at sizeof of real sigset_t on linux.
+  uptr val[128 / sizeof(uptr)];
+};
+#endif
+
+struct __sanitizer_siginfo_pad {
+  // Require uptr, because siginfo_t is always pointer-size aligned on Linux.
+  uptr pad[128 / sizeof(uptr)];
+};
+
+#if SANITIZER_LINUX
+# define SANITIZER_HAS_SIGINFO 1
+union __sanitizer_siginfo {
+  struct {
+    int si_signo;
+# if SANITIZER_MIPS
+    int si_code;
+    int si_errno;
+# else
+    int si_errno;
+    int si_code;
+# endif
+  };
+  __sanitizer_siginfo_pad pad;
+};
+#else
+# define SANITIZER_HAS_SIGINFO 0
+typedef __sanitizer_siginfo_pad __sanitizer_siginfo;
+#endif
+
+using __sanitizer_sighandler_ptr = void (*)(int sig);
+using __sanitizer_sigactionhandler_ptr = void (*)(int sig,
+                                                  __sanitizer_siginfo *siginfo,
+                                                  void *uctx);
+
+// Linux system headers define the 'sa_handler' and 'sa_sigaction' macros.
+#if SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 64)
+struct __sanitizer_sigaction {
+  unsigned sa_flags;
+  union {
+    __sanitizer_sigactionhandler_ptr sigaction;
+    __sanitizer_sighandler_ptr handler;
+  };
+  __sanitizer_sigset_t sa_mask;
+  void (*sa_restorer)();
+};
+#elif SANITIZER_ANDROID && SANITIZER_MIPS32  // check this before WORDSIZE == 32
+struct __sanitizer_sigaction {
+  unsigned sa_flags;
+  union {
+    __sanitizer_sigactionhandler_ptr sigaction;
+    __sanitizer_sighandler_ptr handler;
+  };
+  __sanitizer_sigset_t sa_mask;
+};
+#elif SANITIZER_ANDROID && (SANITIZER_WORDSIZE == 32)
+struct __sanitizer_sigaction {
+  union {
+    __sanitizer_sigactionhandler_ptr sigaction;
+    __sanitizer_sighandler_ptr handler;
+  };
+  __sanitizer_sigset_t sa_mask;
+  uptr sa_flags;
+  void (*sa_restorer)();
+};
+#else // !SANITIZER_ANDROID
+struct __sanitizer_sigaction {
+#if defined(__mips__) && !SANITIZER_FREEBSD
+  unsigned int sa_flags;
+#endif
+  union {
+    __sanitizer_sigactionhandler_ptr sigaction;
+    __sanitizer_sighandler_ptr handler;
+  };
+#if SANITIZER_FREEBSD
+  int sa_flags;
+  __sanitizer_sigset_t sa_mask;
+#else
+#if defined(__s390x__)
+  int sa_resv;
+#else
+  __sanitizer_sigset_t sa_mask;
+#endif
+#ifndef __mips__
+#if defined(__sparc__)
+#if __GLIBC_PREREQ (2, 20)
+  // On sparc glibc 2.19 and earlier sa_flags was unsigned long.
+#if defined(__arch64__)
+  // To maintain ABI compatibility on sparc64 when switching to an int,
+  // __glibc_reserved0 was added.
+  int __glibc_reserved0;
+#endif
+  int sa_flags;
+#else
+  unsigned long sa_flags;
+#endif
+#else
+  int sa_flags;
+#endif
+#endif
+#endif
+#if SANITIZER_LINUX
+  void (*sa_restorer)();
+#endif
+#if defined(__mips__) && (SANITIZER_WORDSIZE == 32)
+  int sa_resv[1];
+#endif
+#if defined(__s390x__)
+  __sanitizer_sigset_t sa_mask;
+#endif
+};
+#endif // !SANITIZER_ANDROID
+
+#if defined(__mips__)
+#define __SANITIZER_KERNEL_NSIG 128
+#else
+#define __SANITIZER_KERNEL_NSIG 64
+#endif
+
+struct __sanitizer_kernel_sigset_t {
+  uptr sig[__SANITIZER_KERNEL_NSIG / (sizeof(uptr) * 8)];
+};
+
+// Linux system headers define the 'sa_handler' and 'sa_sigaction' macros.
+#if SANITIZER_MIPS
+struct __sanitizer_kernel_sigaction_t {
+  unsigned int sa_flags;
+  union {
+    void (*handler)(int signo);
+    void (*sigaction)(int signo, __sanitizer_siginfo *info, void *ctx);
+  };
+  __sanitizer_kernel_sigset_t sa_mask;
+  void (*sa_restorer)(void);
+};
+#else
+struct __sanitizer_kernel_sigaction_t {
+  union {
+    void (*handler)(int signo);
+    void (*sigaction)(int signo, __sanitizer_siginfo *info, void *ctx);
+  };
+  unsigned long sa_flags;
+  void (*sa_restorer)(void);
+  __sanitizer_kernel_sigset_t sa_mask;
+};
+#endif
+
+extern const uptr sig_ign;
+extern const uptr sig_dfl;
+extern const uptr sig_err;
+extern const uptr sa_siginfo;
+
+#if SANITIZER_LINUX
+extern int e_tabsz;
+#endif
+
+extern int af_inet;
+extern int af_inet6;
+uptr __sanitizer_in_addr_sz(int af);
+
+#if SANITIZER_LINUX
+struct __sanitizer_dl_phdr_info {
+  uptr dlpi_addr;
+  const char *dlpi_name;
+  const void *dlpi_phdr;
+  short dlpi_phnum;
+};
+
+extern unsigned struct_ElfW_Phdr_sz;
+#endif
+
+struct __sanitizer_protoent {
+  char *p_name;
+  char **p_aliases;
+  int p_proto;
+};
+
+struct __sanitizer_netent {
+  char *n_name;
+  char **n_aliases;
+  int n_addrtype;
+  u32 n_net;
+};
+
+struct __sanitizer_addrinfo {
+  int ai_flags;
+  int ai_family;
+  int ai_socktype;
+  int ai_protocol;
+#if SANITIZER_ANDROID || SANITIZER_APPLE
+  unsigned ai_addrlen;
+  char *ai_canonname;
+  void *ai_addr;
+#else // LINUX
+  unsigned ai_addrlen;
+  void *ai_addr;
+  char *ai_canonname;
+#endif
+  struct __sanitizer_addrinfo *ai_next;
+};
+
+struct __sanitizer_hostent {
+  char *h_name;
+  char **h_aliases;
+  int h_addrtype;
+  int h_length;
+  char **h_addr_list;
+};
+
+struct __sanitizer_pollfd {
+  int fd;
+  short events;
+  short revents;
+};
+
+#if SANITIZER_ANDROID || SANITIZER_APPLE
+typedef unsigned __sanitizer_nfds_t;
+#else
+typedef unsigned long __sanitizer_nfds_t;
+#endif
+
+#if !SANITIZER_ANDROID
+# if SANITIZER_LINUX
+struct __sanitizer_glob_t {
+  uptr gl_pathc;
+  char **gl_pathv;
+  uptr gl_offs;
+  int gl_flags;
+
+  void (*gl_closedir)(void *dirp);
+  void *(*gl_readdir)(void *dirp);
+  void *(*gl_opendir)(const char *);
+  int (*gl_lstat)(const char *, void *);
+  int (*gl_stat)(const char *, void *);
+};
+# endif  // SANITIZER_LINUX
+
+# if SANITIZER_LINUX
+extern int glob_nomatch;
+extern int glob_altdirfunc;
+# endif
+#endif  // !SANITIZER_ANDROID
+
+extern unsigned path_max;
+
+#  if !SANITIZER_ANDROID
+extern const int wordexp_wrde_dooffs;
+#  endif  // !SANITIZER_ANDROID
+
+struct __sanitizer_wordexp_t {
+  uptr we_wordc;
+  char **we_wordv;
+  uptr we_offs;
+};
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+struct __sanitizer_FILE {
+  int _flags;
+  char *_IO_read_ptr;
+  char *_IO_read_end;
+  char *_IO_read_base;
+  char *_IO_write_base;
+  char *_IO_write_ptr;
+  char *_IO_write_end;
+  char *_IO_buf_base;
+  char *_IO_buf_end;
+  char *_IO_save_base;
+  char *_IO_backup_base;
+  char *_IO_save_end;
+  void *_markers;
+  __sanitizer_FILE *_chain;
+  int _fileno;
+};
+# define SANITIZER_HAS_STRUCT_FILE 1
+#else
+typedef void __sanitizer_FILE;
+# define SANITIZER_HAS_STRUCT_FILE 0
+#endif
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID &&                               \
+    (defined(__i386) || defined(__x86_64) || defined(__mips64) ||          \
+     defined(__powerpc64__) || defined(__aarch64__) || defined(__arm__) || \
+     defined(__s390__) || defined(__loongarch__) || SANITIZER_RISCV64)
+extern unsigned struct_user_regs_struct_sz;
+extern unsigned struct_user_fpregs_struct_sz;
+extern unsigned struct_user_fpxregs_struct_sz;
+extern unsigned struct_user_vfpregs_struct_sz;
+
+extern int ptrace_peektext;
+extern int ptrace_peekdata;
+extern int ptrace_peekuser;
+extern int ptrace_getregs;
+extern int ptrace_setregs;
+extern int ptrace_getfpregs;
+extern int ptrace_setfpregs;
+extern int ptrace_getfpxregs;
+extern int ptrace_setfpxregs;
+extern int ptrace_getvfpregs;
+extern int ptrace_setvfpregs;
+extern int ptrace_getsiginfo;
+extern int ptrace_setsiginfo;
+extern int ptrace_getregset;
+extern int ptrace_setregset;
+extern int ptrace_geteventmsg;
+#endif
+
+#if SANITIZER_LINUX  && !SANITIZER_ANDROID
+extern unsigned struct_shminfo_sz;
+extern unsigned struct_shm_info_sz;
+extern int shmctl_ipc_stat;
+extern int shmctl_ipc_info;
+extern int shmctl_shm_info;
+extern int shmctl_shm_stat;
+#endif
+
+#if !SANITIZER_APPLE && !SANITIZER_FREEBSD
+extern unsigned struct_utmp_sz;
+#endif
+#if !SANITIZER_ANDROID
+extern unsigned struct_utmpx_sz;
+#endif
+
+extern int map_fixed;
+
+// ioctl arguments
+struct __sanitizer_ifconf {
+  int ifc_len;
+  union {
+    void *ifcu_req;
+  } ifc_ifcu;
+#if SANITIZER_APPLE
+} __attribute__((packed));
+#else
+};
+#endif
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+struct __sanitizer__obstack_chunk {
+  char *limit;
+  struct __sanitizer__obstack_chunk *prev;
+};
+
+struct __sanitizer_obstack {
+  long chunk_size;
+  struct __sanitizer__obstack_chunk *chunk;
+  char *object_base;
+  char *next_free;
+  uptr more_fields[7];
+};
+
+typedef uptr (*__sanitizer_cookie_io_read)(void *cookie, char *buf, uptr size);
+typedef uptr (*__sanitizer_cookie_io_write)(void *cookie, const char *buf,
+                                            uptr size);
+typedef int (*__sanitizer_cookie_io_seek)(void *cookie, u64 *offset,
+                                          int whence);
+typedef int (*__sanitizer_cookie_io_close)(void *cookie);
+
+struct __sanitizer_cookie_io_functions_t {
+  __sanitizer_cookie_io_read read;
+  __sanitizer_cookie_io_write write;
+  __sanitizer_cookie_io_seek seek;
+  __sanitizer_cookie_io_close close;
+};
+#endif
+
+#define IOC_NRBITS 8
+#define IOC_TYPEBITS 8
+#if defined(__powerpc__) || defined(__powerpc64__) || defined(__mips__) || \
+    defined(__sparc__)
+#define IOC_SIZEBITS 13
+#define IOC_DIRBITS 3
+#define IOC_NONE 1U
+#define IOC_WRITE 4U
+#define IOC_READ 2U
+#else
+#define IOC_SIZEBITS 14
+#define IOC_DIRBITS 2
+#define IOC_NONE 0U
+#define IOC_WRITE 1U
+#define IOC_READ 2U
+#endif
+#define IOC_NRMASK ((1 << IOC_NRBITS) - 1)
+#define IOC_TYPEMASK ((1 << IOC_TYPEBITS) - 1)
+#define IOC_SIZEMASK ((1 << IOC_SIZEBITS) - 1)
+#if defined(IOC_DIRMASK)
+#undef IOC_DIRMASK
+#endif
+#define IOC_DIRMASK ((1 << IOC_DIRBITS) - 1)
+#define IOC_NRSHIFT 0
+#define IOC_TYPESHIFT (IOC_NRSHIFT + IOC_NRBITS)
+#define IOC_SIZESHIFT (IOC_TYPESHIFT + IOC_TYPEBITS)
+#define IOC_DIRSHIFT (IOC_SIZESHIFT + IOC_SIZEBITS)
+#define EVIOC_EV_MAX 0x1f
+#define EVIOC_ABS_MAX 0x3f
+
+#define IOC_DIR(nr) (((nr) >> IOC_DIRSHIFT) & IOC_DIRMASK)
+#define IOC_TYPE(nr) (((nr) >> IOC_TYPESHIFT) & IOC_TYPEMASK)
+#define IOC_NR(nr) (((nr) >> IOC_NRSHIFT) & IOC_NRMASK)
+
+#if defined(__sparc__)
+// In sparc the 14 bits SIZE field overlaps with the
+// least significant bit of DIR, so either IOC_READ or
+// IOC_WRITE shall be 1 in order to get a non-zero SIZE.
+#define IOC_SIZE(nr) \
+  ((((((nr) >> 29) & 0x7) & (4U | 2U)) == 0) ? 0 : (((nr) >> 16) & 0x3fff))
+#else
+#define IOC_SIZE(nr) (((nr) >> IOC_SIZESHIFT) & IOC_SIZEMASK)
+#endif
+
+extern unsigned struct_ifreq_sz;
+extern unsigned struct_termios_sz;
+extern unsigned struct_winsize_sz;
+
+#if SANITIZER_LINUX
+extern unsigned struct_arpreq_sz;
+extern unsigned struct_cdrom_msf_sz;
+extern unsigned struct_cdrom_multisession_sz;
+extern unsigned struct_cdrom_read_audio_sz;
+extern unsigned struct_cdrom_subchnl_sz;
+extern unsigned struct_cdrom_ti_sz;
+extern unsigned struct_cdrom_tocentry_sz;
+extern unsigned struct_cdrom_tochdr_sz;
+extern unsigned struct_cdrom_volctrl_sz;
+extern unsigned struct_ff_effect_sz;
+extern unsigned struct_floppy_drive_params_sz;
+extern unsigned struct_floppy_drive_struct_sz;
+extern unsigned struct_floppy_fdc_state_sz;
+extern unsigned struct_floppy_max_errors_sz;
+extern unsigned struct_floppy_raw_cmd_sz;
+extern unsigned struct_floppy_struct_sz;
+extern unsigned struct_floppy_write_errors_sz;
+extern unsigned struct_format_descr_sz;
+extern unsigned struct_hd_driveid_sz;
+extern unsigned struct_hd_geometry_sz;
+extern unsigned struct_input_absinfo_sz;
+extern unsigned struct_input_id_sz;
+extern unsigned struct_mtpos_sz;
+extern unsigned struct_termio_sz;
+extern unsigned struct_vt_consize_sz;
+extern unsigned struct_vt_sizes_sz;
+extern unsigned struct_vt_stat_sz;
+#endif  // SANITIZER_LINUX
+
+#if SANITIZER_LINUX
+extern unsigned struct_copr_buffer_sz;
+extern unsigned struct_copr_debug_buf_sz;
+extern unsigned struct_copr_msg_sz;
+extern unsigned struct_midi_info_sz;
+extern unsigned struct_mtget_sz;
+extern unsigned struct_mtop_sz;
+extern unsigned struct_rtentry_sz;
+extern unsigned struct_sbi_instrument_sz;
+extern unsigned struct_seq_event_rec_sz;
+extern unsigned struct_synth_info_sz;
+extern unsigned struct_vt_mode_sz;
+#endif // SANITIZER_LINUX
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+extern unsigned struct_ax25_parms_struct_sz;
+extern unsigned struct_input_keymap_entry_sz;
+extern unsigned struct_ipx_config_data_sz;
+extern unsigned struct_kbdiacrs_sz;
+extern unsigned struct_kbentry_sz;
+extern unsigned struct_kbkeycode_sz;
+extern unsigned struct_kbsentry_sz;
+extern unsigned struct_mtconfiginfo_sz;
+extern unsigned struct_nr_parms_struct_sz;
+extern unsigned struct_scc_modem_sz;
+extern unsigned struct_scc_stat_sz;
+extern unsigned struct_serial_multiport_struct_sz;
+extern unsigned struct_serial_struct_sz;
+extern unsigned struct_sockaddr_ax25_sz;
+extern unsigned struct_unimapdesc_sz;
+extern unsigned struct_unimapinit_sz;
+#endif  // SANITIZER_LINUX && !SANITIZER_ANDROID
+
+extern const unsigned long __sanitizer_bufsiz;
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+extern unsigned struct_audio_buf_info_sz;
+extern unsigned struct_ppp_stats_sz;
+#endif  // (SANITIZER_LINUX || SANITIZER_FREEBSD) && !SANITIZER_ANDROID
+
+#if !SANITIZER_ANDROID && !SANITIZER_APPLE
+extern unsigned struct_sioc_sg_req_sz;
+extern unsigned struct_sioc_vif_req_sz;
+#endif
+
+// ioctl request identifiers
+
+// A special value to mark ioctls that are not present on the target platform,
+// when it can not be determined without including any system headers.
+extern const unsigned IOCTL_NOT_PRESENT;
+
+extern unsigned IOCTL_FIOASYNC;
+extern unsigned IOCTL_FIOCLEX;
+extern unsigned IOCTL_FIOGETOWN;
+extern unsigned IOCTL_FIONBIO;
+extern unsigned IOCTL_FIONCLEX;
+extern unsigned IOCTL_FIOSETOWN;
+extern unsigned IOCTL_SIOCADDMULTI;
+extern unsigned IOCTL_SIOCATMARK;
+extern unsigned IOCTL_SIOCDELMULTI;
+extern unsigned IOCTL_SIOCGIFADDR;
+extern unsigned IOCTL_SIOCGIFBRDADDR;
+extern unsigned IOCTL_SIOCGIFCONF;
+extern unsigned IOCTL_SIOCGIFDSTADDR;
+extern unsigned IOCTL_SIOCGIFFLAGS;
+extern unsigned IOCTL_SIOCGIFMETRIC;
+extern unsigned IOCTL_SIOCGIFMTU;
+extern unsigned IOCTL_SIOCGIFNETMASK;
+extern unsigned IOCTL_SIOCGPGRP;
+extern unsigned IOCTL_SIOCSIFADDR;
+extern unsigned IOCTL_SIOCSIFBRDADDR;
+extern unsigned IOCTL_SIOCSIFDSTADDR;
+extern unsigned IOCTL_SIOCSIFFLAGS;
+extern unsigned IOCTL_SIOCSIFMETRIC;
+extern unsigned IOCTL_SIOCSIFMTU;
+extern unsigned IOCTL_SIOCSIFNETMASK;
+extern unsigned IOCTL_SIOCSPGRP;
+extern unsigned IOCTL_TIOCCONS;
+extern unsigned IOCTL_TIOCEXCL;
+extern unsigned IOCTL_TIOCGETD;
+extern unsigned IOCTL_TIOCGPGRP;
+extern unsigned IOCTL_TIOCGWINSZ;
+extern unsigned IOCTL_TIOCMBIC;
+extern unsigned IOCTL_TIOCMBIS;
+extern unsigned IOCTL_TIOCMGET;
+extern unsigned IOCTL_TIOCMSET;
+extern unsigned IOCTL_TIOCNOTTY;
+extern unsigned IOCTL_TIOCNXCL;
+extern unsigned IOCTL_TIOCOUTQ;
+extern unsigned IOCTL_TIOCPKT;
+extern unsigned IOCTL_TIOCSCTTY;
+extern unsigned IOCTL_TIOCSETD;
+extern unsigned IOCTL_TIOCSPGRP;
+extern unsigned IOCTL_TIOCSTI;
+extern unsigned IOCTL_TIOCSWINSZ;
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+extern unsigned IOCTL_SIOCGETSGCNT;
+extern unsigned IOCTL_SIOCGETVIFCNT;
+#endif
+#if SANITIZER_LINUX
+extern unsigned IOCTL_EVIOCGABS;
+extern unsigned IOCTL_EVIOCGBIT;
+extern unsigned IOCTL_EVIOCGEFFECTS;
+extern unsigned IOCTL_EVIOCGID;
+extern unsigned IOCTL_EVIOCGKEY;
+extern unsigned IOCTL_EVIOCGKEYCODE;
+extern unsigned IOCTL_EVIOCGLED;
+extern unsigned IOCTL_EVIOCGNAME;
+extern unsigned IOCTL_EVIOCGPHYS;
+extern unsigned IOCTL_EVIOCGRAB;
+extern unsigned IOCTL_EVIOCGREP;
+extern unsigned IOCTL_EVIOCGSND;
+extern unsigned IOCTL_EVIOCGSW;
+extern unsigned IOCTL_EVIOCGUNIQ;
+extern unsigned IOCTL_EVIOCGVERSION;
+extern unsigned IOCTL_EVIOCRMFF;
+extern unsigned IOCTL_EVIOCSABS;
+extern unsigned IOCTL_EVIOCSFF;
+extern unsigned IOCTL_EVIOCSKEYCODE;
+extern unsigned IOCTL_EVIOCSREP;
+extern unsigned IOCTL_BLKFLSBUF;
+extern unsigned IOCTL_BLKGETSIZE;
+extern unsigned IOCTL_BLKRAGET;
+extern unsigned IOCTL_BLKRASET;
+extern unsigned IOCTL_BLKROGET;
+extern unsigned IOCTL_BLKROSET;
+extern unsigned IOCTL_BLKRRPART;
+extern unsigned IOCTL_BLKFRASET;
+extern unsigned IOCTL_BLKFRAGET;
+extern unsigned IOCTL_BLKSECTSET;
+extern unsigned IOCTL_BLKSECTGET;
+extern unsigned IOCTL_BLKSSZGET;
+extern unsigned IOCTL_BLKBSZGET;
+extern unsigned IOCTL_BLKBSZSET;
+extern unsigned IOCTL_BLKGETSIZE64;
+extern unsigned IOCTL_CDROMAUDIOBUFSIZ;
+extern unsigned IOCTL_CDROMEJECT;
+extern unsigned IOCTL_CDROMEJECT_SW;
+extern unsigned IOCTL_CDROMMULTISESSION;
+extern unsigned IOCTL_CDROMPAUSE;
+extern unsigned IOCTL_CDROMPLAYMSF;
+extern unsigned IOCTL_CDROMPLAYTRKIND;
+extern unsigned IOCTL_CDROMREADAUDIO;
+extern unsigned IOCTL_CDROMREADCOOKED;
+extern unsigned IOCTL_CDROMREADMODE1;
+extern unsigned IOCTL_CDROMREADMODE2;
+extern unsigned IOCTL_CDROMREADRAW;
+extern unsigned IOCTL_CDROMREADTOCENTRY;
+extern unsigned IOCTL_CDROMREADTOCHDR;
+extern unsigned IOCTL_CDROMRESET;
+extern unsigned IOCTL_CDROMRESUME;
+extern unsigned IOCTL_CDROMSEEK;
+extern unsigned IOCTL_CDROMSTART;
+extern unsigned IOCTL_CDROMSTOP;
+extern unsigned IOCTL_CDROMSUBCHNL;
+extern unsigned IOCTL_CDROMVOLCTRL;
+extern unsigned IOCTL_CDROMVOLREAD;
+extern unsigned IOCTL_CDROM_GET_UPC;
+extern unsigned IOCTL_FDCLRPRM;
+extern unsigned IOCTL_FDDEFPRM;
+extern unsigned IOCTL_FDFLUSH;
+extern unsigned IOCTL_FDFMTBEG;
+extern unsigned IOCTL_FDFMTEND;
+extern unsigned IOCTL_FDFMTTRK;
+extern unsigned IOCTL_FDGETDRVPRM;
+extern unsigned IOCTL_FDGETDRVSTAT;
+extern unsigned IOCTL_FDGETDRVTYP;
+extern unsigned IOCTL_FDGETFDCSTAT;
+extern unsigned IOCTL_FDGETMAXERRS;
+extern unsigned IOCTL_FDGETPRM;
+extern unsigned IOCTL_FDMSGOFF;
+extern unsigned IOCTL_FDMSGON;
+extern unsigned IOCTL_FDPOLLDRVSTAT;
+extern unsigned IOCTL_FDRAWCMD;
+extern unsigned IOCTL_FDRESET;
+extern unsigned IOCTL_FDSETDRVPRM;
+extern unsigned IOCTL_FDSETEMSGTRESH;
+extern unsigned IOCTL_FDSETMAXERRS;
+extern unsigned IOCTL_FDSETPRM;
+extern unsigned IOCTL_FDTWADDLE;
+extern unsigned IOCTL_FDWERRORCLR;
+extern unsigned IOCTL_FDWERRORGET;
+extern unsigned IOCTL_HDIO_DRIVE_CMD;
+extern unsigned IOCTL_HDIO_GETGEO;
+extern unsigned IOCTL_HDIO_GET_32BIT;
+extern unsigned IOCTL_HDIO_GET_DMA;
+extern unsigned IOCTL_HDIO_GET_IDENTITY;
+extern unsigned IOCTL_HDIO_GET_KEEPSETTINGS;
+extern unsigned IOCTL_HDIO_GET_MULTCOUNT;
+extern unsigned IOCTL_HDIO_GET_NOWERR;
+extern unsigned IOCTL_HDIO_GET_UNMASKINTR;
+extern unsigned IOCTL_HDIO_SET_32BIT;
+extern unsigned IOCTL_HDIO_SET_DMA;
+extern unsigned IOCTL_HDIO_SET_KEEPSETTINGS;
+extern unsigned IOCTL_HDIO_SET_MULTCOUNT;
+extern unsigned IOCTL_HDIO_SET_NOWERR;
+extern unsigned IOCTL_HDIO_SET_UNMASKINTR;
+extern unsigned IOCTL_MTIOCPOS;
+extern unsigned IOCTL_PPPIOCGASYNCMAP;
+extern unsigned IOCTL_PPPIOCGDEBUG;
+extern unsigned IOCTL_PPPIOCGFLAGS;
+extern unsigned IOCTL_PPPIOCGUNIT;
+extern unsigned IOCTL_PPPIOCGXASYNCMAP;
+extern unsigned IOCTL_PPPIOCSASYNCMAP;
+extern unsigned IOCTL_PPPIOCSDEBUG;
+extern unsigned IOCTL_PPPIOCSFLAGS;
+extern unsigned IOCTL_PPPIOCSMAXCID;
+extern unsigned IOCTL_PPPIOCSMRU;
+extern unsigned IOCTL_PPPIOCSXASYNCMAP;
+extern unsigned IOCTL_SIOCDARP;
+extern unsigned IOCTL_SIOCDRARP;
+extern unsigned IOCTL_SIOCGARP;
+extern unsigned IOCTL_SIOCGIFENCAP;
+extern unsigned IOCTL_SIOCGIFHWADDR;
+extern unsigned IOCTL_SIOCGIFMAP;
+extern unsigned IOCTL_SIOCGIFMEM;
+extern unsigned IOCTL_SIOCGIFNAME;
+extern unsigned IOCTL_SIOCGIFSLAVE;
+extern unsigned IOCTL_SIOCGRARP;
+extern unsigned IOCTL_SIOCGSTAMP;
+extern unsigned IOCTL_SIOCSARP;
+extern unsigned IOCTL_SIOCSIFENCAP;
+extern unsigned IOCTL_SIOCSIFHWADDR;
+extern unsigned IOCTL_SIOCSIFLINK;
+extern unsigned IOCTL_SIOCSIFMAP;
+extern unsigned IOCTL_SIOCSIFMEM;
+extern unsigned IOCTL_SIOCSIFSLAVE;
+extern unsigned IOCTL_SIOCSRARP;
+extern unsigned IOCTL_SNDCTL_COPR_HALT;
+extern unsigned IOCTL_SNDCTL_COPR_LOAD;
+extern unsigned IOCTL_SNDCTL_COPR_RCODE;
+extern unsigned IOCTL_SNDCTL_COPR_RCVMSG;
+extern unsigned IOCTL_SNDCTL_COPR_RDATA;
+extern unsigned IOCTL_SNDCTL_COPR_RESET;
+extern unsigned IOCTL_SNDCTL_COPR_RUN;
+extern unsigned IOCTL_SNDCTL_COPR_SENDMSG;
+extern unsigned IOCTL_SNDCTL_COPR_WCODE;
+extern unsigned IOCTL_SNDCTL_COPR_WDATA;
+extern unsigned IOCTL_TCFLSH;
+extern unsigned IOCTL_TCGETA;
+extern unsigned IOCTL_TCGETS;
+extern unsigned IOCTL_TCSBRK;
+extern unsigned IOCTL_TCSBRKP;
+extern unsigned IOCTL_TCSETA;
+extern unsigned IOCTL_TCSETAF;
+extern unsigned IOCTL_TCSETAW;
+extern unsigned IOCTL_TCSETS;
+extern unsigned IOCTL_TCSETSF;
+extern unsigned IOCTL_TCSETSW;
+extern unsigned IOCTL_TCXONC;
+extern unsigned IOCTL_TIOCGLCKTRMIOS;
+extern unsigned IOCTL_TIOCGSOFTCAR;
+extern unsigned IOCTL_TIOCINQ;
+extern unsigned IOCTL_TIOCLINUX;
+extern unsigned IOCTL_TIOCSERCONFIG;
+extern unsigned IOCTL_TIOCSERGETLSR;
+extern unsigned IOCTL_TIOCSERGWILD;
+extern unsigned IOCTL_TIOCSERSWILD;
+extern unsigned IOCTL_TIOCSLCKTRMIOS;
+extern unsigned IOCTL_TIOCSSOFTCAR;
+extern unsigned IOCTL_VT_DISALLOCATE;
+extern unsigned IOCTL_VT_GETSTATE;
+extern unsigned IOCTL_VT_RESIZE;
+extern unsigned IOCTL_VT_RESIZEX;
+extern unsigned IOCTL_VT_SENDSIG;
+extern unsigned IOCTL_MTIOCGET;
+extern unsigned IOCTL_MTIOCTOP;
+extern unsigned IOCTL_SIOCADDRT;
+extern unsigned IOCTL_SIOCDELRT;
+extern unsigned IOCTL_SNDCTL_DSP_GETBLKSIZE;
+extern unsigned IOCTL_SNDCTL_DSP_GETFMTS;
+extern unsigned IOCTL_SNDCTL_DSP_NONBLOCK;
+extern unsigned IOCTL_SNDCTL_DSP_POST;
+extern unsigned IOCTL_SNDCTL_DSP_RESET;
+extern unsigned IOCTL_SNDCTL_DSP_SETFMT;
+extern unsigned IOCTL_SNDCTL_DSP_SETFRAGMENT;
+extern unsigned IOCTL_SNDCTL_DSP_SPEED;
+extern unsigned IOCTL_SNDCTL_DSP_STEREO;
+extern unsigned IOCTL_SNDCTL_DSP_SUBDIVIDE;
+extern unsigned IOCTL_SNDCTL_DSP_SYNC;
+extern unsigned IOCTL_SNDCTL_FM_4OP_ENABLE;
+extern unsigned IOCTL_SNDCTL_FM_LOAD_INSTR;
+extern unsigned IOCTL_SNDCTL_MIDI_INFO;
+extern unsigned IOCTL_SNDCTL_MIDI_PRETIME;
+extern unsigned IOCTL_SNDCTL_SEQ_CTRLRATE;
+extern unsigned IOCTL_SNDCTL_SEQ_GETINCOUNT;
+extern unsigned IOCTL_SNDCTL_SEQ_GETOUTCOUNT;
+extern unsigned IOCTL_SNDCTL_SEQ_NRMIDIS;
+extern unsigned IOCTL_SNDCTL_SEQ_NRSYNTHS;
+extern unsigned IOCTL_SNDCTL_SEQ_OUTOFBAND;
+extern unsigned IOCTL_SNDCTL_SEQ_PANIC;
+extern unsigned IOCTL_SNDCTL_SEQ_PERCMODE;
+extern unsigned IOCTL_SNDCTL_SEQ_RESET;
+extern unsigned IOCTL_SNDCTL_SEQ_RESETSAMPLES;
+extern unsigned IOCTL_SNDCTL_SEQ_SYNC;
+extern unsigned IOCTL_SNDCTL_SEQ_TESTMIDI;
+extern unsigned IOCTL_SNDCTL_SEQ_THRESHOLD;
+extern unsigned IOCTL_SNDCTL_SYNTH_INFO;
+extern unsigned IOCTL_SNDCTL_SYNTH_MEMAVL;
+extern unsigned IOCTL_SNDCTL_TMR_CONTINUE;
+extern unsigned IOCTL_SNDCTL_TMR_METRONOME;
+extern unsigned IOCTL_SNDCTL_TMR_SELECT;
+extern unsigned IOCTL_SNDCTL_TMR_SOURCE;
+extern unsigned IOCTL_SNDCTL_TMR_START;
+extern unsigned IOCTL_SNDCTL_TMR_STOP;
+extern unsigned IOCTL_SNDCTL_TMR_TEMPO;
+extern unsigned IOCTL_SNDCTL_TMR_TIMEBASE;
+extern unsigned IOCTL_SOUND_MIXER_READ_ALTPCM;
+extern unsigned IOCTL_SOUND_MIXER_READ_BASS;
+extern unsigned IOCTL_SOUND_MIXER_READ_CAPS;
+extern unsigned IOCTL_SOUND_MIXER_READ_CD;
+extern unsigned IOCTL_SOUND_MIXER_READ_DEVMASK;
+extern unsigned IOCTL_SOUND_MIXER_READ_ENHANCE;
+extern unsigned IOCTL_SOUND_MIXER_READ_IGAIN;
+extern unsigned IOCTL_SOUND_MIXER_READ_IMIX;
+extern unsigned IOCTL_SOUND_MIXER_READ_LINE1;
+extern unsigned IOCTL_SOUND_MIXER_READ_LINE2;
+extern unsigned IOCTL_SOUND_MIXER_READ_LINE3;
+extern unsigned IOCTL_SOUND_MIXER_READ_LINE;
+extern unsigned IOCTL_SOUND_MIXER_READ_LOUD;
+extern unsigned IOCTL_SOUND_MIXER_READ_MIC;
+extern unsigned IOCTL_SOUND_MIXER_READ_MUTE;
+extern unsigned IOCTL_SOUND_MIXER_READ_OGAIN;
+extern unsigned IOCTL_SOUND_MIXER_READ_PCM;
+extern unsigned IOCTL_SOUND_MIXER_READ_RECLEV;
+extern unsigned IOCTL_SOUND_MIXER_READ_RECMASK;
+extern unsigned IOCTL_SOUND_MIXER_READ_RECSRC;
+extern unsigned IOCTL_SOUND_MIXER_READ_SPEAKER;
+extern unsigned IOCTL_SOUND_MIXER_READ_STEREODEVS;
+extern unsigned IOCTL_SOUND_MIXER_READ_SYNTH;
+extern unsigned IOCTL_SOUND_MIXER_READ_TREBLE;
+extern unsigned IOCTL_SOUND_MIXER_READ_VOLUME;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_ALTPCM;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_BASS;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_CD;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_ENHANCE;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_IGAIN;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_IMIX;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE1;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE2;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE3;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_LINE;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_LOUD;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_MIC;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_MUTE;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_OGAIN;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_PCM;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_RECLEV;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_RECSRC;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_SPEAKER;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_SYNTH;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_TREBLE;
+extern unsigned IOCTL_SOUND_MIXER_WRITE_VOLUME;
+extern unsigned IOCTL_SOUND_PCM_READ_BITS;
+extern unsigned IOCTL_SOUND_PCM_READ_CHANNELS;
+extern unsigned IOCTL_SOUND_PCM_READ_FILTER;
+extern unsigned IOCTL_SOUND_PCM_READ_RATE;
+extern unsigned IOCTL_SOUND_PCM_WRITE_CHANNELS;
+extern unsigned IOCTL_SOUND_PCM_WRITE_FILTER;
+extern unsigned IOCTL_VT_ACTIVATE;
+extern unsigned IOCTL_VT_GETMODE;
+extern unsigned IOCTL_VT_OPENQRY;
+extern unsigned IOCTL_VT_RELDISP;
+extern unsigned IOCTL_VT_SETMODE;
+extern unsigned IOCTL_VT_WAITACTIVE;
+#endif  // SANITIZER_LINUX
+
+#if SANITIZER_LINUX && !SANITIZER_ANDROID
+extern unsigned IOCTL_EQL_EMANCIPATE;
+extern unsigned IOCTL_EQL_ENSLAVE;
+extern unsigned IOCTL_EQL_GETMASTRCFG;
+extern unsigned IOCTL_EQL_GETSLAVECFG;
+extern unsigned IOCTL_EQL_SETMASTRCFG;
+extern unsigned IOCTL_EQL_SETSLAVECFG;
+extern unsigned IOCTL_EVIOCGKEYCODE_V2;
+extern unsigned IOCTL_EVIOCGPROP;
+extern unsigned IOCTL_EVIOCSKEYCODE_V2;
+extern unsigned IOCTL_FS_IOC_GETFLAGS;
+extern unsigned IOCTL_FS_IOC_GETVERSION;
+extern unsigned IOCTL_FS_IOC_SETFLAGS;
+extern unsigned IOCTL_FS_IOC_SETVERSION;
+extern unsigned IOCTL_GIO_CMAP;
+extern unsigned IOCTL_GIO_FONT;
+extern unsigned IOCTL_GIO_UNIMAP;
+extern unsigned IOCTL_GIO_UNISCRNMAP;
+extern unsigned IOCTL_KDADDIO;
+extern unsigned IOCTL_KDDELIO;
+extern unsigned IOCTL_KDGETKEYCODE;
+extern unsigned IOCTL_KDGKBDIACR;
+extern unsigned IOCTL_KDGKBENT;
+extern unsigned IOCTL_KDGKBLED;
+extern unsigned IOCTL_KDGKBMETA;
+extern unsigned IOCTL_KDGKBSENT;
+extern unsigned IOCTL_KDMAPDISP;
+extern unsigned IOCTL_KDSETKEYCODE;
+extern unsigned IOCTL_KDSIGACCEPT;
+extern unsigned IOCTL_KDSKBDIACR;
+extern unsigned IOCTL_KDSKBENT;
+extern unsigned IOCTL_KDSKBLED;
+extern unsigned IOCTL_KDSKBMETA;
+extern unsigned IOCTL_KDSKBSENT;
+extern unsigned IOCTL_KDUNMAPDISP;
+extern unsigned IOCTL_LPABORT;
+extern unsigned IOCTL_LPABORTOPEN;
+extern unsigned IOCTL_LPCAREFUL;
+extern unsigned IOCTL_LPCHAR;
+extern unsigned IOCTL_LPGETIRQ;
+extern unsigned IOCTL_LPGETSTATUS;
+extern unsigned IOCTL_LPRESET;
+extern unsigned IOCTL_LPSETIRQ;
+extern unsigned IOCTL_LPTIME;
+extern unsigned IOCTL_LPWAIT;
+extern unsigned IOCTL_MTIOCGETCONFIG;
+extern unsigned IOCTL_MTIOCSETCONFIG;
+extern unsigned IOCTL_PIO_CMAP;
+extern unsigned IOCTL_PIO_FONT;
+extern unsigned IOCTL_PIO_UNIMAP;
+extern unsigned IOCTL_PIO_UNIMAPCLR;
+extern unsigned IOCTL_PIO_UNISCRNMAP;
+extern unsigned IOCTL_SCSI_IOCTL_GET_IDLUN;
+extern unsigned IOCTL_SCSI_IOCTL_PROBE_HOST;
+extern unsigned IOCTL_SCSI_IOCTL_TAGGED_DISABLE;
+extern unsigned IOCTL_SCSI_IOCTL_TAGGED_ENABLE;
+extern unsigned IOCTL_SIOCAIPXITFCRT;
+extern unsigned IOCTL_SIOCAIPXPRISLT;
+extern unsigned IOCTL_SIOCAX25ADDUID;
+extern unsigned IOCTL_SIOCAX25DELUID;
+extern unsigned IOCTL_SIOCAX25GETPARMS;
+extern unsigned IOCTL_SIOCAX25GETUID;
+extern unsigned IOCTL_SIOCAX25NOUID;
+extern unsigned IOCTL_SIOCAX25SETPARMS;
+extern unsigned IOCTL_SIOCDEVPLIP;
+extern unsigned IOCTL_SIOCIPXCFGDATA;
+extern unsigned IOCTL_SIOCNRDECOBS;
+extern unsigned IOCTL_SIOCNRGETPARMS;
+extern unsigned IOCTL_SIOCNRRTCTL;
+extern unsigned IOCTL_SIOCNRSETPARMS;
+extern unsigned IOCTL_SNDCTL_DSP_GETISPACE;
+extern unsigned IOCTL_SNDCTL_DSP_GETOSPACE;
+extern unsigned IOCTL_TIOCGSERIAL;
+extern unsigned IOCTL_TIOCSERGETMULTI;
+extern unsigned IOCTL_TIOCSERSETMULTI;
+extern unsigned IOCTL_TIOCSSERIAL;
+extern unsigned IOCTL_GIO_SCRNMAP;
+extern unsigned IOCTL_KDDISABIO;
+extern unsigned IOCTL_KDENABIO;
+extern unsigned IOCTL_KDGETLED;
+extern unsigned IOCTL_KDGETMODE;
+extern unsigned IOCTL_KDGKBMODE;
+extern unsigned IOCTL_KDGKBTYPE;
+extern unsigned IOCTL_KDMKTONE;
+extern unsigned IOCTL_KDSETLED;
+extern unsigned IOCTL_KDSETMODE;
+extern unsigned IOCTL_KDSKBMODE;
+extern unsigned IOCTL_KIOCSOUND;
+extern unsigned IOCTL_PIO_SCRNMAP;
+#endif
+
+extern const int si_SEGV_MAPERR;
+extern const int si_SEGV_ACCERR;
+}  // namespace __sanitizer
+
+#define CHECK_TYPE_SIZE(TYPE) \
+  COMPILER_CHECK(sizeof(__sanitizer_##TYPE) == sizeof(TYPE))
+
+#define CHECK_SIZE_AND_OFFSET(CLASS, MEMBER)                      \
+  COMPILER_CHECK(sizeof(((__sanitizer_##CLASS *)NULL)->MEMBER) == \
+                 sizeof(((CLASS *)NULL)->MEMBER));                \
+  COMPILER_CHECK(offsetof(__sanitizer_##CLASS, MEMBER) ==         \
+                 offsetof(CLASS, MEMBER))
+
+// For sigaction, which is a function and struct at the same time,
+// and thus requires explicit "struct" in sizeof() expression.
+#define CHECK_STRUCT_SIZE_AND_OFFSET(CLASS, MEMBER)                      \
+  COMPILER_CHECK(sizeof(((struct __sanitizer_##CLASS *)NULL)->MEMBER) == \
+                 sizeof(((struct CLASS *)NULL)->MEMBER));                \
+  COMPILER_CHECK(offsetof(struct __sanitizer_##CLASS, MEMBER) ==         \
+                 offsetof(struct CLASS, MEMBER))
+
+#define SIGACTION_SYMNAME sigaction
+
+#endif  // SANITIZER_LINUX || SANITIZER_APPLE
+
+#endif
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-p5600.patch
+
+mv llvm-$VERSION-compiler-rt-p5600.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/compiler-rt/cmake/base-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-p5600-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(revision 40)
@@ -0,0 +1,275 @@
+# The CompilerRT build system requires CMake version 2.8.8 or higher in order
+# to use its support for building convenience "libraries" as a collection of
+# .o files. This is particularly useful in producing larger, more complex
+# runtime libraries.
+
+include(BuiltinTests)
+include(CheckIncludeFile)
+include(CheckCXXSourceCompiles)
+include(GNUInstallDirs)
+include(ExtendPath)
+include(CompilerRTDarwinUtils)
+
+check_include_file(unwind.h HAVE_UNWIND_H)
+
+# Used by sanitizer_common and tests.
+check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
+if (NOT HAVE_RPC_XDR_H)
+  set(HAVE_RPC_XDR_H 0)
+endif()
+
+# Top level target used to build all compiler-rt libraries.
+add_custom_target(compiler-rt ALL)
+add_custom_target(install-compiler-rt)
+add_custom_target(install-compiler-rt-stripped)
+set_property(
+  TARGET
+    compiler-rt
+    install-compiler-rt
+    install-compiler-rt-stripped
+  PROPERTY
+    FOLDER "Compiler-RT Misc"
+)
+
+# Setting these variables from an LLVM build is sufficient that compiler-rt can
+# construct the output paths, so it can behave as if it were in-tree here.
+if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
+  set(LLVM_TREE_AVAILABLE On)
+endif()
+
+if (LLVM_TREE_AVAILABLE)
+  # Compute the Clang version from the LLVM version.
+  # FIXME: We should be able to reuse CLANG_VERSION_MAJOR variable calculated
+  #        in Clang cmake files, instead of copying the rules here.
+  string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR
+         ${PACKAGE_VERSION})
+  # Setup the paths where compiler-rt runtimes and headers should be stored.
+  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION_MAJOR})
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR})
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
+         ${LLVM_INCLUDE_TESTS})
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
+         ${LLVM_ENABLE_WERROR})
+
+  # Use just-built Clang to compile/link tests on all platforms.
+  if (CMAKE_CROSSCOMPILING)
+    if (CMAKE_HOST_WIN32)
+      set(_host_executable_suffix ".exe")
+    else()
+      set(_host_executable_suffix "")
+    endif()
+  else()
+    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
+  endif()
+  set(COMPILER_RT_TEST_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
+  set(COMPILER_RT_TEST_CXX_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
+else()
+    # Take output dir and install path from the user.
+  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
+    "Path where built compiler-rt libraries should be stored.")
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
+    "Path where built compiler-rt executables should be stored.")
+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
+    "Prefix for directories where built compiler-rt artifacts should be installed.")
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
+  # Use a host compiler to compile/link tests.
+  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
+  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
+endif()
+
+if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+else()
+  set(COMPILER_RT_TEST_COMPILER_ID GNU)
+endif()
+
+if(NOT DEFINED COMPILER_RT_OS_DIR)
+  if(ANDROID)
+    # The CMAKE_SYSTEM_NAME for Android is Android, but the OS is Linux and the
+    # driver will search for compiler-rt libraries in the "linux" directory.
+    set(COMPILER_RT_OS_DIR linux)
+  else()
+    string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
+  endif()
+endif()
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib)
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+endif()
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
+set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
+  "Path where built compiler-rt executables should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
+set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt headers should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
+set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt data files should be installed.")
+
+if(APPLE)
+  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
+  # not the command line tools (or is using macOS 10.14 or newer). If this is
+  # the case, we need to find the OS X sysroot to pass to clang.
+  if(NOT EXISTS /usr/include/c++)
+    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
+       OUTPUT_VARIABLE OSX_SYSROOT
+       ERROR_QUIET
+       OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
+      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
+    else()
+      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
+      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
+    endif()
+  else()
+    set(OSX_SYSROOT_FLAG "")
+  endif()
+
+  try_compile_only(COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG
+                   FLAGS
+                   "-target" "x86_64-apple-macos10.15"
+                   "-darwin-target-variant" "x86_64-apple-ios13.1-macabi"
+                   "-Werror")
+  option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG})
+
+  # Don't enable COMPILER_RT_ENABLE_IOS if we can't find the sdk dir.
+  # This can happen when you only have the commandline tools installed
+  # which doesn't come with the iOS SDK.
+  find_darwin_sdk_dir(HAS_IOS_SDK "iphoneos")
+  set(COMPILER_RT_ENABLE_IOS_DEFAULT On)
+  if("${HAS_IOS_SDK}" STREQUAL "")
+    message(WARNING "iOS SDK not found! Building compiler-rt without iOS support.")
+    set(COMPILER_RT_ENABLE_IOS_DEFAULT Off)
+  endif()
+  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" ${COMPILER_RT_ENABLE_IOS_DEFAULT})
+
+  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
+  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
+
+else()
+  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
+endif()
+
+if(WIN32 AND NOT MINGW AND NOT CYGWIN)
+  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
+  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
+endif()
+
+macro(test_targets)
+  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
+  # what version of MSVC to pretend to be so that the STL works.
+  set(MSVC_VERSION_FLAG "")
+  if (MSVC)
+    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
+      OUTPUT_QUIET
+      ERROR_VARIABLE MSVC_COMPAT_VERSION
+      )
+    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
+      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
+    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
+      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
+      # Add this flag into the host build if this is clang-cl.
+      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+        # Add this flag to test compiles to suppress clang's auto-detection
+        # logic.
+        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
+      endif()
+    endif()
+  endif()
+
+  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
+  if(ANDROID)
+    # Examine compiler output to determine target architecture.
+    detect_target_arch()
+    set(COMPILER_RT_OS_SUFFIX "-android")
+  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
+    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
+      if(NOT MSVC)
+        test_target_arch(x86_64 "" "-m64")
+        test_target_arch(i386 __i386__ "-m32")
+      else()
+        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+          test_target_arch(i386 "" "")
+        else()
+          test_target_arch(x86_64 "" "")
+        endif()
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "loongarch64")
+      test_target_arch(loongarch64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le|ppc64le")
+      test_target_arch(powerpc64le "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc")
+      test_target_arch(powerpc "" "-m32")
+      test_target_arch(powerpc64 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
+      test_target_arch(s390x "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
+      test_target_arch(sparc "" "-m32")
+      test_target_arch(sparcv9 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
+      # FIXME: Ideally, we would build the N32 library too.
+      if("${COMPILER_RT_MIPS_EL}" AND ("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}"))
+        test_target_arch(mipsel "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r6" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS_EL}")
+        test_target_arch(mipsel "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r5" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}")
+        test_target_arch(mips "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r6" "-mabi=64")
+      else()
+        test_target_arch(mips "" "-mips32r5" "-mabi=32" "-D_LARGEFILE_SOURCE=1" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r5" "-mabi=64")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
+      if(WIN32)
+        test_target_arch(arm "" "" "")
+      else()
+        test_target_arch(armv4t "" "-march=armv4t" "-mfloat-abi=soft")
+        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
+        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
+        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "avr")
+      test_target_arch(avr "__AVR__" "--target=avr")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
+      test_target_arch(aarch32 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
+      test_target_arch(aarch64 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
+      test_target_arch(riscv32 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
+      test_target_arch(riscv64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
+      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
+      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
+      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
+    endif()
+    set(COMPILER_RT_OS_SUFFIX "")
+  endif()
+endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-ppc64.patch
+
+mv llvm-$VERSION-compiler-rt-ppc64.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/file.list	(revision 40)
@@ -0,0 +1,2 @@
+llvm-16.0.2/compiler-rt/cmake/base-config-ix.cmake
+llvm-16.0.2/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake	(revision 40)
@@ -0,0 +1,88 @@
+set(ARM64 aarch64)
+set(ARM32 arm armhf)
+set(HEXAGON hexagon)
+set(X86 i386)
+set(X86_64 x86_64)
+set(LOONGARCH64 loongarch64)
+set(MIPS32 mips mipsel)
+set(MIPS64 mips64 mips64el)
+set(PPC32 ppc powerpc powerpcspe)
+set(PPC64 ppc64 powerpc64 pc64le powerpc64le)
+set(RISCV32 riscv32)
+set(RISCV64 riscv64)
+set(S390X s390x)
+set(SPARC sparc)
+set(SPARCV9 sparcv9)
+set(WASM32 wasm32)
+set(WASM64 wasm64)
+set(VE ve)
+
+if(APPLE)
+  set(ARM64 arm64)
+  set(ARM32 armv7 armv7s armv7k)
+  set(X86_64 x86_64 x86_64h)
+endif()
+
+set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64} ${RISCV64}
+    ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9}
+    ${HEXAGON} ${LOONGARCH64})
+set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
+    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
+    ${LOONGARCH64})
+set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
+
+if(ANDROID)
+  set(OS_NAME "Android")
+else()
+  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
+endif()
+
+if(OS_NAME MATCHES "Linux")
+  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${S390X})
+elseif (OS_NAME MATCHES "Windows")
+  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64})
+elseif(OS_NAME MATCHES "Android")
+  set(ALL_FUZZER_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
+else()
+  set(ALL_FUZZER_SUPPORTED_ARCH ${X86_64} ${ARM64})
+endif()
+
+set(ALL_GWP_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64})
+if(APPLE)
+  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64})
+else()
+  set(ALL_LSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64} ${ARM64} ${ARM32}
+      ${PPC64} ${S390X} ${RISCV64} ${HEXAGON} ${LOONGARCH64})
+endif()
+set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X})
+set(ALL_HWASAN_SUPPORTED_ARCH ${X86_64} ${ARM64} ${RISCV64})
+set(ALL_MEMPROF_SUPPORTED_ARCH ${X86_64})
+set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32} ${PPC64}
+    ${MIPS32} ${MIPS64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
+    ${RISCV32} ${RISCV64})
+set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64} ${S390X}
+    ${LOONGARCH64})
+set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${RISCV64}
+    ${MIPS32} ${MIPS64} ${PPC64} ${S390X} ${SPARC} ${SPARCV9} ${HEXAGON}
+    ${LOONGARCH64})
+set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64}
+    ${HEXAGON} ${LOONGARCH64})
+set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${MIPS64}
+    ${HEXAGON})
+set(ALL_SCUDO_STANDALONE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
+    ${MIPS32} ${MIPS64} ${PPC64} ${HEXAGON} ${LOONGARCH64})
+if(APPLE)
+set(ALL_XRAY_SUPPORTED_ARCH ${X86_64})
+else()
+set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64} ${MIPS32} ${MIPS64}
+		ppc64le powerpc64le ${HEXAGON})
+endif()
+set(ALL_SHADOWCALLSTACK_SUPPORTED_ARCH ${ARM64})
+
+if (UNIX)
+set(ALL_ORC_SUPPORTED_ARCH ${X86_64} ${ARM64} ${ARM32})
+endif()
+
+if (WIN32)
+  set(ALL_ORC_SUPPORTED_ARCH ${X86_64})
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-ppc64-patch/llvm-16.0.2-new/compiler-rt/cmake/base-config-ix.cmake	(revision 40)
@@ -0,0 +1,276 @@
+# The CompilerRT build system requires CMake version 2.8.8 or higher in order
+# to use its support for building convenience "libraries" as a collection of
+# .o files. This is particularly useful in producing larger, more complex
+# runtime libraries.
+
+include(BuiltinTests)
+include(CheckIncludeFile)
+include(CheckCXXSourceCompiles)
+include(GNUInstallDirs)
+include(ExtendPath)
+include(CompilerRTDarwinUtils)
+
+check_include_file(unwind.h HAVE_UNWIND_H)
+
+# Used by sanitizer_common and tests.
+check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
+if (NOT HAVE_RPC_XDR_H)
+  set(HAVE_RPC_XDR_H 0)
+endif()
+
+# Top level target used to build all compiler-rt libraries.
+add_custom_target(compiler-rt ALL)
+add_custom_target(install-compiler-rt)
+add_custom_target(install-compiler-rt-stripped)
+set_property(
+  TARGET
+    compiler-rt
+    install-compiler-rt
+    install-compiler-rt-stripped
+  PROPERTY
+    FOLDER "Compiler-RT Misc"
+)
+
+# Setting these variables from an LLVM build is sufficient that compiler-rt can
+# construct the output paths, so it can behave as if it were in-tree here.
+if (LLVM_LIBRARY_OUTPUT_INTDIR AND LLVM_RUNTIME_OUTPUT_INTDIR AND PACKAGE_VERSION)
+  set(LLVM_TREE_AVAILABLE On)
+endif()
+
+if (LLVM_TREE_AVAILABLE)
+  # Compute the Clang version from the LLVM version.
+  # FIXME: We should be able to reuse CLANG_VERSION_MAJOR variable calculated
+  #        in Clang cmake files, instead of copying the rules here.
+  string(REGEX MATCH "^[0-9]+" CLANG_VERSION_MAJOR
+         ${PACKAGE_VERSION})
+  # Setup the paths where compiler-rt runtimes and headers should be stored.
+  set(COMPILER_RT_OUTPUT_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}/clang/${CLANG_VERSION_MAJOR})
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+  set(COMPILER_RT_INSTALL_PATH lib${LLVM_LIBDIR_SUFFIX}/clang/${CLANG_VERSION_MAJOR})
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests."
+         ${LLVM_INCLUDE_TESTS})
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered"
+         ${LLVM_ENABLE_WERROR})
+
+  # Use just-built Clang to compile/link tests on all platforms.
+  if (CMAKE_CROSSCOMPILING)
+    if (CMAKE_HOST_WIN32)
+      set(_host_executable_suffix ".exe")
+    else()
+      set(_host_executable_suffix "")
+    endif()
+  else()
+    set(_host_executable_suffix ${CMAKE_EXECUTABLE_SUFFIX})
+  endif()
+  set(COMPILER_RT_TEST_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang${_host_executable_suffix})
+  set(COMPILER_RT_TEST_CXX_COMPILER
+    ${LLVM_RUNTIME_OUTPUT_INTDIR}/clang++${_host_executable_suffix})
+else()
+    # Take output dir and install path from the user.
+  set(COMPILER_RT_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH
+    "Path where built compiler-rt libraries should be stored.")
+  set(COMPILER_RT_EXEC_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin CACHE PATH
+    "Path where built compiler-rt executables should be stored.")
+  set(COMPILER_RT_INSTALL_PATH "" CACHE PATH
+    "Prefix for directories where built compiler-rt artifacts should be installed.")
+  option(COMPILER_RT_INCLUDE_TESTS "Generate and build compiler-rt unit tests." OFF)
+  option(COMPILER_RT_ENABLE_WERROR "Fail and stop if warning is triggered" OFF)
+  # Use a host compiler to compile/link tests.
+  set(COMPILER_RT_TEST_COMPILER ${CMAKE_C_COMPILER} CACHE PATH "Compiler to use for testing")
+  set(COMPILER_RT_TEST_CXX_COMPILER ${CMAKE_CXX_COMPILER} CACHE PATH "C++ Compiler to use for testing")
+endif()
+
+if("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang[+]*$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+elseif("${COMPILER_RT_TEST_COMPILER}" MATCHES "clang.*.exe$")
+  set(COMPILER_RT_TEST_COMPILER_ID Clang)
+else()
+  set(COMPILER_RT_TEST_COMPILER_ID GNU)
+endif()
+
+if(NOT DEFINED COMPILER_RT_OS_DIR)
+  if(ANDROID)
+    # The CMAKE_SYSTEM_NAME for Android is Android, but the OS is Linux and the
+    # driver will search for compiler-rt libraries in the "linux" directory.
+    set(COMPILER_RT_OS_DIR linux)
+  else()
+    string(TOLOWER ${CMAKE_SYSTEM_NAME} COMPILER_RT_OS_DIR)
+  endif()
+endif()
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib)
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" lib)
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+else(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR AND NOT APPLE)
+  set(COMPILER_RT_OUTPUT_LIBRARY_DIR
+    ${COMPILER_RT_OUTPUT_DIR}/lib/${COMPILER_RT_OS_DIR})
+  extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "lib/${COMPILER_RT_OS_DIR}")
+  set(COMPILER_RT_INSTALL_LIBRARY_DIR "${default_install_path}" CACHE PATH
+    "Path where built compiler-rt libraries should be installed.")
+endif()
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_BINDIR}")
+set(COMPILER_RT_INSTALL_BINARY_DIR "${default_install_path}" CACHE PATH
+  "Path where built compiler-rt executables should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_INCLUDEDIR}")
+set(COMPILER_RT_INSTALL_INCLUDE_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt headers should be installed.")
+extend_path(default_install_path "${COMPILER_RT_INSTALL_PATH}" "${CMAKE_INSTALL_DATADIR}")
+set(COMPILER_RT_INSTALL_DATA_DIR "${default_install_path}" CACHE PATH
+  "Path where compiler-rt data files should be installed.")
+
+if(APPLE)
+  # On Darwin if /usr/include/c++ doesn't exist, the user probably has Xcode but
+  # not the command line tools (or is using macOS 10.14 or newer). If this is
+  # the case, we need to find the OS X sysroot to pass to clang.
+  if(NOT EXISTS /usr/include/c++)
+    execute_process(COMMAND xcrun -sdk macosx --show-sdk-path
+       OUTPUT_VARIABLE OSX_SYSROOT
+       ERROR_QUIET
+       OUTPUT_STRIP_TRAILING_WHITESPACE)
+    if (NOT OSX_SYSROOT OR NOT EXISTS ${OSX_SYSROOT})
+      message(WARNING "Detected OSX_SYSROOT ${OSX_SYSROOT} does not exist")
+    else()
+      message(STATUS "Found OSX_SYSROOT: ${OSX_SYSROOT}")
+      set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
+    endif()
+  else()
+    set(OSX_SYSROOT_FLAG "")
+  endif()
+
+  try_compile_only(COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG
+                   FLAGS
+                   "-target" "x86_64-apple-macos10.15"
+                   "-darwin-target-variant" "x86_64-apple-ios13.1-macabi"
+                   "-Werror")
+  option(COMPILER_RT_ENABLE_MACCATALYST "Enable building for Mac Catalyst" ${COMPILER_RT_HAS_DARWIN_TARGET_VARIANT_FLAG})
+
+  # Don't enable COMPILER_RT_ENABLE_IOS if we can't find the sdk dir.
+  # This can happen when you only have the commandline tools installed
+  # which doesn't come with the iOS SDK.
+  find_darwin_sdk_dir(HAS_IOS_SDK "iphoneos")
+  set(COMPILER_RT_ENABLE_IOS_DEFAULT On)
+  if("${HAS_IOS_SDK}" STREQUAL "")
+    message(WARNING "iOS SDK not found! Building compiler-rt without iOS support.")
+    set(COMPILER_RT_ENABLE_IOS_DEFAULT Off)
+  endif()
+  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" ${COMPILER_RT_ENABLE_IOS_DEFAULT})
+
+  option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
+  option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
+
+else()
+  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
+endif()
+
+if(WIN32 AND NOT MINGW AND NOT CYGWIN)
+  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
+  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
+endif()
+
+macro(test_targets)
+  # Find and run MSVC (not clang-cl) and get its version. This will tell clang-cl
+  # what version of MSVC to pretend to be so that the STL works.
+  set(MSVC_VERSION_FLAG "")
+  if (MSVC)
+    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
+      OUTPUT_QUIET
+      ERROR_VARIABLE MSVC_COMPAT_VERSION
+      )
+    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
+      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
+    if (MSVC_COMPAT_VERSION MATCHES "^[0-9].+$")
+      set(MSVC_VERSION_FLAG "-fms-compatibility-version=${MSVC_COMPAT_VERSION}")
+      # Add this flag into the host build if this is clang-cl.
+      if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+        append("${MSVC_VERSION_FLAG}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+      elseif (COMPILER_RT_TEST_COMPILER_ID MATCHES "Clang")
+        # Add this flag to test compiles to suppress clang's auto-detection
+        # logic.
+        append("${MSVC_VERSION_FLAG}" COMPILER_RT_TEST_COMPILER_CFLAGS)
+      endif()
+    endif()
+  endif()
+
+  # Generate the COMPILER_RT_SUPPORTED_ARCH list.
+  if(ANDROID)
+    # Examine compiler output to determine target architecture.
+    detect_target_arch()
+    set(COMPILER_RT_OS_SUFFIX "-android")
+  elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
+    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
+      if(NOT MSVC)
+        test_target_arch(x86_64 "" "-m64")
+        test_target_arch(i386 __i386__ "-m32")
+      else()
+        if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+          test_target_arch(i386 "" "")
+        else()
+          test_target_arch(x86_64 "" "")
+        endif()
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "loongarch64")
+      test_target_arch(loongarch64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64le|ppc64le")
+      test_target_arch(powerpc64le "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc|ppc")
+      test_target_arch(powerpc "" "-m32")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "powerpc64|ppc64")
+      test_target_arch(powerpc64 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "s390x")
+      test_target_arch(s390x "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "sparc")
+      test_target_arch(sparc "" "-m32")
+      test_target_arch(sparcv9 "" "-m64")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
+      # FIXME: Ideally, we would build the N32 library too.
+      if("${COMPILER_RT_MIPS_EL}" AND ("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}"))
+        test_target_arch(mipsel "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r6" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS_EL}")
+        test_target_arch(mipsel "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64el "" "-mips64r2" "-mabi=64")
+      elseif("${COMPILER_RT_MIPS32R6}" OR "${COMPILER_RT_MIPS64R6}")
+        test_target_arch(mips "" "-mips32r6" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r6" "-mabi=64")
+      else()
+        test_target_arch(mips "" "-mips32r2" "-mabi=32" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64")
+        test_target_arch(mips64 "" "-mips64r2" "-mabi=64")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
+      if(WIN32)
+        test_target_arch(arm "" "" "")
+      else()
+        test_target_arch(armv4t "" "-march=armv4t" "-mfloat-abi=soft")
+        test_target_arch(armv6m "" "-march=armv6m" "-mfloat-abi=soft")
+        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
+        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+      endif()
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "avr")
+      test_target_arch(avr "__AVR__" "--target=avr")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
+      test_target_arch(aarch32 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")
+      test_target_arch(aarch64 "" "-march=armv8-a")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv32")
+      test_target_arch(riscv32 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "riscv64")
+      test_target_arch(riscv64 "" "")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm32")
+      test_target_arch(wasm32 "" "--target=wasm32-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "wasm64")
+      test_target_arch(wasm64 "" "--target=wasm64-unknown-unknown")
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "ve")
+      test_target_arch(ve "__ve__" "--target=ve-unknown-none")
+    endif()
+    set(COMPILER_RT_OS_SUFFIX "")
+  endif()
+endmacro()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-compiler-rt-synonyms.patch
+
+mv llvm-$VERSION-compiler-rt-synonyms.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/file.list	(revision 40)
@@ -0,0 +1,2 @@
+llvm-16.0.2/compiler-rt/cmake/builtin-config-ix.cmake
+llvm-16.0.2/compiler-rt/cmake/crt-config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/builtin-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/builtin-config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/builtin-config-ix.cmake	(revision 40)
@@ -0,0 +1,217 @@
+include(BuiltinTests)
+include(CheckCSourceCompiles)
+
+# Make all the tests only check the compiler
+set(TEST_COMPILE_ONLY On)
+
+# Check host compiler support for certain flags
+builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
+builtin_check_c_compiler_flag(-fPIE                 COMPILER_RT_HAS_FPIE_FLAG)
+builtin_check_c_compiler_flag(-fno-builtin          COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
+builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
+builtin_check_c_compiler_flag(-fvisibility=hidden   COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG)
+builtin_check_c_compiler_flag(-fomit-frame-pointer  COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG)
+builtin_check_c_compiler_flag(-ffreestanding        COMPILER_RT_HAS_FFREESTANDING_FLAG)
+builtin_check_c_compiler_flag(-fxray-instrument     COMPILER_RT_HAS_XRAY_COMPILER_FLAG)
+
+builtin_check_c_compiler_source(COMPILER_RT_HAS_ATOMIC_KEYWORD
+"
+int foo(int x, int y) {
+ _Atomic int result = x * y;
+ return result;
+}
+")
+
+builtin_check_c_compiler_source(COMPILER_RT_HAS_ASM_LSE
+"
+asm(\".arch armv8-a+lse\");
+asm(\"cas w0, w1, [x2]\");
+")
+
+set(ARM64 aarch64)
+set(ARM32 arm armhf armv4t armv5te armv6 armv6m armv7m armv7em armv7 armv7s armv7k armv8m.main armv8.1m.main)
+set(AVR avr)
+set(HEXAGON hexagon)
+set(X86 i386)
+set(X86_64 x86_64)
+set(LOONGARCH64 loongarch64)
+set(MIPS32 mips mipsel)
+set(MIPS64 mips64 mips64el)
+set(PPC32 ppc powerpc powerpcspe)
+set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
+set(RISCV32 riscv32)
+set(RISCV64 riscv64)
+set(SPARC sparc)
+set(SPARCV9 sparcv9)
+set(WASM32 wasm32)
+set(WASM64 wasm64)
+set(VE ve)
+
+if(APPLE)
+  set(ARM64 arm64 arm64e)
+  set(ARM32 armv7 armv7k armv7s)
+  set(X86_64 x86_64 x86_64h)
+endif()
+
+set(ALL_BUILTIN_SUPPORTED_ARCH
+  ${X86} ${X86_64} ${ARM32} ${ARM64} ${AVR}
+  ${HEXAGON} ${MIPS32} ${MIPS64} ${PPC32} ${PPC64}
+  ${RISCV32} ${RISCV64} ${SPARC} ${SPARCV9}
+  ${WASM32} ${WASM64} ${VE} ${LOONGARCH64})
+
+include(CompilerRTUtils)
+include(CompilerRTDarwinUtils)
+
+if(APPLE)
+
+  find_darwin_sdk_dir(DARWIN_osx_SYSROOT macosx)
+  find_darwin_sdk_dir(DARWIN_iossim_SYSROOT iphonesimulator)
+  find_darwin_sdk_dir(DARWIN_ios_SYSROOT iphoneos)
+  find_darwin_sdk_dir(DARWIN_watchossim_SYSROOT watchsimulator)
+  find_darwin_sdk_dir(DARWIN_watchos_SYSROOT watchos)
+  find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
+  find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
+
+  # Get supported architecture from SDKSettings.
+  function(sdk_has_arch_support sdk_path os arch has_support)
+    execute_process(COMMAND
+        /usr/libexec/PlistBuddy -c "Print :SupportedTargets:${os}:Archs" ${sdk_path}/SDKSettings.plist
+      OUTPUT_VARIABLE SDK_SUPPORTED_ARCHS
+      RESULT_VARIABLE PLIST_ERROR
+      ERROR_QUIET)
+    if (PLIST_ERROR EQUAL 0 AND
+        SDK_SUPPORTED_ARCHS MATCHES " ${arch}\n")
+      message(STATUS "Found ${arch} support in ${sdk_path}/SDKSettings.plist")
+      set("${has_support}" On PARENT_SCOPE)
+    else()
+      message(STATUS "No ${arch} support in ${sdk_path}/SDKSettings.plist")
+      set("${has_support}" Off PARENT_SCOPE)
+    endif()
+  endfunction()
+
+  set(DARWIN_EMBEDDED_PLATFORMS)
+  set(DARWIN_osx_BUILTIN_MIN_VER 10.7)
+  set(DARWIN_osx_BUILTIN_MIN_VER_FLAG
+      -mmacosx-version-min=${DARWIN_osx_BUILTIN_MIN_VER})
+  set(DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
+  # Add support for arm64 macOS if available in SDK.
+  foreach(arch ${ARM64})
+    sdk_has_arch_support(${DARWIN_osx_SYSROOT} macosx ${arch} MACOS_ARM_SUPPORT)
+    if (MACOS_ARM_SUPPORT)
+     list(APPEND DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS ${arch})
+    endif()
+  endforeach(arch)
+
+  if(COMPILER_RT_ENABLE_IOS)
+    list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
+    set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min)
+    set(DARWIN_ios_BUILTIN_MIN_VER 6.0)
+    set(DARWIN_ios_BUILTIN_MIN_VER_FLAG
+      ${DARWIN_ios_MIN_VER_FLAG}=${DARWIN_ios_BUILTIN_MIN_VER})
+    set(DARWIN_ios_BUILTIN_ALL_POSSIBLE_ARCHS ${ARM64} ${ARM32})
+    set(DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
+    find_darwin_sdk_version(iossim_sdk_version "iphonesimulator")
+    if ("${iossim_sdk_version}" VERSION_GREATER 14.0 OR "${iossim_sdk_version}" VERSION_EQUAL 14.0)
+      list(APPEND DARWIN_iossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
+    endif()
+  endif()
+  if(COMPILER_RT_ENABLE_WATCHOS)
+    list(APPEND DARWIN_EMBEDDED_PLATFORMS watchos)
+    set(DARWIN_watchos_MIN_VER_FLAG -mwatchos-version-min)
+    set(DARWIN_watchos_BUILTIN_MIN_VER 2.0)
+    set(DARWIN_watchos_BUILTIN_MIN_VER_FLAG
+      ${DARWIN_watchos_MIN_VER_FLAG}=${DARWIN_watchos_BUILTIN_MIN_VER})
+    set(DARWIN_watchos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 armv7k arm64_32)
+    set(DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86})
+    find_darwin_sdk_version(watchossim_sdk_version "watchsimulator")
+    if ("${watchossim_sdk_version}" VERSION_GREATER 7.0 OR "${watchossim_sdk_version}" VERSION_EQUAL 7.0)
+      list(APPEND DARWIN_watchossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
+    endif()
+  endif()
+  if(COMPILER_RT_ENABLE_TVOS)
+    list(APPEND DARWIN_EMBEDDED_PLATFORMS tvos)
+    set(DARWIN_tvos_MIN_VER_FLAG -mtvos-version-min)
+    set(DARWIN_tvos_BUILTIN_MIN_VER 9.0)
+    set(DARWIN_tvos_BUILTIN_MIN_VER_FLAG
+      ${DARWIN_tvos_MIN_VER_FLAG}=${DARWIN_tvos_BUILTIN_MIN_VER})
+    set(DARWIN_tvos_BUILTIN_ALL_POSSIBLE_ARCHS armv7 arm64)
+    set(DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS ${X86} ${X86_64})
+    find_darwin_sdk_version(tvossim_sdk_version "appletvsimulator")
+    if ("${tvossim_sdk_version}" VERSION_GREATER 14.0 OR "${tvossim_sdk_version}" VERSION_EQUAL 14.0)
+      list(APPEND DARWIN_tvossim_BUILTIN_ALL_POSSIBLE_ARCHS arm64)
+    endif()
+  endif()
+
+  set(BUILTIN_SUPPORTED_OS osx)
+
+  # We're setting the flag manually for each target OS
+  set(CMAKE_OSX_DEPLOYMENT_TARGET "")
+
+  # NOTE: We deliberately avoid using `DARWIN_<os>_ARCHS` here because that is
+  # used by `config-ix.cmake` in the context of building the rest of
+  # compiler-rt where the global `${TEST_COMPILE_ONLY}` (used by
+  # `darwin_test_archs()`) has a different value.
+  darwin_test_archs(osx
+    DARWIN_osx_BUILTIN_ARCHS
+    ${DARWIN_osx_BUILTIN_ALL_POSSIBLE_ARCHS}
+  )
+  message(STATUS "OSX supported builtin arches: ${DARWIN_osx_BUILTIN_ARCHS}")
+  foreach(arch ${DARWIN_osx_BUILTIN_ARCHS})
+    list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
+    set(CAN_TARGET_${arch} 1)
+  endforeach()
+
+  foreach(platform ${DARWIN_EMBEDDED_PLATFORMS})
+    if(DARWIN_${platform}sim_SYSROOT)
+      set(DARWIN_${platform}sim_BUILTIN_MIN_VER
+        ${DARWIN_${platform}_BUILTIN_MIN_VER})
+      set(DARWIN_${platform}sim_BUILTIN_MIN_VER_FLAG
+        ${DARWIN_${platform}_BUILTIN_MIN_VER_FLAG})
+
+      set(DARWIN_${platform}sim_SKIP_CC_KEXT On)
+
+      darwin_test_archs(${platform}sim
+        DARWIN_${platform}sim_BUILTIN_ARCHS
+        ${DARWIN_${platform}sim_BUILTIN_ALL_POSSIBLE_ARCHS}
+      )
+      message(STATUS "${platform} Simulator supported builtin arches: ${DARWIN_${platform}sim_BUILTIN_ARCHS}")
+      if(DARWIN_${platform}sim_BUILTIN_ARCHS)
+        list(APPEND BUILTIN_SUPPORTED_OS ${platform}sim)
+      endif()
+      foreach(arch ${DARWIN_${platform}sim_BUILTIN_ARCHS})
+        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
+        set(CAN_TARGET_${arch} 1)
+      endforeach()
+    endif()
+
+    if(DARWIN_${platform}_SYSROOT)
+      darwin_test_archs(${platform}
+        DARWIN_${platform}_BUILTIN_ARCHS
+        ${DARWIN_${platform}_BUILTIN_ALL_POSSIBLE_ARCHS}
+      )
+      message(STATUS "${platform} supported builtin arches: ${DARWIN_${platform}_BUILTIN_ARCHS}")
+      if(DARWIN_${platform}_BUILTIN_ARCHS)
+        list(APPEND BUILTIN_SUPPORTED_OS ${platform})
+      endif()
+      foreach(arch ${DARWIN_${platform}_BUILTIN_ARCHS})
+        list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
+        set(CAN_TARGET_${arch} 1)
+      endforeach()
+    endif()
+  endforeach()
+
+  list_intersect(BUILTIN_SUPPORTED_ARCH ALL_BUILTIN_SUPPORTED_ARCH COMPILER_RT_SUPPORTED_ARCH)
+
+else()
+  # If we're not building the builtins standalone, just rely on the  tests in
+  # config-ix.cmake to tell us what to build. Otherwise we need to do some leg
+  # work here...
+  if(COMPILER_RT_BUILTINS_STANDALONE_BUILD)
+    test_targets()
+  endif()
+  # Architectures supported by compiler-rt libraries.
+  filter_available_targets(BUILTIN_SUPPORTED_ARCH
+    ${ALL_BUILTIN_SUPPORTED_ARCH})
+endif()
+
+message(STATUS "Builtin supported architectures: ${BUILTIN_SUPPORTED_ARCH}")
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/crt-config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/crt-config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-compiler-rt-synonyms-patch/llvm-16.0.2-new/compiler-rt/cmake/crt-config-ix.cmake	(revision 40)
@@ -0,0 +1,51 @@
+include(BuiltinTests)
+include(CheckCSourceCompiles)
+
+# Make all the tests only check the compiler
+set(TEST_COMPILE_ONLY On)
+
+builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
+builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
+builtin_check_c_compiler_flag(-Wno-pedantic         COMPILER_RT_HAS_WNO_PEDANTIC)
+builtin_check_c_compiler_flag(-fno-lto              COMPILER_RT_HAS_FNO_LTO_FLAG)
+builtin_check_c_compiler_flag(-fno-profile-generate COMPILER_RT_HAS_FNO_PROFILE_GENERATE_FLAG)
+builtin_check_c_compiler_flag(-fno-profile-instr-generate COMPILER_RT_HAS_FNO_PROFILE_INSTR_GENERATE_FLAG)
+builtin_check_c_compiler_flag(-fno-profile-instr-use COMPILER_RT_HAS_FNO_PROFILE_INSTR_USE_FLAG)
+
+if(ANDROID)
+  set(OS_NAME "Android")
+else()
+  set(OS_NAME "${CMAKE_SYSTEM_NAME}")
+endif()
+
+set(ARM64 aarch64)
+set(ARM32 arm armhf)
+set(HEXAGON hexagon)
+set(X86 i386)
+set(X86_64 x86_64)
+set(LOONGARCH64 loongarch64)
+set(PPC32 ppc powerpc powerpcspe)
+set(PPC64 ppc64 powerpc64 ppc64le powerpc64le)
+set(RISCV32 riscv32)
+set(RISCV64 riscv64)
+set(VE ve)
+
+set(ALL_CRT_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC32}
+    ${PPC64} ${RISCV32} ${RISCV64} ${VE} ${HEXAGON} ${LOONGARCH64})
+
+include(CompilerRTUtils)
+
+if(NOT APPLE)
+  if(COMPILER_RT_CRT_STANDALONE_BUILD)
+    test_targets()
+  endif()
+  # Architectures supported by compiler-rt crt library.
+  filter_available_targets(CRT_SUPPORTED_ARCH ${ALL_CRT_SUPPORTED_ARCH})
+  message(STATUS "Supported architectures for crt: ${CRT_SUPPORTED_ARCH}")
+endif()
+
+if (CRT_SUPPORTED_ARCH AND OS_NAME MATCHES "Linux" AND NOT LLVM_USE_SANITIZER)
+  set(COMPILER_RT_HAS_CRT TRUE)
+else()
+  set(COMPILER_RT_HAS_CRT FALSE)
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-instr-link.patch
+
+mv llvm-$VERSION-lldb-instr-link.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/lldb/tools/lldb-instr/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/llvm-16.0.2-new/lldb/tools/lldb-instr/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/llvm-16.0.2-new/lldb/tools/lldb-instr/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-instr-link-patch/llvm-16.0.2-new/lldb/tools/lldb-instr/CMakeLists.txt	(revision 40)
@@ -0,0 +1,16 @@
+add_lldb_tool(lldb-instr
+  Instrument.cpp
+
+  CLANG_LIBS
+    clangAST
+    clangBasic
+    clangCodeGen
+    clangFrontend
+    clangLex
+    clangRewrite
+    clangSerialization
+    clangTooling
+
+  LINK_COMPONENTS
+    Support
+  )
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-lua-version.patch
+
+mv llvm-$VERSION-lldb-lua-version.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/lldb/cmake/modules/FindLuaAndSwig.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/llvm-16.0.2-new/lldb/cmake/modules/FindLuaAndSwig.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/llvm-16.0.2-new/lldb/cmake/modules/FindLuaAndSwig.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-lua-version-patch/llvm-16.0.2-new/lldb/cmake/modules/FindLuaAndSwig.cmake	(revision 40)
@@ -0,0 +1,30 @@
+#.rst:
+# FindLuaAndSwig
+# --------------
+#
+# Find Lua and SWIG as a whole.
+
+if(LUA_LIBRARIES AND LUA_INCLUDE_DIR AND LLDB_ENABLE_SWIG)
+  set(LUAANDSWIG_FOUND TRUE)
+else()
+  if (LLDB_ENABLE_SWIG)
+    find_package(Lua 5.4)
+    if(LUA_FOUND)
+      mark_as_advanced(
+        LUA_LIBRARIES
+        LUA_INCLUDE_DIR)
+    endif()
+  else()
+    message(STATUS "SWIG 3 or later is required for Lua support in LLDB but could not be found")
+  endif()
+
+
+  include(FindPackageHandleStandardArgs)
+  find_package_handle_standard_args(LuaAndSwig
+                                    FOUND_VAR
+                                      LUAANDSWIG_FOUND
+                                    REQUIRED_VARS
+                                      LUA_LIBRARIES
+                                      LUA_INCLUDE_DIR
+                                      LLDB_ENABLE_SWIG)
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-riscv64.patch
+
+mv llvm-$VERSION-lldb-riscv64.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/file.list	(revision 40)
@@ -0,0 +1,2 @@
+llvm-16.0.2/lldb/source/API/CMakeLists.txt
+llvm-16.0.2/lldb/tools/lldb-server/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/source/API/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/source/API/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/source/API/CMakeLists.txt	(revision 40)
@@ -0,0 +1,228 @@
+get_property(LLDB_ALL_PLUGINS GLOBAL PROPERTY LLDB_PLUGINS)
+
+if(LLDB_BUILD_FRAMEWORK)
+  set(option_install_prefix INSTALL_PREFIX ${LLDB_FRAMEWORK_INSTALL_DIR})
+  set(option_framework FRAMEWORK)
+endif()
+
+if(LLDB_ENABLE_PYTHON)
+  get_target_property(python_bindings_dir swig_wrapper_python BINARY_DIR)
+  set(lldb_python_wrapper ${python_bindings_dir}/LLDBWrapPython.cpp)
+endif()
+
+if(LLDB_ENABLE_LUA)
+  get_target_property(lua_bindings_dir swig_wrapper_lua BINARY_DIR)
+  set(lldb_lua_wrapper ${lua_bindings_dir}/LLDBWrapLua.cpp)
+endif()
+
+add_lldb_library(liblldb SHARED ${option_framework}
+  SBAddress.cpp
+  SBAttachInfo.cpp
+  SBBlock.cpp
+  SBBreakpoint.cpp
+  SBBreakpointLocation.cpp
+  SBBreakpointName.cpp
+  SBBreakpointOptionCommon.cpp
+  SBBroadcaster.cpp
+  SBCommandInterpreter.cpp
+  SBCommandInterpreterRunOptions.cpp
+  SBCommandReturnObject.cpp
+  SBCommunication.cpp
+  SBCompileUnit.cpp
+  SBData.cpp
+  SBDebugger.cpp
+  SBDeclaration.cpp
+  SBEnvironment.cpp
+  SBError.cpp
+  SBEvent.cpp
+  SBExecutionContext.cpp
+  SBExpressionOptions.cpp
+  SBFileSpec.cpp
+  SBFile.cpp
+  SBFileSpecList.cpp
+  SBFrame.cpp
+  SBFunction.cpp
+  SBHostOS.cpp
+  SBInstruction.cpp
+  SBInstructionList.cpp
+  SBLanguageRuntime.cpp
+  SBLaunchInfo.cpp
+  SBLineEntry.cpp
+  SBListener.cpp
+  SBMemoryRegionInfo.cpp
+  SBMemoryRegionInfoList.cpp
+  SBModule.cpp
+  SBModuleSpec.cpp
+  SBPlatform.cpp
+  SBProcess.cpp
+  SBProcessInfo.cpp
+  SBQueue.cpp
+  SBQueueItem.cpp
+  SBReproducer.cpp
+  SBSection.cpp
+  SBSourceManager.cpp
+  SBStream.cpp
+  SBStringList.cpp
+  SBStructuredData.cpp
+  SBSymbol.cpp
+  SBSymbolContext.cpp
+  SBSymbolContextList.cpp
+  SBTarget.cpp
+  SBThread.cpp
+  SBThreadCollection.cpp
+  SBThreadPlan.cpp
+  SBTrace.cpp
+  SBTraceCursor.cpp
+  SBType.cpp
+  SBTypeCategory.cpp
+  SBTypeEnumMember.cpp
+  SBTypeFilter.cpp
+  SBTypeFormat.cpp
+  SBTypeNameSpecifier.cpp
+  SBTypeSummary.cpp
+  SBTypeSynthetic.cpp
+  SBValue.cpp
+  SBValueList.cpp
+  SBVariablesOptions.cpp
+  SBWatchpoint.cpp
+  SBUnixSignals.cpp
+  SystemInitializerFull.cpp
+  ${lldb_python_wrapper}
+  ${lldb_lua_wrapper}
+
+  LINK_LIBS
+    lldbBreakpoint
+    lldbCore
+    lldbDataFormatters
+    lldbExpression
+    lldbHost
+    lldbInitialization
+    lldbInterpreter
+    lldbSymbol
+    lldbTarget
+    lldbUtility
+    lldbVersion
+    ${LLDB_ALL_PLUGINS}
+  LINK_COMPONENTS
+    Support
+
+  ${option_install_prefix}
+)
+
+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
+  target_link_libraries(liblldb PRIVATE atomic)
+endif()
+
+# lib/pythonX.Y/dist-packages/lldb/_lldb.so is a symlink to lib/liblldb.so,
+# which depends on lib/libLLVM*.so (BUILD_SHARED_LIBS) or lib/libLLVM-10git.so
+# (LLVM_LINK_LLVM_DYLIB). Add an additional rpath $ORIGIN/../../../../lib so
+# that _lldb.so can be loaded from Python.
+if(LLDB_ENABLE_PYTHON AND (BUILD_SHARED_LIBS OR LLVM_LINK_LLVM_DYLIB) AND UNIX AND NOT APPLE)
+  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "\$ORIGIN/../../../../lib${LLVM_LIBDIR_SUFFIX}")
+endif()
+
+if(Python3_RPATH)
+  set_property(TARGET liblldb APPEND PROPERTY INSTALL_RPATH "${Python3_RPATH}")
+  set_property(TARGET liblldb APPEND PROPERTY BUILD_RPATH   "${Python3_RPATH}")
+endif()
+
+
+if(LLDB_ENABLE_PYTHON)
+  add_dependencies(liblldb swig_wrapper_python)
+
+  if (MSVC)
+    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
+  else()
+    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
+  endif()
+
+  set_source_files_properties(${lldb_python_wrapper} PROPERTIES GENERATED ON)
+  if (CLANG_CL)
+    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
+      PROPERTY COMPILE_FLAGS " -Wno-unused-function")
+  endif()
+  if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND
+      NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
+    set_property(SOURCE ${lldb_python_wrapper} APPEND_STRING
+      PROPERTY COMPILE_FLAGS " -Wno-sequence-point -Wno-cast-qual")
+  endif ()
+endif()
+
+if(LLDB_ENABLE_LUA)
+  add_dependencies(liblldb swig_wrapper_lua)
+  target_include_directories(liblldb PRIVATE ${LUA_INCLUDE_DIR})
+
+  if (MSVC)
+    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " /W0")
+  else()
+    set_property(SOURCE ${lldb_lua_wrapper} APPEND_STRING PROPERTY COMPILE_FLAGS " -w")
+  endif()
+
+  set_source_files_properties(${lldb_lua_wrapper} PROPERTIES GENERATED ON)
+endif()
+
+set_target_properties(liblldb
+  PROPERTIES
+  VERSION ${LLDB_VERSION}
+)
+
+target_compile_definitions(liblldb PRIVATE LLDB_IN_LIBLLDB)
+if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows")
+  if (NOT LLDB_EXPORT_ALL_SYMBOLS)
+    # If we're not exporting all symbols, we'll want to explicitly set
+    # the exported symbols here.  This prevents 'log enable --stack ...'
+    # from working on some systems but limits the liblldb size.
+    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb namespace")
+    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb.exports)
+  else()
+    # Don't use an explicit export.  Instead, tell the linker to
+    # export all symbols.
+    MESSAGE("-- Symbols (liblldb): exporting all symbols from the lldb and lldb_private namespaces")
+    add_llvm_symbol_exports(liblldb ${CMAKE_CURRENT_SOURCE_DIR}/liblldb-private.exports)
+  endif()
+  set_target_properties(liblldb_exports PROPERTIES FOLDER "lldb misc")
+endif()
+
+if (NOT MSVC)
+  set_target_properties(liblldb
+    PROPERTIES
+    OUTPUT_NAME lldb
+  )
+endif()
+
+# The Clang expression parser in LLDB requires the Clang resource directory to function.
+if (TARGET clang-resource-headers)
+  # If building alongside Clang, just add a dependency to ensure it is build together with liblldb.
+  add_dependencies(liblldb clang-resource-headers)
+else()
+  # In a standalone build create a symlink from the LLDB library directory that points to the
+  # resource directory in the Clang library directory. LLDB searches relative to its install path,
+  # and the symlink is created in the same relative path as the resource directory of Clang when
+  # building alongside Clang.
+  # When building the LLDB framework, this isn't necessary as there we copy everything we need into
+  # the framework (including the Clang resourece directory).
+  if(NOT LLDB_BUILD_FRAMEWORK)
+    set(LLDB_CLANG_RESOURCE_DIR_PARENT "$<TARGET_FILE_DIR:liblldb>/clang")
+    file(MAKE_DIRECTORY "${LLDB_CLANG_RESOURCE_DIR_PARENT}")
+    add_custom_command(TARGET liblldb POST_BUILD
+      COMMENT "Linking Clang resource dir into LLDB build directory: ${LLDB_CLANG_RESOURCE_DIR_PARENT}"
+      COMMAND ${CMAKE_COMMAND} -E make_directory "${LLDB_CLANG_RESOURCE_DIR_PARENT}"
+      COMMAND ${CMAKE_COMMAND} -E create_symlink "${LLDB_EXTERNAL_CLANG_RESOURCE_DIR}"
+              "${LLDB_CLANG_RESOURCE_DIR_PARENT}/${LLDB_CLANG_RESOURCE_DIR_NAME}"
+    )
+  endif()
+endif()
+
+if(LLDB_BUILD_FRAMEWORK)
+  include(LLDBFramework)
+
+  if (TARGET install-liblldb)
+    add_dependencies(install-liblldb
+      lldb-framework-cleanup)
+  endif()
+
+  if (TARGET install-liblldb-stripped)
+    add_dependencies(install-liblldb-stripped
+      lldb-framework-cleanup)
+  endif()
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/tools/lldb-server/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/tools/lldb-server/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-riscv64-patch/llvm-16.0.2-new/lldb/tools/lldb-server/CMakeLists.txt	(revision 40)
@@ -0,0 +1,74 @@
+set(LLVM_TARGET_DEFINITIONS LLGSOptions.td)
+tablegen(LLVM LLGSOptions.inc -gen-opt-parser-defs)
+add_public_tablegen_target(LLGSOptionsTableGen)
+set_target_properties(LLGSOptionsTableGen PROPERTIES FOLDER "lldb misc")
+
+set(LLDB_PLUGINS)
+
+if(CMAKE_SYSTEM_NAME MATCHES "Linux|Android")
+  list(APPEND LLDB_PLUGINS lldbPluginProcessLinux)
+endif()
+
+if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+  list(APPEND LLDB_PLUGINS lldbPluginProcessFreeBSD)
+endif()
+
+if(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
+  list(APPEND LLDB_PLUGINS lldbPluginProcessNetBSD)
+endif()
+
+if(CMAKE_SYSTEM_NAME MATCHES "Darwin")
+  list(APPEND LLDB_PLUGINS lldbPluginObjectFileMachO)
+elseif(CMAKE_SYSTEM_NAME MATCHES "Windows")
+  list(APPEND LLDB_PLUGINS lldbPluginObjectFilePECOFF)
+else()
+  list(APPEND LLDB_PLUGINS lldbPluginObjectFileELF)
+endif()
+
+if(APPLE_EMBEDDED)
+  if(LLDB_CODESIGN_IDENTITY)
+    # Use explicit LLDB identity
+    set(LLVM_CODESIGNING_IDENTITY ${LLDB_CODESIGN_IDENTITY})
+  else()
+    # Use explicit LLVM identity or default to lldb_codesign if empty
+    if(NOT LLVM_CODESIGNING_IDENTITY)
+      set(LLVM_CODESIGNING_IDENTITY lldb_codesign)
+    endif()
+  endif()
+endif()
+
+add_lldb_tool(lldb-server
+    Acceptor.cpp
+    lldb-gdbserver.cpp
+    lldb-platform.cpp
+    lldb-server.cpp
+    LLDBServerUtilities.cpp
+    SystemInitializerLLGS.cpp
+
+    LINK_LIBS
+      lldbHost
+      lldbInitialization
+      lldbVersion
+      ${LLDB_PLUGINS}
+      lldbPluginInstructionARM
+      lldbPluginInstructionLoongArch
+      lldbPluginInstructionMIPS
+      lldbPluginInstructionMIPS64
+      lldbPluginInstructionRISCV
+      ${LLDB_SYSTEM_LIBS}
+
+    LINK_COMPONENTS
+      Option
+      Support
+)
+
+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
+  target_link_libraries(lldb-server PRIVATE atomic)
+endif()
+
+add_dependencies(lldb-server
+  LLGSOptionsTableGen
+  ${tablegen_deps}
+)
+target_include_directories(lldb-server PRIVATE "${LLDB_SOURCE_DIR}/source")
+target_link_libraries(lldb-server PRIVATE ${LLDB_SYSTEM_LIBS})
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-lldb-set-revision.patch
+
+mv llvm-$VERSION-lldb-set-revision.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/lldb/source/Version/Version.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/llvm-16.0.2-new/lldb/source/Version/Version.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/llvm-16.0.2-new/lldb/source/Version/Version.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-lldb-set-revision-patch/llvm-16.0.2-new/lldb/source/Version/Version.cpp	(revision 40)
@@ -0,0 +1,65 @@
+//===-- Version.cpp -------------------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "lldb/Version/Version.h"
+#include "VCSVersion.inc"
+#include "lldb/Version/Version.inc"
+#include "clang/Basic/Version.h"
+
+static const char *GetLLDBVersion() {
+#ifdef LLDB_FULL_VERSION_STRING
+  return LLDB_FULL_VERSION_STRING;
+#else
+  return "lldb version " LLDB_VERSION_STRING;
+#endif
+}
+
+static const char *GetLLDBRevision() {
+  return nullptr;
+}
+
+static const char *GetLLDBRepository() {
+  return nullptr;
+}
+
+const char *lldb_private::GetVersion() {
+  static std::string g_version_str;
+
+  if (g_version_str.empty()) {
+    const char *lldb_version = GetLLDBVersion();
+    const char *lldb_repo = GetLLDBRepository();
+    const char *lldb_rev = GetLLDBRevision();
+    g_version_str += lldb_version;
+    if (lldb_repo || lldb_rev) {
+      g_version_str += " (";
+      if (lldb_repo)
+        g_version_str += lldb_repo;
+      if (lldb_repo && lldb_rev)
+        g_version_str += " ";
+      if (lldb_rev) {
+        g_version_str += "revision ";
+        g_version_str += lldb_rev;
+      }
+      g_version_str += ")";
+    }
+
+    std::string clang_rev(clang::getClangRevision());
+    if (clang_rev.length() > 0) {
+      g_version_str += "\n  clang revision ";
+      g_version_str += clang_rev;
+    }
+
+    std::string llvm_rev(clang::getLLVMRevision());
+    if (llvm_rev.length() > 0) {
+      g_version_str += "\n  llvm revision ";
+      g_version_str += llvm_rev;
+    }
+  }
+
+  return g_version_str.c_str();
+}
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-64bit-atomic.patch
+
+mv llvm-$VERSION-llvm-64bit-atomic.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/llvm/cmake/modules/CheckAtomic.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/llvm-16.0.2-new/llvm/cmake/modules/CheckAtomic.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/llvm-16.0.2-new/llvm/cmake/modules/CheckAtomic.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-64bit-atomic-patch/llvm-16.0.2-new/llvm/cmake/modules/CheckAtomic.cmake	(revision 40)
@@ -0,0 +1,128 @@
+# atomic builtins are required for threading support.
+
+INCLUDE(CheckCXXSourceCompiles)
+INCLUDE(CheckLibraryExists)
+
+# Sometimes linking against libatomic is required for atomic ops, if
+# the platform doesn't support lock-free atomics.
+
+function(check_working_cxx_atomics varname)
+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -std=c++11")
+  CHECK_CXX_SOURCE_COMPILES("
+#include <atomic>
+std::atomic<int> x;
+std::atomic<short> y;
+std::atomic<char> z;
+int main() {
+  ++z;
+  ++y;
+  return ++x;
+}
+" ${varname})
+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+endfunction(check_working_cxx_atomics)
+
+function(check_working_cxx_atomics64 varname)
+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  set(CMAKE_REQUIRED_FLAGS "-std=c++11 ${CMAKE_REQUIRED_FLAGS}")
+  CHECK_CXX_SOURCE_COMPILES("
+#include <atomic>
+#include <cstdint>
+std::atomic<uint64_t> x (0);
+std::atomic<double> y (0);
+int main() {
+  uint64_t i = x.load(std::memory_order_relaxed);
+  double j = y.load(std::memory_order_relaxed);
+  (void)i;
+  (void)j;
+  return 0;
+}
+" ${varname})
+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+endfunction(check_working_cxx_atomics64)
+
+
+# Check for (non-64-bit) atomic operations.
+if(MSVC)
+  set(HAVE_CXX_ATOMICS_WITHOUT_LIB True)
+elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE OR CMAKE_CXX_COMPILER_ID MATCHES "XL")
+  # First check if atomics work without the library.
+  check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITHOUT_LIB)
+  # If not, check if the library exists, and atomics work with it.
+  if(NOT HAVE_CXX_ATOMICS_WITHOUT_LIB)
+    check_library_exists(atomic __atomic_fetch_add_4 "" HAVE_LIBATOMIC)
+    if(HAVE_LIBATOMIC)
+      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
+      check_working_cxx_atomics(HAVE_CXX_ATOMICS_WITH_LIB)
+      if (NOT HAVE_CXX_ATOMICS_WITH_LIB)
+        message(FATAL_ERROR "Host compiler must support std::atomic!")
+      endif()
+    else()
+      message(FATAL_ERROR "Host compiler appears to require libatomic, but cannot find it.")
+    endif()
+  endif()
+endif()
+
+# Check for 64 bit atomic operations.
+if(MSVC)
+  set(HAVE_CXX_ATOMICS64_WITHOUT_LIB True)
+elseif(LLVM_COMPILER_IS_GCC_COMPATIBLE OR CMAKE_CXX_COMPILER_ID MATCHES "XL")
+  # First check if atomics work without the library.
+  check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITHOUT_LIB)
+  # If not, check if the library exists, and atomics work with it.
+  if(NOT HAVE_CXX_ATOMICS64_WITHOUT_LIB)
+    check_library_exists(atomic __atomic_load_8 "" HAVE_CXX_LIBATOMICS64)
+    if(HAVE_CXX_LIBATOMICS64)
+      list(APPEND CMAKE_REQUIRED_LIBRARIES "atomic")
+      check_working_cxx_atomics64(HAVE_CXX_ATOMICS64_WITH_LIB)
+      if (NOT HAVE_CXX_ATOMICS64_WITH_LIB)
+        message(FATAL_ERROR "Host compiler must support 64-bit std::atomic!")
+      endif()
+    else()
+      message(FATAL_ERROR "Host compiler appears to require libatomic for 64-bit operations, but cannot find it.")
+    endif()
+  endif()
+endif()
+
+# Set variable LLVM_ATOMIC_LIB specifying flags for linking against libatomic.
+if(HAVE_CXX_ATOMICS_WITH_LIB OR HAVE_CXX_ATOMICS64_WITH_LIB)
+  # Use options --push-state, --as-needed and --pop-state if linker is known to support them.
+  # Use single option -Wl of compiler driver to avoid incorrect re-ordering of options by CMake.
+  if(LLVM_LINKER_IS_GNULD OR LLVM_LINKER_IS_GOLD OR LLVM_LINKER_IS_LLD OR LLVM_LINKER_IS_MOLD)
+    set(LLVM_ATOMIC_LIB "-Wl,--push-state,--as-needed,-latomic,--pop-state")
+  else()
+    set(LLVM_ATOMIC_LIB "-latomic")
+  endif()
+else()
+  set(LLVM_ATOMIC_LIB)
+endif()
+
+## TODO: This define is only used for the legacy atomic operations in
+## llvm's Atomic.h, which should be replaced.  Other code simply
+## assumes C++11 <atomic> works.
+CHECK_CXX_SOURCE_COMPILES("
+#ifdef _MSC_VER
+#include <windows.h>
+#endif
+int main() {
+#ifdef _MSC_VER
+        volatile LONG val = 1;
+        MemoryBarrier();
+        InterlockedCompareExchange(&val, 0, 1);
+        InterlockedIncrement(&val);
+        InterlockedDecrement(&val);
+#else
+        volatile unsigned long val = 1;
+        __sync_synchronize();
+        __sync_val_compare_and_swap(&val, 1, 0);
+        __sync_add_and_fetch(&val, 1);
+        __sync_sub_and_fetch(&val, 1);
+#endif
+        return 0;
+      }
+" LLVM_HAS_ATOMICS)
+
+if( NOT LLVM_HAS_ATOMICS )
+  message(STATUS "Warning: LLVM will be built thread-unsafe because atomic builtins are missing")
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-install-symlink.patch
+
+mv llvm-$VERSION-llvm-install-symlink.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/llvm/cmake/modules/LLVMInstallSymlink.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/llvm-16.0.2-new/llvm/cmake/modules/LLVMInstallSymlink.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/llvm-16.0.2-new/llvm/cmake/modules/LLVMInstallSymlink.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-install-symlink-patch/llvm-16.0.2-new/llvm/cmake/modules/LLVMInstallSymlink.cmake	(revision 40)
@@ -0,0 +1,29 @@
+# We need to execute this script at installation time because the
+# DESTDIR environment variable may be unset at configuration time.
+# See PR8397.
+
+# Set to an arbitrary directory to silence GNUInstallDirs warnings
+# regarding being unable to determine libdir.
+set(CMAKE_INSTALL_LIBDIR "lib")
+# Already included at llvm/CmakeLists.txt:
+#include(GNUInstallDirs)
+
+function(install_symlink name target outdir)
+  set(DESTDIR $ENV{DESTDIR})
+  if(NOT IS_ABSOLUTE "${outdir}")
+    set(outdir "${CMAKE_INSTALL_PREFIX}/${outdir}")
+  endif()
+  set(outdir "${DESTDIR}${outdir}")
+
+  message(STATUS "Creating ${name}")
+
+  execute_process(
+    COMMAND "${CMAKE_COMMAND}" -E create_symlink "${target}" "${name}"
+    WORKING_DIRECTORY "${outdir}" ERROR_VARIABLE has_err)
+  if(CMAKE_HOST_WIN32 AND has_err)
+    execute_process(
+      COMMAND "${CMAKE_COMMAND}" -E copy "${target}" "${name}"
+      WORKING_DIRECTORY "${outdir}")
+  endif()
+
+endfunction()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-pass-variables.patch
+
+mv llvm-$VERSION-llvm-pass-variables.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/llvm/runtimes/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/llvm-16.0.2-new/llvm/runtimes/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/llvm-16.0.2-new/llvm/runtimes/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-pass-variables-patch/llvm-16.0.2-new/llvm/runtimes/CMakeLists.txt	(revision 40)
@@ -0,0 +1,535 @@
+# TODO: This file assumes the Clang toolchain so it'd be better if it lived in
+# Clang, except there already is clang/runtime directory which contains
+# similar although simpler functionality. We should figure out how to merge
+# the two files.
+
+set(COMMON_CMAKE_ARGS "-DHAVE_LLVM_LIT=ON")
+foreach(proj ${LLVM_ENABLE_RUNTIMES})
+  set(proj_dir "${CMAKE_CURRENT_SOURCE_DIR}/../../${proj}")
+  if(IS_DIRECTORY ${proj_dir} AND EXISTS ${proj_dir}/CMakeLists.txt)
+    list(APPEND runtimes ${proj_dir})
+  else()
+    message(FATAL_ERROR "LLVM_ENABLE_RUNTIMES requests ${proj} but directory not found: ${proj_dir}")
+  endif()
+  string(TOUPPER "${proj}" canon_name)
+  STRING(REGEX REPLACE "-" "_" canon_name ${canon_name})
+  set(LLVM_EXTERNAL_${canon_name}_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../${proj}")
+endforeach()
+
+function(get_compiler_rt_path path)
+  foreach(entry ${runtimes})
+    get_filename_component(projName ${entry} NAME)
+    if("${projName}" MATCHES "compiler-rt")
+      set(${path} ${entry} PARENT_SCOPE)
+      return()
+    endif()
+  endforeach()
+endfunction()
+
+include(LLVMExternalProjectUtils)
+
+if(NOT LLVM_BUILD_RUNTIMES)
+  set(EXTRA_ARGS EXCLUDE_FROM_ALL)
+endif()
+
+function(check_apple_target triple builtin_or_runtime)
+  set(error "\
+compiler-rt for Darwin builds for all platforms and architectures using a \
+single configuration. Specify only a single darwin triple (e.g. x86_64-apple-darwin) \
+in your targets list (and not a triple for a specific platform such as macos). \
+You can use variables such as COMPILER_RT_ENABLE_IOS and DARWIN_ios_ARCHS to \
+control the specific platforms and architectures to build.")
+
+  set(seen_property ${builtin_or_runtime}_darwin_triple_seen)
+  string(REPLACE "-" ";" triple_components ${triple})
+  foreach(component ${triple_components})
+    string(TOLOWER "${component}" component_lower)
+    if(component_lower MATCHES "^darwin")
+      get_property(darwin_triple_seen GLOBAL PROPERTY ${seen_property})
+      if(darwin_triple_seen)
+        message(FATAL_ERROR "${error}")
+      endif()
+      set_property(GLOBAL PROPERTY ${seen_property} YES)
+      if(NOT RUNTIMES_BUILD_ALLOW_DARWIN)
+        message(FATAL_ERROR "\
+${error} Set RUNTIMES_BUILD_ALLOW_DARWIN to allow a single darwin triple.")
+      endif()
+    elseif(component_lower MATCHES "^ios|^macos|^tvos|^watchos")
+      message(FATAL_ERROR "${error}")
+    endif()
+  endforeach()
+endfunction()
+
+function(builtin_default_target compiler_rt_path)
+  cmake_parse_arguments(ARG "" "" "DEPENDS" ${ARGN})
+
+  set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default ON)
+  # AIX should fold 32-bit & 64-bit arch libraries into a single archive.
+  if (LLVM_TARGET_TRIPLE MATCHES "aix")
+    set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF)
+  endif()
+
+  llvm_ExternalProject_Add(builtins
+                           ${compiler_rt_path}/lib/builtins
+                           DEPENDS ${ARG_DEPENDS}
+                           CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR}
+                                      -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR}
+                                      -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE}
+                                      -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default}
+                                      -DCMAKE_C_COMPILER_WORKS=ON
+                                      -DCMAKE_ASM_COMPILER_WORKS=ON
+                                      ${COMMON_CMAKE_ARGS}
+                                      ${BUILTINS_CMAKE_ARGS}
+                           PASSTHROUGH_PREFIXES COMPILER_RT
+                                                DARWIN
+                                                SANITIZER
+                           USE_TOOLCHAIN
+                           TARGET_TRIPLE ${LLVM_TARGET_TRIPLE}
+                           ${EXTRA_ARGS})
+endfunction()
+
+function(builtin_register_target compiler_rt_path target)
+  cmake_parse_arguments(ARG "" "" "DEPENDS" ${ARGN})
+
+  check_apple_target(${target} builtin)
+
+  get_cmake_property(variableNames VARIABLES)
+  foreach(variableName ${variableNames})
+    string(FIND "${variableName}" "BUILTINS_${target}" out)
+    if("${out}" EQUAL 0)
+      string(REPLACE "BUILTINS_${target}_" "" new_name ${variableName})
+      string(REPLACE ";" "|" new_value "${${variableName}}")
+      list(APPEND ${target}_extra_args "-D${new_name}=${new_value}")
+    endif()
+  endforeach()
+
+  llvm_ExternalProject_Add(builtins-${target}
+                           ${compiler_rt_path}/lib/builtins
+                           DEPENDS ${ARG_DEPENDS}
+                           CMAKE_ARGS -DLLVM_LIBRARY_OUTPUT_INTDIR=${LLVM_LIBRARY_DIR}
+                                      -DLLVM_RUNTIME_OUTPUT_INTDIR=${LLVM_TOOLS_BINARY_DIR}
+                                      -DLLVM_DEFAULT_TARGET_TRIPLE=${target}
+                                      -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
+                                      -DCMAKE_C_COMPILER_WORKS=ON
+                                      -DCMAKE_ASM_COMPILER_WORKS=ON
+                                      -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
+                                      ${COMMON_CMAKE_ARGS}
+                                      ${${target}_extra_args}
+                           USE_TOOLCHAIN
+                           TARGET_TRIPLE ${target}
+                           ${EXTRA_ARGS})
+endfunction()
+
+# If compiler-rt is present we need to build the builtin libraries first. This
+# is required because the other runtimes need the builtin libraries present
+# before the just-built compiler can pass the configuration tests.
+get_compiler_rt_path(compiler_rt_path)
+if(compiler_rt_path)
+  if(NOT LLVM_BUILTIN_TARGETS)
+    builtin_default_target(${compiler_rt_path}
+      DEPENDS clang-resource-headers)
+  else()
+    if("default" IN_LIST LLVM_BUILTIN_TARGETS)
+      builtin_default_target(${compiler_rt_path}
+        DEPENDS clang-resource-headers)
+      list(REMOVE_ITEM LLVM_BUILTIN_TARGETS "default")
+    else()
+      add_custom_target(builtins)
+      add_custom_target(install-builtins)
+      add_custom_target(install-builtins-stripped)
+    endif()
+
+    foreach(target ${LLVM_BUILTIN_TARGETS})
+      builtin_register_target(${compiler_rt_path} ${target}
+        DEPENDS clang-resource-headers)
+
+      add_dependencies(builtins builtins-${target})
+      add_dependencies(install-builtins install-builtins-${target})
+      add_dependencies(install-builtins-stripped install-builtins-${target}-stripped)
+    endforeach()
+  endif()
+  set(builtins_dep builtins)
+  # We don't need to depend on the builtins if we're building instrumented
+  # because the next stage will use the same compiler used to build this stage.
+  if(NOT LLVM_BUILD_INSTRUMENTED AND CLANG_ENABLE_BOOTSTRAP)
+    add_dependencies(clang-bootstrap-deps builtins)
+  endif()
+endif()
+
+# Create a list with the names of all the runtime projects in all uppercase and
+# with dashes turned to underscores. This gives us the CMake variable `prefixes`
+# for all variables that will apply to runtimes.
+foreach(entry ${runtimes})
+  get_filename_component(projName ${entry} NAME)
+  if(projName STREQUAL "libc")
+    # For now, we will use the name "llvmlibc" for the libc project as it is
+    # not a full libc yet. Also, if we leave it as is, the "lib" prefix gets
+    # stripped below and the targets endup having the name "c", "check-c" etc.
+    set(projName "llvmlibc")
+  endif()
+  string(REPLACE "-" "_" canon_name ${projName})
+  string(TOUPPER ${canon_name} canon_name)
+  list(APPEND prefixes ${canon_name})
+  if (${canon_name} STREQUAL "OPENMP")
+    list(APPEND prefixes "LIBOMP" "LIBOMPTARGET")
+  endif()
+  # Many compiler-rt options start with SANITIZER_ and DARWIN_ rather than
+  # COMPILER_RT_, so when compiler-rt is enabled, consider both.
+  if(canon_name STREQUAL "COMPILER_RT")
+    list(APPEND prefixes SANITIZER DARWIN)
+  endif()
+  if(canon_name STREQUAL "LLVMLIBC")
+    list(APPEND prefixes "LLVM_LIBC")
+    list(APPEND prefixes "LIBC_")
+  endif()
+
+  string(FIND ${projName} "lib" LIB_IDX)
+  if(LIB_IDX EQUAL 0)
+    string(SUBSTRING ${projName} 3 -1 projName)
+  endif()
+  list(APPEND runtime_names ${projName})
+endforeach()
+
+function(runtime_default_target)
+  cmake_parse_arguments(ARG "" "" "DEPENDS;PREFIXES" ${ARGN})
+
+  include(${LLVM_BINARY_DIR}/runtimes/Components.cmake OPTIONAL)
+  set(SUB_CHECK_TARGETS ${SUB_CHECK_TARGETS} PARENT_SCOPE)
+  set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/Components.cmake)
+
+  foreach(runtime_name ${runtime_names})
+    list(APPEND extra_targets
+      ${runtime_name}
+      install-${runtime_name}
+      install-${runtime_name}-stripped)
+    if(LLVM_INCLUDE_TESTS)
+      list(APPEND test_targets check-${runtime_name})
+    endif()
+  endforeach()
+  foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+    if(NOT ${component} IN_LIST SUB_COMPONENTS)
+      list(APPEND extra_targets install-${component} install-${component}-stripped)
+    endif()
+  endforeach()
+
+  if(LLVM_INCLUDE_TESTS)
+    set_property(GLOBAL APPEND PROPERTY LLVM_ALL_LIT_TESTSUITES "@${LLVM_BINARY_DIR}/runtimes/runtimes-bins/lit.tests")
+    list(APPEND test_targets runtimes-test-depends check-runtimes)
+  endif()
+
+  set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default ON)
+  # AIX should fold 32-bit & 64-bit arch libraries into a single archive.
+  if (LLVM_TARGET_TRIPLE MATCHES "aix")
+    set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default OFF)
+  endif()
+
+  llvm_ExternalProject_Add(runtimes
+                           ${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes
+                           DEPENDS ${ARG_DEPENDS}
+                           # Builtins were built separately above
+                           CMAKE_ARGS -DCOMPILER_RT_BUILD_BUILTINS=Off
+                                      -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=${LIBOMPTARGET_BUILD_DEVICERTL_BCLIB}
+                                      -DOPENMP_STANDALONE_BUILD=${OPENMP_STANDALONE_BUILD}
+                                      -DOPENMP_ENABLE_LIBOMPTARGET=${OPENMP_ENABLE_LIBOMPTARGET}
+                                      -DOPENMP_LIBDIR_SUFFIX=${OPENMP_LIBDIR_SUFFIX}
+                                      -DOPENMP_LLVM_LIT_EXECUTABLE=${OPENMP_LLVM_LIT_EXECUTABLE}
+                                      -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
+                                      -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
+                                      -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+                                      -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
+                                      -DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}
+                                      -DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}
+                                      -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS}
+                                      -DLLVM_DEFAULT_TARGET_TRIPLE=${LLVM_TARGET_TRIPLE}
+                                      -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED}
+                                      -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=${LLVM_ENABLE_PER_TARGET_RUNTIME_DIR_default}
+                                      -DLLVM_BUILD_TOOLS=${LLVM_BUILD_TOOLS}
+                                      -DCMAKE_C_COMPILER_WORKS=ON
+                                      -DCMAKE_CXX_COMPILER_WORKS=ON
+                                      -DCMAKE_ASM_COMPILER_WORKS=ON
+                                      ${COMMON_CMAKE_ARGS}
+                                      ${RUNTIMES_CMAKE_ARGS}
+                           PASSTHROUGH_PREFIXES LLVM_ENABLE_RUNTIMES
+                                                LLVM_USE_LINKER
+                                                ${ARG_PREFIXES}
+                           EXTRA_TARGETS ${extra_targets}
+                                         ${test_targets}
+                                         ${SUB_COMPONENTS}
+                                         ${SUB_CHECK_TARGETS}
+                                         ${SUB_INSTALL_TARGETS}
+                           USE_TOOLCHAIN
+                           TARGET_TRIPLE ${LLVM_TARGET_TRIPLE}
+                           ${EXTRA_ARGS})
+endfunction()
+
+# runtime_register_target(target)
+#   Utility function to register external runtime target.
+function(runtime_register_target name target)
+  cmake_parse_arguments(ARG "" "" "DEPENDS;CMAKE_ARGS" ${ARGN})
+  include(${LLVM_BINARY_DIR}/runtimes/${name}/Components.cmake OPTIONAL)
+  set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/${name}/Components.cmake)
+
+  check_apple_target(${target} runtime)
+
+  set(${name}_deps ${ARG_DEPENDS})
+  if(NOT name STREQUAL target)
+    list(APPEND ${name}_deps runtimes-${target})
+  endif()
+
+  foreach(runtime_name ${runtime_names})
+    set(${runtime_name}-${name} ${runtime_name})
+    set(install-${runtime_name}-${name} install-${runtime_name})
+    set(install-${runtime_name}-${name}-stripped install-${runtime_name}-stripped)
+    list(APPEND ${name}_extra_targets ${runtime_name}-${name} install-${runtime_name}-${name} install-${runtime_name}-${name}-stripped)
+    if(LLVM_INCLUDE_TESTS)
+      set(check-${runtime_name}-${name} check-${runtime_name} )
+      list(APPEND ${name}_test_targets check-${runtime_name}-${name})
+    endif()
+  endforeach()
+
+  foreach(target_name IN LISTS SUB_COMPONENTS)
+    set(${target_name}-${name} ${target_name})
+    list(APPEND ${name}_extra_targets ${target_name}-${name})
+  endforeach()
+
+  foreach(target_name IN LISTS SUB_INSTALL_TARGETS)
+    set(${target_name}-${name} ${target_name})
+    set(${target_name}-${name}-stripped ${target_name}-stripped)
+    list(APPEND ${name}_extra_targets ${target_name}-${name} ${target_name}-${name}-stripped)
+  endforeach()
+
+  foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+    if(NOT component IN_LIST SUB_COMPONENTS)
+      set(${component}-${name} ${component})
+      set(install-${component}-${name} install-${component})
+      set(install-${component}-${name}-stripped install-${component}-stripped)
+      list(APPEND ${name}_extra_targets ${component}-${name} install-${component}-${name} install-${component}-${name}-stripped)
+    endif()
+  endforeach()
+
+  if(LLVM_INCLUDE_TESTS)
+    set_property(GLOBAL APPEND PROPERTY LLVM_ALL_LIT_TESTSUITES "@${LLVM_BINARY_DIR}/runtimes/runtimes-${name}-bins/lit.tests")
+    set(runtimes-test-depends-${name} runtimes-test-depends)
+    set(check-runtimes-${name} check-runtimes)
+    list(APPEND ${name}_test_targets runtimes-test-depends-${name} check-runtimes-${name})
+    list(APPEND test_targets ${${name}_test_targets})
+
+    set(component_check_targets)
+    foreach(component IN LISTS LLVM_RUNTIME_DISTRIBUTION_COMPONENTS)
+      if(NOT "check-${component}" IN_LIST SUB_CHECK_TARGETS)
+        list(APPEND component_check_targets "check-${component}")
+      endif()
+    endforeach()
+
+    foreach(target_name IN LISTS SUB_CHECK_TARGETS component_check_targets)
+      set(${target_name}-${name} ${target_name})
+      list(APPEND ${name}_test_targets ${target_name}-${name})
+      list(APPEND test_targets ${target_name}-${name})
+    endforeach()
+    set(test_targets "${test_targets}" PARENT_SCOPE)
+  endif()
+
+  set(${name}_extra_args ${ARG_CMAKE_ARGS})
+  get_cmake_property(variableNames VARIABLES)
+  foreach(variableName ${variableNames})
+    string(FIND "${variableName}" "RUNTIMES_${target}_" out)
+    if("${out}" EQUAL 0)
+      string(REPLACE "RUNTIMES_${target}_" "" new_name ${variableName})
+      string(REPLACE ";" "|" new_value "${${variableName}}")
+      list(APPEND ${name}_extra_args "-D${new_name}=${new_value}")
+    endif()
+  endforeach()
+  if(NOT "${name}" STREQUAL "${target}")
+    foreach(variableName ${variableNames})
+      string(FIND "${variableName}" "RUNTIMES_${name}_" out)
+      if("${out}" EQUAL 0)
+        string(REPLACE "RUNTIMES_${name}_" "" new_name ${variableName})
+        string(REPLACE ";" "|" new_value "${${variableName}}")
+        list(APPEND ${name}_extra_args "-D${new_name}=${new_value}")
+      endif()
+    endforeach()
+  endif()
+
+  if(NOT RUNTIMES_${name}_LLVM_ENABLE_RUNTIMES AND NOT RUNTIMES_${target}_LLVM_ENABLE_RUNTIMES)
+    string(REPLACE ";" "|" LLVM_ENABLE_RUNTIMES_PASSTHROUGH "${LLVM_ENABLE_RUNTIMES}")
+    list(APPEND ${name}_extra_args -DLLVM_ENABLE_RUNTIMES=${LLVM_ENABLE_RUNTIMES_PASSTHROUGH})
+  endif()
+
+  if(NOT RUNTIMES_${name}_LLVM_USE_LINKER AND NOT RUNTIMES_${target}_LLVM_USE_LINKER)
+    list(APPEND ${name}_extra_args -DLLVM_USE_LINKER=${LLVM_USE_LINKER})
+  endif()
+
+  llvm_ExternalProject_Add(runtimes-${name}
+                           ${CMAKE_CURRENT_SOURCE_DIR}/../../runtimes
+                           DEPENDS ${${name}_deps}
+                           # Builtins were built separately above
+                           CMAKE_ARGS -DCOMPILER_RT_BUILD_BUILTINS=Off
+                                      -DLIBOMPTARGET_BUILD_DEVICERTL_BCLIB=${LIBOMPTARGET_BUILD_DEVICERTL_BCLIB}
+                                      -DOPENMP_STANDALONE_BUILD=${OPENMP_STANDALONE_BUILD}
+                                      -DOPENMP_ENABLE_LIBOMPTARGET=${OPENMP_ENABLE_LIBOMPTARGET}
+                                      -DOPENMP_LIBDIR_SUFFIX=${OPENMP_LIBDIR_SUFFIX}
+                                      -DOPENMP_LLVM_LIT_EXECUTABLE=${OPENMP_LLVM_LIT_EXECUTABLE}
+                                      -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
+                                      -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
+                                      -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+                                      -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}
+                                      -DCMAKE_MODULE_LINKER_FLAGS=${CMAKE_MODULE_LINKER_FLAGS}
+                                      -DCMAKE_SHARED_LINKER_FLAGS=${CMAKE_SHARED_LINKER_FLAGS}
+                                      -DLLVM_INCLUDE_TESTS=${LLVM_INCLUDE_TESTS}
+                                      -DLLVM_DEFAULT_TARGET_TRIPLE=${target}
+                                      -DLLVM_ENABLE_PROJECTS_USED=${LLVM_ENABLE_PROJECTS_USED}
+                                      -DLLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON
+                                      -DCMAKE_C_COMPILER_WORKS=ON
+                                      -DCMAKE_CXX_COMPILER_WORKS=ON
+                                      -DCMAKE_ASM_COMPILER_WORKS=ON
+                                      -DCOMPILER_RT_DEFAULT_TARGET_ONLY=ON
+                                      -DLLVM_RUNTIMES_TARGET=${name}
+                                      ${COMMON_CMAKE_ARGS}
+                                      ${${name}_extra_args}
+                           EXTRA_TARGETS ${${name}_extra_targets}
+                                         ${${name}_test_targets}
+                           USE_TOOLCHAIN
+                           TARGET_TRIPLE ${target}
+                           ${EXTRA_ARGS})
+endfunction()
+
+if(runtimes)
+  # Create a runtimes target that uses this file as its top-level CMake file.
+  # The runtimes target is a configuration of all the runtime libraries
+  # together in a single CMake invocation.
+  set(extra_deps "")
+  if("openmp" IN_LIST LLVM_ENABLE_RUNTIMES)
+    if(TARGET opt)
+      list(APPEND extra_deps opt)
+    endif()
+    if(TARGET llvm-link)
+      list(APPEND extra_deps llvm-link)
+    endif()
+  endif()
+  if(NOT LLVM_RUNTIME_TARGETS)
+    runtime_default_target(
+      DEPENDS ${builtins_dep} ${extra_deps}
+      PREFIXES ${prefixes})
+    set(test_targets check-runtimes)
+  else()
+    if("default" IN_LIST LLVM_RUNTIME_TARGETS)
+      runtime_default_target(
+        DEPENDS ${builtins_dep} ${extra_deps}
+        PREFIXES ${prefixes})
+      list(REMOVE_ITEM LLVM_RUNTIME_TARGETS "default")
+    else()
+      add_custom_target(runtimes)
+      add_custom_target(runtimes-configure)
+      add_custom_target(install-runtimes)
+      add_custom_target(install-runtimes-stripped)
+      if(LLVM_INCLUDE_TESTS)
+        add_custom_target(check-runtimes)
+        add_custom_target(runtimes-test-depends)
+        set(test_targets "")
+      endif()
+      foreach(runtime_name ${runtime_names})
+        add_custom_target(${runtime_name})
+        add_custom_target(install-${runtime_name})
+        add_custom_target(install-${runtime_name}-stripped)
+      endforeach()
+      if(LLVM_RUNTIME_DISTRIBUTION_COMPONENTS)
+        foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+          add_custom_target(${component})
+          add_custom_target(install-${component})
+          add_custom_target(install-${component}-stripped)
+        endforeach()
+      endif()
+    endif()
+
+    foreach(name ${LLVM_RUNTIME_TARGETS})
+      if(builtins_dep)
+        if (LLVM_BUILTIN_TARGETS)
+          set(builtins_dep_name "${builtins_dep}-${name}")
+        else()
+          set(builtins_dep_name ${builtins_dep})
+        endif()
+      endif()
+      runtime_register_target(${name} ${name}
+        DEPENDS ${builtins_dep_name})
+
+      add_dependencies(runtimes runtimes-${name})
+      add_dependencies(runtimes-configure runtimes-${name}-configure)
+      add_dependencies(install-runtimes install-runtimes-${name})
+      add_dependencies(install-runtimes-stripped install-runtimes-${name}-stripped)
+      if(LLVM_INCLUDE_TESTS)
+        add_dependencies(check-runtimes check-runtimes-${name})
+        add_dependencies(runtimes-test-depends runtimes-test-depends-${name})
+      endif()
+      foreach(runtime_name ${runtime_names})
+        add_dependencies(${runtime_name} ${runtime_name}-${name})
+        add_dependencies(install-${runtime_name} install-${runtime_name}-${name})
+        add_dependencies(install-${runtime_name}-stripped install-${runtime_name}-${name}-stripped)
+      endforeach()
+      foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+        add_dependencies(${component} ${component}-${name})
+        add_dependencies(install-${component} install-${component}-${name})
+        add_dependencies(install-${component}-stripped install-${component}-${name}-stripped)
+      endforeach()
+    endforeach()
+
+    foreach(multilib ${LLVM_RUNTIME_MULTILIBS})
+      foreach(name ${LLVM_RUNTIME_MULTILIB_${multilib}_TARGETS})
+        runtime_register_target(${name}+${multilib} ${name}
+          DEPENDS runtimes-${name}
+          CMAKE_ARGS -DLLVM_RUNTIMES_PREFIX=${name}/
+                     -DLLVM_RUNTIMES_LIBDIR_SUBDIR=${multilib})
+        add_dependencies(runtimes runtimes-${name}+${multilib})
+        add_dependencies(runtimes-configure runtimes-${name}+${multilib}-configure)
+        add_dependencies(install-runtimes install-runtimes-${name}+${multilib})
+        add_dependencies(install-runtimes-stripped install-runtimes-${name}+${multilib}-stripped)
+        foreach(runtime_name ${runtime_names})
+          add_dependencies(${runtime_name} ${runtime_name}-${name}+${multilib})
+          add_dependencies(install-${runtime_name} install-${runtime_name}-${name}+${multilib})
+          add_dependencies(install-${runtime_name}-stripped install-${runtime_name}-${name}+${multilib}-stripped)
+        endforeach()
+        foreach(component ${LLVM_RUNTIME_DISTRIBUTION_COMPONENTS})
+          add_dependencies(${component} ${component}-${name}+${multilib})
+          add_dependencies(install-${component} install-${component}-${name}+${multilib})
+          add_dependencies(install-${component}-stripped install-${component}-${name}+${multilib}-stripped)
+        endforeach()
+      endforeach()
+    endforeach()
+  endif()
+
+  if(NOT LLVM_BUILD_INSTRUMENTED AND CLANG_ENABLE_BOOTSTRAP)
+    # TODO: This is a hack needed because the libcxx headers are copied into the
+    # build directory during configuration. Without that step the clang in the
+    # build directory cannot find the C++ headers in certain configurations.
+    # I need to build a mechanism for runtime projects to provide CMake code
+    # that executes at LLVM configuration time to handle this case.
+    add_dependencies(clang-bootstrap-deps runtimes-configure)
+    # We need to add the runtimes as a dependency because compiler-rt can be
+    # built as part of runtimes and we need the profile runtime for PGO
+    add_dependencies(clang-bootstrap-deps runtimes)
+  endif()
+
+  if(LLVM_INCLUDE_TESTS)
+    set_property(GLOBAL APPEND PROPERTY LLVM_ALL_ADDITIONAL_TEST_DEPENDS runtimes-test-depends)
+
+    set(RUNTIMES_TEST_DEPENDS
+        FileCheck
+        count
+        llvm-cov
+        llvm-nm
+        llvm-objdump
+        llvm-profdata
+        llvm-xray
+        not
+        obj2yaml
+        sancov
+        sanstats
+        llvm_gtest_main
+        llvm_gtest
+      )
+    foreach(target ${test_targets} ${SUB_CHECK_TARGETS})
+      add_dependencies(${target} ${RUNTIMES_TEST_DEPENDS})
+    endforeach()
+
+    set_property(GLOBAL APPEND PROPERTY LLVM_ALL_ADDITIONAL_TEST_TARGETS runtimes ${RUNTIMES_TEST_DEPENDS})
+  endif()
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-ppc64.patch
+
+mv llvm-$VERSION-llvm-ppc64.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/llvm/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/llvm-16.0.2-new/llvm/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/llvm-16.0.2-new/llvm/cmake/config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-ppc64-patch/llvm-16.0.2-new/llvm/cmake/config-ix.cmake	(revision 40)
@@ -0,0 +1,747 @@
+if( WIN32 AND NOT CYGWIN )
+  # We consider Cygwin as another Unix
+  set(PURE_WINDOWS 1)
+endif()
+
+include(CheckIncludeFile)
+include(CheckLibraryExists)
+include(CheckSymbolExists)
+include(CheckCXXSymbolExists)
+include(CheckFunctionExists)
+include(CheckStructHasMember)
+include(CheckCCompilerFlag)
+include(CMakePushCheckState)
+
+include(CheckCompilerVersion)
+include(CheckProblematicConfigurations)
+include(HandleLLVMStdlib)
+
+if( UNIX AND NOT (APPLE OR BEOS OR HAIKU) )
+  # Used by check_symbol_exists:
+  list(APPEND CMAKE_REQUIRED_LIBRARIES "m")
+endif()
+# x86_64 FreeBSD 9.2 requires libcxxrt to be specified explicitly.
+if( CMAKE_SYSTEM MATCHES "FreeBSD-9.2-RELEASE" AND
+    CMAKE_SIZEOF_VOID_P EQUAL 8 )
+  list(APPEND CMAKE_REQUIRED_LIBRARIES "cxxrt")
+endif()
+
+# Do checks with _XOPEN_SOURCE and large-file API on AIX, because we will build
+# with those too.
+if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
+          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700")
+          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_LARGE_FILE_API")
+endif()
+
+# Do checks with _FILE_OFFSET_BITS=64 on Solaris, because we will build
+# with those too.
+if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
+          list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
+endif()
+
+# include checks
+check_include_file(dlfcn.h HAVE_DLFCN_H)
+check_include_file(errno.h HAVE_ERRNO_H)
+check_include_file(fcntl.h HAVE_FCNTL_H)
+check_include_file(link.h HAVE_LINK_H)
+check_include_file(malloc/malloc.h HAVE_MALLOC_MALLOC_H)
+if( NOT PURE_WINDOWS )
+  check_include_file(pthread.h HAVE_PTHREAD_H)
+endif()
+check_include_file(signal.h HAVE_SIGNAL_H)
+check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H)
+check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
+check_include_file(sys/param.h HAVE_SYS_PARAM_H)
+check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H)
+check_include_file(sys/stat.h HAVE_SYS_STAT_H)
+check_include_file(sys/time.h HAVE_SYS_TIME_H)
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(sysexits.h HAVE_SYSEXITS_H)
+check_include_file(termios.h HAVE_TERMIOS_H)
+check_include_file(unistd.h HAVE_UNISTD_H)
+check_include_file(valgrind/valgrind.h HAVE_VALGRIND_VALGRIND_H)
+check_include_file(fenv.h HAVE_FENV_H)
+check_symbol_exists(FE_ALL_EXCEPT "fenv.h" HAVE_DECL_FE_ALL_EXCEPT)
+check_symbol_exists(FE_INEXACT "fenv.h" HAVE_DECL_FE_INEXACT)
+
+check_include_file(mach/mach.h HAVE_MACH_MACH_H)
+check_include_file(CrashReporterClient.h HAVE_CRASHREPORTERCLIENT_H)
+if(APPLE)
+  include(CheckCSourceCompiles)
+  CHECK_C_SOURCE_COMPILES("
+     static const char *__crashreporter_info__ = 0;
+     asm(\".desc ___crashreporter_info__, 0x10\");
+     int main(void) { return 0; }"
+    HAVE_CRASHREPORTER_INFO)
+endif()
+
+if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+  check_include_file(linux/magic.h HAVE_LINUX_MAGIC_H)
+  if(NOT HAVE_LINUX_MAGIC_H)
+    # older kernels use split files
+    check_include_file(linux/nfs_fs.h HAVE_LINUX_NFS_FS_H)
+    check_include_file(linux/smb.h HAVE_LINUX_SMB_H)
+  endif()
+endif()
+
+# library checks
+if( NOT PURE_WINDOWS )
+  check_library_exists(pthread pthread_create "" HAVE_LIBPTHREAD)
+  if (HAVE_LIBPTHREAD)
+    check_library_exists(pthread pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
+    check_library_exists(pthread pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
+  else()
+    # this could be Android
+    check_library_exists(c pthread_create "" PTHREAD_IN_LIBC)
+    if (PTHREAD_IN_LIBC)
+      check_library_exists(c pthread_rwlock_init "" HAVE_PTHREAD_RWLOCK_INIT)
+      check_library_exists(c pthread_mutex_lock "" HAVE_PTHREAD_MUTEX_LOCK)
+    endif()
+  endif()
+  check_library_exists(dl dlopen "" HAVE_LIBDL)
+  check_library_exists(rt clock_gettime "" HAVE_LIBRT)
+endif()
+
+# Check for libpfm.
+include(FindLibpfm)
+
+if(HAVE_LIBPTHREAD)
+  # We want to find pthreads library and at the moment we do want to
+  # have it reported as '-l<lib>' instead of '-pthread'.
+  # TODO: switch to -pthread once the rest of the build system can deal with it.
+  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+  set(THREADS_HAVE_PTHREAD_ARG Off)
+  find_package(Threads REQUIRED)
+  set(LLVM_PTHREAD_LIB ${CMAKE_THREAD_LIBS_INIT})
+endif()
+
+if(LLVM_ENABLE_ZLIB)
+  if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON)
+    find_package(ZLIB REQUIRED)
+  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+    find_package(ZLIB)
+  endif()
+  if(ZLIB_FOUND)
+    # Check if zlib we found is usable; for example, we may have found a 32-bit
+    # library on a 64-bit system which would result in a link-time failure.
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIRS})
+    list(APPEND CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY})
+    check_symbol_exists(compress2 zlib.h HAVE_ZLIB)
+    cmake_pop_check_state()
+    if(LLVM_ENABLE_ZLIB STREQUAL FORCE_ON AND NOT HAVE_ZLIB)
+      message(FATAL_ERROR "Failed to configure zlib")
+    endif()
+  endif()
+  set(LLVM_ENABLE_ZLIB "${HAVE_ZLIB}")
+else()
+  set(LLVM_ENABLE_ZLIB 0)
+endif()
+
+set(zstd_FOUND 0)
+if(LLVM_ENABLE_ZSTD)
+  if(LLVM_ENABLE_ZSTD STREQUAL FORCE_ON)
+    find_package(zstd REQUIRED)
+    if(NOT zstd_FOUND)
+      message(FATAL_ERROR "Failed to configure zstd, but LLVM_ENABLE_ZSTD is FORCE_ON")
+    endif()
+  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+    find_package(zstd QUIET)
+  endif()
+endif()
+set(LLVM_ENABLE_ZSTD ${zstd_FOUND})
+
+if(LLVM_ENABLE_LIBXML2)
+  if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON)
+    find_package(LibXml2 REQUIRED)
+  elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+    find_package(LibXml2)
+  endif()
+  if(LibXml2_FOUND)
+    # Check if libxml2 we found is usable; for example, we may have found a 32-bit
+    # library on a 64-bit system which would result in a link-time failure.
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_INCLUDES ${LIBXML2_INCLUDE_DIRS})
+    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIBXML2_LIBRARIES})
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS ${LIBXML2_DEFINITIONS})
+    check_symbol_exists(xmlReadMemory libxml/xmlreader.h HAVE_LIBXML2)
+    cmake_pop_check_state()
+    if(LLVM_ENABLE_LIBXML2 STREQUAL FORCE_ON AND NOT HAVE_LIBXML2)
+      message(FATAL_ERROR "Failed to configure libxml2")
+    endif()
+  endif()
+  set(LLVM_ENABLE_LIBXML2 "${HAVE_LIBXML2}")
+endif()
+
+if(LLVM_ENABLE_CURL)
+  if(LLVM_ENABLE_CURL STREQUAL FORCE_ON)
+    find_package(CURL REQUIRED)
+  else()
+    find_package(CURL)
+  endif()
+  if(CURL_FOUND)
+    # Check if curl we found is usable; for example, we may have found a 32-bit
+    # library on a 64-bit system which would result in a link-time failure.
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_LIBRARIES CURL::libcurl)
+    check_symbol_exists(curl_easy_init curl/curl.h HAVE_CURL)
+    cmake_pop_check_state()
+    if(LLVM_ENABLE_CURL STREQUAL FORCE_ON AND NOT HAVE_CURL)
+      message(FATAL_ERROR "Failed to configure curl")
+    endif()
+  endif()
+  set(LLVM_ENABLE_CURL "${HAVE_CURL}")
+endif()
+
+if(LLVM_ENABLE_HTTPLIB)
+  if(LLVM_ENABLE_HTTPLIB STREQUAL FORCE_ON)
+    find_package(httplib REQUIRED)
+  else()
+    find_package(httplib)
+  endif()
+  if(HTTPLIB_FOUND)
+    # Check if the "httplib" we found is usable; for example there may be another
+    # library with the same name.
+    cmake_push_check_state()
+    list(APPEND CMAKE_REQUIRED_LIBRARIES ${HTTPLIB_LIBRARY})
+    check_cxx_symbol_exists(CPPHTTPLIB_HTTPLIB_H ${HTTPLIB_HEADER_PATH} HAVE_HTTPLIB)
+    cmake_pop_check_state()
+    if(LLVM_ENABLE_HTTPLIB STREQUAL FORCE_ON AND NOT HAVE_HTTPLIB)
+      message(FATAL_ERROR "Failed to configure cpp-httplib")
+    endif()
+  endif()
+  set(LLVM_ENABLE_HTTPLIB "${HAVE_HTTPLIB}")
+endif()
+
+# Don't look for these libraries if we're using MSan, since uninstrumented third
+# party code may call MSan interceptors like strlen, leading to false positives.
+if(NOT LLVM_USE_SANITIZER MATCHES "Memory.*")
+  # Don't look for these libraries on Windows.
+  if (NOT PURE_WINDOWS)
+    # Skip libedit if using ASan as it contains memory leaks.
+    if (LLVM_ENABLE_LIBEDIT AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*")
+      find_package(LibEdit)
+      set(HAVE_LIBEDIT ${LibEdit_FOUND})
+    else()
+      set(HAVE_LIBEDIT 0)
+    endif()
+    if(LLVM_ENABLE_TERMINFO)
+      if(LLVM_ENABLE_TERMINFO STREQUAL FORCE_ON)
+        find_package(Terminfo REQUIRED)
+      else()
+        find_package(Terminfo)
+      endif()
+      set(LLVM_ENABLE_TERMINFO "${Terminfo_FOUND}")
+    endif()
+  else()
+    set(LLVM_ENABLE_TERMINFO 0)
+  endif()
+else()
+  set(LLVM_ENABLE_TERMINFO 0)
+endif()
+
+check_library_exists(xar xar_open "" LLVM_HAVE_LIBXAR)
+if(LLVM_HAVE_LIBXAR)
+  message(STATUS "The xar file format has been deprecated: LLVM_HAVE_LIBXAR might be removed in the future.")
+  # The xar file format has been deprecated since macOS 12.0.
+  if (CMAKE_OSX_DEPLOYMENT_TARGET VERSION_GREATER_EQUAL 12)
+    set(LLVM_HAVE_LIBXAR 0)
+  else()
+    set(XAR_LIB xar)
+  endif()
+endif()
+
+# function checks
+check_symbol_exists(arc4random "stdlib.h" HAVE_DECL_ARC4RANDOM)
+find_package(Backtrace)
+set(HAVE_BACKTRACE ${Backtrace_FOUND})
+set(BACKTRACE_HEADER ${Backtrace_HEADER})
+
+# Prevent check_symbol_exists from using API that is not supported for a given
+# deployment target.
+check_c_compiler_flag("-Werror=unguarded-availability-new" "C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW")
+if(C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW)
+  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror=unguarded-availability-new")
+endif()
+
+# Determine whether we can register EH tables.
+check_symbol_exists(__register_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_REGISTER_FRAME)
+check_symbol_exists(__deregister_frame "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_DEREGISTER_FRAME)
+check_symbol_exists(__unw_add_dynamic_fde "${CMAKE_CURRENT_LIST_DIR}/unwind.h" HAVE_UNW_ADD_DYNAMIC_FDE)
+
+check_symbol_exists(_Unwind_Backtrace "unwind.h" HAVE__UNWIND_BACKTRACE)
+check_symbol_exists(getpagesize unistd.h HAVE_GETPAGESIZE)
+check_symbol_exists(sysconf unistd.h HAVE_SYSCONF)
+check_symbol_exists(getrusage sys/resource.h HAVE_GETRUSAGE)
+check_symbol_exists(setrlimit sys/resource.h HAVE_SETRLIMIT)
+check_symbol_exists(isatty unistd.h HAVE_ISATTY)
+check_symbol_exists(futimens sys/stat.h HAVE_FUTIMENS)
+check_symbol_exists(futimes sys/time.h HAVE_FUTIMES)
+# AddressSanitizer conflicts with lib/Support/Unix/Signals.inc
+# Avoid sigaltstack on Apple platforms, where backtrace() cannot handle it
+# (rdar://7089625) and _Unwind_Backtrace is unusable because it cannot unwind
+# past the signal handler after an assertion failure (rdar://29866587).
+if( HAVE_SIGNAL_H AND NOT LLVM_USE_SANITIZER MATCHES ".*Address.*" AND NOT APPLE )
+  check_symbol_exists(sigaltstack signal.h HAVE_SIGALTSTACK)
+endif()
+check_symbol_exists(mallctl malloc_np.h HAVE_MALLCTL)
+check_symbol_exists(mallinfo malloc.h HAVE_MALLINFO)
+check_symbol_exists(mallinfo2 malloc.h HAVE_MALLINFO2)
+check_symbol_exists(malloc_zone_statistics malloc/malloc.h
+                    HAVE_MALLOC_ZONE_STATISTICS)
+check_symbol_exists(getrlimit "sys/types.h;sys/time.h;sys/resource.h" HAVE_GETRLIMIT)
+check_symbol_exists(posix_spawn spawn.h HAVE_POSIX_SPAWN)
+check_symbol_exists(pread unistd.h HAVE_PREAD)
+check_symbol_exists(sbrk unistd.h HAVE_SBRK)
+check_symbol_exists(strerror string.h HAVE_STRERROR)
+check_symbol_exists(strerror_r string.h HAVE_STRERROR_R)
+check_symbol_exists(strerror_s string.h HAVE_DECL_STRERROR_S)
+check_symbol_exists(setenv stdlib.h HAVE_SETENV)
+if( PURE_WINDOWS )
+  check_symbol_exists(_chsize_s io.h HAVE__CHSIZE_S)
+
+  check_function_exists(_alloca HAVE__ALLOCA)
+  check_function_exists(__alloca HAVE___ALLOCA)
+  check_function_exists(__chkstk HAVE___CHKSTK)
+  check_function_exists(__chkstk_ms HAVE___CHKSTK_MS)
+  check_function_exists(___chkstk HAVE____CHKSTK)
+  check_function_exists(___chkstk_ms HAVE____CHKSTK_MS)
+
+  check_function_exists(__ashldi3 HAVE___ASHLDI3)
+  check_function_exists(__ashrdi3 HAVE___ASHRDI3)
+  check_function_exists(__divdi3 HAVE___DIVDI3)
+  check_function_exists(__fixdfdi HAVE___FIXDFDI)
+  check_function_exists(__fixsfdi HAVE___FIXSFDI)
+  check_function_exists(__floatdidf HAVE___FLOATDIDF)
+  check_function_exists(__lshrdi3 HAVE___LSHRDI3)
+  check_function_exists(__moddi3 HAVE___MODDI3)
+  check_function_exists(__udivdi3 HAVE___UDIVDI3)
+  check_function_exists(__umoddi3 HAVE___UMODDI3)
+
+  check_function_exists(__main HAVE___MAIN)
+  check_function_exists(__cmpdi2 HAVE___CMPDI2)
+endif()
+
+CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtimespec.tv_nsec
+    "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC)
+if (UNIX AND ${CMAKE_SYSTEM_NAME} MATCHES "AIX")
+# The st_mtim.tv_nsec member of a `stat` structure is not reliable on some AIX
+# environments.
+  set(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0)
+else()
+  CHECK_STRUCT_HAS_MEMBER("struct stat" st_mtim.tv_nsec
+      "sys/types.h;sys/stat.h" HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
+endif()
+
+check_symbol_exists(__GLIBC__ stdio.h LLVM_USING_GLIBC)
+if( LLVM_USING_GLIBC )
+  add_compile_definitions(_GNU_SOURCE)
+  list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE")
+# enable 64bit off_t on 32bit systems using glibc
+  if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+    add_compile_definitions(_FILE_OFFSET_BITS=64)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D_FILE_OFFSET_BITS=64")
+  endif()
+endif()
+
+# This check requires _GNU_SOURCE.
+if (NOT PURE_WINDOWS)
+  if (LLVM_PTHREAD_LIB)
+    list(APPEND CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
+  endif()
+  check_symbol_exists(pthread_getname_np pthread.h HAVE_PTHREAD_GETNAME_NP)
+  check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP)
+  if (LLVM_PTHREAD_LIB)
+    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES ${LLVM_PTHREAD_LIB})
+  endif()
+endif()
+
+# This check requires _GNU_SOURCE.
+if( HAVE_DLFCN_H )
+  if( HAVE_LIBDL )
+    list(APPEND CMAKE_REQUIRED_LIBRARIES dl)
+  endif()
+  check_symbol_exists(dlopen dlfcn.h HAVE_DLOPEN)
+  check_symbol_exists(dladdr dlfcn.h HAVE_DLADDR)
+  if( HAVE_LIBDL )
+    list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES dl)
+  endif()
+endif()
+
+# available programs checks
+function(llvm_find_program name)
+  string(TOUPPER ${name} NAME)
+  string(REGEX REPLACE "\\." "_" NAME ${NAME})
+
+  find_program(LLVM_PATH_${NAME} NAMES ${ARGV})
+  mark_as_advanced(LLVM_PATH_${NAME})
+  if(LLVM_PATH_${NAME})
+    set(HAVE_${NAME} 1 CACHE INTERNAL "Is ${name} available ?")
+    mark_as_advanced(HAVE_${NAME})
+  else(LLVM_PATH_${NAME})
+    set(HAVE_${NAME} "" CACHE INTERNAL "Is ${name} available ?")
+  endif(LLVM_PATH_${NAME})
+endfunction()
+
+if (LLVM_ENABLE_DOXYGEN)
+  llvm_find_program(dot)
+endif ()
+
+if(LLVM_ENABLE_FFI)
+  set(FFI_REQUIRE_INCLUDE On)
+  if(LLVM_ENABLE_FFI STREQUAL FORCE_ON)
+    find_package(FFI REQUIRED)
+  else()
+    find_package(FFI)
+  endif()
+  set(LLVM_ENABLE_FFI "${FFI_FOUND}")
+else()
+  unset(HAVE_FFI_FFI_H CACHE)
+  unset(HAVE_FFI_H CACHE)
+  unset(HAVE_FFI_CALL CACHE)
+endif()
+
+check_symbol_exists(proc_pid_rusage "libproc.h" HAVE_PROC_PID_RUSAGE)
+
+# Define LLVM_HAS_ATOMICS if gcc or MSVC atomic builtins are supported.
+include(CheckAtomic)
+
+if( LLVM_ENABLE_PIC )
+  set(ENABLE_PIC 1)
+else()
+  set(ENABLE_PIC 0)
+  check_cxx_compiler_flag("-fno-pie" SUPPORTS_NO_PIE_FLAG)
+  if(SUPPORTS_NO_PIE_FLAG)
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie")
+  endif()
+endif()
+
+check_cxx_compiler_flag("-Wvariadic-macros" SUPPORTS_VARIADIC_MACROS_FLAG)
+check_cxx_compiler_flag("-Wgnu-zero-variadic-macro-arguments"
+                        SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG)
+
+set(USE_NO_MAYBE_UNINITIALIZED 0)
+set(USE_NO_UNINITIALIZED 0)
+
+# Disable gcc's potentially uninitialized use analysis as it presents lots of
+# false positives.
+if (CMAKE_COMPILER_IS_GNUCXX)
+  check_cxx_compiler_flag("-Wmaybe-uninitialized" HAS_MAYBE_UNINITIALIZED)
+  if (HAS_MAYBE_UNINITIALIZED)
+    set(USE_NO_MAYBE_UNINITIALIZED 1)
+  else()
+    # Only recent versions of gcc make the distinction between -Wuninitialized
+    # and -Wmaybe-uninitialized. If -Wmaybe-uninitialized isn't supported, just
+    # turn off all uninitialized use warnings.
+    check_cxx_compiler_flag("-Wuninitialized" HAS_UNINITIALIZED)
+    set(USE_NO_UNINITIALIZED ${HAS_UNINITIALIZED})
+  endif()
+endif()
+
+# By default, we target the host, but this can be overridden at CMake
+# invocation time.
+include(GetHostTriple)
+get_host_triple(LLVM_INFERRED_HOST_TRIPLE)
+
+set(LLVM_HOST_TRIPLE "${LLVM_INFERRED_HOST_TRIPLE}" CACHE STRING
+    "Host on which LLVM binaries will run")
+
+# Determine the native architecture.
+string(TOLOWER "${LLVM_TARGET_ARCH}" LLVM_NATIVE_ARCH)
+if( LLVM_NATIVE_ARCH STREQUAL "host" )
+  string(REGEX MATCH "^[^-]*" LLVM_NATIVE_ARCH ${LLVM_HOST_TRIPLE})
+endif ()
+
+if (LLVM_NATIVE_ARCH MATCHES "i[2-6]86")
+  set(LLVM_NATIVE_ARCH X86)
+elseif (LLVM_NATIVE_ARCH STREQUAL "x86")
+  set(LLVM_NATIVE_ARCH X86)
+elseif (LLVM_NATIVE_ARCH STREQUAL "amd64")
+  set(LLVM_NATIVE_ARCH X86)
+elseif (LLVM_NATIVE_ARCH STREQUAL "x86_64")
+  set(LLVM_NATIVE_ARCH X86)
+elseif (LLVM_NATIVE_ARCH MATCHES "sparc")
+  set(LLVM_NATIVE_ARCH Sparc)
+elseif (LLVM_NATIVE_ARCH MATCHES "sparc64")
+  set(LLVM_NATIVE_ARCH Sparc)
+elseif (LLVM_NATIVE_ARCH MATCHES "ppc")
+  set(LLVM_NATIVE_ARCH PowerPC)
+elseif (LLVM_NATIVE_ARCH MATCHES "powerpc")
+  set(LLVM_NATIVE_ARCH PowerPC)
+elseif (LLVM_NATIVE_ARCH MATCHES "ppc64")
+  set(LLVM_NATIVE_ARCH PowerPC)
+elseif (LLVM_NATIVE_ARCH MATCHES "ppc64le")
+  set(LLVM_NATIVE_ARCH PowerPC)
+elseif (LLVM_NATIVE_ARCH MATCHES "aarch64")
+  set(LLVM_NATIVE_ARCH AArch64)
+elseif (LLVM_NATIVE_ARCH MATCHES "arm64")
+  set(LLVM_NATIVE_ARCH AArch64)
+elseif (LLVM_NATIVE_ARCH MATCHES "arm")
+  set(LLVM_NATIVE_ARCH ARM)
+elseif (LLVM_NATIVE_ARCH MATCHES "avr")
+  set(LLVM_NATIVE_ARCH AVR)
+elseif (LLVM_NATIVE_ARCH MATCHES "mips")
+  set(LLVM_NATIVE_ARCH Mips)
+elseif (LLVM_NATIVE_ARCH MATCHES "xcore")
+  set(LLVM_NATIVE_ARCH XCore)
+elseif (LLVM_NATIVE_ARCH MATCHES "msp430")
+  set(LLVM_NATIVE_ARCH MSP430)
+elseif (LLVM_NATIVE_ARCH MATCHES "hexagon")
+  set(LLVM_NATIVE_ARCH Hexagon)
+elseif (LLVM_NATIVE_ARCH MATCHES "s390x")
+  set(LLVM_NATIVE_ARCH SystemZ)
+elseif (LLVM_NATIVE_ARCH MATCHES "wasm32")
+  set(LLVM_NATIVE_ARCH WebAssembly)
+elseif (LLVM_NATIVE_ARCH MATCHES "wasm64")
+  set(LLVM_NATIVE_ARCH WebAssembly)
+elseif (LLVM_NATIVE_ARCH MATCHES "riscv32")
+  set(LLVM_NATIVE_ARCH RISCV)
+elseif (LLVM_NATIVE_ARCH MATCHES "riscv64")
+  set(LLVM_NATIVE_ARCH RISCV)
+elseif (LLVM_NATIVE_ARCH STREQUAL "m68k")
+  set(LLVM_NATIVE_ARCH M68k)
+elseif (LLVM_NATIVE_ARCH MATCHES "loongarch")
+  set(LLVM_NATIVE_ARCH LoongArch)
+else ()
+  message(FATAL_ERROR "Unknown architecture ${LLVM_NATIVE_ARCH}")
+endif ()
+
+# If build targets includes "host" or "Native", then replace with native architecture.
+foreach (NATIVE_KEYWORD host Native)
+  list(FIND LLVM_TARGETS_TO_BUILD ${NATIVE_KEYWORD} idx)
+  if( NOT idx LESS 0 )
+    list(REMOVE_AT LLVM_TARGETS_TO_BUILD ${idx})
+    list(APPEND LLVM_TARGETS_TO_BUILD ${LLVM_NATIVE_ARCH})
+    list(REMOVE_DUPLICATES LLVM_TARGETS_TO_BUILD)
+  endif()
+endforeach()
+
+if (NOT ${LLVM_NATIVE_ARCH} IN_LIST LLVM_TARGETS_TO_BUILD)
+  message(STATUS
+    "Native target ${LLVM_NATIVE_ARCH} is not selected; lli will not JIT code")
+else ()
+  message(STATUS "Native target architecture is ${LLVM_NATIVE_ARCH}")
+  set(LLVM_NATIVE_TARGET LLVMInitialize${LLVM_NATIVE_ARCH}Target)
+  set(LLVM_NATIVE_TARGETINFO LLVMInitialize${LLVM_NATIVE_ARCH}TargetInfo)
+  set(LLVM_NATIVE_TARGETMC LLVMInitialize${LLVM_NATIVE_ARCH}TargetMC)
+  set(LLVM_NATIVE_ASMPRINTER LLVMInitialize${LLVM_NATIVE_ARCH}AsmPrinter)
+
+  # We don't have an ASM parser for all architectures yet.
+  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/AsmParser/CMakeLists.txt)
+    set(LLVM_NATIVE_ASMPARSER LLVMInitialize${LLVM_NATIVE_ARCH}AsmParser)
+  endif ()
+
+  # We don't have an disassembler for all architectures yet.
+  if (EXISTS ${PROJECT_SOURCE_DIR}/lib/Target/${LLVM_NATIVE_ARCH}/Disassembler/CMakeLists.txt)
+    set(LLVM_NATIVE_DISASSEMBLER LLVMInitialize${LLVM_NATIVE_ARCH}Disassembler)
+  endif ()
+endif ()
+
+if( MSVC )
+  set(SHLIBEXT ".lib")
+  set(stricmp "_stricmp")
+  set(strdup "_strdup")
+
+  # Allow setting clang-cl's /winsysroot flag.
+  set(LLVM_WINSYSROOT "" CACHE STRING
+    "If set, argument to clang-cl's /winsysroot")
+
+  if (LLVM_WINSYSROOT)
+    set(MSVC_DIA_SDK_DIR "${LLVM_WINSYSROOT}/DIA SDK" CACHE PATH
+        "Path to the DIA SDK")
+  else()
+    set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK" CACHE PATH
+        "Path to the DIA SDK")
+  endif()
+
+  # See if the DIA SDK is available and usable.
+  # Due to a bug in MSVC 2013's installation software, it is possible
+  # for MSVC 2013 to write the DIA SDK into the Visual Studio 2012
+  # install directory.  If this happens, the installation is corrupt
+  # and there's nothing we can do.  It happens with enough frequency
+  # though that we should handle it.  We do so by simply checking that
+  # the DIA SDK folder exists.  Should this happen you will need to
+  # uninstall VS 2012 and then re-install VS 2013.
+  if (IS_DIRECTORY "${MSVC_DIA_SDK_DIR}")
+    set(HAVE_DIA_SDK 1)
+  else()
+    set(HAVE_DIA_SDK 0)
+  endif()
+
+  option(LLVM_ENABLE_DIA_SDK "Use MSVC DIA SDK for debugging if available."
+                             ${HAVE_DIA_SDK})
+
+  if(LLVM_ENABLE_DIA_SDK AND NOT HAVE_DIA_SDK)
+    message(FATAL_ERROR "DIA SDK not found. If you have both VS 2012 and 2013 installed, you may need to uninstall the former and re-install the latter afterwards.")
+  endif()
+else()
+  set(LLVM_ENABLE_DIA_SDK 0)
+endif( MSVC )
+
+if( LLVM_ENABLE_THREADS )
+  # Check if threading primitives aren't supported on this platform
+  if( NOT HAVE_PTHREAD_H AND NOT WIN32 )
+    set(LLVM_ENABLE_THREADS 0)
+  endif()
+endif()
+
+if( LLVM_ENABLE_THREADS )
+  message(STATUS "Threads enabled.")
+else( LLVM_ENABLE_THREADS )
+  message(STATUS "Threads disabled.")
+endif()
+
+if (LLVM_ENABLE_DOXYGEN)
+  message(STATUS "Doxygen enabled.")
+  find_package(Doxygen REQUIRED)
+
+  if (DOXYGEN_FOUND)
+    # If we find doxygen and we want to enable doxygen by default create a
+    # global aggregate doxygen target for generating llvm and any/all
+    # subprojects doxygen documentation.
+    if (LLVM_BUILD_DOCS)
+      add_custom_target(doxygen ALL)
+    endif()
+
+    option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF)
+    if (LLVM_DOXYGEN_EXTERNAL_SEARCH)
+      set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.")
+      set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings")
+    endif()
+  endif()
+else()
+  message(STATUS "Doxygen disabled.")
+endif()
+
+find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold ${LLVM_DEFAULT_TARGET_TRIPLE}-ld ld DOC "The gold linker")
+set(LLVM_BINUTILS_INCDIR "" CACHE PATH
+    "PATH to binutils/include containing plugin-api.h for gold plugin.")
+
+if(CMAKE_GENERATOR MATCHES "Ninja")
+  execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} --version
+    OUTPUT_VARIABLE NINJA_VERSION
+    OUTPUT_STRIP_TRAILING_WHITESPACE)
+  set(NINJA_VERSION ${NINJA_VERSION} CACHE STRING "Ninja version number" FORCE)
+  message(STATUS "Ninja version: ${NINJA_VERSION}")
+endif()
+
+if(CMAKE_GENERATOR MATCHES "Ninja" AND
+    NOT "${NINJA_VERSION}" VERSION_LESS "1.9.0" AND
+    CMAKE_HOST_APPLE AND CMAKE_HOST_SYSTEM_VERSION VERSION_GREATER "15.6.0")
+  set(LLVM_TOUCH_STATIC_LIBRARIES ON)
+endif()
+
+if(CMAKE_HOST_APPLE AND APPLE)
+  if(NOT LD64_EXECUTABLE)
+    if(NOT CMAKE_XCRUN)
+      find_program(CMAKE_XCRUN NAMES xcrun)
+    endif()
+    if(CMAKE_XCRUN)
+      execute_process(COMMAND ${CMAKE_XCRUN} -find ld
+        OUTPUT_VARIABLE LD64_EXECUTABLE
+        OUTPUT_STRIP_TRAILING_WHITESPACE)
+    else()
+      find_program(LD64_EXECUTABLE NAMES ld DOC "The ld64 linker")
+    endif()
+  endif()
+
+  if(LD64_EXECUTABLE)
+    set(LD64_EXECUTABLE ${LD64_EXECUTABLE} CACHE PATH "ld64 executable")
+    message(STATUS "Found ld64 - ${LD64_EXECUTABLE}")
+  endif()
+endif()
+
+# Keep the version requirements in sync with bindings/ocaml/README.txt.
+set(LLVM_BINDINGS "")
+include(FindOCaml)
+include(AddOCaml)
+if(WIN32 OR NOT LLVM_ENABLE_BINDINGS)
+  message(STATUS "OCaml bindings disabled.")
+else()
+  find_package(OCaml)
+  if( NOT OCAML_FOUND )
+    message(STATUS "OCaml bindings disabled.")
+  else()
+    if( OCAML_VERSION VERSION_LESS "4.00.0" )
+      message(STATUS "OCaml bindings disabled, need OCaml >=4.00.0.")
+    else()
+      find_ocamlfind_package(ctypes VERSION 0.4 OPTIONAL)
+      if( HAVE_OCAML_CTYPES )
+        message(STATUS "OCaml bindings enabled.")
+        set(LLVM_BINDINGS "${LLVM_BINDINGS} ocaml")
+
+        set(LLVM_OCAML_INSTALL_PATH "${OCAML_STDLIB_PATH}" CACHE STRING
+            "Install directory for LLVM OCaml packages")
+      else()
+        message(STATUS "OCaml bindings disabled, need ctypes >=0.4.")
+      endif()
+    endif()
+  endif()
+endif()
+
+string(REPLACE " " ";" LLVM_BINDINGS_LIST "${LLVM_BINDINGS}")
+
+function(find_python_module module)
+  string(REPLACE "." "_" module_name ${module})
+  string(TOUPPER ${module_name} module_upper)
+  set(FOUND_VAR PY_${module_upper}_FOUND)
+  if (DEFINED ${FOUND_VAR})
+    return()
+  endif()
+
+  execute_process(COMMAND "${Python3_EXECUTABLE}" "-c" "import ${module}"
+    RESULT_VARIABLE status
+    ERROR_QUIET)
+
+  if(status)
+    set(${FOUND_VAR} OFF CACHE BOOL "Failed to find python module '${module}'")
+    message(STATUS "Could NOT find Python module ${module}")
+  else()
+  set(${FOUND_VAR} ON CACHE BOOL "Found python module '${module}'")
+    message(STATUS "Found Python module ${module}")
+  endif()
+endfunction()
+
+set (PYTHON_MODULES
+  pygments
+  # Some systems still don't have pygments.lexers.c_cpp which was introduced in
+  # version 2.0 in 2014...
+  pygments.lexers.c_cpp
+  yaml
+  )
+foreach(module ${PYTHON_MODULES})
+  find_python_module(${module})
+endforeach()
+
+if(PY_PYGMENTS_FOUND AND PY_PYGMENTS_LEXERS_C_CPP_FOUND AND PY_YAML_FOUND)
+  set (LLVM_HAVE_OPT_VIEWER_MODULES 1)
+else()
+  set (LLVM_HAVE_OPT_VIEWER_MODULES 0)
+endif()
+
+function(llvm_get_host_prefixes_and_suffixes)
+  # Not all platform files will set these variables (relying on them being
+  # implicitly empty if they're unset), so unset the variables before including
+  # the platform file, to prevent any values from the target system leaking.
+  unset(CMAKE_STATIC_LIBRARY_PREFIX)
+  unset(CMAKE_STATIC_LIBRARY_SUFFIX)
+  unset(CMAKE_SHARED_LIBRARY_PREFIX)
+  unset(CMAKE_SHARED_LIBRARY_SUFFIX)
+  unset(CMAKE_IMPORT_LIBRARY_PREFIX)
+  unset(CMAKE_IMPORT_LIBRARY_SUFFIX)
+  unset(CMAKE_EXECUTABLE_SUFFIX)
+  unset(CMAKE_LINK_LIBRARY_SUFFIX)
+  include(Platform/${CMAKE_HOST_SYSTEM_NAME} OPTIONAL RESULT_VARIABLE _includedFile)
+  if (_includedFile)
+    set(LLVM_HOST_STATIC_LIBRARY_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX} PARENT_SCOPE)
+    set(LLVM_HOST_STATIC_LIBRARY_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX} PARENT_SCOPE)
+    set(LLVM_HOST_SHARED_LIBRARY_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX} PARENT_SCOPE)
+    set(LLVM_HOST_SHARED_LIBRARY_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX} PARENT_SCOPE)
+    set(LLVM_HOST_IMPORT_LIBRARY_PREFIX ${CMAKE_IMPORT_LIBRARY_PREFIX} PARENT_SCOPE)
+    set(LLVM_HOST_IMPORT_LIBRARY_SUFFIX ${CMAKE_IMPORT_LIBRARY_SUFFIX} PARENT_SCOPE)
+    set(LLVM_HOST_EXECUTABLE_SUFFIX ${CMAKE_EXECUTABLE_SUFFIX} PARENT_SCOPE)
+    set(LLVM_HOST_LINK_LIBRARY_SUFFIX ${CMAKE_LINK_LIBRARY_SUFFIX} PARENT_SCOPE)
+  endif()
+endfunction()
+
+llvm_get_host_prefixes_and_suffixes()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-llvm-versioning.patch
+
+mv llvm-$VERSION-llvm-versioning.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/llvm/tools/llvm-config/llvm-config.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/llvm-16.0.2-new/llvm/tools/llvm-config/llvm-config.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/llvm-16.0.2-new/llvm/tools/llvm-config/llvm-config.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-llvm-versioning-patch/llvm-16.0.2-new/llvm/tools/llvm-config/llvm-config.cpp	(revision 40)
@@ -0,0 +1,748 @@
+//===-- llvm-config.cpp - LLVM project configuration utility --------------===//
+//
+// 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 tool encapsulates information about an LLVM project configuration for
+// use by other project's build environments (to determine installed path,
+// available features, required libraries, etc.).
+//
+// Note that although this tool *may* be used by some parts of LLVM's build
+// itself (i.e., the Makefiles use it to compute required libraries when linking
+// tools), this tool is primarily designed to support external projects.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/Config/llvm-config.h"
+#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Triple.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/Config/config.h"
+#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/Path.h"
+#include "llvm/Support/WithColor.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cstdlib>
+#include <set>
+#include <unordered_set>
+#include <vector>
+
+using namespace llvm;
+
+// Include the build time variables we can report to the user. This is generated
+// at build time from the BuildVariables.inc.in file by the build system.
+#include "BuildVariables.inc"
+
+// Include the component table. This creates an array of struct
+// AvailableComponent entries, which record the component name, library name,
+// and required components for all of the available libraries.
+//
+// Not all components define a library, we also use "library groups" as a way to
+// create entries for pseudo groups like x86 or all-targets.
+#include "LibraryDependencies.inc"
+
+// Built-in extensions also register their dependencies, but in a separate file,
+// later in the process.
+#include "ExtensionDependencies.inc"
+
+// LinkMode determines what libraries and flags are returned by llvm-config.
+enum LinkMode {
+  // LinkModeAuto will link with the default link mode for the installation,
+  // which is dependent on the value of LLVM_LINK_LLVM_DYLIB, and fall back
+  // to the alternative if the required libraries are not available.
+  LinkModeAuto = 0,
+
+  // LinkModeShared will link with the dynamic component libraries if they
+  // exist, and return an error otherwise.
+  LinkModeShared = 1,
+
+  // LinkModeStatic will link with the static component libraries if they
+  // exist, and return an error otherwise.
+  LinkModeStatic = 2,
+};
+
+/// Traverse a single component adding to the topological ordering in
+/// \arg RequiredLibs.
+///
+/// \param Name - The component to traverse.
+/// \param ComponentMap - A prebuilt map of component names to descriptors.
+/// \param VisitedComponents [in] [out] - The set of already visited components.
+/// \param RequiredLibs [out] - The ordered list of required
+/// libraries.
+/// \param GetComponentNames - Get the component names instead of the
+/// library name.
+static void VisitComponent(const std::string &Name,
+                           const StringMap<AvailableComponent *> &ComponentMap,
+                           std::set<AvailableComponent *> &VisitedComponents,
+                           std::vector<std::string> &RequiredLibs,
+                           bool IncludeNonInstalled, bool GetComponentNames,
+                           const std::function<std::string(const StringRef &)>
+                               *GetComponentLibraryPath,
+                           std::vector<std::string> *Missing,
+                           const std::string &DirSep) {
+  // Lookup the component.
+  AvailableComponent *AC = ComponentMap.lookup(Name);
+  if (!AC) {
+    errs() << "Can't find component: '" << Name << "' in the map. Available components are: ";
+    for (const auto &Component : ComponentMap) {
+      errs() << "'" << Component.first() << "' ";
+    }
+    errs() << "\n";
+    report_fatal_error("abort");
+  }
+  assert(AC && "Invalid component name!");
+
+  // Add to the visited table.
+  if (!VisitedComponents.insert(AC).second) {
+    // We are done if the component has already been visited.
+    return;
+  }
+
+  // Only include non-installed components if requested.
+  if (!AC->IsInstalled && !IncludeNonInstalled)
+    return;
+
+  // Otherwise, visit all the dependencies.
+  for (unsigned i = 0; AC->RequiredLibraries[i]; ++i) {
+    VisitComponent(AC->RequiredLibraries[i], ComponentMap, VisitedComponents,
+                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
+                   GetComponentLibraryPath, Missing, DirSep);
+  }
+
+  // Special handling for the special 'extensions' component. Its content is
+  // not populated by llvm-build, but later in the process and loaded from
+  // ExtensionDependencies.inc.
+  if (Name == "extensions") {
+    for (auto const &AvailableExtension : AvailableExtensions) {
+      for (const char *const *Iter = &AvailableExtension.RequiredLibraries[0];
+           *Iter; ++Iter) {
+        AvailableComponent *AC = ComponentMap.lookup(*Iter);
+        if (!AC) {
+          RequiredLibs.push_back(*Iter);
+        } else {
+          VisitComponent(*Iter, ComponentMap, VisitedComponents, RequiredLibs,
+                         IncludeNonInstalled, GetComponentNames,
+                         GetComponentLibraryPath, Missing, DirSep);
+        }
+      }
+    }
+  }
+
+  if (GetComponentNames) {
+    RequiredLibs.push_back(Name);
+    return;
+  }
+
+  // Add to the required library list.
+  if (AC->Library) {
+    if (Missing && GetComponentLibraryPath) {
+      std::string path = (*GetComponentLibraryPath)(AC->Library);
+      if (DirSep == "\\") {
+        std::replace(path.begin(), path.end(), '/', '\\');
+      }
+      if (!sys::fs::exists(path))
+        Missing->push_back(path);
+    }
+    RequiredLibs.push_back(AC->Library);
+  }
+}
+
+/// Compute the list of required libraries for a given list of
+/// components, in an order suitable for passing to a linker (that is, libraries
+/// appear prior to their dependencies).
+///
+/// \param Components - The names of the components to find libraries for.
+/// \param IncludeNonInstalled - Whether non-installed components should be
+/// reported.
+/// \param GetComponentNames - True if one would prefer the component names.
+static std::vector<std::string> ComputeLibsForComponents(
+    const std::vector<StringRef> &Components, bool IncludeNonInstalled,
+    bool GetComponentNames, const std::function<std::string(const StringRef &)>
+                                *GetComponentLibraryPath,
+    std::vector<std::string> *Missing, const std::string &DirSep) {
+  std::vector<std::string> RequiredLibs;
+  std::set<AvailableComponent *> VisitedComponents;
+
+  // Build a map of component names to information.
+  StringMap<AvailableComponent *> ComponentMap;
+  for (auto &AC : AvailableComponents)
+    ComponentMap[AC.Name] = &AC;
+
+  // Visit the components.
+  for (unsigned i = 0, e = Components.size(); i != e; ++i) {
+    // Users are allowed to provide mixed case component names.
+    std::string ComponentLower = Components[i].lower();
+
+    // Validate that the user supplied a valid component name.
+    if (!ComponentMap.count(ComponentLower)) {
+      llvm::errs() << "llvm-config: unknown component name: " << Components[i]
+                   << "\n";
+      exit(1);
+    }
+
+    VisitComponent(ComponentLower, ComponentMap, VisitedComponents,
+                   RequiredLibs, IncludeNonInstalled, GetComponentNames,
+                   GetComponentLibraryPath, Missing, DirSep);
+  }
+
+  // The list is now ordered with leafs first, we want the libraries to printed
+  // in the reverse order of dependency.
+  std::reverse(RequiredLibs.begin(), RequiredLibs.end());
+
+  return RequiredLibs;
+}
+
+/* *** */
+
+static void usage(bool ExitWithFailure = true) {
+  errs() << "\
+usage: llvm-config <OPTION>... [<COMPONENT>...]\n\
+\n\
+Get various configuration information needed to compile programs which use\n\
+LLVM.  Typically called from 'configure' scripts.  Examples:\n\
+  llvm-config --cxxflags\n\
+  llvm-config --ldflags\n\
+  llvm-config --libs engine bcreader scalaropts\n\
+\n\
+Options:\n\
+  --assertion-mode  Print assertion mode of LLVM tree (ON or OFF).\n\
+  --bindir          Directory containing LLVM executables.\n\
+  --build-mode      Print build mode of LLVM tree (e.g. Debug or Release).\n\
+  --build-system    Print the build system used to build LLVM (e.g. `cmake` or `gn`).\n\
+  --cflags          C compiler flags for files that include LLVM headers.\n\
+  --cmakedir        Directory containing LLVM CMake modules.\n\
+  --components      List of all possible components.\n\
+  --cppflags        C preprocessor flags for files that include LLVM headers.\n\
+  --cxxflags        C++ compiler flags for files that include LLVM headers.\n\
+  --has-rtti        Print whether or not LLVM was built with rtti (YES or NO).\n\
+  --help            Print a summary of llvm-config arguments.\n\
+  --host-target     Target triple used to configure LLVM.\n\
+  --ignore-libllvm  Ignore libLLVM and link component libraries instead.\n\
+  --includedir      Directory containing LLVM headers.\n\
+  --ldflags         Print Linker flags.\n\
+  --libdir          Directory containing LLVM libraries.\n\
+  --libfiles        Fully qualified library filenames for makefile depends.\n\
+  --libnames        Bare library names for in-tree builds.\n\
+  --libs            Libraries needed to link against LLVM components.\n\
+  --link-shared     Link the components as shared libraries.\n\
+  --link-static     Link the component libraries statically.\n\
+  --obj-root        Print the object root used to build LLVM.\n\
+  --prefix          Print the installation prefix.\n\
+  --shared-mode     Print how the provided components can be collectively linked (`shared` or `static`).\n\
+  --system-libs     System Libraries needed to link against LLVM components.\n\
+  --targets-built   List of all targets currently built.\n\
+  --version         Print LLVM version.\n\
+Typical components:\n\
+  all               All LLVM libraries (default).\n\
+  engine            Either a native JIT or a bitcode interpreter.\n";
+  if (ExitWithFailure)
+    exit(1);
+}
+
+/// Compute the path to the main executable.
+std::string GetExecutablePath(const char *Argv0) {
+  // This just needs to be some symbol in the binary; C++ doesn't
+  // allow taking the address of ::main however.
+  void *P = (void *)(intptr_t)GetExecutablePath;
+  return llvm::sys::fs::getMainExecutable(Argv0, P);
+}
+
+/// Expand the semi-colon delimited LLVM_DYLIB_COMPONENTS into
+/// the full list of components.
+std::vector<std::string> GetAllDyLibComponents(const bool IsInDevelopmentTree,
+                                               const bool GetComponentNames,
+                                               const std::string &DirSep) {
+  std::vector<StringRef> DyLibComponents;
+
+  StringRef DyLibComponentsStr(LLVM_DYLIB_COMPONENTS);
+  size_t Offset = 0;
+  while (true) {
+    const size_t NextOffset = DyLibComponentsStr.find(';', Offset);
+    DyLibComponents.push_back(DyLibComponentsStr.substr(Offset, NextOffset-Offset));
+    if (NextOffset == std::string::npos) {
+      break;
+    }
+    Offset = NextOffset + 1;
+  }
+
+  assert(!DyLibComponents.empty());
+
+  return ComputeLibsForComponents(DyLibComponents,
+                                  /*IncludeNonInstalled=*/IsInDevelopmentTree,
+                                  GetComponentNames, nullptr, nullptr, DirSep);
+}
+
+int main(int argc, char **argv) {
+  std::vector<StringRef> Components;
+  bool PrintLibs = false, PrintLibNames = false, PrintLibFiles = false;
+  bool PrintSystemLibs = false, PrintSharedMode = false;
+  bool HasAnyOption = false;
+
+  // llvm-config is designed to support being run both from a development tree
+  // and from an installed path. We try and auto-detect which case we are in so
+  // that we can report the correct information when run from a development
+  // tree.
+  bool IsInDevelopmentTree;
+  enum { CMakeStyle, CMakeBuildModeStyle } DevelopmentTreeLayout;
+  llvm::SmallString<256> CurrentPath(GetExecutablePath(argv[0]));
+  std::string CurrentExecPrefix;
+  std::string ActiveObjRoot;
+
+  // If CMAKE_CFG_INTDIR is given, honor it as build mode.
+  char const *build_mode = LLVM_BUILDMODE;
+#if defined(CMAKE_CFG_INTDIR)
+  if (!(CMAKE_CFG_INTDIR[0] == '.' && CMAKE_CFG_INTDIR[1] == '\0'))
+    build_mode = CMAKE_CFG_INTDIR;
+#endif
+
+  // Create an absolute path, and pop up one directory (we expect to be inside a
+  // bin dir).
+  sys::fs::make_absolute(CurrentPath);
+  CurrentExecPrefix =
+      sys::path::parent_path(sys::path::parent_path(CurrentPath)).str();
+
+  // Check to see if we are inside a development tree by comparing to possible
+  // locations (prefix style or CMake style).
+  if (sys::fs::equivalent(CurrentExecPrefix, LLVM_OBJ_ROOT)) {
+    IsInDevelopmentTree = true;
+    DevelopmentTreeLayout = CMakeStyle;
+    ActiveObjRoot = LLVM_OBJ_ROOT;
+  } else if (sys::fs::equivalent(sys::path::parent_path(CurrentExecPrefix),
+                                 LLVM_OBJ_ROOT)) {
+    IsInDevelopmentTree = true;
+    DevelopmentTreeLayout = CMakeBuildModeStyle;
+    ActiveObjRoot = LLVM_OBJ_ROOT;
+  } else {
+    IsInDevelopmentTree = false;
+    DevelopmentTreeLayout = CMakeStyle; // Initialized to avoid warnings.
+  }
+
+  // Compute various directory locations based on the derived location
+  // information.
+  std::string ActivePrefix, ActiveBinDir, ActiveIncludeDir, ActiveLibDir,
+              ActiveCMakeDir;
+  std::string ActiveIncludeOption;
+  if (IsInDevelopmentTree) {
+    ActiveIncludeDir = std::string(LLVM_SRC_ROOT) + "/include";
+    ActivePrefix = CurrentExecPrefix;
+
+    // CMake organizes the products differently than a normal prefix style
+    // layout.
+    switch (DevelopmentTreeLayout) {
+    case CMakeStyle:
+      ActiveBinDir = ActiveObjRoot + "/bin";
+      ActiveLibDir = ActiveObjRoot + "/lib" + LLVM_LIBDIR_SUFFIX;
+      ActiveCMakeDir = ActiveLibDir + "/cmake/llvm";
+      break;
+    case CMakeBuildModeStyle:
+      // FIXME: Should we consider the build-mode-specific path as the prefix?
+      ActivePrefix = ActiveObjRoot;
+      ActiveBinDir = ActiveObjRoot + "/" + build_mode + "/bin";
+      ActiveLibDir =
+          ActiveObjRoot + "/" + build_mode + "/lib" + LLVM_LIBDIR_SUFFIX;
+      // The CMake directory isn't separated by build mode.
+      ActiveCMakeDir =
+          ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX + "/cmake/llvm";
+      break;
+    }
+
+    // We need to include files from both the source and object trees.
+    ActiveIncludeOption =
+        ("-I" + ActiveIncludeDir + " " + "-I" + ActiveObjRoot + "/include");
+  } else {
+    ActivePrefix = CurrentExecPrefix;
+    {
+      SmallString<256> Path(LLVM_INSTALL_INCLUDEDIR);
+      sys::fs::make_absolute(ActivePrefix, Path);
+      ActiveIncludeDir = std::string(Path.str());
+    }
+    {
+      SmallString<256> Path(LLVM_TOOLS_INSTALL_DIR);
+      sys::fs::make_absolute(ActivePrefix, Path);
+      ActiveBinDir = std::string(Path.str());
+    }
+    ActiveLibDir = ActivePrefix + "/lib" + LLVM_LIBDIR_SUFFIX;
+    {
+      SmallString<256> Path(LLVM_INSTALL_PACKAGE_DIR);
+      sys::fs::make_absolute(ActivePrefix, Path);
+      ActiveCMakeDir = std::string(Path.str());
+    }
+    ActiveIncludeOption = "-I" + ActiveIncludeDir;
+  }
+
+  /// We only use `shared library` mode in cases where the static library form
+  /// of the components provided are not available; note however that this is
+  /// skipped if we're run from within the build dir. However, once installed,
+  /// we still need to provide correct output when the static archives are
+  /// removed or, as in the case of CMake's `BUILD_SHARED_LIBS`, never present
+  /// in the first place. This can't be done at configure/build time.
+
+  StringRef SharedExt, SharedVersionedExt, SharedDir, SharedPrefix, StaticExt,
+      StaticPrefix, StaticDir = "lib";
+  std::string DirSep = "/";
+  const Triple HostTriple(Triple::normalize(LLVM_HOST_TRIPLE));
+  if (HostTriple.isOSWindows()) {
+    SharedExt = "dll";
+    SharedVersionedExt = LLVM_DYLIB_VERSION ".dll";
+    if (HostTriple.isOSCygMing()) {
+      SharedPrefix = "lib";
+      StaticExt = "a";
+      StaticPrefix = "lib";
+    } else {
+      StaticExt = "lib";
+      DirSep = "\\";
+      std::replace(ActiveObjRoot.begin(), ActiveObjRoot.end(), '/', '\\');
+      std::replace(ActivePrefix.begin(), ActivePrefix.end(), '/', '\\');
+      std::replace(ActiveBinDir.begin(), ActiveBinDir.end(), '/', '\\');
+      std::replace(ActiveLibDir.begin(), ActiveLibDir.end(), '/', '\\');
+      std::replace(ActiveCMakeDir.begin(), ActiveCMakeDir.end(), '/', '\\');
+      std::replace(ActiveIncludeOption.begin(), ActiveIncludeOption.end(), '/',
+                   '\\');
+    }
+    SharedDir = ActiveBinDir;
+    StaticDir = ActiveLibDir;
+  } else if (HostTriple.isOSDarwin()) {
+    SharedExt = "dylib";
+    SharedVersionedExt = LLVM_DYLIB_VERSION ".dylib";
+    StaticExt = "a";
+    StaticDir = SharedDir = ActiveLibDir;
+    StaticPrefix = SharedPrefix = "lib";
+  } else {
+    // default to the unix values:
+    SharedExt = "so";
+    StaticExt = "a";
+    StaticDir = SharedDir = ActiveLibDir;
+    StaticPrefix = SharedPrefix = "lib";
+  }
+
+  const bool BuiltDyLib = !!LLVM_ENABLE_DYLIB;
+
+  /// CMake style shared libs, ie each component is in a shared library.
+  const bool BuiltSharedLibs = !!LLVM_ENABLE_SHARED;
+
+  bool DyLibExists = false;
+  const std::string DyLibName =
+      (SharedPrefix + "LLVM." + SharedExt).str();
+
+  // If LLVM_LINK_DYLIB is ON, the single shared library will be returned
+  // for "--libs", etc, if they exist. This behaviour can be overridden with
+  // --link-static or --link-shared.
+  bool LinkDyLib = !!LLVM_LINK_DYLIB;
+
+  if (BuiltDyLib) {
+    std::string path((SharedDir + DirSep + DyLibName).str());
+    if (DirSep == "\\") {
+      std::replace(path.begin(), path.end(), '/', '\\');
+    }
+    DyLibExists = sys::fs::exists(path);
+    if (!DyLibExists) {
+      // The shared library does not exist: don't error unless the user
+      // explicitly passes --link-shared.
+      LinkDyLib = false;
+    }
+  }
+  LinkMode LinkMode =
+      (LinkDyLib || BuiltSharedLibs) ? LinkModeShared : LinkModeAuto;
+
+  /// Get the component's library name without the lib prefix and the
+  /// extension. Returns true if Lib is in a recognized format.
+  auto GetComponentLibraryNameSlice = [&](const StringRef &Lib,
+                                          StringRef &Out) {
+    if (Lib.startswith("lib")) {
+      unsigned FromEnd;
+      if (Lib.endswith(StaticExt)) {
+        FromEnd = StaticExt.size() + 1;
+      } else if (Lib.endswith(SharedExt)) {
+        FromEnd = SharedExt.size() + 1;
+      } else {
+        FromEnd = 0;
+      }
+
+      if (FromEnd != 0) {
+        Out = Lib.slice(3, Lib.size() - FromEnd);
+        return true;
+      }
+    }
+
+    return false;
+  };
+  /// Maps Unixizms to the host platform.
+  auto GetComponentLibraryFileName = [&](const StringRef &Lib,
+                                         const bool Shared) {
+    std::string LibFileName;
+    if (Shared) {
+      if (Lib == DyLibName) {
+        // Treat the DyLibName specially. It is not a component library and
+        // already has the necessary prefix and suffix (e.g. `.so`) added so
+        // just return it unmodified.
+        assert(Lib.endswith(SharedExt) && "DyLib is missing suffix");
+        LibFileName = std::string(Lib);
+      } else {
+        LibFileName = (SharedPrefix + Lib + "." + SharedExt).str();
+      }
+    } else {
+      // default to static
+      LibFileName = (StaticPrefix + Lib + "." + StaticExt).str();
+    }
+
+    return LibFileName;
+  };
+  /// Get the full path for a possibly shared component library.
+  auto GetComponentLibraryPath = [&](const StringRef &Name, const bool Shared) {
+    auto LibFileName = GetComponentLibraryFileName(Name, Shared);
+    if (Shared) {
+      return (SharedDir + DirSep + LibFileName).str();
+    } else {
+      return (StaticDir + DirSep + LibFileName).str();
+    }
+  };
+
+  raw_ostream &OS = outs();
+  for (int i = 1; i != argc; ++i) {
+    StringRef Arg = argv[i];
+
+    if (Arg.startswith("-")) {
+      HasAnyOption = true;
+      if (Arg == "--version") {
+        OS << PACKAGE_VERSION << '\n';
+      } else if (Arg == "--prefix") {
+        OS << ActivePrefix << '\n';
+      } else if (Arg == "--bindir") {
+        OS << ActiveBinDir << '\n';
+      } else if (Arg == "--includedir") {
+        OS << ActiveIncludeDir << '\n';
+      } else if (Arg == "--libdir") {
+        OS << ActiveLibDir << '\n';
+      } else if (Arg == "--cmakedir") {
+        OS << ActiveCMakeDir << '\n';
+      } else if (Arg == "--cppflags") {
+        OS << ActiveIncludeOption << ' ' << LLVM_CPPFLAGS << '\n';
+      } else if (Arg == "--cflags") {
+        OS << ActiveIncludeOption << ' ' << LLVM_CFLAGS << '\n';
+      } else if (Arg == "--cxxflags") {
+        OS << ActiveIncludeOption << ' ' << LLVM_CXXFLAGS << '\n';
+      } else if (Arg == "--ldflags") {
+        OS << ((HostTriple.isWindowsMSVCEnvironment()) ? "-LIBPATH:" : "-L")
+           << ActiveLibDir << ' ' << LLVM_LDFLAGS << '\n';
+      } else if (Arg == "--system-libs") {
+        PrintSystemLibs = true;
+      } else if (Arg == "--libs") {
+        PrintLibs = true;
+      } else if (Arg == "--libnames") {
+        PrintLibNames = true;
+      } else if (Arg == "--libfiles") {
+        PrintLibFiles = true;
+      } else if (Arg == "--components") {
+        /// If there are missing static archives and a dylib was
+        /// built, print LLVM_DYLIB_COMPONENTS instead of everything
+        /// in the manifest.
+        std::vector<std::string> Components;
+        for (const auto &AC : AvailableComponents) {
+          // Only include non-installed components when in a development tree.
+          if (!AC.IsInstalled && !IsInDevelopmentTree)
+            continue;
+
+          Components.push_back(AC.Name);
+          if (AC.Library && !IsInDevelopmentTree) {
+            std::string path(GetComponentLibraryPath(AC.Library, false));
+            if (DirSep == "\\") {
+              std::replace(path.begin(), path.end(), '/', '\\');
+            }
+            if (DyLibExists && !sys::fs::exists(path)) {
+              Components =
+                  GetAllDyLibComponents(IsInDevelopmentTree, true, DirSep);
+              llvm::sort(Components);
+              break;
+            }
+          }
+        }
+
+        for (unsigned I = 0; I < Components.size(); ++I) {
+          if (I) {
+            OS << ' ';
+          }
+
+          OS << Components[I];
+        }
+        OS << '\n';
+      } else if (Arg == "--targets-built") {
+        OS << LLVM_TARGETS_BUILT << '\n';
+      } else if (Arg == "--host-target") {
+        OS << Triple::normalize(LLVM_DEFAULT_TARGET_TRIPLE) << '\n';
+      } else if (Arg == "--build-mode") {
+        OS << build_mode << '\n';
+      } else if (Arg == "--assertion-mode") {
+#if defined(NDEBUG)
+        OS << "OFF\n";
+#else
+        OS << "ON\n";
+#endif
+      } else if (Arg == "--build-system") {
+        OS << LLVM_BUILD_SYSTEM << '\n';
+      } else if (Arg == "--has-rtti") {
+        OS << (LLVM_HAS_RTTI ? "YES" : "NO") << '\n';
+      } else if (Arg == "--shared-mode") {
+        PrintSharedMode = true;
+      } else if (Arg == "--obj-root") {
+        OS << ActivePrefix << '\n';
+      } else if (Arg == "--ignore-libllvm") {
+        LinkDyLib = false;
+        LinkMode = BuiltSharedLibs ? LinkModeShared : LinkModeAuto;
+      } else if (Arg == "--link-shared") {
+        LinkMode = LinkModeShared;
+      } else if (Arg == "--link-static") {
+        LinkMode = LinkModeStatic;
+      } else if (Arg == "--help") {
+        usage(false);
+      } else {
+        usage();
+      }
+    } else {
+      Components.push_back(Arg);
+    }
+  }
+
+  if (!HasAnyOption)
+    usage();
+
+  if (LinkMode == LinkModeShared && !DyLibExists && !BuiltSharedLibs) {
+    WithColor::error(errs(), "llvm-config") << DyLibName << " is missing\n";
+    return 1;
+  }
+
+  if (PrintLibs || PrintLibNames || PrintLibFiles || PrintSystemLibs ||
+      PrintSharedMode) {
+
+    if (PrintSharedMode && BuiltSharedLibs) {
+      OS << "shared\n";
+      return 0;
+    }
+
+    // If no components were specified, default to "all".
+    if (Components.empty())
+      Components.push_back("all");
+
+    // Construct the list of all the required libraries.
+    std::function<std::string(const StringRef &)>
+        GetComponentLibraryPathFunction = [&](const StringRef &Name) {
+          return GetComponentLibraryPath(Name, LinkMode == LinkModeShared);
+        };
+    std::vector<std::string> MissingLibs;
+    std::vector<std::string> RequiredLibs = ComputeLibsForComponents(
+        Components,
+        /*IncludeNonInstalled=*/IsInDevelopmentTree, false,
+        &GetComponentLibraryPathFunction, &MissingLibs, DirSep);
+    if (!MissingLibs.empty()) {
+      switch (LinkMode) {
+      case LinkModeShared:
+        if (LinkDyLib && !BuiltSharedLibs)
+          break;
+        // Using component shared libraries.
+        for (auto &Lib : MissingLibs)
+          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
+        return 1;
+      case LinkModeAuto:
+        if (DyLibExists) {
+          LinkMode = LinkModeShared;
+          break;
+        }
+        WithColor::error(errs(), "llvm-config")
+            << "component libraries and shared library\n\n";
+        [[fallthrough]];
+      case LinkModeStatic:
+        for (auto &Lib : MissingLibs)
+          WithColor::error(errs(), "llvm-config") << "missing: " << Lib << "\n";
+        return 1;
+      }
+    } else if (LinkMode == LinkModeAuto) {
+      LinkMode = LinkModeStatic;
+    }
+
+    if (PrintSharedMode) {
+      std::unordered_set<std::string> FullDyLibComponents;
+      std::vector<std::string> DyLibComponents =
+          GetAllDyLibComponents(IsInDevelopmentTree, false, DirSep);
+
+      for (auto &Component : DyLibComponents) {
+        FullDyLibComponents.insert(Component);
+      }
+      DyLibComponents.clear();
+
+      for (auto &Lib : RequiredLibs) {
+        if (!FullDyLibComponents.count(Lib)) {
+          OS << "static\n";
+          return 0;
+        }
+      }
+      FullDyLibComponents.clear();
+
+      if (LinkMode == LinkModeShared) {
+        OS << "shared\n";
+        return 0;
+      } else {
+        OS << "static\n";
+        return 0;
+      }
+    }
+
+    if (PrintLibs || PrintLibNames || PrintLibFiles) {
+
+      auto PrintForLib = [&](const StringRef &Lib) {
+        const bool Shared = LinkMode == LinkModeShared;
+        if (PrintLibNames) {
+          OS << GetComponentLibraryFileName(Lib, Shared);
+        } else if (PrintLibFiles) {
+          OS << GetComponentLibraryPath(Lib, Shared);
+        } else if (PrintLibs) {
+          // On Windows, output full path to library without parameters.
+          // Elsewhere, if this is a typical library name, include it using -l.
+          if (HostTriple.isWindowsMSVCEnvironment()) {
+            OS << GetComponentLibraryPath(Lib, Shared);
+          } else {
+            StringRef LibName;
+            if (GetComponentLibraryNameSlice(Lib, LibName)) {
+              // Extract library name (remove prefix and suffix).
+              OS << "-l" << LibName;
+            } else {
+              // Lib is already a library name without prefix and suffix.
+              OS << "-l" << Lib;
+            }
+          }
+        }
+      };
+
+      if (LinkMode == LinkModeShared && LinkDyLib) {
+        PrintForLib(DyLibName);
+      } else {
+        for (unsigned i = 0, e = RequiredLibs.size(); i != e; ++i) {
+          auto Lib = RequiredLibs[i];
+          if (i)
+            OS << ' ';
+
+          PrintForLib(Lib);
+        }
+      }
+      OS << '\n';
+    }
+
+    // Print SYSTEM_LIBS after --libs.
+    // FIXME: Each LLVM component may have its dependent system libs.
+    if (PrintSystemLibs) {
+      // Output system libraries only if linking against a static
+      // library (since the shared library links to all system libs
+      // already)
+      OS << (LinkMode == LinkModeStatic ? LLVM_SYSTEM_LIBS : "") << '\n';
+    }
+  } else if (!Components.empty()) {
+    WithColor::error(errs(), "llvm-config")
+        << "components given, but unused\n\n";
+    usage();
+  }
+
+  return 0;
+}
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-openmp-perl.patch
+
+mv llvm-$VERSION-openmp-perl.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/file.list	(revision 40)
@@ -0,0 +1,2 @@
+llvm-16.0.2/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
+llvm-16.0.2/openmp/runtime/cmake/config-ix.cmake
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake	(revision 40)
@@ -0,0 +1,266 @@
+#
+#//===----------------------------------------------------------------------===//
+#//
+#// 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
+#//
+#//===----------------------------------------------------------------------===//
+#
+
+# Try to detect in the system several dependencies required by the different
+# components of libomptarget. These are the dependencies we have:
+#
+# libffi : required to launch target kernels given function and argument
+#          pointers.
+# CUDA : required to control offloading to NVIDIA GPUs.
+# VEOS : required to control offloading to NEC Aurora.
+
+include (FindPackageHandleStandardArgs)
+
+################################################################################
+# Looking for LLVM...
+################################################################################
+
+if (OPENMP_STANDALONE_BUILD)
+  # Complete LLVM package is required for building libomptarget
+  # in an out-of-tree mode.
+  find_package(LLVM REQUIRED)
+  message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
+  message(STATUS "Using LLVM in: ${LLVM_DIR}")
+  list(APPEND LIBOMPTARGET_LLVM_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
+  list(APPEND CMAKE_MODULE_PATH ${LLVM_CMAKE_DIR})
+  include(AddLLVM)
+  if(TARGET omptarget)
+    message(FATAL_ERROR "CMake target 'omptarget' already exists. "
+                        "Use an LLVM installation that doesn't expose its 'omptarget' target.")
+  endif()
+else()
+  # Note that OPENMP_STANDALONE_BUILD is FALSE, when
+  # openmp is built with -DLLVM_ENABLE_RUNTIMES="openmp" vs
+  # -DLLVM_ENABLE_PROJECTS="openmp", but openmp build
+  # is actually done as a standalone project build with many
+  # LLVM CMake variables propagated to it.
+  list(APPEND LIBOMPTARGET_LLVM_INCLUDE_DIRS
+    ${LLVM_MAIN_INCLUDE_DIR} ${LLVM_BINARY_DIR}/include
+    )
+  message(STATUS
+    "Using LLVM include directories: ${LIBOMPTARGET_LLVM_INCLUDE_DIRS}")
+endif()
+
+################################################################################
+# Looking for libffi...
+################################################################################
+#find_package(PkgConfig)
+
+pkg_check_modules(LIBOMPTARGET_SEARCH_LIBFFI QUIET libffi)
+
+find_path (
+  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR
+  NAMES
+    ffi.h
+  HINTS
+    ${LIBOMPTARGET_SEARCH_LIBFFI_INCLUDEDIR}
+    ${LIBOMPTARGET_SEARCH_LIBFFI_INCLUDE_DIRS}
+  PATHS
+    /usr/include
+    /usr/local/include
+    /opt/local/include
+    /sw/include
+    ENV CPATH)
+
+# Don't bother look for the library if the header files were not found.
+if (LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR)
+  find_library (
+      LIBOMPTARGET_DEP_LIBFFI_LIBRARIES
+    NAMES
+      ffi
+    HINTS
+      ${LIBOMPTARGET_SEARCH_LIBFFI_LIBDIR}
+      ${LIBOMPTARGET_SEARCH_LIBFFI_LIBRARY_DIRS}
+    PATHS
+      /usr/lib
+      /usr/local/lib
+      /opt/local/lib
+      /sw/lib
+      ENV LIBRARY_PATH
+      ENV LD_LIBRARY_PATH)
+endif()
+
+set(LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS ${LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIR})
+find_package_handle_standard_args(
+  LIBOMPTARGET_DEP_LIBFFI
+  DEFAULT_MSG
+  LIBOMPTARGET_DEP_LIBFFI_LIBRARIES
+  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS)
+
+mark_as_advanced(
+  LIBOMPTARGET_DEP_LIBFFI_INCLUDE_DIRS
+  LIBOMPTARGET_DEP_LIBFFI_LIBRARIES)
+
+################################################################################
+# Looking for CUDA...
+################################################################################
+if (CUDA_TOOLKIT_ROOT_DIR)
+  set(LIBOMPTARGET_CUDA_TOOLKIT_ROOT_DIR_PRESET TRUE)
+endif()
+find_package(CUDA QUIET)
+
+# Identify any locally installed GPUs to use for testing.
+set(LIBOMPTARGET_DEP_CUDA_ARCH "sm_35")
+
+find_program(LIBOMPTARGET_NVPTX_ARCH NAMES nvptx-arch PATHS ${LLVM_BINARY_DIR}/bin)
+if(LIBOMPTARGET_NVPTX_ARCH)
+  execute_process(COMMAND ${LIBOMPTARGET_NVPTX_ARCH}
+                  OUTPUT_VARIABLE LIBOMPTARGET_NVPTX_ARCH_OUTPUT
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  string(FIND "${LIBOMPTARGET_NVPTX_ARCH_OUTPUT}" "\n" first_arch_string)
+  string(SUBSTRING "${LIBOMPTARGET_NVPTX_ARCH_OUTPUT}" 0 ${first_arch_string}
+         arch_string)
+  if(arch_string)
+    set(LIBOMPTARGET_FOUND_NVIDIA_GPU TRUE)
+    set(LIBOMPTARGET_DEP_CUDA_ARCH "${arch_string}")
+  endif()
+endif()
+
+set(LIBOMPTARGET_DEP_CUDA_FOUND ${CUDA_FOUND})
+set(LIBOMPTARGET_DEP_CUDA_INCLUDE_DIRS ${CUDA_INCLUDE_DIRS})
+
+mark_as_advanced(
+  LIBOMPTARGET_DEP_CUDA_FOUND
+  LIBOMPTARGET_DEP_CUDA_INCLUDE_DIRS)
+
+################################################################################
+# Looking for CUDA Driver API... (needed for CUDA plugin)
+################################################################################
+
+find_library (
+    LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
+  NAMES
+    cuda
+  PATHS
+    /lib64)
+
+# There is a libcuda.so in lib64/stubs that can be used for linking.
+if (NOT LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES AND CUDA_FOUND)
+  get_filename_component(CUDA_LIBDIR "${CUDA_cudart_static_LIBRARY}" DIRECTORY)
+  find_library(
+      LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
+    NAMES
+      cuda
+    HINTS
+      "${CUDA_LIBDIR}/stubs")
+endif()
+
+find_package_handle_standard_args(
+  LIBOMPTARGET_DEP_CUDA_DRIVER
+  DEFAULT_MSG
+  LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES)
+
+mark_as_advanced(LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES)
+
+################################################################################
+# Looking for AMD GPUs...
+################################################################################
+
+find_program(LIBOMPTARGET_AMDGPU_ARCH NAMES amdgpu-arch PATHS ${LLVM_BINARY_DIR}/bin)
+if(LIBOMPTARGET_AMDGPU_ARCH)
+  execute_process(COMMAND ${LIBOMPTARGET_AMDGPU_ARCH}
+                  OUTPUT_VARIABLE LIBOMPTARGET_AMDGPU_ARCH_OUTPUT
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  string(FIND "${LIBOMPTARGET_AMDGPU_ARCH_OUTPUT}" "\n" first_arch_string)
+  string(SUBSTRING "${LIBOMPTARGET_AMDGPU_ARCH_OUTPUT}" 0 ${first_arch_string}
+         arch_string)
+  if(arch_string)
+    set(LIBOMPTARGET_FOUND_AMDGPU_GPU TRUE)
+    set(LIBOMPTARGET_DEP_AMDGPU_ARCH "${arch_string}")
+  endif()
+endif()
+
+
+################################################################################
+# Looking for VEO...
+################################################################################
+
+find_path (
+  LIBOMPTARGET_DEP_VEO_INCLUDE_DIR
+  NAMES
+    ve_offload.h
+  PATHS
+    /usr/include
+    /usr/local/include
+    /opt/local/include
+    /sw/include
+    /opt/nec/ve/veos/include
+    ENV CPATH
+  PATH_SUFFIXES
+    libveo)
+
+find_library (
+  LIBOMPTARGET_DEP_VEO_LIBRARIES
+  NAMES
+    veo
+  PATHS
+    /usr/lib
+    /usr/local/lib
+    /opt/local/lib
+    /sw/lib
+    /opt/nec/ve/veos/lib64
+    ENV LIBRARY_PATH
+    ENV LD_LIBRARY_PATH)
+
+find_library(
+  LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES
+  NAMES
+    veosinfo
+  PATHS
+    /usr/lib
+    /usr/local/lib
+    /opt/local/lib
+    /sw/lib
+    /opt/nec/ve/veos/lib64
+    ENV LIBRARY_PATH
+    ENV LD_LIBRARY_PATH)
+
+set(LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS ${LIBOMPTARGET_DEP_VEO_INCLUDE_DIR})
+find_package_handle_standard_args(
+  LIBOMPTARGET_DEP_VEO
+  DEFAULT_MSG
+  LIBOMPTARGET_DEP_VEO_LIBRARIES
+  LIBOMPTARGET_DEP_VEOSINFO_LIBRARIES
+  LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS)
+
+mark_as_advanced(
+  LIBOMPTARGET_DEP_VEO_FOUND
+  LIBOMPTARGET_DEP_VEO_INCLUDE_DIRS)
+
+# Looking for CUDA libdevice subdirectory
+#
+# Special case for Debian/Ubuntu to have nvidia-cuda-toolkit work
+# out of the box. More info on http://bugs.debian.org/882505
+################################################################################
+
+set(LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR nvvm/libdevice)
+
+# Don't alter CUDA_TOOLKIT_ROOT_DIR if the user specified it, if a value was
+# already cached for it, or if it already has libdevice.  Otherwise, on
+# Debian/Ubuntu, look where the nvidia-cuda-toolkit package normally installs
+# libdevice.
+if (NOT LIBOMPTARGET_CUDA_TOOLKIT_ROOT_DIR_PRESET AND
+    NOT EXISTS
+      "${CUDA_TOOLKIT_ROOT_DIR}/${LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR}")
+  find_program(LSB_RELEASE lsb_release)
+  if (LSB_RELEASE)
+    execute_process(COMMAND ${LSB_RELEASE} -is
+      OUTPUT_VARIABLE LSB_RELEASE_ID
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+    set(candidate_dir /usr/lib/cuda)
+    if ((LSB_RELEASE_ID STREQUAL "Debian" OR LSB_RELEASE_ID STREQUAL "Ubuntu")
+        AND EXISTS "${candidate_dir}/${LIBOMPTARGET_CUDA_LIBDEVICE_SUBDIR}")
+      set(CUDA_TOOLKIT_ROOT_DIR "${candidate_dir}" CACHE PATH
+          "Toolkit location." FORCE)
+    endif()
+  endif()
+endif()
+
+set(OPENMP_PTHREAD_LIB ${LLVM_PTHREAD_LIB})
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/runtime/cmake/config-ix.cmake
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/runtime/cmake/config-ix.cmake	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-openmp-perl-patch/llvm-16.0.2-new/openmp/runtime/cmake/config-ix.cmake	(revision 40)
@@ -0,0 +1,371 @@
+#
+#//===----------------------------------------------------------------------===//
+#//
+#// 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
+#//
+#//===----------------------------------------------------------------------===//
+#
+
+include(CheckCCompilerFlag)
+include(CheckCSourceCompiles)
+include(CheckCXXSourceCompiles)
+include(CheckCXXCompilerFlag)
+include(CheckIncludeFile)
+include(CheckLibraryExists)
+include(CheckIncludeFiles)
+include(CheckSymbolExists)
+include(LibompCheckLinkerFlag)
+include(LibompCheckFortranFlag)
+
+# Check for versioned symbols
+function(libomp_check_version_symbols retval)
+  set(source_code
+    "#include <stdio.h>
+    void func1() { printf(\"Hello\"); }
+    void func2() { printf(\"World\"); }
+    __asm__(\".symver func1, func@VER1\");
+    __asm__(\".symver func2, func@VER2\");
+    int main(void) {
+      func1();
+      func2();
+      return 0;
+    }")
+  set(version_script_source "VER1 { }; VER2 { } VER1;")
+  file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt "${version_script_source}")
+  set(CMAKE_REQUIRED_FLAGS -Wl,--version-script=${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt)
+  check_c_source_compiles("${source_code}" ${retval})
+  set(${retval} ${${retval}} PARENT_SCOPE)
+  file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/__version_script.txt)
+endfunction()
+
+# Includes the architecture flag in both compile and link phase
+function(libomp_check_architecture_flag flag retval)
+  set(CMAKE_REQUIRED_FLAGS "${flag}")
+  check_c_compiler_flag("${flag}" ${retval})
+  set(${retval} ${${retval}} PARENT_SCOPE)
+endfunction()
+
+# Checking CXX, Linker Flags
+
+# GCC silently accepts any -Wno-<foo> option, but warns about those options
+# being unrecognized only if the compilation triggers other warnings to be
+# printed. Therefore, check for whether the compiler supports options in the
+# form -W<foo>, and if supported, add the corresponding -Wno-<foo> option.
+
+check_cxx_compiler_flag(-fno-exceptions LIBOMP_HAVE_FNO_EXCEPTIONS_FLAG)
+check_cxx_compiler_flag(-fno-rtti LIBOMP_HAVE_FNO_RTTI_FLAG)
+check_cxx_compiler_flag(-Wclass-memaccess LIBOMP_HAVE_WCLASS_MEMACCESS_FLAG)
+check_cxx_compiler_flag(-Wcovered-switch-default LIBOMP_HAVE_WCOVERED_SWITCH_DEFAULT_FLAG)
+check_cxx_compiler_flag(-Wframe-address LIBOMP_HAVE_WFRAME_ADDRESS_FLAG)
+check_cxx_compiler_flag(-Wstrict-aliasing LIBOMP_HAVE_WSTRICT_ALIASING_FLAG)
+check_cxx_compiler_flag(-Wstringop-overflow=0 LIBOMP_HAVE_WSTRINGOP_OVERFLOW_FLAG)
+check_cxx_compiler_flag(-Wstringop-truncation LIBOMP_HAVE_WSTRINGOP_TRUNCATION_FLAG)
+check_cxx_compiler_flag(-Wswitch LIBOMP_HAVE_WSWITCH_FLAG)
+check_cxx_compiler_flag(-Wuninitialized LIBOMP_HAVE_WUNINITIALIZED_FLAG)
+check_cxx_compiler_flag(-Wreturn-type-c-linkage LIBOMP_HAVE_WRETURN_TYPE_C_LINKAGE_FLAG)
+check_cxx_compiler_flag(-Wcast-qual LIBOMP_HAVE_WCAST_QUAL_FLAG)
+check_cxx_compiler_flag(-Wint-to-void-pointer-cast LIBOMP_HAVE_WINT_TO_VOID_POINTER_CAST_FLAG)
+# check_cxx_compiler_flag(-Wconversion LIBOMP_HAVE_WCONVERSION_FLAG)
+check_cxx_compiler_flag(-msse2 LIBOMP_HAVE_MSSE2_FLAG)
+check_cxx_compiler_flag(-ftls-model=initial-exec LIBOMP_HAVE_FTLS_MODEL_FLAG)
+libomp_check_architecture_flag(-mmic LIBOMP_HAVE_MMIC_FLAG)
+libomp_check_architecture_flag(-m32 LIBOMP_HAVE_M32_FLAG)
+if(WIN32)
+  if(MSVC)
+    # Check Windows MSVC style flags.
+    check_cxx_compiler_flag(/EHsc LIBOMP_HAVE_EHSC_FLAG)
+    check_cxx_compiler_flag(/GS LIBOMP_HAVE_GS_FLAG)
+    check_cxx_compiler_flag(/Oy- LIBOMP_HAVE_Oy__FLAG)
+    check_cxx_compiler_flag(/arch:SSE2 LIBOMP_HAVE_ARCH_SSE2_FLAG)
+    check_cxx_compiler_flag(/Qsafeseh LIBOMP_HAVE_QSAFESEH_FLAG)
+  endif()
+  check_cxx_compiler_flag(-mrtm LIBOMP_HAVE_MRTM_FLAG)
+  # It is difficult to create a dummy masm assembly file
+  # and then check the MASM assembler to see if these flags exist and work,
+  # so we assume they do for Windows.
+  set(LIBOMP_HAVE_SAFESEH_MASM_FLAG TRUE)
+  set(LIBOMP_HAVE_COFF_MASM_FLAG TRUE)
+  # Change Windows flags /MDx to /MTx
+  foreach(libomp_lang IN ITEMS C CXX)
+    foreach(libomp_btype IN ITEMS DEBUG RELWITHDEBINFO RELEASE MINSIZEREL)
+      string(REPLACE "/MD" "/MT"
+        CMAKE_${libomp_lang}_FLAGS_${libomp_btype}
+        "${CMAKE_${libomp_lang}_FLAGS_${libomp_btype}}"
+      )
+    endforeach()
+  endforeach()
+else()
+  # It is difficult to create a dummy assembly file that compiles into an
+  # executable for every architecture and then check the C compiler to
+  # see if -x assembler-with-cpp exists and works, so we assume it does for non-Windows.
+  set(LIBOMP_HAVE_X_ASSEMBLER_WITH_CPP_FLAG TRUE)
+endif()
+if(${LIBOMP_FORTRAN_MODULES})
+  libomp_check_fortran_flag(-m32 LIBOMP_HAVE_M32_FORTRAN_FLAG)
+endif()
+
+# Check for Unix shared memory
+check_symbol_exists(shm_open "sys/mman.h" LIBOMP_HAVE_SHM_OPEN_NO_LRT)
+if (NOT LIBOMP_HAVE_SHM_OPEN_NO_LRT)
+  set(CMAKE_REQUIRED_LIBRARIES -lrt)
+  check_symbol_exists(shm_open "sys/mman.h" LIBOMP_HAVE_SHM_OPEN_WITH_LRT)
+  set(CMAKE_REQUIRED_LIBRARIES)
+endif()
+
+# Check for aligned memory allocator function
+check_include_file(xmmintrin.h LIBOMP_HAVE_XMMINTRIN_H)
+set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+if (LIBOMP_HAVE_XMMINTRIN_H)
+  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -DLIBOMP_HAVE_XMMINTRIN_H")
+endif()
+set(source_code "// check for _mm_malloc
+    #ifdef LIBOMP_HAVE_XMMINTRIN_H
+    #include <xmmintrin.h>
+    #endif
+    int main() { void *ptr = _mm_malloc(sizeof(int) * 1000, 64); _mm_free(ptr); return 0; }")
+check_cxx_source_compiles("${source_code}" LIBOMP_HAVE__MM_MALLOC)
+set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+check_symbol_exists(aligned_alloc "stdlib.h" LIBOMP_HAVE_ALIGNED_ALLOC)
+check_symbol_exists(posix_memalign "stdlib.h" LIBOMP_HAVE_POSIX_MEMALIGN)
+check_symbol_exists(_aligned_malloc "malloc.h" LIBOMP_HAVE__ALIGNED_MALLOC)
+
+# Check linker flags
+if(WIN32)
+  libomp_check_linker_flag(/SAFESEH LIBOMP_HAVE_SAFESEH_FLAG)
+elseif(NOT APPLE)
+  libomp_check_linker_flag(-Wl,-x LIBOMP_HAVE_X_FLAG)
+  libomp_check_linker_flag(-Wl,--as-needed LIBOMP_HAVE_AS_NEEDED_FLAG)
+  libomp_check_linker_flag("-Wl,--version-script=${LIBOMP_SRC_DIR}/exports_test_so.txt" LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
+  libomp_check_linker_flag(-static-libgcc LIBOMP_HAVE_STATIC_LIBGCC_FLAG)
+  libomp_check_linker_flag(-Wl,-z,noexecstack LIBOMP_HAVE_Z_NOEXECSTACK_FLAG)
+endif()
+
+# Check Intel(R) C Compiler specific flags
+if(CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM")
+  check_cxx_compiler_flag(/Qlong_double LIBOMP_HAVE_LONG_DOUBLE_FLAG)
+  check_cxx_compiler_flag(/Qdiag-disable:177 LIBOMP_HAVE_DIAG_DISABLE_177_FLAG)
+  check_cxx_compiler_flag(/Qinline-min-size=1 LIBOMP_HAVE_INLINE_MIN_SIZE_FLAG)
+  check_cxx_compiler_flag(-Qoption,cpp,--extended_float_types LIBOMP_HAVE_EXTENDED_FLOAT_TYPES_FLAG)
+  check_cxx_compiler_flag(-falign-stack=maintain-16-byte LIBOMP_HAVE_FALIGN_STACK_FLAG)
+  check_cxx_compiler_flag("-opt-streaming-stores never" LIBOMP_HAVE_OPT_STREAMING_STORES_FLAG)
+  libomp_check_linker_flag(-static-intel LIBOMP_HAVE_STATIC_INTEL_FLAG)
+  libomp_check_linker_flag(-no-intel-extensions LIBOMP_HAVE_NO_INTEL_EXTENSIONS_FLAG)
+  check_library_exists(irc_pic _intel_fast_memcpy "" LIBOMP_HAVE_IRC_PIC_LIBRARY)
+endif()
+
+# Checking Threading requirements
+find_package(Threads REQUIRED)
+if(WIN32)
+  if(NOT CMAKE_USE_WIN32_THREADS_INIT)
+    libomp_error_say("Need Win32 thread interface on Windows.")
+  endif()
+else()
+  if(NOT CMAKE_USE_PTHREADS_INIT)
+    libomp_error_say("Need pthread interface on Unix-like systems.")
+  endif()
+endif()
+
+# Checking for x86-specific waitpkg and rtm attribute and intrinsics
+if (IA32 OR INTEL64)
+  check_include_file(immintrin.h LIBOMP_HAVE_IMMINTRIN_H)
+  if (NOT LIBOMP_HAVE_IMMINTRIN_H)
+    check_include_file(intrin.h LIBOMP_HAVE_INTRIN_H)
+  endif()
+  check_cxx_source_compiles("__attribute__((target(\"rtm\")))
+                             int main() {return 0;}" LIBOMP_HAVE_ATTRIBUTE_RTM)
+  check_cxx_source_compiles("__attribute__((target(\"waitpkg\")))
+                            int main() {return 0;}" LIBOMP_HAVE_ATTRIBUTE_WAITPKG)
+  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DIMMINTRIN_H LIBOMP_HAVE_IMMINTRIN_H)
+  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DINTRIN_H LIBOMP_HAVE_INTRIN_H)
+  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DATTRIBUTE_WAITPKG LIBOMP_HAVE_ATTRIBUTE_WAITPKG)
+  libomp_append(CMAKE_REQUIRED_DEFINITIONS -DATTRIBUTE_RTM LIBOMP_HAVE_ATTRIBUTE_RTM)
+  set(source_code "// check for attribute and wait pkg intrinsics
+      #ifdef IMMINTRIN_H
+      #include <immintrin.h>
+      #endif
+      #ifdef INTRIN_H
+      #include <intrin.h>
+      #endif
+      #ifdef ATTRIBUTE_WAITPKG
+      __attribute__((target(\"waitpkg\")))
+      #endif
+      static inline int __kmp_umwait(unsigned hint, unsigned long long counter) {
+        return _umwait(hint, counter);
+      }
+      int main() { int a = __kmp_umwait(0, 1000); return a; }")
+  check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_WAITPKG_INTRINSICS)
+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  if (LIBOMP_HAVE_MRTM_FLAG)
+    set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mrtm")
+  endif()
+  set(source_code "// check for attribute rtm and rtm intrinsics
+      #ifdef IMMINTRIN_H
+      #include <immintrin.h>
+      #endif
+      #ifdef INTRIN_H
+      #include <intrin.h>
+      #endif
+      #ifdef ATTRIBUTE_RTM
+      __attribute__((target(\"rtm\")))
+      #endif
+      static inline int __kmp_xbegin() {
+        return _xbegin();
+      }
+      int main() { int a = __kmp_xbegin(); return a; }")
+  check_cxx_source_compiles("${source_code}" LIBOMP_HAVE_RTM_INTRINSICS)
+  set(CMAKE_REQUIRED_DEFINITIONS)
+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
+endif()
+
+# Find perl executable
+# Perl is used to create omp.h (and other headers) along with kmp_i18n_id.inc and kmp_i18n_default.inc
+#find_package(Perl REQUIRED)
+# The perl scripts take the --os=/--arch= flags which expect a certain format for operating systems and arch's.
+# Until the perl scripts are removed, the most portable way to handle this is to have all operating systems that
+# are neither Windows nor Mac (Most Unix flavors) be considered lin to the perl scripts.  This is rooted
+# in that all the Perl scripts check the operating system and will fail if it isn't "valid".  This
+# temporary solution lets us avoid trying to enumerate all the possible OS values inside the Perl modules.
+if(WIN32)
+  set(LIBOMP_PERL_SCRIPT_OS win)
+elseif(APPLE)
+  set(LIBOMP_PERL_SCRIPT_OS mac)
+else()
+  set(LIBOMP_PERL_SCRIPT_OS lin)
+endif()
+if(IA32)
+  set(LIBOMP_PERL_SCRIPT_ARCH 32)
+elseif(MIC)
+  set(LIBOMP_PERL_SCRIPT_ARCH mic)
+elseif(INTEL64)
+  set(LIBOMP_PERL_SCRIPT_ARCH 32e)
+else()
+  set(LIBOMP_PERL_SCRIPT_ARCH ${LIBOMP_ARCH})
+endif()
+
+# Checking features
+# Check if version symbol assembler directives are supported
+if (LIBOMP_HAVE_VERSION_SCRIPT_FLAG)
+  libomp_check_version_symbols(LIBOMP_HAVE_VERSION_SYMBOLS)
+else()
+  set(LIBOMP_HAVE_VERSION_SYMBOLS FALSE)
+endif()
+
+# Check if quad precision types are available
+if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+  set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
+elseif(CMAKE_C_COMPILER_ID STREQUAL "Intel" OR CMAKE_C_COMPILER_ID STREQUAL "IntelLLVM")
+  if(LIBOMP_HAVE_EXTENDED_FLOAT_TYPES_FLAG)
+    set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
+  else()
+    set(LIBOMP_HAVE_QUAD_PRECISION TRUE)
+  endif()
+else()
+  set(LIBOMP_HAVE_QUAD_PRECISION FALSE)
+endif()
+
+# Check if adaptive locks are available
+if((${IA32} OR ${INTEL64}) AND NOT MSVC)
+  set(LIBOMP_HAVE_ADAPTIVE_LOCKS TRUE)
+else()
+  set(LIBOMP_HAVE_ADAPTIVE_LOCKS FALSE)
+endif()
+
+# Check if stats-gathering is available
+if(${LIBOMP_STATS})
+  check_c_source_compiles(
+     "__thread int x;
+     int main(int argc, char** argv)
+     { x = argc; return x; }"
+     LIBOMP_HAVE___THREAD)
+  check_c_source_compiles(
+     "int main(int argc, char** argv)
+     { unsigned long long t = __builtin_readcyclecounter(); return 0; }"
+     LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER)
+  if(NOT LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER)
+    if(${IA32} OR ${INTEL64} OR ${MIC})
+      check_include_file(x86intrin.h LIBOMP_HAVE_X86INTRIN_H)
+      libomp_append(CMAKE_REQUIRED_DEFINITIONS -DLIBOMP_HAVE_X86INTRIN_H LIBOMP_HAVE_X86INTRIN_H)
+      check_c_source_compiles(
+        "#ifdef LIBOMP_HAVE_X86INTRIN_H
+         # include <x86intrin.h>
+         #endif
+         int main(int argc, char** argv) { unsigned long long t = __rdtsc(); return 0; }" LIBOMP_HAVE___RDTSC)
+      set(CMAKE_REQUIRED_DEFINITIONS)
+    endif()
+  endif()
+  if(LIBOMP_HAVE___THREAD AND (LIBOMP_HAVE___RDTSC OR LIBOMP_HAVE___BUILTIN_READCYCLECOUNTER))
+    set(LIBOMP_HAVE_STATS TRUE)
+  else()
+    set(LIBOMP_HAVE_STATS FALSE)
+  endif()
+endif()
+
+# Check if OMPT support is available
+# Currently, __builtin_frame_address() is required for OMPT
+# Weak attribute is required for Unices (except Darwin), LIBPSAPI is used for Windows
+check_c_source_compiles("int main(int argc, char** argv) {
+  void* p = __builtin_frame_address(0);
+  return 0;}" LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
+check_c_source_compiles("__attribute__ ((weak)) int foo(int a) { return a*a; }
+  int main(int argc, char** argv) {
+  return foo(argc);}" LIBOMP_HAVE_WEAK_ATTRIBUTE)
+set(CMAKE_REQUIRED_LIBRARIES psapi)
+check_c_source_compiles("#include <windows.h>
+  #include <psapi.h>
+  int main(int artc, char** argv) {
+    return EnumProcessModules(NULL, NULL, 0, NULL);
+  }" LIBOMP_HAVE_PSAPI)
+set(CMAKE_REQUIRED_LIBRARIES)
+if(NOT LIBOMP_HAVE___BUILTIN_FRAME_ADDRESS)
+  set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
+else()
+  if( # hardware architecture supported?
+     ((LIBOMP_ARCH STREQUAL x86_64) OR
+      (LIBOMP_ARCH STREQUAL i386) OR
+#      (LIBOMP_ARCH STREQUAL arm) OR
+      (LIBOMP_ARCH STREQUAL aarch64) OR
+      (LIBOMP_ARCH STREQUAL aarch64_a64fx) OR
+      (LIBOMP_ARCH STREQUAL ppc64le) OR
+      (LIBOMP_ARCH STREQUAL ppc64) OR
+      (LIBOMP_ARCH STREQUAL riscv64) OR
+      (LIBOMP_ARCH STREQUAL loongarch64))
+     AND # OS supported?
+     ((WIN32 AND LIBOMP_HAVE_PSAPI) OR APPLE OR (NOT WIN32 AND LIBOMP_HAVE_WEAK_ATTRIBUTE)))
+    set(LIBOMP_HAVE_OMPT_SUPPORT TRUE)
+  else()
+    set(LIBOMP_HAVE_OMPT_SUPPORT FALSE)
+  endif()
+endif()
+
+set(LIBOMP_HAVE_OMPT_SUPPORT ${LIBOMP_HAVE_OMPT_SUPPORT} PARENT_SCOPE)
+
+# Check if HWLOC support is available
+if(${LIBOMP_USE_HWLOC})
+  find_path(LIBOMP_HWLOC_INCLUDE_DIR NAMES hwloc.h HINTS ${LIBOMP_HWLOC_INSTALL_DIR} PATH_SUFFIXES include)
+  set(CMAKE_REQUIRED_INCLUDES ${LIBOMP_HWLOC_INCLUDE_DIR})
+  check_include_file(hwloc.h LIBOMP_HAVE_HWLOC_H)
+  set(CMAKE_REQUIRED_INCLUDES)
+  find_library(LIBOMP_HWLOC_LIBRARY
+    NAMES hwloc libhwloc
+    HINTS ${LIBOMP_HWLOC_INSTALL_DIR}/lib)
+  if(LIBOMP_HWLOC_LIBRARY)
+    check_library_exists(${LIBOMP_HWLOC_LIBRARY} hwloc_topology_init
+      ${LIBOMP_HWLOC_INSTALL_DIR}/lib LIBOMP_HAVE_LIBHWLOC)
+    get_filename_component(LIBOMP_HWLOC_LIBRARY_DIR ${LIBOMP_HWLOC_LIBRARY} PATH)
+  endif()
+  if(LIBOMP_HAVE_HWLOC_H AND LIBOMP_HAVE_LIBHWLOC AND LIBOMP_HWLOC_LIBRARY)
+    set(LIBOMP_HAVE_HWLOC TRUE)
+  else()
+    set(LIBOMP_HAVE_HWLOC FALSE)
+    libomp_say("Could not find hwloc")
+  endif()
+endif()
+
+# Check if ThreadSanitizer support is available
+if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux" AND ${INTEL64})
+  set(LIBOMP_HAVE_TSAN_SUPPORT TRUE)
+else()
+  set(LIBOMP_HAVE_TSAN_SUPPORT FALSE)
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-polly-hack.patch
+
+mv llvm-$VERSION-polly-hack.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/polly/lib/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/llvm-16.0.2-new/polly/lib/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/llvm-16.0.2-new/polly/lib/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-polly-hack-patch/llvm-16.0.2-new/polly/lib/CMakeLists.txt	(revision 40)
@@ -0,0 +1,177 @@
+set(LLVM_NO_RTTI 1)
+
+set(ISL_CODEGEN_FILES
+    CodeGen/IslAst.cpp
+    CodeGen/IslExprBuilder.cpp
+    CodeGen/IslNodeBuilder.cpp
+    CodeGen/CodeGeneration.cpp)
+
+if (GPU_CODEGEN)
+  set (GPGPU_CODEGEN_FILES
+       CodeGen/PPCGCodeGeneration.cpp
+       CodeGen/ManagedMemoryRewrite.cpp
+       )
+endif (GPU_CODEGEN)
+
+# Compile ISL into a separate library.
+add_subdirectory(External)
+
+set(POLLY_HEADER_FILES)
+if (MSVC_IDE OR XCODE)
+  file(GLOB_RECURSE POLLY_HEADER_FILES "${POLLY_SOURCE_DIR}/include/polly/*.h")
+endif ()
+
+set(POLLY_COMPONENTS
+    Support
+    Core
+    ScalarOpts
+    InstCombine
+    TransformUtils
+    Analysis
+    ipo
+    MC
+    Passes
+    Linker
+    IRReader
+    Analysis
+    # The libraries below are required for darwin: http://PR26392
+    BitReader
+    MCParser
+    Object
+    ProfileData
+    Target
+    TargetParser
+    Vectorize
+)
+
+# Polly-ACC requires the NVPTX backend to work. Ask LLVM about its libraries.
+if (GPU_CODEGEN)
+  # This call emits an error if they NVPTX backend is not enable.
+  list(APPEND POLLY_COMPONENTS NVPTX)
+endif ()
+
+# Use an object-library to add the same files to multiple libs without requiring
+# the sources them to be recompiled for each of them.
+add_llvm_pass_plugin(Polly
+  NO_MODULE
+  SUBPROJECT Polly
+  Analysis/DependenceInfo.cpp
+  Analysis/PolyhedralInfo.cpp
+  Analysis/ScopDetection.cpp
+  Analysis/ScopDetectionDiagnostic.cpp
+  Analysis/ScopInfo.cpp
+  Analysis/ScopBuilder.cpp
+  Analysis/ScopGraphPrinter.cpp
+  Analysis/ScopPass.cpp
+  Analysis/PruneUnprofitable.cpp
+  CodeGen/BlockGenerators.cpp
+  ${ISL_CODEGEN_FILES}
+  CodeGen/LoopGenerators.cpp
+  CodeGen/LoopGeneratorsGOMP.cpp
+  CodeGen/LoopGeneratorsKMP.cpp
+  CodeGen/IRBuilder.cpp
+  CodeGen/Utils.cpp
+  CodeGen/RuntimeDebugBuilder.cpp
+  CodeGen/CodegenCleanup.cpp
+  CodeGen/PerfMonitor.cpp
+  ${GPGPU_CODEGEN_FILES}
+  Exchange/JSONExporter.cpp
+  Support/GICHelper.cpp
+  Support/SCEVAffinator.cpp
+  Support/SCEVValidator.cpp
+  Support/RegisterPasses.cpp
+  Support/ScopHelper.cpp
+  Support/ScopLocation.cpp
+  Support/ISLTools.cpp
+  Support/DumpModulePass.cpp
+  Support/DumpFunctionPass.cpp
+  Support/VirtualInstruction.cpp
+  Transform/Canonicalization.cpp
+  Transform/CodePreparation.cpp
+  Transform/DeadCodeElimination.cpp
+  Transform/ScheduleOptimizer.cpp
+  Transform/ScheduleTreeTransform.cpp
+  Transform/FlattenSchedule.cpp
+  Transform/FlattenAlgo.cpp
+  Transform/ForwardOpTree.cpp
+  Transform/DeLICM.cpp
+  Transform/ZoneAlgo.cpp
+  Transform/Simplify.cpp
+  Transform/MaximalStaticExpansion.cpp
+  Transform/ScopInliner.cpp
+  Transform/ManualOptimizer.cpp
+  Transform/MatmulOptimizer.cpp
+  ${POLLY_HEADER_FILES}
+
+  LINK_COMPONENTS
+  ${POLLY_COMPONENTS}
+  )
+set_target_properties(obj.Polly PROPERTIES FOLDER "Polly")
+set_target_properties(Polly PROPERTIES FOLDER "Polly")
+
+if (MSVC_IDE OR XCODE)
+  # Configure source groups for Polly source files. By default, in the IDE there
+  # will be a source and include folder. In the source folder will be all the
+  # source files in a flat list, and in the include folder will be all the
+  # headers in a flat list. Sets the CMake source_group for each folder such
+  # the organization of the sources and headers in the IDE matches how it is
+  # laid out on disk
+  setup_polly_source_groups(${CMAKE_CURRENT_LIST_DIR}
+    ${CMAKE_CURRENT_LIST_DIR}/../include/polly)
+endif()
+
+# Create the library that can be linked into LLVM's tools and Polly's unittests.
+# It depends on all library it needs, such that with
+# LLVM_POLLY_LINK_INTO_TOOLS=ON, its dependencies like PollyISL are linked as
+# well.
+target_link_libraries(Polly PUBLIC
+  ${ISL_TARGET}
+)
+
+# Additional dependencies for Polly-ACC.
+if (GPU_CODEGEN)
+  target_link_libraries(Polly PUBLIC PollyPPCG)
+endif ()
+
+if (NOT LLVM_LINK_LLVM_DYLIB AND NOT LLVM_POLLY_LINK_INTO_TOOLS)
+    # Polly-ACC requires the NVPTX target to be present in the executable it is linked to
+    # Randomly commented to fix build lol
+    #set_property(TARGET bugpoint APPEND PROPERTY LINK_LIBRARIES LLVMTarget)
+endif ()
+
+# Create a loadable module Polly.so that can be loaded using
+# LLVM's/clang's "-load" option.
+if (WIN32 OR NOT LLVM_ENABLE_PIC)
+  # Add dummy target, either because loadable modules are not supported
+  # as on Windows or because PIC code has been disabled
+  add_custom_target(LLVMPolly)
+  set_target_properties(LLVMPolly PROPERTIES FOLDER "Polly")
+else ()
+  add_polly_loadable_module(LLVMPolly
+    Plugin/Polly.cpp
+    $<TARGET_OBJECTS:obj.Polly>
+  )
+
+  # Only add the dependencies that are not part of LLVM. The latter are assumed
+  # to be already available in the address space the module is loaded into.
+  # Adding them once more would have the effect that both copies try to register
+  # the same command line options, to which LLVM reacts with an error.
+  # If Polly-ACC is enabled, the NVPTX target is also expected to reside in the
+  # hosts. This is not the case for bugpoint. Use LLVM_POLLY_LINK_INTO_TOOLS=ON
+  # instead which will automatically resolve the additional dependencies by
+  # Polly.
+  target_link_libraries(LLVMPolly PUBLIC ${ISL_TARGET})
+  if (GPU_CODEGEN)
+    target_link_libraries(LLVMPolly PUBLIC PollyPPCG)
+  endif ()
+
+  set_target_properties(LLVMPolly
+    PROPERTIES
+    LINKER_LANGUAGE CXX
+    PREFIX "")
+endif ()
+
+if (TARGET intrinsics_gen)
+  # Check if we are building as part of an LLVM build
+  add_dependencies(obj.Polly intrinsics_gen)
+endif()
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-pstl-x32.patch
+
+mv llvm-$VERSION-pstl-x32.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/pstl/CMakeLists.txt
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/llvm-16.0.2-new/pstl/CMakeLists.txt
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/llvm-16.0.2-new/pstl/CMakeLists.txt	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-pstl-x32-patch/llvm-16.0.2-new/pstl/CMakeLists.txt	(revision 40)
@@ -0,0 +1,102 @@
+#===-- CMakeLists.txt ----------------------------------------------------===##
+#
+# 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
+#
+#===----------------------------------------------------------------------===##
+cmake_minimum_required(VERSION 3.13.4)
+
+set(PARALLELSTL_VERSION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/include/pstl/internal/pstl_config.h")
+file(STRINGS "${PARALLELSTL_VERSION_FILE}" PARALLELSTL_VERSION_SOURCE REGEX "#define _PSTL_VERSION .*$")
+string(REGEX REPLACE "#define _PSTL_VERSION (.*)$" "\\1" PARALLELSTL_VERSION_SOURCE "${PARALLELSTL_VERSION_SOURCE}")
+math(EXPR VERSION_MAJOR "(${PARALLELSTL_VERSION_SOURCE} / 1000)")
+math(EXPR VERSION_MINOR "((${PARALLELSTL_VERSION_SOURCE} % 1000) / 10)")
+math(EXPR VERSION_PATCH "(${PARALLELSTL_VERSION_SOURCE} % 10)")
+
+project(ParallelSTL VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH} LANGUAGES CXX)
+
+# Must go below project(..)
+include(GNUInstallDirs)
+
+set(PSTL_PARALLEL_BACKEND "serial" CACHE STRING "Threading backend to use. Valid choices are 'serial', 'omp', and 'tbb'. The default is 'serial'.")
+set(PSTL_HIDE_FROM_ABI_PER_TU OFF CACHE BOOL "Whether to constrain ABI-unstable symbols to each translation unit (basically, mark them with C's static keyword).")
+set(_PSTL_HIDE_FROM_ABI_PER_TU ${PSTL_HIDE_FROM_ABI_PER_TU}) # For __pstl_config_site
+
+if (NOT TBB_DIR)
+    get_filename_component(PSTL_DIR_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
+    string(REPLACE pstl tbb TBB_DIR_NAME ${PSTL_DIR_NAME})
+    if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../${TBB_DIR_NAME}/cmake")
+        get_filename_component(TBB_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../${TBB_DIR_NAME}/cmake" ABSOLUTE)
+    endif()
+endif()
+
+###############################################################################
+# Setup the ParallelSTL library target
+###############################################################################
+add_library(ParallelSTL INTERFACE)
+add_library(pstl::ParallelSTL ALIAS ParallelSTL)
+target_compile_features(ParallelSTL INTERFACE cxx_std_17)
+
+if (PSTL_PARALLEL_BACKEND STREQUAL "serial")
+    message(STATUS "Parallel STL uses the serial backend")
+    set(_PSTL_PAR_BACKEND_SERIAL ON)
+elseif (PSTL_PARALLEL_BACKEND STREQUAL "tbb")
+    find_package(TBB 2018 REQUIRED tbb OPTIONAL_COMPONENTS tbbmalloc)
+    message(STATUS "Parallel STL uses TBB ${TBB_VERSION} (interface version: ${TBB_INTERFACE_VERSION})")
+    target_link_libraries(ParallelSTL INTERFACE TBB::tbb)
+    set(_PSTL_PAR_BACKEND_TBB ON)
+elseif (PSTL_PARALLEL_BACKEND STREQUAL "omp")
+    message(STATUS "Parallel STL uses the omp backend")
+    target_compile_options(ParallelSTL INTERFACE "-fopenmp=libomp")
+    set(_PSTL_PAR_BACKEND_OPENMP ON)
+else()
+    message(FATAL_ERROR "Requested unknown Parallel STL backend '${PSTL_PARALLEL_BACKEND}'.")
+endif()
+
+set(PSTL_GENERATED_HEADERS_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated_headers")
+set(PSTL_CONFIG_SITE_PATH "${PSTL_GENERATED_HEADERS_DIR}/__pstl_config_site")
+configure_file("include/__pstl_config_site.in"
+               "${PSTL_CONFIG_SITE_PATH}"
+               @ONLY)
+
+target_include_directories(ParallelSTL
+    INTERFACE
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
+    $<BUILD_INTERFACE:${PSTL_GENERATED_HEADERS_DIR}>
+    $<INSTALL_INTERFACE:include>)
+
+###############################################################################
+# Setup tests
+###############################################################################
+enable_testing()
+add_subdirectory(test)
+
+###############################################################################
+# Install the target and the associated CMake files
+###############################################################################
+include(CMakePackageConfigHelpers)
+write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake"
+                                 COMPATIBILITY ExactVersion)
+
+configure_file(cmake/ParallelSTLConfig.cmake.in
+               "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
+               @ONLY)
+
+install(TARGETS ParallelSTL
+        EXPORT ParallelSTLTargets)
+install(EXPORT ParallelSTLTargets
+        FILE ParallelSTLTargets.cmake
+        NAMESPACE pstl::
+        DESTINATION lib32/cmake/ParallelSTL)
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfig.cmake"
+              "${CMAKE_CURRENT_BINARY_DIR}/ParallelSTLConfigVersion.cmake"
+        DESTINATION lib32/cmake/ParallelSTL)
+install(DIRECTORY include/
+        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}"
+        PATTERN "*.in" EXCLUDE)
+install(FILES "${PSTL_CONFIG_SITE_PATH}"
+        DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+
+add_custom_target(install-pstl
+                  COMMAND "${CMAKE_COMMAND}" -P "${PROJECT_BINARY_DIR}/cmake_install.cmake" -DCOMPONENT=ParallelSTL)
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-x32-interpreter.patch
+
+mv llvm-$VERSION-x32-interpreter.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/clang/lib/Driver/ToolChains/Linux.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x32-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp	(revision 40)
@@ -0,0 +1,828 @@
+//===--- Linux.h - Linux ToolChain Implementations --------------*- 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "Linux.h"
+#include "Arch/ARM.h"
+#include "Arch/LoongArch.h"
+#include "Arch/Mips.h"
+#include "Arch/PPC.h"
+#include "Arch/RISCV.h"
+#include "CommonArgs.h"
+#include "clang/Config/config.h"
+#include "clang/Driver/Distro.h"
+#include "clang/Driver/Driver.h"
+#include "clang/Driver/Options.h"
+#include "clang/Driver/SanitizerArgs.h"
+#include "llvm/Option/ArgList.h"
+#include "llvm/ProfileData/InstrProf.h"
+#include "llvm/Support/Path.h"
+#include "llvm/Support/ScopedPrinter.h"
+#include "llvm/Support/VirtualFileSystem.h"
+#include <system_error>
+
+using namespace clang::driver;
+using namespace clang::driver::toolchains;
+using namespace clang;
+using namespace llvm::opt;
+
+using tools::addPathIfExists;
+
+/// Get our best guess at the multiarch triple for a target.
+///
+/// Debian-based systems are starting to use a multiarch setup where they use
+/// a target-triple directory in the library and header search paths.
+/// Unfortunately, this triple does not align with the vanilla target triple,
+/// so we provide a rough mapping here.
+std::string Linux::getMultiarchTriple(const Driver &D,
+                                      const llvm::Triple &TargetTriple,
+                                      StringRef SysRoot) const {
+  llvm::Triple::EnvironmentType TargetEnvironment =
+      TargetTriple.getEnvironment();
+  bool IsAndroid = TargetTriple.isAndroid();
+  bool IsMipsR6 = TargetTriple.getSubArch() == llvm::Triple::MipsSubArch_r6;
+  bool IsMipsN32Abi = TargetTriple.getEnvironment() == llvm::Triple::GNUABIN32;
+
+  // For most architectures, just use whatever we have rather than trying to be
+  // clever.
+  switch (TargetTriple.getArch()) {
+  default:
+    break;
+
+  // We use the existence of '/lib/<triple>' as a directory to detect some
+  // common linux triples that don't quite match the Clang triple for both
+  // 32-bit and 64-bit targets. Multiarch fixes its install triples to these
+  // regardless of what the actual target triple is.
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+    if (IsAndroid)
+      return "arm-linux-androideabi";
+    if (TargetEnvironment == llvm::Triple::GNUEABIHF)
+      return "arm-linux-gnueabihf";
+    return "arm-linux-gnueabi";
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb:
+    if (TargetEnvironment == llvm::Triple::GNUEABIHF)
+      return "armeb-linux-gnueabihf";
+    return "armeb-linux-gnueabi";
+  case llvm::Triple::x86:
+    if (IsAndroid)
+      return "i686-linux-android";
+    return "i386-linux-gnu";
+  case llvm::Triple::x86_64:
+    if (IsAndroid)
+      return "x86_64-linux-android";
+    if (TargetEnvironment == llvm::Triple::GNUX32)
+      return "x86_64-linux-gnux32";
+    return "x86_64-linux-gnu";
+  case llvm::Triple::aarch64:
+    if (IsAndroid)
+      return "aarch64-linux-android";
+    return "aarch64-linux-gnu";
+  case llvm::Triple::aarch64_be:
+    return "aarch64_be-linux-gnu";
+
+  case llvm::Triple::m68k:
+    return "m68k-linux-gnu";
+
+  case llvm::Triple::mips:
+    return IsMipsR6 ? "mipsisa32r6-linux-gnu" : "mips-linux-gnu";
+  case llvm::Triple::mipsel:
+    if (IsAndroid)
+      return "mipsel-linux-android";
+    return IsMipsR6 ? "mipsisa32r6el-linux-gnu" : "mipsel-linux-gnu";
+  case llvm::Triple::mips64: {
+    std::string MT = std::string(IsMipsR6 ? "mipsisa64r6" : "mips64") +
+                     "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
+    if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
+      return MT;
+    if (D.getVFS().exists(concat(SysRoot, "/lib/mips64-linux-gnu")))
+      return "mips64-linux-gnu";
+    break;
+  }
+  case llvm::Triple::mips64el: {
+    if (IsAndroid)
+      return "mips64el-linux-android";
+    std::string MT = std::string(IsMipsR6 ? "mipsisa64r6el" : "mips64el") +
+                     "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
+    if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
+      return MT;
+    if (D.getVFS().exists(concat(SysRoot, "/lib/mips64el-linux-gnu")))
+      return "mips64el-linux-gnu";
+    break;
+  }
+  case llvm::Triple::ppc:
+    if (D.getVFS().exists(concat(SysRoot, "/lib/powerpc-linux-gnuspe")))
+      return "powerpc-linux-gnuspe";
+    return "powerpc-linux-gnu";
+  case llvm::Triple::ppcle:
+    return "powerpcle-linux-gnu";
+  case llvm::Triple::ppc64:
+    return "powerpc64-linux-gnu";
+  case llvm::Triple::ppc64le:
+    return "powerpc64le-linux-gnu";
+  case llvm::Triple::riscv64:
+    return "riscv64-linux-gnu";
+  case llvm::Triple::sparc:
+    return "sparc-linux-gnu";
+  case llvm::Triple::sparcv9:
+    return "sparc64-linux-gnu";
+  case llvm::Triple::systemz:
+    return "s390x-linux-gnu";
+  }
+  return TargetTriple.str();
+}
+
+static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
+  if (Triple.isMIPS()) {
+    if (Triple.isAndroid()) {
+      StringRef CPUName;
+      StringRef ABIName;
+      tools::mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
+      if (CPUName == "mips32r6")
+        return "libr6";
+      if (CPUName == "mips32r2")
+        return "libr2";
+    }
+    // lib32 directory has a special meaning on MIPS targets.
+    // It contains N32 ABI binaries. Use this folder if produce
+    // code for N32 ABI only.
+    if (tools::mips::hasMipsAbiArg(Args, "n32"))
+      return "lib32";
+    return Triple.isArch32Bit() ? "lib" : "lib64";
+  }
+
+  // It happens that only x86, PPC and SPARC use the 'lib32' variant of
+  // oslibdir, and using that variant while targeting other architectures causes
+  // problems because the libraries are laid out in shared system roots that
+  // can't cope with a 'lib32' library search path being considered. So we only
+  // enable them when we know we may need it.
+  //
+  // FIXME: This is a bit of a hack. We should really unify this code for
+  // reasoning about oslibdir spellings with the lib dir spellings in the
+  // GCCInstallationDetector, but that is a more significant refactoring.
+  if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32() ||
+      Triple.getArch() == llvm::Triple::sparc)
+    return "lib32";
+
+  if (Triple.getArch() == llvm::Triple::x86_64 && Triple.isX32())
+    return "libx32";
+
+  if (Triple.getArch() == llvm::Triple::riscv32)
+    return "lib32";
+
+  return Triple.isArch32Bit() ? "lib" : "lib64";
+}
+
+Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+    : Generic_ELF(D, Triple, Args) {
+  GCCInstallation.init(Triple, Args);
+  Multilibs = GCCInstallation.getMultilibs();
+  SelectedMultilib = GCCInstallation.getMultilib();
+  llvm::Triple::ArchType Arch = Triple.getArch();
+  std::string SysRoot = computeSysRoot();
+  ToolChain::path_list &PPaths = getProgramPaths();
+
+  Generic_GCC::PushPPaths(PPaths);
+
+  Distro Distro(D.getVFS(), Triple);
+
+  if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("now");
+  }
+
+  if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
+      Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("relro");
+  }
+
+  // Android ARM/AArch64 use max-page-size=4096 to reduce VMA usage. Note, lld
+  // from 11 onwards default max-page-size to 65536 for both ARM and AArch64.
+  if ((Triple.isARM() || Triple.isAArch64()) && Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("max-page-size=4096");
+  }
+
+  if (GCCInstallation.getParentLibPath().contains("opt/rh/"))
+    // With devtoolset on RHEL, we want to add a bin directory that is relative
+    // to the detected gcc install, because if we are using devtoolset gcc then
+    // we want to use other tools from devtoolset (e.g. ld) instead of the
+    // standard system tools.
+    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() +
+                     "/../bin").str());
+
+  if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb)
+    ExtraOpts.push_back("-X");
+
+  const bool IsAndroid = Triple.isAndroid();
+  const bool IsMips = Triple.isMIPS();
+  const bool IsHexagon = Arch == llvm::Triple::hexagon;
+  const bool IsRISCV = Triple.isRISCV();
+  const bool IsCSKY = Triple.isCSKY();
+
+  if (IsCSKY)
+    SysRoot = SysRoot + SelectedMultilib.osSuffix();
+
+  if ((IsMips || IsCSKY) && !SysRoot.empty())
+    ExtraOpts.push_back("--sysroot=" + SysRoot);
+
+  // Do not use 'gnu' hash style for Mips targets because .gnu.hash
+  // and the MIPS ABI require .dynsym to be sorted in different ways.
+  // .gnu.hash needs symbols to be grouped by hash code whereas the MIPS
+  // ABI requires a mapping between the GOT and the symbol table.
+  // Android loader does not support .gnu.hash until API 23.
+  // Hexagon linker/loader does not support .gnu.hash
+  if (!IsMips && !IsHexagon) {
+    if (Distro.IsOpenSUSE() || Distro == Distro::UbuntuLucid ||
+        Distro == Distro::UbuntuJaunty || Distro == Distro::UbuntuKarmic ||
+        (IsAndroid && Triple.isAndroidVersionLT(23)))
+      ExtraOpts.push_back("--hash-style=both");
+    else
+      ExtraOpts.push_back("--hash-style=gnu");
+  }
+
+#ifdef ENABLE_LINKER_BUILD_ID
+  ExtraOpts.push_back("--build-id");
+#endif
+
+  // The selection of paths to try here is designed to match the patterns which
+  // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+  // This was determined by running GCC in a fake filesystem, creating all
+  // possible permutations of these directories, and seeing which ones it added
+  // to the link paths.
+  path_list &Paths = getFilePaths();
+
+  const std::string OSLibDir = std::string(getOSLibDir(Triple, Args));
+  const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot);
+
+  // mips32: Debian multilib, we use /libo32, while in other case, /lib is
+  // used. We need add both libo32 and /lib.
+  if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel) {
+    Generic_GCC::AddMultilibPaths(D, SysRoot, "libo32", MultiarchTriple, Paths);
+    addPathIfExists(D, concat(SysRoot, "/libo32"), Paths);
+    addPathIfExists(D, concat(SysRoot, "/usr/libo32"), Paths);
+  }
+  Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths);
+
+  addPathIfExists(D, concat(SysRoot, "/lib", MultiarchTriple), Paths);
+  addPathIfExists(D, concat(SysRoot, "/lib/..", OSLibDir), Paths);
+
+  if (IsAndroid) {
+    // Android sysroots contain a library directory for each supported OS
+    // version as well as some unversioned libraries in the usual multiarch
+    // directory.
+    addPathIfExists(
+        D,
+        concat(SysRoot, "/usr/lib", MultiarchTriple,
+               llvm::to_string(Triple.getEnvironmentVersion().getMajor())),
+        Paths);
+  }
+
+  addPathIfExists(D, concat(SysRoot, "/usr/lib", MultiarchTriple), Paths);
+  // 64-bit OpenEmbedded sysroots may not have a /usr/lib dir. So they cannot
+  // find /usr/lib64 as it is referenced as /usr/lib/../lib64. So we handle
+  // this here.
+  if (Triple.getVendor() == llvm::Triple::OpenEmbedded &&
+      Triple.isArch64Bit())
+    addPathIfExists(D, concat(SysRoot, "/usr", OSLibDir), Paths);
+  else
+    addPathIfExists(D, concat(SysRoot, "/usr/lib/..", OSLibDir), Paths);
+  if (IsRISCV) {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    addPathIfExists(D, concat(SysRoot, "/", OSLibDir, ABIName), Paths);
+    addPathIfExists(D, concat(SysRoot, "/usr", OSLibDir, ABIName), Paths);
+  }
+
+  Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
+
+  // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs
+  // libc++.so in D.Dir+"/../lib/". Detect this path.
+  // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported.
+  if (StringRef(D.Dir).startswith(SysRoot) &&
+      D.getVFS().exists(D.Dir + "/../lib/libc++.so"))
+    addPathIfExists(D, D.Dir + "/../lib", Paths);
+
+  addPathIfExists(D, concat(SysRoot, "/lib"), Paths);
+  addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths);
+}
+
+ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const {
+  if (getTriple().isAndroid())
+    return ToolChain::RLT_CompilerRT;
+  return Generic_ELF::GetDefaultRuntimeLibType();
+}
+
+unsigned Linux::GetDefaultDwarfVersion() const {
+  if (getTriple().isAndroid())
+    return 4;
+  return ToolChain::GetDefaultDwarfVersion();
+}
+
+ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const {
+  if (getTriple().isAndroid())
+    return ToolChain::CST_Libcxx;
+  return ToolChain::CST_Libstdcxx;
+}
+
+bool Linux::HasNativeLLVMSupport() const { return true; }
+
+Tool *Linux::buildLinker() const { return new tools::gnutools::Linker(*this); }
+
+Tool *Linux::buildStaticLibTool() const {
+  return new tools::gnutools::StaticLibTool(*this);
+}
+
+Tool *Linux::buildAssembler() const {
+  return new tools::gnutools::Assembler(*this);
+}
+
+std::string Linux::computeSysRoot() const {
+  if (!getDriver().SysRoot.empty())
+    return getDriver().SysRoot;
+
+  if (getTriple().isAndroid()) {
+    // Android toolchains typically include a sysroot at ../sysroot relative to
+    // the clang binary.
+    const StringRef ClangDir = getDriver().getInstalledDir();
+    std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str();
+    if (getVFS().exists(AndroidSysRootPath))
+      return AndroidSysRootPath;
+  }
+
+  if (getTriple().isCSKY()) {
+    // CSKY toolchains use different names for sysroot folder.
+    if (!GCCInstallation.isValid())
+      return std::string();
+    // GCCInstallation.getInstallPath() =
+    //   $GCCToolchainPath/lib/gcc/csky-linux-gnuabiv2/6.3.0
+    // Path = $GCCToolchainPath/csky-linux-gnuabiv2/libc
+    std::string Path = (GCCInstallation.getInstallPath() + "/../../../../" +
+                        GCCInstallation.getTriple().str() + "/libc")
+                           .str();
+    if (getVFS().exists(Path))
+      return Path;
+    return std::string();
+  }
+
+  if (!GCCInstallation.isValid() || !getTriple().isMIPS())
+    return std::string();
+
+  // Standalone MIPS toolchains use different names for sysroot folder
+  // and put it into different places. Here we try to check some known
+  // variants.
+
+  const StringRef InstallDir = GCCInstallation.getInstallPath();
+  const StringRef TripleStr = GCCInstallation.getTriple().str();
+  const Multilib &Multilib = GCCInstallation.getMultilib();
+
+  std::string Path =
+      (InstallDir + "/../../../../" + TripleStr + "/libc" + Multilib.osSuffix())
+          .str();
+
+  if (getVFS().exists(Path))
+    return Path;
+
+  Path = (InstallDir + "/../../../../sysroot" + Multilib.osSuffix()).str();
+
+  if (getVFS().exists(Path))
+    return Path;
+
+  return std::string();
+}
+
+std::string Linux::getDynamicLinker(const ArgList &Args) const {
+  const llvm::Triple::ArchType Arch = getArch();
+  const llvm::Triple &Triple = getTriple();
+
+  const Distro Distro(getDriver().getVFS(), Triple);
+
+  if (Triple.isAndroid())
+    return Triple.isArch64Bit() ? "/system/bin/linker64" : "/system/bin/linker";
+
+  if (Triple.isMusl()) {
+    std::string ArchName;
+    bool IsArm = false;
+
+    switch (Arch) {
+    case llvm::Triple::arm:
+    case llvm::Triple::thumb:
+      ArchName = "arm";
+      IsArm = true;
+      break;
+    case llvm::Triple::armeb:
+    case llvm::Triple::thumbeb:
+      ArchName = "armeb";
+      IsArm = true;
+      break;
+    case llvm::Triple::x86:
+      ArchName = "i386";
+      break;
+    case llvm::Triple::x86_64:
+      ArchName = Triple.isX32() ? "x32" : Triple.getArchName().str();
+      break;
+    default:
+      ArchName = Triple.getArchName().str();
+    }
+    if (IsArm &&
+        (Triple.getEnvironment() == llvm::Triple::MuslEABIHF ||
+         tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard))
+      ArchName += "hf";
+    if (Arch == llvm::Triple::ppc &&
+        Triple.getSubArch() == llvm::Triple::PPCSubArch_spe)
+      ArchName = "powerpc-sf";
+
+    return "/lib/ld-musl-" + ArchName + ".so.1";
+  }
+
+  std::string LibDir;
+  std::string Loader;
+
+  switch (Arch) {
+  default:
+    llvm_unreachable("unsupported architecture");
+
+  case llvm::Triple::aarch64:
+    LibDir = "lib";
+    Loader = "ld-linux-aarch64.so.1";
+    break;
+  case llvm::Triple::aarch64_be:
+    LibDir = "lib";
+    Loader = "ld-linux-aarch64_be.so.1";
+    break;
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb: {
+    const bool HF =
+        Triple.getEnvironment() == llvm::Triple::GNUEABIHF ||
+        tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard;
+
+    LibDir = "lib";
+    Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3";
+    break;
+  }
+  case llvm::Triple::loongarch32: {
+    LibDir = "lib32";
+    Loader =
+        ("ld-linux-loongarch-" +
+         tools::loongarch::getLoongArchABI(getDriver(), Args, Triple) + ".so.1")
+            .str();
+    break;
+  }
+  case llvm::Triple::loongarch64: {
+    LibDir = "lib64";
+    Loader =
+        ("ld-linux-loongarch-" +
+         tools::loongarch::getLoongArchABI(getDriver(), Args, Triple) + ".so.1")
+            .str();
+    break;
+  }
+  case llvm::Triple::m68k:
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::mips:
+  case llvm::Triple::mipsel:
+  case llvm::Triple::mips64:
+  case llvm::Triple::mips64el: {
+    bool IsNaN2008 = tools::mips::isNaN2008(getDriver(), Args, Triple);
+
+    LibDir = "lib" + tools::mips::getMipsABILibSuffix(Args, Triple);
+
+    if (tools::mips::isUCLibc(Args))
+      Loader = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0";
+    else if (!Triple.hasEnvironment() &&
+             Triple.getVendor() == llvm::Triple::VendorType::MipsTechnologies)
+      Loader =
+          Triple.isLittleEndian() ? "ld-musl-mipsel.so.1" : "ld-musl-mips.so.1";
+    else
+      Loader = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
+
+    break;
+  }
+  case llvm::Triple::ppc:
+    LibDir = "lib32";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::ppcle:
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::ppc64:
+    LibDir = "lib";
+    Loader =
+        (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
+    break;
+  case llvm::Triple::ppc64le:
+    LibDir = "lib";
+    Loader =
+        (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
+    break;
+  case llvm::Triple::riscv32: {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    LibDir = "lib";
+    Loader = ("ld-linux-riscv32-" + ABIName + ".so.1").str();
+    break;
+  }
+  case llvm::Triple::riscv64: {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    LibDir = "lib";
+    Loader = ("ld-linux-riscv64-" + ABIName + ".so.1").str();
+    break;
+  }
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel:
+    LibDir = "lib";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::sparcv9:
+    LibDir = "lib64";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::systemz:
+    LibDir = "lib";
+    Loader = "ld64.so.1";
+    break;
+  case llvm::Triple::x86:
+    LibDir = "lib32";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::x86_64: {
+    bool X32 = Triple.isX32();
+
+    LibDir = X32 ? "libx32" : "lib";
+    Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
+    break;
+  }
+  case llvm::Triple::ve:
+    return "/opt/nec/ve/lib/ld-linux-ve.so.1";
+  case llvm::Triple::csky: {
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  }
+  }
+
+  if (Distro == Distro::Exherbo &&
+      (Triple.getVendor() == llvm::Triple::UnknownVendor ||
+       Triple.getVendor() == llvm::Triple::PC))
+    return "/usr/" + Triple.str() + "/lib/" + Loader;
+  return "/" + LibDir + "/" + Loader;
+}
+
+void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+                                      ArgStringList &CC1Args) const {
+  const Driver &D = getDriver();
+  std::string SysRoot = computeSysRoot();
+
+  if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc))
+    return;
+
+  // Add 'include' in the resource directory, which is similar to
+  // GCC_INCLUDE_DIR (private headers) in GCC. Note: the include directory
+  // contains some files conflicting with system /usr/include. musl systems
+  // prefer the /usr/include copies which are more relevant.
+  SmallString<128> ResourceDirInclude(D.ResourceDir);
+  llvm::sys::path::append(ResourceDirInclude, "include");
+  if (!DriverArgs.hasArg(options::OPT_nobuiltininc) &&
+      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc)))
+    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+
+  if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+    return;
+
+  // LOCAL_INCLUDE_DIR
+  addSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/usr/local/include"));
+  // TOOL_INCLUDE_DIR
+  AddMultilibIncludeArgs(DriverArgs, CC1Args);
+
+  // Check for configure-time C include directories.
+  StringRef CIncludeDirs(C_INCLUDE_DIRS);
+  if (CIncludeDirs != "") {
+    SmallVector<StringRef, 5> dirs;
+    CIncludeDirs.split(dirs, ":");
+    for (StringRef dir : dirs) {
+      StringRef Prefix =
+          llvm::sys::path::is_absolute(dir) ? "" : StringRef(SysRoot);
+      addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir);
+    }
+    return;
+  }
+
+  // On systems using multiarch and Android, add /usr/include/$triple before
+  // /usr/include.
+  std::string MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot);
+  if (!MultiarchIncludeDir.empty() &&
+      D.getVFS().exists(concat(SysRoot, "/usr/include", MultiarchIncludeDir)))
+    addExternCSystemInclude(
+        DriverArgs, CC1Args,
+        concat(SysRoot, "/usr/include", MultiarchIncludeDir));
+
+  if (getTriple().getOS() == llvm::Triple::RTEMS)
+    return;
+
+  // Add an include of '/include' directly. This isn't provided by default by
+  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
+  // add even when Clang is acting as-if it were a system compiler.
+  addExternCSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/include"));
+
+  addExternCSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/usr/include"));
+
+  if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && getTriple().isMusl())
+    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+}
+
+void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                                     llvm::opt::ArgStringList &CC1Args) const {
+  // We need a detected GCC installation on Linux to provide libstdc++'s
+  // headers in odd Linuxish places.
+  if (!GCCInstallation.isValid())
+    return;
+
+  // Detect Debian g++-multiarch-incdir.diff.
+  StringRef TripleStr = GCCInstallation.getTriple().str();
+  StringRef DebianMultiarch =
+      GCCInstallation.getTriple().getArch() == llvm::Triple::x86
+          ? "i386-linux-gnu"
+          : TripleStr;
+
+  // Try generic GCC detection first.
+  if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
+                                               DebianMultiarch))
+    return;
+
+  StringRef LibDir = GCCInstallation.getParentLibPath();
+  const Multilib &Multilib = GCCInstallation.getMultilib();
+  const GCCVersion &Version = GCCInstallation.getVersion();
+
+  const std::string LibStdCXXIncludePathCandidates[] = {
+      // Android standalone toolchain has C++ headers in yet another place.
+      LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
+      // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++,
+      // without a subdirectory corresponding to the gcc version.
+      LibDir.str() + "/../include/c++",
+      // Cray's gcc installation puts headers under "g++" without a
+      // version suffix.
+      LibDir.str() + "/../include/g++",
+  };
+
+  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
+    if (addLibStdCXXIncludePaths(IncludePath, TripleStr,
+                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
+      break;
+  }
+}
+
+void Linux::AddCudaIncludeArgs(const ArgList &DriverArgs,
+                               ArgStringList &CC1Args) const {
+  CudaInstallation.AddCudaIncludeArgs(DriverArgs, CC1Args);
+}
+
+void Linux::AddHIPIncludeArgs(const ArgList &DriverArgs,
+                              ArgStringList &CC1Args) const {
+  RocmInstallation.AddHIPIncludeArgs(DriverArgs, CC1Args);
+}
+
+void Linux::AddHIPRuntimeLibArgs(const ArgList &Args,
+                                 ArgStringList &CmdArgs) const {
+  CmdArgs.push_back(
+      Args.MakeArgString(StringRef("-L") + RocmInstallation.getLibPath()));
+
+  if (Args.hasFlag(options::OPT_offload_add_rpath,
+                   options::OPT_no_offload_add_rpath, false))
+    CmdArgs.append(
+        {"-rpath", Args.MakeArgString(RocmInstallation.getLibPath())});
+
+  CmdArgs.push_back("-lamdhip64");
+}
+
+void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
+                                ArgStringList &CC1Args) const {
+  if (GCCInstallation.isValid()) {
+    CC1Args.push_back("-isystem");
+    CC1Args.push_back(DriverArgs.MakeArgString(
+        GCCInstallation.getParentLibPath() + "/../" +
+        GCCInstallation.getTriple().str() + "/include"));
+  }
+}
+
+bool Linux::isPIEDefault(const llvm::opt::ArgList &Args) const {
+  return CLANG_DEFAULT_PIE_ON_LINUX || getTriple().isAndroid() ||
+         getTriple().isMusl() || getSanitizerArgs(Args).requiresPIE();
+}
+
+bool Linux::IsAArch64OutlineAtomicsDefault(const ArgList &Args) const {
+  // Outline atomics for AArch64 are supported by compiler-rt
+  // and libgcc since 9.3.1
+  assert(getTriple().isAArch64() && "expected AArch64 target!");
+  ToolChain::RuntimeLibType RtLib = GetRuntimeLibType(Args);
+  if (RtLib == ToolChain::RLT_CompilerRT)
+    return true;
+  assert(RtLib == ToolChain::RLT_Libgcc && "unexpected runtime library type!");
+  if (GCCInstallation.getVersion().isOlderThan(9, 3, 1))
+    return false;
+  return true;
+}
+
+bool Linux::IsMathErrnoDefault() const {
+  if (getTriple().isAndroid() || getTriple().isMusl())
+    return false;
+  return Generic_ELF::IsMathErrnoDefault();
+}
+
+SanitizerMask Linux::getSupportedSanitizers() const {
+  const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
+  const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64;
+  const bool IsMIPS = getTriple().isMIPS32();
+  const bool IsMIPS64 = getTriple().isMIPS64();
+  const bool IsPowerPC64 = getTriple().getArch() == llvm::Triple::ppc64 ||
+                           getTriple().getArch() == llvm::Triple::ppc64le;
+  const bool IsAArch64 = getTriple().getArch() == llvm::Triple::aarch64 ||
+                         getTriple().getArch() == llvm::Triple::aarch64_be;
+  const bool IsArmArch = getTriple().getArch() == llvm::Triple::arm ||
+                         getTriple().getArch() == llvm::Triple::thumb ||
+                         getTriple().getArch() == llvm::Triple::armeb ||
+                         getTriple().getArch() == llvm::Triple::thumbeb;
+  const bool IsLoongArch64 = getTriple().getArch() == llvm::Triple::loongarch64;
+  const bool IsRISCV64 = getTriple().getArch() == llvm::Triple::riscv64;
+  const bool IsSystemZ = getTriple().getArch() == llvm::Triple::systemz;
+  const bool IsHexagon = getTriple().getArch() == llvm::Triple::hexagon;
+  SanitizerMask Res = ToolChain::getSupportedSanitizers();
+  Res |= SanitizerKind::Address;
+  Res |= SanitizerKind::PointerCompare;
+  Res |= SanitizerKind::PointerSubtract;
+  Res |= SanitizerKind::Fuzzer;
+  Res |= SanitizerKind::FuzzerNoLink;
+  Res |= SanitizerKind::KernelAddress;
+  Res |= SanitizerKind::Memory;
+  Res |= SanitizerKind::Vptr;
+  Res |= SanitizerKind::SafeStack;
+  if (IsX86_64 || IsMIPS64 || IsAArch64)
+    Res |= SanitizerKind::DataFlow;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsX86 || IsArmArch || IsPowerPC64 ||
+      IsRISCV64 || IsSystemZ || IsHexagon || IsLoongArch64)
+    Res |= SanitizerKind::Leak;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsPowerPC64 || IsSystemZ ||
+      IsLoongArch64)
+    Res |= SanitizerKind::Thread;
+  if (IsX86_64)
+    Res |= SanitizerKind::KernelMemory;
+  if (IsX86 || IsX86_64)
+    Res |= SanitizerKind::Function;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsX86 || IsMIPS || IsArmArch ||
+      IsPowerPC64 || IsHexagon || IsLoongArch64)
+    Res |= SanitizerKind::Scudo;
+  if (IsX86_64 || IsAArch64 || IsRISCV64) {
+    Res |= SanitizerKind::HWAddress;
+  }
+  if (IsX86_64 || IsAArch64) {
+    Res |= SanitizerKind::KernelHWAddress;
+  }
+  return Res;
+}
+
+void Linux::addProfileRTLibs(const llvm::opt::ArgList &Args,
+                             llvm::opt::ArgStringList &CmdArgs) const {
+  // Add linker option -u__llvm_profile_runtime to cause runtime
+  // initialization module to be linked in.
+  if (needsProfileRT(Args))
+    CmdArgs.push_back(Args.MakeArgString(
+        Twine("-u", llvm::getInstrProfRuntimeHookVarName())));
+  ToolChain::addProfileRTLibs(Args, CmdArgs);
+}
+
+llvm::DenormalMode
+Linux::getDefaultDenormalModeForType(const llvm::opt::ArgList &DriverArgs,
+                                     const JobAction &JA,
+                                     const llvm::fltSemantics *FPType) const {
+  switch (getTriple().getArch()) {
+  case llvm::Triple::x86:
+  case llvm::Triple::x86_64: {
+    std::string Unused;
+    // DAZ and FTZ are turned on in crtfastmath.o
+    if (!DriverArgs.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles) &&
+        isFastMathRuntimeAvailable(DriverArgs, Unused))
+      return llvm::DenormalMode::getPreserveSign();
+    return llvm::DenormalMode::getIEEE();
+  }
+  default:
+    return llvm::DenormalMode::getIEEE();
+  }
+}
+
+void Linux::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+  for (const auto &Opt : ExtraOpts)
+    CmdArgs.push_back(Opt.c_str());
+}
+
+const char *Linux::getDefaultLinker() const {
+  if (getTriple().isAndroid())
+    return "ld.lld";
+  return Generic_ELF::getDefaultLinker();
+}
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/create.patch.sh
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/create.patch.sh	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/create.patch.sh	(revision 40)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=16.0.2
+
+tar --files-from=file.list -xJvf ../llvm-$VERSION.tar.xz
+mv llvm-$VERSION llvm-$VERSION-orig
+
+cp -rf ./llvm-$VERSION-new ./llvm-$VERSION
+
+diff --unified -Nr  llvm-$VERSION-orig  llvm-$VERSION > llvm-$VERSION-x64-interpreter.patch
+
+mv llvm-$VERSION-x64-interpreter.patch ../patches
+
+rm -rf ./llvm-$VERSION
+rm -rf ./llvm-$VERSION-orig

Property changes on: radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/file.list
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/file.list	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/file.list	(revision 40)
@@ -0,0 +1 @@
+llvm-16.0.2/clang/lib/Driver/ToolChains/Linux.cpp
Index: radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp
===================================================================
--- radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp	(nonexistent)
+++ radix-1.9/sources/packages/d/llvm/create-16.0.2-x64-interpreter-patch/llvm-16.0.2-new/clang/lib/Driver/ToolChains/Linux.cpp	(revision 40)
@@ -0,0 +1,828 @@
+//===--- Linux.h - Linux ToolChain Implementations --------------*- 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
+//
+//===----------------------------------------------------------------------===//
+
+#include "Linux.h"
+#include "Arch/ARM.h"
+#include "Arch/LoongArch.h"
+#include "Arch/Mips.h"
+#include "Arch/PPC.h"
+#include "Arch/RISCV.h"
+#include "CommonArgs.h"
+#include "clang/Config/config.h"
+#include "clang/Driver/Distro.h"
+#include "clang/Driver/Driver.h"
+#include "clang/Driver/Options.h"
+#include "clang/Driver/SanitizerArgs.h"
+#include "llvm/Option/ArgList.h"
+#include "llvm/ProfileData/InstrProf.h"
+#include "llvm/Support/Path.h"
+#include "llvm/Support/ScopedPrinter.h"
+#include "llvm/Support/VirtualFileSystem.h"
+#include <system_error>
+
+using namespace clang::driver;
+using namespace clang::driver::toolchains;
+using namespace clang;
+using namespace llvm::opt;
+
+using tools::addPathIfExists;
+
+/// Get our best guess at the multiarch triple for a target.
+///
+/// Debian-based systems are starting to use a multiarch setup where they use
+/// a target-triple directory in the library and header search paths.
+/// Unfortunately, this triple does not align with the vanilla target triple,
+/// so we provide a rough mapping here.
+std::string Linux::getMultiarchTriple(const Driver &D,
+                                      const llvm::Triple &TargetTriple,
+                                      StringRef SysRoot) const {
+  llvm::Triple::EnvironmentType TargetEnvironment =
+      TargetTriple.getEnvironment();
+  bool IsAndroid = TargetTriple.isAndroid();
+  bool IsMipsR6 = TargetTriple.getSubArch() == llvm::Triple::MipsSubArch_r6;
+  bool IsMipsN32Abi = TargetTriple.getEnvironment() == llvm::Triple::GNUABIN32;
+
+  // For most architectures, just use whatever we have rather than trying to be
+  // clever.
+  switch (TargetTriple.getArch()) {
+  default:
+    break;
+
+  // We use the existence of '/lib/<triple>' as a directory to detect some
+  // common linux triples that don't quite match the Clang triple for both
+  // 32-bit and 64-bit targets. Multiarch fixes its install triples to these
+  // regardless of what the actual target triple is.
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+    if (IsAndroid)
+      return "arm-linux-androideabi";
+    if (TargetEnvironment == llvm::Triple::GNUEABIHF)
+      return "arm-linux-gnueabihf";
+    return "arm-linux-gnueabi";
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb:
+    if (TargetEnvironment == llvm::Triple::GNUEABIHF)
+      return "armeb-linux-gnueabihf";
+    return "armeb-linux-gnueabi";
+  case llvm::Triple::x86:
+    if (IsAndroid)
+      return "i686-linux-android";
+    return "i386-linux-gnu";
+  case llvm::Triple::x86_64:
+    if (IsAndroid)
+      return "x86_64-linux-android";
+    if (TargetEnvironment == llvm::Triple::GNUX32)
+      return "x86_64-linux-gnux32";
+    return "x86_64-linux-gnu";
+  case llvm::Triple::aarch64:
+    if (IsAndroid)
+      return "aarch64-linux-android";
+    return "aarch64-linux-gnu";
+  case llvm::Triple::aarch64_be:
+    return "aarch64_be-linux-gnu";
+
+  case llvm::Triple::m68k:
+    return "m68k-linux-gnu";
+
+  case llvm::Triple::mips:
+    return IsMipsR6 ? "mipsisa32r6-linux-gnu" : "mips-linux-gnu";
+  case llvm::Triple::mipsel:
+    if (IsAndroid)
+      return "mipsel-linux-android";
+    return IsMipsR6 ? "mipsisa32r6el-linux-gnu" : "mipsel-linux-gnu";
+  case llvm::Triple::mips64: {
+    std::string MT = std::string(IsMipsR6 ? "mipsisa64r6" : "mips64") +
+                     "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
+    if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
+      return MT;
+    if (D.getVFS().exists(concat(SysRoot, "/lib/mips64-linux-gnu")))
+      return "mips64-linux-gnu";
+    break;
+  }
+  case llvm::Triple::mips64el: {
+    if (IsAndroid)
+      return "mips64el-linux-android";
+    std::string MT = std::string(IsMipsR6 ? "mipsisa64r6el" : "mips64el") +
+                     "-linux-" + (IsMipsN32Abi ? "gnuabin32" : "gnuabi64");
+    if (D.getVFS().exists(concat(SysRoot, "/lib", MT)))
+      return MT;
+    if (D.getVFS().exists(concat(SysRoot, "/lib/mips64el-linux-gnu")))
+      return "mips64el-linux-gnu";
+    break;
+  }
+  case llvm::Triple::ppc:
+    if (D.getVFS().exists(concat(SysRoot, "/lib/powerpc-linux-gnuspe")))
+      return "powerpc-linux-gnuspe";
+    return "powerpc-linux-gnu";
+  case llvm::Triple::ppcle:
+    return "powerpcle-linux-gnu";
+  case llvm::Triple::ppc64:
+    return "powerpc64-linux-gnu";
+  case llvm::Triple::ppc64le:
+    return "powerpc64le-linux-gnu";
+  case llvm::Triple::riscv64:
+    return "riscv64-linux-gnu";
+  case llvm::Triple::sparc:
+    return "sparc-linux-gnu";
+  case llvm::Triple::sparcv9:
+    return "sparc64-linux-gnu";
+  case llvm::Triple::systemz:
+    return "s390x-linux-gnu";
+  }
+  return TargetTriple.str();
+}
+
+static StringRef getOSLibDir(const llvm::Triple &Triple, const ArgList &Args) {
+  if (Triple.isMIPS()) {
+    if (Triple.isAndroid()) {
+      StringRef CPUName;
+      StringRef ABIName;
+      tools::mips::getMipsCPUAndABI(Args, Triple, CPUName, ABIName);
+      if (CPUName == "mips32r6")
+        return "libr6";
+      if (CPUName == "mips32r2")
+        return "libr2";
+    }
+    // lib32 directory has a special meaning on MIPS targets.
+    // It contains N32 ABI binaries. Use this folder if produce
+    // code for N32 ABI only.
+    if (tools::mips::hasMipsAbiArg(Args, "n32"))
+      return "lib32";
+    return Triple.isArch32Bit() ? "lib" : "lib64";
+  }
+
+  // It happens that only x86, PPC and SPARC use the 'lib32' variant of
+  // oslibdir, and using that variant while targeting other architectures causes
+  // problems because the libraries are laid out in shared system roots that
+  // can't cope with a 'lib32' library search path being considered. So we only
+  // enable them when we know we may need it.
+  //
+  // FIXME: This is a bit of a hack. We should really unify this code for
+  // reasoning about oslibdir spellings with the lib dir spellings in the
+  // GCCInstallationDetector, but that is a more significant refactoring.
+  if (Triple.getArch() == llvm::Triple::x86 || Triple.isPPC32() ||
+      Triple.getArch() == llvm::Triple::sparc)
+    return "lib32";
+
+  if (Triple.getArch() == llvm::Triple::x86_64 && Triple.isX32())
+    return "libx32";
+
+  if (Triple.getArch() == llvm::Triple::riscv32)
+    return "lib32";
+
+  return Triple.isArch32Bit() ? "lib" : "lib64";
+}
+
+Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
+    : Generic_ELF(D, Triple, Args) {
+  GCCInstallation.init(Triple, Args);
+  Multilibs = GCCInstallation.getMultilibs();
+  SelectedMultilib = GCCInstallation.getMultilib();
+  llvm::Triple::ArchType Arch = Triple.getArch();
+  std::string SysRoot = computeSysRoot();
+  ToolChain::path_list &PPaths = getProgramPaths();
+
+  Generic_GCC::PushPPaths(PPaths);
+
+  Distro Distro(D.getVFS(), Triple);
+
+  if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("now");
+  }
+
+  if (Distro.IsOpenSUSE() || Distro.IsUbuntu() || Distro.IsAlpineLinux() ||
+      Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("relro");
+  }
+
+  // Android ARM/AArch64 use max-page-size=4096 to reduce VMA usage. Note, lld
+  // from 11 onwards default max-page-size to 65536 for both ARM and AArch64.
+  if ((Triple.isARM() || Triple.isAArch64()) && Triple.isAndroid()) {
+    ExtraOpts.push_back("-z");
+    ExtraOpts.push_back("max-page-size=4096");
+  }
+
+  if (GCCInstallation.getParentLibPath().contains("opt/rh/"))
+    // With devtoolset on RHEL, we want to add a bin directory that is relative
+    // to the detected gcc install, because if we are using devtoolset gcc then
+    // we want to use other tools from devtoolset (e.g. ld) instead of the
+    // standard system tools.
+    PPaths.push_back(Twine(GCCInstallation.getParentLibPath() +
+                     "/../bin").str());
+
+  if (Arch == llvm::Triple::arm || Arch == llvm::Triple::thumb)
+    ExtraOpts.push_back("-X");
+
+  const bool IsAndroid = Triple.isAndroid();
+  const bool IsMips = Triple.isMIPS();
+  const bool IsHexagon = Arch == llvm::Triple::hexagon;
+  const bool IsRISCV = Triple.isRISCV();
+  const bool IsCSKY = Triple.isCSKY();
+
+  if (IsCSKY)
+    SysRoot = SysRoot + SelectedMultilib.osSuffix();
+
+  if ((IsMips || IsCSKY) && !SysRoot.empty())
+    ExtraOpts.push_back("--sysroot=" + SysRoot);
+
+  // Do not use 'gnu' hash style for Mips targets because .gnu.hash
+  // and the MIPS ABI require .dynsym to be sorted in different ways.
+  // .gnu.hash needs symbols to be grouped by hash code whereas the MIPS
+  // ABI requires a mapping between the GOT and the symbol table.
+  // Android loader does not support .gnu.hash until API 23.
+  // Hexagon linker/loader does not support .gnu.hash
+  if (!IsMips && !IsHexagon) {
+    if (Distro.IsOpenSUSE() || Distro == Distro::UbuntuLucid ||
+        Distro == Distro::UbuntuJaunty || Distro == Distro::UbuntuKarmic ||
+        (IsAndroid && Triple.isAndroidVersionLT(23)))
+      ExtraOpts.push_back("--hash-style=both");
+    else
+      ExtraOpts.push_back("--hash-style=gnu");
+  }
+
+#ifdef ENABLE_LINKER_BUILD_ID
+  ExtraOpts.push_back("--build-id");
+#endif
+
+  // The selection of paths to try here is designed to match the patterns which
+  // the GCC driver itself uses, as this is part of the GCC-compatible driver.
+  // This was determined by running GCC in a fake filesystem, creating all
+  // possible permutations of these directories, and seeing which ones it added
+  // to the link paths.
+  path_list &Paths = getFilePaths();
+
+  const std::string OSLibDir = std::string(getOSLibDir(Triple, Args));
+  const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot);
+
+  // mips32: Debian multilib, we use /libo32, while in other case, /lib is
+  // used. We need add both libo32 and /lib.
+  if (Arch == llvm::Triple::mips || Arch == llvm::Triple::mipsel) {
+    Generic_GCC::AddMultilibPaths(D, SysRoot, "libo32", MultiarchTriple, Paths);
+    addPathIfExists(D, concat(SysRoot, "/libo32"), Paths);
+    addPathIfExists(D, concat(SysRoot, "/usr/libo32"), Paths);
+  }
+  Generic_GCC::AddMultilibPaths(D, SysRoot, OSLibDir, MultiarchTriple, Paths);
+
+  addPathIfExists(D, concat(SysRoot, "/lib", MultiarchTriple), Paths);
+  addPathIfExists(D, concat(SysRoot, "/lib/..", OSLibDir), Paths);
+
+  if (IsAndroid) {
+    // Android sysroots contain a library directory for each supported OS
+    // version as well as some unversioned libraries in the usual multiarch
+    // directory.
+    addPathIfExists(
+        D,
+        concat(SysRoot, "/usr/lib", MultiarchTriple,
+               llvm::to_string(Triple.getEnvironmentVersion().getMajor())),
+        Paths);
+  }
+
+  addPathIfExists(D, concat(SysRoot, "/usr/lib", MultiarchTriple), Paths);
+  // 64-bit OpenEmbedded sysroots may not have a /usr/lib dir. So they cannot
+  // find /usr/lib64 as it is referenced as /usr/lib/../lib64. So we handle
+  // this here.
+  if (Triple.getVendor() == llvm::Triple::OpenEmbedded &&
+      Triple.isArch64Bit())
+    addPathIfExists(D, concat(SysRoot, "/usr", OSLibDir), Paths);
+  else
+    addPathIfExists(D, concat(SysRoot, "/usr/lib/..", OSLibDir), Paths);
+  if (IsRISCV) {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    addPathIfExists(D, concat(SysRoot, "/", OSLibDir, ABIName), Paths);
+    addPathIfExists(D, concat(SysRoot, "/usr", OSLibDir, ABIName), Paths);
+  }
+
+  Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
+
+  // The deprecated -DLLVM_ENABLE_PROJECTS=libcxx configuration installs
+  // libc++.so in D.Dir+"/../lib/". Detect this path.
+  // TODO Remove once LLVM_ENABLE_PROJECTS=libcxx is unsupported.
+  if (StringRef(D.Dir).startswith(SysRoot) &&
+      D.getVFS().exists(D.Dir + "/../lib/libc++.so"))
+    addPathIfExists(D, D.Dir + "/../lib", Paths);
+
+  addPathIfExists(D, concat(SysRoot, "/lib"), Paths);
+  addPathIfExists(D, concat(SysRoot, "/usr/lib"), Paths);
+}
+
+ToolChain::RuntimeLibType Linux::GetDefaultRuntimeLibType() const {
+  if (getTriple().isAndroid())
+    return ToolChain::RLT_CompilerRT;
+  return Generic_ELF::GetDefaultRuntimeLibType();
+}
+
+unsigned Linux::GetDefaultDwarfVersion() const {
+  if (getTriple().isAndroid())
+    return 4;
+  return ToolChain::GetDefaultDwarfVersion();
+}
+
+ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const {
+  if (getTriple().isAndroid())
+    return ToolChain::CST_Libcxx;
+  return ToolChain::CST_Libstdcxx;
+}
+
+bool Linux::HasNativeLLVMSupport() const { return true; }
+
+Tool *Linux::buildLinker() const { return new tools::gnutools::Linker(*this); }
+
+Tool *Linux::buildStaticLibTool() const {
+  return new tools::gnutools::StaticLibTool(*this);
+}
+
+Tool *Linux::buildAssembler() const {
+  return new tools::gnutools::Assembler(*this);
+}
+
+std::string Linux::computeSysRoot() const {
+  if (!getDriver().SysRoot.empty())
+    return getDriver().SysRoot;
+
+  if (getTriple().isAndroid()) {
+    // Android toolchains typically include a sysroot at ../sysroot relative to
+    // the clang binary.
+    const StringRef ClangDir = getDriver().getInstalledDir();
+    std::string AndroidSysRootPath = (ClangDir + "/../sysroot").str();
+    if (getVFS().exists(AndroidSysRootPath))
+      return AndroidSysRootPath;
+  }
+
+  if (getTriple().isCSKY()) {
+    // CSKY toolchains use different names for sysroot folder.
+    if (!GCCInstallation.isValid())
+      return std::string();
+    // GCCInstallation.getInstallPath() =
+    //   $GCCToolchainPath/lib/gcc/csky-linux-gnuabiv2/6.3.0
+    // Path = $GCCToolchainPath/csky-linux-gnuabiv2/libc
+    std::string Path = (GCCInstallation.getInstallPath() + "/../../../../" +
+                        GCCInstallation.getTriple().str() + "/libc")
+                           .str();
+    if (getVFS().exists(Path))
+      return Path;
+    return std::string();
+  }
+
+  if (!GCCInstallation.isValid() || !getTriple().isMIPS())
+    return std::string();
+
+  // Standalone MIPS toolchains use different names for sysroot folder
+  // and put it into different places. Here we try to check some known
+  // variants.
+
+  const StringRef InstallDir = GCCInstallation.getInstallPath();
+  const StringRef TripleStr = GCCInstallation.getTriple().str();
+  const Multilib &Multilib = GCCInstallation.getMultilib();
+
+  std::string Path =
+      (InstallDir + "/../../../../" + TripleStr + "/libc" + Multilib.osSuffix())
+          .str();
+
+  if (getVFS().exists(Path))
+    return Path;
+
+  Path = (InstallDir + "/../../../../sysroot" + Multilib.osSuffix()).str();
+
+  if (getVFS().exists(Path))
+    return Path;
+
+  return std::string();
+}
+
+std::string Linux::getDynamicLinker(const ArgList &Args) const {
+  const llvm::Triple::ArchType Arch = getArch();
+  const llvm::Triple &Triple = getTriple();
+
+  const Distro Distro(getDriver().getVFS(), Triple);
+
+  if (Triple.isAndroid())
+    return Triple.isArch64Bit() ? "/system/bin/linker64" : "/system/bin/linker";
+
+  if (Triple.isMusl()) {
+    std::string ArchName;
+    bool IsArm = false;
+
+    switch (Arch) {
+    case llvm::Triple::arm:
+    case llvm::Triple::thumb:
+      ArchName = "arm";
+      IsArm = true;
+      break;
+    case llvm::Triple::armeb:
+    case llvm::Triple::thumbeb:
+      ArchName = "armeb";
+      IsArm = true;
+      break;
+    case llvm::Triple::x86:
+      ArchName = "i386";
+      break;
+    case llvm::Triple::x86_64:
+      ArchName = Triple.isX32() ? "x32" : Triple.getArchName().str();
+      break;
+    default:
+      ArchName = Triple.getArchName().str();
+    }
+    if (IsArm &&
+        (Triple.getEnvironment() == llvm::Triple::MuslEABIHF ||
+         tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard))
+      ArchName += "hf";
+    if (Arch == llvm::Triple::ppc &&
+        Triple.getSubArch() == llvm::Triple::PPCSubArch_spe)
+      ArchName = "powerpc-sf";
+
+    return "/lib/ld-musl-" + ArchName + ".so.1";
+  }
+
+  std::string LibDir;
+  std::string Loader;
+
+  switch (Arch) {
+  default:
+    llvm_unreachable("unsupported architecture");
+
+  case llvm::Triple::aarch64:
+    LibDir = "lib";
+    Loader = "ld-linux-aarch64.so.1";
+    break;
+  case llvm::Triple::aarch64_be:
+    LibDir = "lib";
+    Loader = "ld-linux-aarch64_be.so.1";
+    break;
+  case llvm::Triple::arm:
+  case llvm::Triple::thumb:
+  case llvm::Triple::armeb:
+  case llvm::Triple::thumbeb: {
+    const bool HF =
+        Triple.getEnvironment() == llvm::Triple::GNUEABIHF ||
+        tools::arm::getARMFloatABI(*this, Args) == tools::arm::FloatABI::Hard;
+
+    LibDir = "lib";
+    Loader = HF ? "ld-linux-armhf.so.3" : "ld-linux.so.3";
+    break;
+  }
+  case llvm::Triple::loongarch32: {
+    LibDir = "lib32";
+    Loader =
+        ("ld-linux-loongarch-" +
+         tools::loongarch::getLoongArchABI(getDriver(), Args, Triple) + ".so.1")
+            .str();
+    break;
+  }
+  case llvm::Triple::loongarch64: {
+    LibDir = "lib64";
+    Loader =
+        ("ld-linux-loongarch-" +
+         tools::loongarch::getLoongArchABI(getDriver(), Args, Triple) + ".so.1")
+            .str();
+    break;
+  }
+  case llvm::Triple::m68k:
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::mips:
+  case llvm::Triple::mipsel:
+  case llvm::Triple::mips64:
+  case llvm::Triple::mips64el: {
+    bool IsNaN2008 = tools::mips::isNaN2008(getDriver(), Args, Triple);
+
+    LibDir = "lib" + tools::mips::getMipsABILibSuffix(Args, Triple);
+
+    if (tools::mips::isUCLibc(Args))
+      Loader = IsNaN2008 ? "ld-uClibc-mipsn8.so.0" : "ld-uClibc.so.0";
+    else if (!Triple.hasEnvironment() &&
+             Triple.getVendor() == llvm::Triple::VendorType::MipsTechnologies)
+      Loader =
+          Triple.isLittleEndian() ? "ld-musl-mipsel.so.1" : "ld-musl-mips.so.1";
+    else
+      Loader = IsNaN2008 ? "ld-linux-mipsn8.so.1" : "ld.so.1";
+
+    break;
+  }
+  case llvm::Triple::ppc:
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::ppcle:
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  case llvm::Triple::ppc64:
+    LibDir = "lib";
+    Loader =
+        (tools::ppc::hasPPCAbiArg(Args, "elfv2")) ? "ld64.so.2" : "ld64.so.1";
+    break;
+  case llvm::Triple::ppc64le:
+    LibDir = "lib";
+    Loader =
+        (tools::ppc::hasPPCAbiArg(Args, "elfv1")) ? "ld64.so.1" : "ld64.so.2";
+    break;
+  case llvm::Triple::riscv32: {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    LibDir = "lib";
+    Loader = ("ld-linux-riscv32-" + ABIName + ".so.1").str();
+    break;
+  }
+  case llvm::Triple::riscv64: {
+    StringRef ABIName = tools::riscv::getRISCVABI(Args, Triple);
+    LibDir = "lib";
+    Loader = ("ld-linux-riscv64-" + ABIName + ".so.1").str();
+    break;
+  }
+  case llvm::Triple::sparc:
+  case llvm::Triple::sparcel:
+    LibDir = "lib";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::sparcv9:
+    LibDir = "lib64";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::systemz:
+    LibDir = "lib";
+    Loader = "ld64.so.1";
+    break;
+  case llvm::Triple::x86:
+    LibDir = "lib";
+    Loader = "ld-linux.so.2";
+    break;
+  case llvm::Triple::x86_64: {
+    bool X32 = Triple.isX32();
+
+    LibDir = X32 ? "libx32" : "lib";
+    Loader = X32 ? "ld-linux-x32.so.2" : "ld-linux-x86-64.so.2";
+    break;
+  }
+  case llvm::Triple::ve:
+    return "/opt/nec/ve/lib/ld-linux-ve.so.1";
+  case llvm::Triple::csky: {
+    LibDir = "lib";
+    Loader = "ld.so.1";
+    break;
+  }
+  }
+
+  if (Distro == Distro::Exherbo &&
+      (Triple.getVendor() == llvm::Triple::UnknownVendor ||
+       Triple.getVendor() == llvm::Triple::PC))
+    return "/usr/" + Triple.str() + "/lib/" + Loader;
+  return "/" + LibDir + "/" + Loader;
+}
+
+void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+                                      ArgStringList &CC1Args) const {
+  const Driver &D = getDriver();
+  std::string SysRoot = computeSysRoot();
+
+  if (DriverArgs.hasArg(clang::driver::options::OPT_nostdinc))
+    return;
+
+  // Add 'include' in the resource directory, which is similar to
+  // GCC_INCLUDE_DIR (private headers) in GCC. Note: the include directory
+  // contains some files conflicting with system /usr/include. musl systems
+  // prefer the /usr/include copies which are more relevant.
+  SmallString<128> ResourceDirInclude(D.ResourceDir);
+  llvm::sys::path::append(ResourceDirInclude, "include");
+  if (!DriverArgs.hasArg(options::OPT_nobuiltininc) &&
+      (!getTriple().isMusl() || DriverArgs.hasArg(options::OPT_nostdlibinc)))
+    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+
+  if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+    return;
+
+  // LOCAL_INCLUDE_DIR
+  addSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/usr/local/include"));
+  // TOOL_INCLUDE_DIR
+  AddMultilibIncludeArgs(DriverArgs, CC1Args);
+
+  // Check for configure-time C include directories.
+  StringRef CIncludeDirs(C_INCLUDE_DIRS);
+  if (CIncludeDirs != "") {
+    SmallVector<StringRef, 5> dirs;
+    CIncludeDirs.split(dirs, ":");
+    for (StringRef dir : dirs) {
+      StringRef Prefix =
+          llvm::sys::path::is_absolute(dir) ? "" : StringRef(SysRoot);
+      addExternCSystemInclude(DriverArgs, CC1Args, Prefix + dir);
+    }
+    return;
+  }
+
+  // On systems using multiarch and Android, add /usr/include/$triple before
+  // /usr/include.
+  std::string MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot);
+  if (!MultiarchIncludeDir.empty() &&
+      D.getVFS().exists(concat(SysRoot, "/usr/include", MultiarchIncludeDir)))
+    addExternCSystemInclude(
+        DriverArgs, CC1Args,
+        concat(SysRoot, "/usr/include", MultiarchIncludeDir));
+
+  if (getTriple().getOS() == llvm::Triple::RTEMS)
+    return;
+
+  // Add an include of '/include' directly. This isn't provided by default by
+  // system GCCs, but is often used with cross-compiling GCCs, and harmless to
+  // add even when Clang is acting as-if it were a system compiler.
+  addExternCSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/include"));
+
+  addExternCSystemInclude(DriverArgs, CC1Args, concat(SysRoot, "/usr/include"));
+
+  if (!DriverArgs.hasArg(options::OPT_nobuiltininc) && getTriple().isMusl())
+    addSystemInclude(DriverArgs, CC1Args, ResourceDirInclude);
+}
+
+void Linux::addLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs,
+                                     llvm::opt::ArgStringList &CC1Args) const {
+  // We need a detected GCC installation on Linux to provide libstdc++'s
+  // headers in odd Linuxish places.
+  if (!GCCInstallation.isValid())
+    return;
+
+  // Detect Debian g++-multiarch-incdir.diff.
+  StringRef TripleStr = GCCInstallation.getTriple().str();
+  StringRef DebianMultiarch =
+      GCCInstallation.getTriple().getArch() == llvm::Triple::x86
+          ? "i386-linux-gnu"
+          : TripleStr;
+
+  // Try generic GCC detection first.
+  if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
+                                               DebianMultiarch))
+    return;
+
+  StringRef LibDir = GCCInstallation.getParentLibPath();
+  const Multilib &Multilib = GCCInstallation.getMultilib();
+  const GCCVersion &Version = GCCInstallation.getVersion();
+
+  const std::string LibStdCXXIncludePathCandidates[] = {
+      // Android standalone toolchain has C++ headers in yet another place.
+      LibDir.str() + "/../" + TripleStr.str() + "/include/c++/" + Version.Text,
+      // Freescale SDK C++ headers are directly in <sysroot>/usr/include/c++,
+      // without a subdirectory corresponding to the gcc version.
+      LibDir.str() + "/../include/c++",
+      // Cray's gcc installation puts headers under "g++" without a
+      // version suffix.
+      LibDir.str() + "/../include/g++",
+  };
+
+  for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
+    if (addLibStdCXXIncludePaths(IncludePath, TripleStr,
+                                 Multilib.includeSuffix(), DriverArgs, CC1Args))
+      break;
+  }
+}
+
+void Linux::AddCudaIncludeArgs(const ArgList &DriverArgs,
+                               ArgStringList &CC1Args) const {
+  CudaInstallation.AddCudaIncludeArgs(DriverArgs, CC1Args);
+}
+
+void Linux::AddHIPIncludeArgs(const ArgList &DriverArgs,
+                              ArgStringList &CC1Args) const {
+  RocmInstallation.AddHIPIncludeArgs(DriverArgs, CC1Args);
+}
+
+void Linux::AddHIPRuntimeLibArgs(const ArgList &Args,
+                                 ArgStringList &CmdArgs) const {
+  CmdArgs.push_back(
+      Args.MakeArgString(StringRef("-L") + RocmInstallation.getLibPath()));
+
+  if (Args.hasFlag(options::OPT_offload_add_rpath,
+                   options::OPT_no_offload_add_rpath, false))
+    CmdArgs.append(
+        {"-rpath", Args.MakeArgString(RocmInstallation.getLibPath())});
+
+  CmdArgs.push_back("-lamdhip64");
+}
+
+void Linux::AddIAMCUIncludeArgs(const ArgList &DriverArgs,
+                                ArgStringList &CC1Args) const {
+  if (GCCInstallation.isValid()) {
+    CC1Args.push_back("-isystem");
+    CC1Args.push_back(DriverArgs.MakeArgString(
+        GCCInstallation.getParentLibPath() + "/../" +
+        GCCInstallation.getTriple().str() + "/include"));
+  }
+}
+
+bool Linux::isPIEDefault(const llvm::opt::ArgList &Args) const {
+  return CLANG_DEFAULT_PIE_ON_LINUX || getTriple().isAndroid() ||
+         getTriple().isMusl() || getSanitizerArgs(Args).requiresPIE();
+}
+
+bool Linux::IsAArch64OutlineAtomicsDefault(const ArgList &Args) const {
+  // Outline atomics for AArch64 are supported by compiler-rt
+  // and libgcc since 9.3.1
+  assert(getTriple().isAArch64() && "expected AArch64 target!");
+  ToolChain::RuntimeLibType RtLib = GetRuntimeLibType(Args);
+  if (RtLib == ToolChain::RLT_CompilerRT)
+    return true;
+  assert(RtLib == ToolChain::RLT_Libgcc && "unexpected runtime library type!");
+  if (GCCInstallation.getVersion().isOlderThan(9, 3, 1))
+    return false;
+  return true;
+}
+
+bool Linux::IsMathErrnoDefault() const {
+  if (getTriple().isAndroid() || getTriple().isMusl())
+    return false;
+  return Generic_ELF::IsMathErrnoDefault();
+}
+
+SanitizerMask Linux::getSupportedSanitizers() const {
+  const bool IsX86 = getTriple().getArch() == llvm::Triple::x86;
+  const bool IsX86_64 = getTriple().getArch() == llvm::Triple::x86_64;
+  const bool IsMIPS = getTriple().isMIPS32();
+  const bool IsMIPS64 = getTriple().isMIPS64();
+  const bool IsPowerPC64 = getTriple().getArch() == llvm::Triple::ppc64 ||
+                           getTriple().getArch() == llvm::Triple::ppc64le;
+  const bool IsAArch64 = getTriple().getArch() == llvm::Triple::aarch64 ||
+                         getTriple().getArch() == llvm::Triple::aarch64_be;
+  const bool IsArmArch = getTriple().getArch() == llvm::Triple::arm ||
+                         getTriple().getArch() == llvm::Triple::thumb ||
+                         getTriple().getArch() == llvm::Triple::armeb ||
+                         getTriple().getArch() == llvm::Triple::thumbeb;
+  const bool IsLoongArch64 = getTriple().getArch() == llvm::Triple::loongarch64;
+  const bool IsRISCV64 = getTriple().getArch() == llvm::Triple::riscv64;
+  const bool IsSystemZ = getTriple().getArch() == llvm::Triple::systemz;
+  const bool IsHexagon = getTriple().getArch() == llvm::Triple::hexagon;
+  SanitizerMask Res = ToolChain::getSupportedSanitizers();
+  Res |= SanitizerKind::Address;
+  Res |= SanitizerKind::PointerCompare;
+  Res |= SanitizerKind::PointerSubtract;
+  Res |= SanitizerKind::Fuzzer;
+  Res |= SanitizerKind::FuzzerNoLink;
+  Res |= SanitizerKind::KernelAddress;
+  Res |= SanitizerKind::Memory;
+  Res |= SanitizerKind::Vptr;
+  Res |= SanitizerKind::SafeStack;
+  if (IsX86_64 || IsMIPS64 || IsAArch64)
+    Res |= SanitizerKind::DataFlow;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsX86 || IsArmArch || IsPowerPC64 ||
+      IsRISCV64 || IsSystemZ || IsHexagon || IsLoongArch64)
+    Res |= SanitizerKind::Leak;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsPowerPC64 || IsSystemZ ||
+      IsLoongArch64)
+    Res |= SanitizerKind::Thread;
+  if (IsX86_64)
+    Res |= SanitizerKind::KernelMemory;
+  if (IsX86 || IsX86_64)
+    Res |= SanitizerKind::Function;
+  if (IsX86_64 || IsMIPS64 || IsAArch64 || IsX86 || IsMIPS || IsArmArch ||
+      IsPowerPC64 || IsHexagon || IsLoongArch64)
+    Res |= SanitizerKind::Scudo;
+  if (IsX86_64 || IsAArch64 || IsRISCV64) {
+    Res |= SanitizerKind::HWAddress;
+  }
+  if (IsX86_64 || IsAArch64) {
+    Res |= SanitizerKind::KernelHWAddress;
+  }
+  return Res;
+}
+
+void Linux::addProfileRTLibs(const llvm::opt::ArgList &Args,
+                             llvm::opt::ArgStringList &CmdArgs) const {
+  // Add linker option -u__llvm_profile_runtime to cause runtime
+  // initialization module to be linked in.
+  if (needsProfileRT(Args))
+    CmdArgs.push_back(Args.MakeArgString(
+        Twine("-u", llvm::getInstrProfRuntimeHookVarName())));
+  ToolChain::addProfileRTLibs(Args, CmdArgs);
+}
+
+llvm::DenormalMode
+Linux::getDefaultDenormalModeForType(const llvm::opt::ArgList &DriverArgs,
+                                     const JobAction &JA,
+                                     const llvm::fltSemantics *FPType) const {
+  switch (getTriple().getArch()) {
+  case llvm::Triple::x86:
+  case llvm::Triple::x86_64: {
+    std::string Unused;
+    // DAZ and FTZ are turned on in crtfastmath.o
+    if (!DriverArgs.hasArg(options::OPT_nostdlib, options::OPT_nostartfiles) &&
+        isFastMathRuntimeAvailable(DriverArgs, Unused))
+      return llvm::DenormalMode::getPreserveSign();
+    return llvm::DenormalMode::getIEEE();
+  }
+  default:
+    return llvm::DenormalMode::getIEEE();
+  }
+}
+
+void Linux::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+  for (const auto &Opt : ExtraOpts)
+    CmdArgs.push_back(Opt.c_str());
+}
+
+const char *Linux::getDefaultLinker() const {
+  if (getTriple().isAndroid())
+    return "ld.lld";
+  return Generic_ELF::getDefaultLinker();
+}
Index: radix-1.9/sources/packages/d/llvm/patches/README
===================================================================
--- radix-1.9/sources/packages/d/llvm/patches/README	(revision 39)
+++ radix-1.9/sources/packages/d/llvm/patches/README	(revision 40)
@@ -3,7 +3,7 @@
 
    Patch order:
    ===========
-     llvm-15.0.4-compiler-rt-p5600.patch
-     llvm-15.0.4-compiler-rt-ppc64.patch
+     llvm-16.0.2-compiler-rt-p5600.patch
+     llvm-16.0.2-compiler-rt-ppc64.patch
 
  * end */