diff options
| author | Prabhu Rajasekaran <prabhukr@google.com> | 2025-11-17 12:08:39 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-17 12:08:39 -0800 |
| commit | b32c434426a181590234f65f2e32f43735bf5b5a (patch) | |
| tree | b4d1dca63d62c7f8164a7ef26d4a9e77ea6a0274 /libc | |
| parent | 320c18a066b29e90ab5f3ef33b6c510f28edeb80 (diff) | |
[libc][Github] Perform baremetal libc builds (#167583)
Currently there are no 32 bit presubmit builds for libc. This PR
performs 32 bit build only (no test) to check any changes that land in
libc break 32 bit builds.
Co-authored-by: Aiden Grossman <aidengrossman@google.com>
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/cmake/caches/armv6m-none-eabi.cmake | 8 | ||||
| -rw-r--r-- | libc/cmake/caches/armv7em-none-eabi.cmake | 8 | ||||
| -rw-r--r-- | libc/cmake/caches/armv7m-none-eabi.cmake | 8 | ||||
| -rw-r--r-- | libc/cmake/caches/armv8.1m.main-none-eabi.cmake | 8 | ||||
| -rw-r--r-- | libc/cmake/caches/armv8m.main-none-eabi.cmake | 8 | ||||
| -rw-r--r-- | libc/cmake/caches/baremetal_common.cmake | 21 | ||||
| -rw-r--r-- | libc/cmake/caches/riscv32-unknown-elf.cmake | 4 |
7 files changed, 65 insertions, 0 deletions
diff --git a/libc/cmake/caches/armv6m-none-eabi.cmake b/libc/cmake/caches/armv6m-none-eabi.cmake new file mode 100644 index 000000000000..1f463ae5c0ea --- /dev/null +++ b/libc/cmake/caches/armv6m-none-eabi.cmake @@ -0,0 +1,8 @@ +set(CMAKE_SYSTEM_PROCESSOR arm CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "armv6m-none-eabi" CACHE STRING "") + +foreach(lang C;CXX;ASM) + set(CMAKE_${lang}_FLAGS "-march=armv6m -mcpu=cortex-m0plus -mfloat-abi=soft -Wno-atomic-alignment \"-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)\" \"-Dfprintf(stream, format, ...)=printf(format)\" \"-Dfputs(string, stream)=puts(string)\" -D_LIBCPP_PRINT=1" CACHE STRING "") +endforeach() + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) diff --git a/libc/cmake/caches/armv7em-none-eabi.cmake b/libc/cmake/caches/armv7em-none-eabi.cmake new file mode 100644 index 000000000000..afbe9c87dffe --- /dev/null +++ b/libc/cmake/caches/armv7em-none-eabi.cmake @@ -0,0 +1,8 @@ +set(CMAKE_SYSTEM_PROCESSOR arm CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "armv7em-none-eabi" CACHE STRING "") + +foreach(lang C;CXX;ASM) + set(CMAKE_${lang}_FLAGS "-march=armv7em -mcpu=cortex-m4 -mfloat-abi=soft -Wno-atomic-alignment \"-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)\" \"-Dfprintf(stream, format, ...)=printf(format)\" \"-Dfputs(string, stream)=puts(string)\" -D_LIBCPP_PRINT=1" CACHE STRING "") +endforeach() + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) diff --git a/libc/cmake/caches/armv7m-none-eabi.cmake b/libc/cmake/caches/armv7m-none-eabi.cmake new file mode 100644 index 000000000000..796adb2f3114 --- /dev/null +++ b/libc/cmake/caches/armv7m-none-eabi.cmake @@ -0,0 +1,8 @@ +set(CMAKE_SYSTEM_PROCESSOR arm CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "armv7m-none-eabi" CACHE STRING "") + +foreach(lang C;CXX;ASM) + set(CMAKE_${lang}_FLAGS "-march=armv7m -mcpu=cortex-m4 -mfloat-abi=soft -Wno-atomic-alignment \"-Dvfprintf(stream, format, vlist)=vprintf(format, vlist)\" \"-Dfprintf(stream, format, ...)=printf(format)\" \"-Dfputs(string, stream)=puts(string)\" -D_LIBCPP_PRINT=1" CACHE STRING "") +endforeach() + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) diff --git a/libc/cmake/caches/armv8.1m.main-none-eabi.cmake b/libc/cmake/caches/armv8.1m.main-none-eabi.cmake new file mode 100644 index 000000000000..4095facce46a --- /dev/null +++ b/libc/cmake/caches/armv8.1m.main-none-eabi.cmake @@ -0,0 +1,8 @@ +set(CMAKE_SYSTEM_PROCESSOR arm CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "armv8.1m.main-none-eabi" CACHE STRING "") + +foreach(lang C;CXX;ASM) + set(CMAKE_${lang}_FLAGS "-mfloat-abi=hard -march=armv8.1-m.main+mve.fp+fp.dp -mcpu=cortex-m55" CACHE STRING "") +endforeach() + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) diff --git a/libc/cmake/caches/armv8m.main-none-eabi.cmake b/libc/cmake/caches/armv8m.main-none-eabi.cmake new file mode 100644 index 000000000000..4b69f6a822e7 --- /dev/null +++ b/libc/cmake/caches/armv8m.main-none-eabi.cmake @@ -0,0 +1,8 @@ +set(CMAKE_SYSTEM_PROCESSOR arm CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "armv8m.main-none-eabi" CACHE STRING "") + +foreach(lang C;CXX;ASM) + set(CMAKE_${lang}_FLAGS "-mfloat-abi=softfp -march=armv8m.main+fp+dsp -mcpu=cortex-m33" CACHE STRING "") +endforeach() + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) diff --git a/libc/cmake/caches/baremetal_common.cmake b/libc/cmake/caches/baremetal_common.cmake new file mode 100644 index 000000000000..c0d665d79039 --- /dev/null +++ b/libc/cmake/caches/baremetal_common.cmake @@ -0,0 +1,21 @@ +# Expects target triple to be passed as `RUNTIMES_TARGET_TRIPLE` + +set(CMAKE_SYSTEM_NAME Generic CACHE STRING "") +set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY CACHE STRING "") +set(LLVM_ENABLE_RUNTIMES "libc" CACHE STRING "") +set(LLVM_INCLUDE_TESTS OFF CACHE BOOL "") +set(CMAKE_C_COMPILER_WORKS ON CACHE BOOL "") +set(CMAKE_CXX_COMPILER_WORKS ON CACHE BOOL "") +set(CMAKE_SYSROOT "" CACHE STRING "") +set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) + +set(CMAKE_C_COMPILER_TARGET ${RUNTIMES_TARGET_TRIPLE} CACHE STRING "") +set(CMAKE_CXX_COMPILER_TARGET ${RUNTIMES_TARGET_TRIPLE} CACHE STRING "") +set(CMAKE_ASM_COMPILER_TARGET ${RUNTIMES_TARGET_TRIPLE} CACHE STRING "") +set(LLVM_DEFAULT_TARGET_TRIPLE ${RUNTIMES_TARGET_TRIPLE} CACHE STRING "") +set(LIBC_TARGET_TRIPLE ${RUNTIMES_TARGET_TRIPLE} CACHE STRING "") + +set(LLVM_LIBC_FULL_BUILD "ON" CACHE BOOL "") diff --git a/libc/cmake/caches/riscv32-unknown-elf.cmake b/libc/cmake/caches/riscv32-unknown-elf.cmake new file mode 100644 index 000000000000..960fb2bb51a4 --- /dev/null +++ b/libc/cmake/caches/riscv32-unknown-elf.cmake @@ -0,0 +1,4 @@ +set(CMAKE_SYSTEM_PROCESSOR RISCV CACHE STRING "") +set(RUNTIMES_TARGET_TRIPLE "riscv32-unknown-elf" CACHE STRING "") + +include(${CMAKE_CURRENT_LIST_DIR}/baremetal_common.cmake) |
