Skip to content

Commit 62c2ffa

Browse files
committed
[cmake] Add hexagon-linux cmake cache files
These can be used to create a fully-bootstrapped cross-toolchain to target hexagon {baremetal,linux} with scripts like the ones in https://github.com/quic/toolchain_for_hexagon
1 parent e379b4b commit 62c2ffa

File tree

5 files changed

+74
-0
lines changed

5 files changed

+74
-0
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# This file is for the llvm+clang options that are specific to building
2+
# a cross-toolchain targeting hexagon linux.
3+
set(DEFAULT_SYSROOT "../target/hexagon-unknown-linux-musl/" CACHE STRING "")
4+
set(CLANG_LINKS_TO_CREATE
5+
hexagon-linux-musl-clang++
6+
hexagon-linux-musl-clang
7+
hexagon-unknown-linux-musl-clang++
8+
hexagon-unknown-linux-musl-clang
9+
hexagon-none-elf-clang++
10+
hexagon-none-elf-clang
11+
hexagon-unknown-none-elf-clang++
12+
hexagon-unknown-none-elf-clang
13+
CACHE STRING "")
14+
15+
set(LLVM_INSTALL_TOOLCHAIN_ONLY ON CACHE BOOL "")
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
set(LLVM_TARGETS_TO_BUILD "Hexagon" CACHE STRING "")
3+
set(LLVM_DEFAULT_TARGET_TRIPLE "hexagon-unknown-linux-musl" CACHE STRING "")
4+
set(CLANG_DEFAULT_CXX_STDLIB "libc++" CACHE STRING "")
5+
set(CLANG_DEFAULT_OBJCOPY "llvm-objcopy" CACHE STRING "")
6+
set(CLANG_DEFAULT_RTLIB "compiler-rt" CACHE STRING "")
7+
set(CLANG_DEFAULT_UNWINDLIB "libunwind" CACHE STRING "")
8+
set(CLANG_DEFAULT_LINKER "lld" CACHE STRING "")
9+
set(LLVM_ENABLE_PROJECTS "clang;lld" CACHE STRING "")
10+
11+
set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "")
12+
set(LLVM_INCLUDE_DOCS OFF CACHE BOOL "")
13+
# Enabling toolchain-only causes problems when doing some of the
14+
# subsequent builds, will need to investigate:
15+
set(LLVM_INSTALL_TOOLCHAIN_ONLY OFF CACHE BOOL "")
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
set(CMAKE_ASM_FLAGS "-G0 -mlong-calls -fno-pic" CACHE STRING "")
2+
3+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "")
4+
set(LLVM_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING "")
5+
set(COMPILER_RT_DEFAULT_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING "")
6+
set(COMPILER_RT_BUILD_BUILTINS ON CACHE BOOL "")
7+
set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
8+
set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
9+
set(COMPILER_RT_BUILD_LIBFUZZER OFF CACHE BOOL "")
10+
set(COMPILER_RT_BUILD_PROFILE OFF CACHE BOOL "")
11+
set(COMPILER_RT_BUILD_MEMPROF OFF CACHE BOOL "")
12+
set(COMPILER_RT_BUILD_ORC OFF CACHE BOOL "")
13+
set(COMPILER_RT_BUILD_GWP_ASAN OFF CACHE BOOL "")
14+
set(COMPILER_RT_BUILTINS_ENABLE_PIC OFF CACHE BOOL "")
15+
set(COMPILER_RT_SUPPORTED_ARCH hexagon CACHE STRING "")
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
2+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "")
3+
set(LLVM_DEFAULT_TARGET_TRIPLE hexagon-unknown-linux-musl CACHE STRING "")
4+
5+
set(COMPILER_RT_USE_LLVM_UNWINDER ON CACHE BOOL "")
6+
7+
# Some build failures here, including the inline asm in
8+
# `compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h`, so
9+
# we can just disable these for now:
10+
set(COMPILER_RT_BUILD_BUILTINS OFF CACHE BOOL "")
11+
set(COMPILER_RT_BUILD_SANITIZERS OFF CACHE BOOL "")
12+
set(COMPILER_RT_BUILD_XRAY OFF CACHE BOOL "")
13+
set(COMPILER_RT_BUILD_MEMPROF OFF CACHE BOOL "")
14+
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
set(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR OFF CACHE BOOL "")
3+
set(LLVM_ENABLE_RUNTIMES libcxx;libcxxabi;libunwind;compiler-rt CACHE STRING "")
4+
set(LIBCXX_INCLUDE_BENCHMARKS OFF CACHE BOOL "")
5+
set(LIBCXX_HAS_MUSL_LIBC ON CACHE BOOL "")
6+
set(LIBCXX_INCLUDE_TESTS OFF CACHE BOOL "")
7+
set(LIBCXXABI_INCLUDE_TESTS OFF CACHE BOOL "")
8+
set(LIBUNWIND_INCLUDE_TESTS OFF CACHE BOOL "")
9+
set(LIBCXX_CXX_ABI libcxxabi CACHE STRING "")
10+
set(LIBCXXABI_USE_LLVM_UNWINDER ON CACHE BOOL "")
11+
set(LIBCXXABI_ENABLE_SHARED ON CACHE BOOL "")
12+
13+
set(LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
14+
set(LIBCXXABI_USE_COMPILER_RT ON CACHE BOOL "")
15+
set(LIBUNWIND_USE_COMPILER_RT ON CACHE BOOL "")

0 commit comments

Comments
 (0)