[all-commits] [llvm/llvm-project] 71a2a6: [CMake] Pass symlink dependency to add_llvm_instal...
Petr Hosek via All-commits
all-commits at lists.llvm.org
Mon Jan 6 14:51:38 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 71a2a62163cfafbc31cd827106506c73ff49e8b5
https://github.com/llvm/llvm-project/commit/71a2a62163cfafbc31cd827106506c73ff49e8b5
Author: Petr Hosek <phosek at google.com>
Date: 2020-01-06 (Mon, 06 Jan 2020)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Pass symlink dependency to add_llvm_install_targets explicitly
The install-${name}-stripped targets don't strip when ${name} is being
symlinked, e.g. llvm-ar or llvm-objcopy. The problem is that
llvm_install_symlink passes install-${dest} as a dependency of
install-${name}, e.g. install-llvm-ar becomes a dependency of both
install-llvm-ranlib and install-llvm-ranlib-stripped. What this means is
that when installing a distribution that contains both llvm-ar and
llvm-ranlib is that first the stripped version of llvm-ar is installed
(by the install-llvm-ar-stripped target) and then it's overwritten by an
unstripped version of llvm-ar bnecause install-llvm-ranlib-stripped has
install-llvm-ranlib as a dependency as mentioned earlier. To avoid this
issue, rather than passing the install-${dest} as dependency, we
introduce a new argument to add_llvm_install_targets for symlink target
which expands it into an appropriate dependency, i.e. install-${dest}
for install-${name} target and install-${dest}-stripped for
install-${name}-stripped.
Differential Revision: https://reviews.llvm.org/D71951
More information about the All-commits
mailing list