llvm / llvm/llvm-project

building with explicit settings of MAKE_INSTALL_FULL_LIBDIR and MAKE_INSTALL_LIBDIR has no effect

Open
#169,501 5 comments 0 reactions 0 assignees View on GitHub
cmake
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

The Debian and Ubuntu packages are installed into a subdir /usr/lib/llvm-N (CMAKE_INSTALL_PREFIX). There are requests to make the binary packages Multi-Arch: same compatible. That means, you can install the same package for the default architecture, and for other architectures (e.g. amd64 and arm64). In the current install, libraries (*.so.*, *.a) are installed into PREFIX/lib, however I would like to have them installed into PREFIX/lib/MULTIARCH (where MULTIARCH is an id like x86_64-linux-gnu, or aarch64-linux-gnu).

Passing these macros during configure,

-DCMAKE_INSTALL_FULL_LIBDIR=/$(LLVM_DIR)/lib/$(DEB_HOST_MULTIARCH) \
-DCMAKE_INSTALL_LIBDIR=lib/$(DEB_HOST_MULTIARCH) \

doesn't do anything. The bootstrap build still succeeds, but the default installation locations remain unchanged. Looking at the ninja -v stage2-install call, I also don't see these two macros passed anymore.

Am I missing some LLVM specific macros, or how is the libsubdir configured within LLVM?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.