This patches enables installation of the following llvm utils: count FileCheck lli-child-target llvm-PerfectShuffle not yaml-bench Installing these utils will make it possible for the clang package to run make-check. Some of these utils have generic names, like 'not' and 'count', do we need to add 'llvm-' prefix to these? Should we put these utils in their own package, so that aren't part of the normal llvm installation?
FWIW, Rust has some codegen-tests that I've had to disable for want of FileCheck, so it would be nice to enable those. > Some of these utils have generic names, like 'not' and 'count', do we need to add 'llvm-' prefix to these? Will clang etc. be able to find prefixed names? Another possibility is to put them in a private path, like %{_libexecdir}/llvm/. > Should we put these utils in their own package, so that aren't part of the normal llvm installation? They seem fairly niche, so I'd say yes, use a subpackage like llvm-utils.
Created attachment 1260825 [details] Install LLVM utils v2 Install utils to libexec/llvm and create a new llvm-utils package for them.
(In reply to Josh Stone from comment #1) > FWIW, Rust has some codegen-tests that I've had to disable for want of > FileCheck, so it would be nice to enable those. > > > Some of these utils have generic names, like 'not' and 'count', do we need to add 'llvm-' prefix to these? > > Will clang etc. be able to find prefixed names? > > Another possibility is to put them in a private path, like > %{_libexecdir}/llvm/. > clang can only find them if they are installed in /usr/bin, even if they don't have the prefixed names, so we will need to patch clang to find them. > > Should we put these utils in their own package, so that aren't part of the normal llvm installation? > > They seem fairly niche, so I'd say yes, use a subpackage like llvm-utils.
+%files utils +%{_libexecdir}/llvm/count ... It should also own the directory itself, like "%dir %{_libexecdir}/llvm". Alternatively, you can list just "%{_libexecdir}/llvm/" here to include the directory and all its contents at once. It depends on whether you want to be explicit about listing what executables are expected here.
Created attachment 1261914 [details] Install LLVM utils v3 I've reworked this patch and taken a different approach. With this patch, all tools and utils (except for llvm-config) are installed into %{_libexec}/llvm. In order for clang to be able run make check, tools and utils must be in the same directory. To maintain compatibility with current installs, symlinks for tools and utils are added to /usr/bin (except for the tools with generic names: not and count). This approaches matches what debian does and should put us in a better position if we want to put version suffixed tools in /usr/bin, or manage them with updated-alternatives. llvm-config is an exception, because it hardcodes some of its paths, so it must be installed to /usr/bin. We also add a symlink for llvm-config in %libexec}/llvm.
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
Fixed in rawhide: llvm-4.0.0-6.fc27