[libc-commits] [libc] 0ffea21 - [libc] Small improvements to libc cmake
Mikhail R. Gadelha via libc-commits
libc-commits at lists.llvm.org
Wed Mar 8 04:02:25 PST 2023
Author: Mikhail R. Gadelha
Date: 2023-03-08T09:02:02-03:00
New Revision: 0ffea218934b728b68fee7e4d2d973869f222961
URL: https://github.com/llvm/llvm-project/commit/0ffea218934b728b68fee7e4d2d973869f222961
DIFF: https://github.com/llvm/llvm-project/commit/0ffea218934b728b68fee7e4d2d973869f222961.diff
LOG: [libc] Small improvements to libc cmake
This patch includes:
1. Better error message when cmake finds incompatible triple
2. Added missing header dependencies libc/include/CMakeLists.txt as per
app.td
3. Removed unused $LLVM_LIBC_INCLUDE_DIRS cmake variable
Reviewed By: sivachandra
Differential Revision: https://reviews.llvm.org/D145496
Added:
Modified:
libc/cmake/modules/LLVMLibCArchitectures.cmake
libc/config/linux/api.td
libc/include/CMakeLists.txt
libc/src/stdlib/linux/CMakeLists.txt
libc/utils/HdrGen/CMakeLists.txt
libc/utils/LibcTableGenUtil/CMakeLists.txt
Removed:
################################################################################
diff --git a/libc/cmake/modules/LLVMLibCArchitectures.cmake b/libc/cmake/modules/LLVMLibCArchitectures.cmake
index 77d2b5453e036..27e17cd6a2aa4 100644
--- a/libc/cmake/modules/LLVMLibCArchitectures.cmake
+++ b/libc/cmake/modules/LLVMLibCArchitectures.cmake
@@ -178,8 +178,8 @@ if(explicit_target_triple AND
set(LIBC_CROSSBUILD TRUE)
if(CMAKE_COMPILER_IS_GNUCXX)
message(FATAL_ERROR
- "GCC target triple and the explicity specified target triple do "
- "not match.")
+ "GCC target triple (${libc_compiler_triple}) and the explicity "
+ "specified target triple (${explicit_target_triple}) do not match.")
else()
list(APPEND
LIBC_COMPILE_OPTIONS_DEFAULT "--target=${explicit_target_triple}")
diff --git a/libc/config/linux/api.td b/libc/config/linux/api.td
index abe70a6681a49..253546fe83e0a 100644
--- a/libc/config/linux/api.td
+++ b/libc/config/linux/api.td
@@ -108,9 +108,6 @@ def SchedAPI : PublicAPI<"sched.h"> {
def SysMManAPI : PublicAPI<"sys/mman.h"> {
let Types = ["off_t", "size_t"];
- let Macros = [
- ];
-
}
def SignalAPI : PublicAPI<"signal.h"> {
@@ -177,7 +174,8 @@ def DirentAPI : PublicAPI<"dirent.h"> {
}
def UniStdAPI : PublicAPI<"unistd.h"> {
- let Types = ["__exec_argv_t", "__exec_envp_t", "off_t", "pid_t", "size_t", "ssize_t", "uid_t", "__getoptargv_t"];
+ let Types = ["__exec_argv_t", "__exec_envp_t", "off_t", "pid_t", "size_t",
+ "ssize_t", "uid_t", "__getoptargv_t"];
}
def SysRandomAPI : PublicAPI<"sys/random.h"> {
@@ -185,7 +183,8 @@ def SysRandomAPI : PublicAPI<"sys/random.h"> {
}
def SysSelectAPI : PublicAPI<"sys/select.h"> {
- let Types = ["fd_set", "sigset_t", "suseconds_t", "time_t", "struct timespec", "struct timeval"];
+ let Types = ["fd_set", "sigset_t", "suseconds_t", "time_t", "struct timespec",
+ "struct timeval"];
}
def SysResourceAPI : PublicAPI<"sys/resource.h"> {
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index e496374de2b72..cada1177c5fa4 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -24,8 +24,8 @@ add_gen_header(
GEN_HDR dirent.h
DEPENDS
.llvm_libc_common_h
- .llvm-libc-types.DIR
.llvm-libc-types.ino_t
+ .llvm-libc-types.DIR
.llvm-libc-types.struct_dirent
)
@@ -124,12 +124,12 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.time_macros
- .llvm-libc-types.time_t
.llvm-libc-types.clock_t
- .llvm-libc-types.clockid_t
+ .llvm-libc-types.time_t
.llvm-libc-types.struct_tm
.llvm-libc-types.struct_timespec
.llvm-libc-types.struct_timeval
+ .llvm-libc-types.clockid_t
)
add_gen_header(
@@ -139,11 +139,11 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.__call_once_func_t
+ .llvm-libc-types.once_flag
.llvm-libc-types.cnd_t
.llvm-libc-types.mtx_t
- .llvm-libc-types.once_flag
- .llvm-libc-types.thrd_start_t
.llvm-libc-types.thrd_t
+ .llvm-libc-types.thrd_start_t
.llvm-libc-types.tss_t
.llvm-libc-types.tss_dtor_t
)
@@ -166,11 +166,12 @@ add_gen_header(
../config/${LIBC_TARGET_OS}/signal.h.in
DEPENDS
.llvm-libc-macros.signal_macros
- .llvm-libc-types.__sighandler_t
- .llvm-libc-types.sigset_t
.llvm-libc-types.sig_atomic_t
- .llvm-libc-types.stack_t
+ .llvm-libc-types.sigset_t
.llvm-libc-types.struct_sigaction
+ .llvm-libc-types.union_sigval
+ .llvm-libc-types.siginfo_t
+ .llvm-libc-types.stack_t
.llvm-libc-types.pid_t
)
@@ -182,10 +183,9 @@ add_gen_header(
.llvm_libc_common_h
.llvm-libc-macros.file_seek_macros
.llvm-libc-macros.stdio_macros
- .llvm-libc-types.cookie_io_functions_t
- .llvm-libc-types.FILE
- .llvm-libc-types.off_t
.llvm-libc-types.size_t
+ .llvm-libc-types.FILE
+ .llvm-libc-types.cookie_io_functions_t
)
add_gen_header(
@@ -195,12 +195,12 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.stdlib_macros
- .llvm-libc-types.__bsearchcompare_t
- .llvm-libc-types.__qsortcompare_t
.llvm-libc-types.div_t
.llvm-libc-types.ldiv_t
.llvm-libc-types.lldiv_t
.llvm-libc-types.size_t
+ .llvm-libc-types.__bsearchcompare_t
+ .llvm-libc-types.__qsortcompare_t
.llvm-libc-types.__atexithandler_t
)
@@ -229,15 +229,15 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.__atfork_callback_t
+ .llvm-libc-types.__pthread_once_func_t
.llvm-libc-types.__pthread_start_t
.llvm-libc-types.__pthread_tss_dtor_t
.llvm-libc-types.pthread_attr_t
- .llvm-libc-types.pthread_key_t
.llvm-libc-types.pthread_mutex_t
.llvm-libc-types.pthread_mutexattr_t
- .llvm-libc-types.pthread_once_t
- .llvm-libc-types.__pthread_once_func_t
.llvm-libc-types.pthread_t
+ .llvm-libc-types.pthread_key_t
+ .llvm-libc-types.pthread_once_t
)
add_gen_header(
@@ -246,8 +246,10 @@ add_gen_header(
GEN_HDR sched.h
DEPENDS
.llvm_libc_common_h
- .llvm-libc-types.cpu_set_t
.llvm-libc-macros.sched_macros
+ .llvm-libc-types.pid_t
+ .llvm-libc-types.size_t
+ .llvm-libc-types.cpu_set_t
)
add_gen_header(
@@ -291,9 +293,9 @@ add_gen_header(
GEN_HDR sys/mman.h
DEPENDS
.llvm_libc_common_h
+ .llvm-libc-macros.sys_mman_macros
.llvm-libc-types.off_t
.llvm-libc-types.ssize_t
- .llvm-libc-macros.sys_mman_macros
)
add_gen_header(
@@ -311,8 +313,8 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-macros.sys_random_macros
- .llvm-libc-types.ssize_t
.llvm-libc-types.size_t
+ .llvm-libc-types.ssize_t
)
add_gen_header(
@@ -334,6 +336,16 @@ add_gen_header(
.llvm_libc_common_h
.llvm-libc-macros.sys_stat_macros
.llvm-libc-types.mode_t
+ .llvm-libc-types.dev_t
+ .llvm-libc-types.ino_t
+ .llvm-libc-types.nlink_t
+ .llvm-libc-types.uid_t
+ .llvm-libc-types.gid_t
+ .llvm-libc-types.off_t
+ .llvm-libc-types.struct_timespec
+ .llvm-libc-types.struct_timeval
+ .llvm-libc-types.blksize_t
+ .llvm-libc-types.blkcnt_t
.llvm-libc-types.struct_stat
)
@@ -346,11 +358,10 @@ add_gen_header(
.llvm-libc-macros.sys_select_macros
.llvm-libc-types.fd_set
.llvm-libc-types.sigset_t
- .llvm-libc-types.struct_timespec
- .llvm-libc-types.struct_timeval
.llvm-libc-types.suseconds_t
.llvm-libc-types.time_t
- .llvm-libc-types.ssize_t
+ .llvm-libc-types.struct_timespec
+ .llvm-libc-types.struct_timeval
)
add_gen_header(
@@ -360,6 +371,7 @@ add_gen_header(
DEPENDS
.llvm_libc_common_h
.llvm-libc-types.off_t
+ .llvm-libc-types.size_t
.llvm-libc-types.ssize_t
)
@@ -449,6 +461,7 @@ add_gen_header(
.llvm_libc_common_h
.llvm-libc-macros.termios_macros
.llvm-libc-types.cc_t
+ .llvm-libc-types.pid_t
.llvm-libc-types.speed_t
.llvm-libc-types.struct_termios
.llvm-libc-types.tcflag_t
diff --git a/libc/src/stdlib/linux/CMakeLists.txt b/libc/src/stdlib/linux/CMakeLists.txt
index 7d471e5e95fbf..360d3634f361c 100644
--- a/libc/src/stdlib/linux/CMakeLists.txt
+++ b/libc/src/stdlib/linux/CMakeLists.txt
@@ -19,5 +19,5 @@ add_entrypoint_object(
DEPENDS
libc.include.stdlib
libc.src.signal.raise
- ._Exit
+ libc.src.stdlib._Exit
)
diff --git a/libc/utils/HdrGen/CMakeLists.txt b/libc/utils/HdrGen/CMakeLists.txt
index c68314bb41a0c..0b1612e8a886a 100644
--- a/libc/utils/HdrGen/CMakeLists.txt
+++ b/libc/utils/HdrGen/CMakeLists.txt
@@ -14,7 +14,7 @@ add_tablegen(libc-hdrgen LIBC
PublicAPICommand.h
)
-target_include_directories(libc-hdrgen PRIVATE ${LIBC_SOURCE_DIR} ${LLVM_LIBC_INCLUDE_DIRS})
+target_include_directories(libc-hdrgen PRIVATE ${LIBC_SOURCE_DIR})
target_link_libraries(libc-hdrgen PRIVATE LibcTableGenUtil)
add_subdirectory(PrototypeTestGen)
diff --git a/libc/utils/LibcTableGenUtil/CMakeLists.txt b/libc/utils/LibcTableGenUtil/CMakeLists.txt
index 41881e78da23d..d2632a240bd3d 100644
--- a/libc/utils/LibcTableGenUtil/CMakeLists.txt
+++ b/libc/utils/LibcTableGenUtil/CMakeLists.txt
@@ -4,4 +4,4 @@ add_llvm_library(
APIIndexer.h
LINK_COMPONENTS Support TableGen
)
-target_include_directories(LibcTableGenUtil PUBLIC ${LIBC_SOURCE_DIR} ${LLVM_LIBC_INCLUDE_DIRS})
+target_include_directories(LibcTableGenUtil PUBLIC ${LIBC_SOURCE_DIR})
More information about the libc-commits
mailing list