aboutsummaryrefslogtreecommitdiff
path: root/libc/loader
diff options
context:
space:
mode:
authorSiva Chandra Reddy <sivachandra@google.com>2020-04-17 23:14:54 -0700
committerSiva Chandra Reddy <sivachandra@google.com>2020-04-21 09:58:55 -0700
commit20cb440ea210597bf223505604bb5f2220a067c6 (patch)
tree5fb5361db3af321369393b0b38f7614d27597e7a /libc/loader
parent5771c9856249345f09b860fa2b20b762113d521b (diff)
downloadllvm-20cb440ea210597bf223505604bb5f2220a067c6.zip
llvm-20cb440ea210597bf223505604bb5f2220a067c6.tar.gz
llvm-20cb440ea210597bf223505604bb5f2220a067c6.tar.bz2
[libc] Propagate entrypoint deps to downstream targets.
Deps are recrusively evaluated at the place they are needed. With this change, one does not have to list recursive deps of entrypoints when listing test targets. One will still have to explicitly list all entrypoint objects when setting up an "add_entrypoint_library" target. Reviewers: abrachet Differential Revision: https://reviews.llvm.org/D78537
Diffstat (limited to 'libc/loader')
-rw-r--r--libc/loader/linux/CMakeLists.txt18
1 files changed, 10 insertions, 8 deletions
diff --git a/libc/loader/linux/CMakeLists.txt b/libc/loader/linux/CMakeLists.txt
index f58603f..b972f72 100644
--- a/libc/loader/linux/CMakeLists.txt
+++ b/libc/loader/linux/CMakeLists.txt
@@ -8,7 +8,7 @@ function(add_loader_object name)
)
get_fq_target_name(${name} fq_target_name)
-
+ get_fq_deps_list(fq_deps_list ${ADD_LOADER_OBJECT_DEPENDS})
if(ADD_LOADER_OBJECT_ALIAS)
list(LENGTH ADD_LOADER_OBJECT_DEPENDS deps_size)
if(NOT (${deps_size} EQUAL "1"))
@@ -23,14 +23,15 @@ function(add_loader_object name)
set_target_properties(
${fq_target_name}
PROPERTIES
- "TARGET_TYPE" "LOADER_OBJECT"
- "OBJECT_FILES" ${dep_objfile}
+ "TARGET_TYPE" "${OBJECT_LIBRARY_TARGET_TYPE}"
+ "OBJECT_FILES" ""
+ "DEPS" "${fq_dep_name}"
)
return()
endif()
add_object_library(
- ${name}_objects
+ ${name}.__objects__
SRCS ${ADD_LOADER_OBJECT_SRC}
DEPENDS ${ADD_LOADER_OBJECT_DEPENDS}
COMPILE_OPTIONS ${ADD_LOADER_OBJECT_COMPILE_OPTIONS}
@@ -39,8 +40,8 @@ function(add_loader_object name)
set(objfile ${LIBC_BUILD_DIR}/lib/${name}.o)
add_custom_command(
OUTPUT ${objfile}
- COMMAND cp $<TARGET_OBJECTS:${fq_target_name}_objects> ${objfile}
- DEPENDS $<TARGET_OBJECTS:${fq_target_name}_objects>
+ COMMAND cp $<TARGET_OBJECTS:${fq_target_name}.__objects__> ${objfile}
+ DEPENDS $<TARGET_OBJECTS:${fq_target_name}.__objects__>
)
add_custom_target(
${fq_target_name}
@@ -49,8 +50,9 @@ function(add_loader_object name)
set_target_properties(
${fq_target_name}
PROPERTIES
- "TARGET_TYPE" "LOADER_OBJECT"
- "OBJECT_FILES" ${objfile}
+ "TARGET_TYPE" "${OBJECT_LIBRARY_TARGET_TYPE}"
+ "OBJECT_FILES" ""
+ "DEPS" "${fq_target_name}.__objects__"
)
endfunction()