diff --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt --- a/libc/CMakeLists.txt +++ b/libc/CMakeLists.txt @@ -148,7 +148,7 @@ if(LLVM_LIBC_FULL_BUILD) set(LIBC_TARGET libc) set(LIBC_COMPONENT libc) - set(LIBC_INSTALL_DEPENDS "libc;libc-headers") + set(LIBC_INSTALL_DEPENDS "libc;libc-headers;libc-startup") set(LIBC_INSTALL_TARGET install-libc) set(LIBC_ARCHIVE_NAME c) else() diff --git a/libc/loader/linux/CMakeLists.txt b/libc/loader/linux/CMakeLists.txt --- a/libc/loader/linux/CMakeLists.txt +++ b/libc/loader/linux/CMakeLists.txt @@ -83,3 +83,14 @@ SRC crtn.cpp ) + +add_custom_target(libc-startup) +set(startup_components crt1 crti crtn) +foreach(target IN LISTS startup_components) + set(fq_target_name libc.loader.linux.${target}) + add_dependencies(libc-startup ${fq_target_name}) + get_target_property(loader_object ${fq_target_name} LOADER_OBJECT) + install(FILES ${loader_object} + DESTINATION ${CMAKE_INSTALL_LIBDIR} + COMPONENT ${LIBC_COMPONENT}) +endforeach()