[libc-commits] [libc] b22f448 - [libc] Add a target "install-llvmlibc" to install LLVM libc static archive.

Siva Chandra via libc-commits libc-commits at lists.llvm.org
Sun Mar 21 21:45:52 PDT 2021


Author: Siva Chandra
Date: 2021-03-22T04:45:14Z
New Revision: b22f448c21e718a3b6219df89169f38d436189c6

URL: https://github.com/llvm/llvm-project/commit/b22f448c21e718a3b6219df89169f38d436189c6
DIFF: https://github.com/llvm/llvm-project/commit/b22f448c21e718a3b6219df89169f38d436189c6.diff

LOG: [libc] Add a target "install-llvmlibc" to install LLVM libc static archive.

Added: 
    

Modified: 
    libc/CMakeLists.txt
    libc/lib/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt
index 95c3b6c66b59..7054bfc5d148 100644
--- a/libc/CMakeLists.txt
+++ b/libc/CMakeLists.txt
@@ -5,14 +5,16 @@ cmake_minimum_required(VERSION 3.13.4)
 cmake_policy(SET CMP0076 OLD)
 list(APPEND CMAKE_MODULE_PATH  "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
 
-# The top-level source directory of libc.
+# The top-level sourse and binary directories.
 set(LIBC_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
+set(LIBC_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
 # The top-level directory in which libc is being built.
 set(LIBC_BUILD_DIR ${CMAKE_CURRENT_BINARY_DIR})
 
 # Path libc/scripts directory.
 set(LIBC_BUILD_SCRIPTS_DIR "${LIBC_SOURCE_DIR}/utils/build_scripts")
 
+set(LIBC_INSTALL_PREFIX "" CACHE STRING "Define libc destination prefix.")
 
 set(LIBC_TARGET_OS ${CMAKE_SYSTEM_NAME})
 string(TOLOWER ${LIBC_TARGET_OS} LIBC_TARGET_OS)

diff  --git a/libc/lib/CMakeLists.txt b/libc/lib/CMakeLists.txt
index b8ca13b27124..7d99bd9cebf8 100644
--- a/libc/lib/CMakeLists.txt
+++ b/libc/lib/CMakeLists.txt
@@ -3,3 +3,22 @@ add_entrypoint_library(
   DEPENDS
   ${TARGET_LLVMLIBC_ENTRYPOINTS}
 )
+
+if(LLVM_ENABLE_PER_TARGET_RUNTIME_DIR)
+  set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX}/${LLVM_DEFAULT_TARGET_TRIPLE})
+else()
+  set(LIBC_INSTALL_LIBRARY_DIR lib${LLVM_LIBDIR_SUFFIX})
+endif()
+
+install(
+  TARGETS llvmlibc
+  ARCHIVE DESTINATION ${LIBC_INSTALL_PREFIX}/${LIBC_INSTALL_LIBRARY_DIR}
+  COMPONENT llvmlibc
+)
+
+add_custom_target(
+    install-llvmlibc
+    DEPENDS llvmlibc
+    COMMAND "${CMAKE_COMMAND}" -DCMAKE_INSTALL_COMPONENT=llvmlibc
+            -P "${LIBC_BINARY_DIR}/cmake_install.cmake"
+)


        


More information about the libc-commits mailing list