This is an archive of the discontinued LLVM Phabricator instance.

libc: Default LIBC_INSTALL_PREFIX to ${CMAKE_INSTALL_PREFIX}
ClosedPublic

Authored by nathanchance on Mar 30 2021, 9:17 PM.

Details

Summary

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.

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

Diff Detail