[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