[libc-commits] [libc] [libc][NFC] Make entrypoint alias targets real library targets. (PR #66044)
via libc-commits
libc-commits at lists.llvm.org
Mon Sep 11 22:51:10 PDT 2023
llvmbot wrote:
@llvm/pr-subscribers-libc
<details>
<summary>Changes</summary>
This is part of a libc wide CMake cleanup which aims to eliminate
certain explicitly duplicated logic which is available in CMake-3.20.
This change in particular makes the entrypoint aliases real library
targets so that they can be treated as normal library targets by other
libc build rules.
--
Full diff: https://github.com/llvm/llvm-project/pull/66044.diff
1 Files Affected:
- (modified) libc/cmake/modules/LLVMLibCObjectRules.cmake (+17-3)
<pre>
diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake
index 709acd9ad614fbe..006b8949b6fd0a1 100644
--- a/libc/cmake/modules/LLVMLibCObjectRules.cmake
+++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake
@@ -559,6 +559,8 @@ function(create_entrypoint_object fq_target_name)
return()
endif()
+ set(internal_target_name ${fq_target_name}.__internal__)
+
if(ADD_ENTRYPOINT_OBJ_ALIAS)
# Alias targets help one add aliases to other entrypoint object targets.
# One can use alias targets setup OS/machine independent entrypoint targets.
@@ -586,10 +588,23 @@ function(create_entrypoint_object fq_target_name)
message(FATAL_ERROR "The aliasee of an entrypoint alias should be an entrypoint.")
endif()
- add_custom_target(${fq_target_name})
- add_dependencies(${fq_target_name} ${fq_dep_name})
+ # add_custom_target(${fq_target_name})
get_target_property(object_file ${fq_dep_name} "OBJECT_FILE")
get_target_property(object_file_raw ${fq_dep_name} "OBJECT_FILE_RAW")
+ add_library(
+ ${internal_target_name}
+ EXCLUDE_FROM_ALL
+ OBJECT
+ ${object_file_raw}
+ )
+ add_dependencies(${internal_target_name} ${fq_dep_name})
+ add_library(
+ ${fq_target_name}
+ EXCLUDE_FROM_ALL
+ OBJECT
+ ${object_file}
+ )
+ add_dependencies(${fq_target_name} ${fq_dep_name} ${internal_target_name})
set_target_properties(
${fq_target_name}
PROPERTIES
@@ -619,7 +634,6 @@ function(create_entrypoint_object fq_target_name)
"${ADD_ENTRYPOINT_OBJ_FLAGS}"
${ADD_ENTRYPOINT_OBJ_COMPILE_OPTIONS}
)
- set(internal_target_name ${fq_target_name}.__internal__)
set(include_dirs ${LIBC_SOURCE_DIR} ${LIBC_INCLUDE_DIR})
get_fq_deps_list(fq_deps_list ${ADD_ENTRYPOINT_OBJ_DEPENDS})
set(full_deps_list ${fq_deps_list} libc.src.__support.common)
</pre>
</details>
https://github.com/llvm/llvm-project/pull/66044
More information about the libc-commits
mailing list