aboutsummaryrefslogtreecommitdiff
path: root/libc/startup/gpu/amdgpu/CMakeLists.txt
blob: be202371fa3a1ce0c5f0eab523d081291e040cc0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
add_startup_object(
  crt1
  SRC
    start.cpp
  COMPILE_OPTIONS
    -ffreestanding # To avoid compiler warnings about calling the main function.
    -fno-builtin
    -nogpulib # Do not include any GPU vendor libraries.
    -nostdinc
    -mcpu=${LIBC_GPU_TARGET_ARCHITECTURE}
    -emit-llvm # AMDGPU's intermediate object file format is bitcode.
    --target=${LIBC_GPU_TARGET_TRIPLE}
  NO_GPU_BUNDLE # Compile this file directly without special GPU handling.
)
get_fq_target_name(crt1 fq_name)

# Ensure that clang uses the correct linker for this object type.
target_link_libraries(${fq_name} PUBLIC 
                      "--target=${LIBC_GPU_TARGET_TRIPLE}" "-flto")