[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