[libc-commits] [libc] 4e0045c - libc: Default LIBC_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}

Nathan Chancellor via libc-commits libc-commits at lists.llvm.org
Tue Mar 30 21:48:41 PDT 2021


Author: Nathan Chancellor
Date: 2021-03-30T21:43:25-07:00
New Revision: 4e0045cc9b00ed18a7b8981d468a9d01eb4f6780

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

LOG: libc: Default LIBC_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}

b22f448c21e718a3b6 added a rule to install libllvmlibc.a to
${LIBC_INSTALL_PREFIX}/${LIBC_INSTALL_LIBRARY_DIR}, which will be /lib
by default, which is disruptive to builds that stay within a user's
/home holder:

  $ ninja install
  ...
  -- Installing: /lib/libllvmlibc.a
  CMake Error at projects/libc/lib/cmake_install.cmake:54 (file):
    file INSTALL cannot copy file
   "/home/nathan/cbl/github/tc-build/build/llvm/stage1/projects/libc/lib/libllvmlibc.a"
    to "/lib/libllvmlibc.a": Permission denied.
  Call Stack (most recent call first):
    projects/libc/cmake_install.cmake:51 (include)
    projects/cmake_install.cmake:47 (include)
    cmake_install.cmake:76 (include)
  ...

Change LIBC_INSTALL_PREFIX's default value to ${CMAKE_INSTALL_PREFIX} so
that 'ninja install' does not attempt to install anything outside of the
user's requested installation location.

Differential Revision: https://reviews.llvm.org/D99636

Reviewed By: sivachandra

Signed-off-by: Nathan Chancellor <nathan at kernel.org>

Added: 
    

Modified: 
    libc/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libc/CMakeLists.txt b/libc/CMakeLists.txt
index 7054bfc5d1484..61cc5a17a205b 100644
--- a/libc/CMakeLists.txt
+++ b/libc/CMakeLists.txt
@@ -14,7 +14,7 @@ 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_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Define libc destination prefix.")
 
 set(LIBC_TARGET_OS ${CMAKE_SYSTEM_NAME})
 string(TOLOWER ${LIBC_TARGET_OS} LIBC_TARGET_OS)


        


More information about the libc-commits mailing list