# --- T2-COPYRIGHT-NOTE-BEGIN --- # This copyright note is auto-generated by scripts/Create-CopyPatch. # # T2 SDE: package/*/llvm/llvm.conf # Copyright (C) 2009 - 2021 The T2 SDE Project # # More information can be found in the files COPYING and README. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. A copy of the # GNU General Public License can be found in the file COPYING. # --- T2-COPYRIGHT-NOTE-END --- hook_add preconf 5 "mkdir -p objdir; cd objdir" cmakelists="../CMakeLists.txt" #atstage cross && export DESTDIR="$root" var_append cmakeopt " " "-DCMAKE_INSTALL_PREFIX=$root/$prefix -DCMAKE_BUILD_TYPE:STRING=Release" # AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430 NVPTX PowerPC RISCV Sparc SystemZ WebAssembly X86 XCore # keep in sync w/ rustc! ;-) targets="AMDGPU;BPF;WebAssembly;host" # host for cross compilation target="$arch_target" case $arch in arm) var_insert targets ';' 'ARM' ;; arm64) var_insert targets ';' 'AArch64' ;; mips*) var_insert targets ';' 'Mips' ;; sparc*) var_insert targets ';' 'Sparc' ;; powerpc*) var_insert targets ';' 'PowerPC' ;; riscv*) var_insert targets ';' 'RISCV' ;; x86*) var_insert targets ';' 'X86' ;; *) var_insert targets ';' 'X86'; target=x86-t2-linux-gnu ;; esac var_append cmakeopt " " "-DLLVM_TARGETS_TO_BUILD='$targets'" var_append cmakeopt " " "-DLLVM_DEFAULT_TARGET_TRIPLE=$target" if atstage toolchain; then var_append cmakeopt " " "-DLLVM_HOST_TRIPLE=$arch_build" elif atstage cross; then var_append cmakeopt " " "-DLLVM_TABLEGEN=$root/TOOLCHAIN/$toolsdir/bin/llvm-tblgen" fi [ "${libdir##*/lib}" ] && var_append cmakeopt " " "-DLLVM_LIBDIR_SUFFIX=${libdir##*/lib}" # builds libraries as static and links all of them into an unique shared one var_append cmakeopt " " "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON" var_append cmakeopt " " "-DLLVM_ENABLE_RTTI=ON" # for Mesa? var_append cmakeopt " " "-DLLVM_INCLUDE_BENCHMARKS=OFF" # -DLLVM_BUILD_UTILS=OFF" var_append cmakeopt " " "-DLLVM_ENABLE_BINDINGS=OFF" var_append cmakeopt " " ".." [ $arch = sparc ] && var_append GCC_WRAPPER_APPEND ' ' '-c?:-latomic' [ $arch = powerpc64 ] && var_append GCC_WRAPPER_APPEND ' ' -mminimal-toc