wasi-sdk icon indicating copy to clipboard operation
wasi-sdk copied to clipboard

Build llvm with LLVM_INSTALL_TOOLCHAIN_ONLY

Open sbc100 opened this issue 1 year ago • 4 comments

This means that make install then only installs things that are meant to be part of the public facing toolchain.

See https://llvm.org/docs/BuildingADistribution.html#difference-between-install-and-install-distribution

The list binaries that get installed now differ as follows:

--- old
+++ new
@@ -1,34 +1,72 @@
+addr2line
+amdgpu-arch
+analyze-build
 ar
 c++filt
 clang
 clang++
 clang-17
 clang-apply-replacements
+clang-change-namespace
+clang-check
 clang-cl
 clang-cpp
+clangd
+clang-doc
+clang-extdef-mapping
 clang-format
+clang-include-cleaner
+clang-include-fixer
+clang-linker-wrapper
+clang-move
+clang-offload-bundler
+clang-offload-packager
+clang-pseudo
+clang-query
+clang-refactor
+clang-rename
+clang-reorder-fields
+clang-scan-deps
 clang-tidy
+diagtool
+find-all-symbols
 git-clang-format
+hmaptool
+intercept-build
 ld64.lld
 ld.lld
 lld
 lld-link
 llvm-ar
+llvm-cov
 llvm-cxxfilt
-llvm-dwarfdump
-llvm-mc
+llvm-dwp
+llvm-lib
+llvm-ml
 llvm-nm
 llvm-objcopy
 llvm-objdump
+llvm-pdbutil
+llvm-profdata
 llvm-ranlib
+llvm-rc
+llvm-readobj
 llvm-size
 llvm-strings
 llvm-strip
+llvm-symbolizer
+modularize
 nm
+nvptx-arch
 objcopy
 objdump
+pp-trace
 ranlib
+readelf
 run-clang-tidy
+scan-build
+scan-build-py
+scan-view
 size
 strings
 strip

sbc100 avatar Dec 11 '23 21:12 sbc100

The loss of llvm-dwarfdump seems surprising; do you know why isn't that included, when things like llvm-objdump are?

sunfishcode avatar Dec 11 '23 21:12 sunfishcode

The loss of llvm-dwarfdump seems surprising; do you know why isn't that included, when things like llvm-objdump are?

The list seems to be hardcoded here: https://github.com/llvm/llvm-project/blob/29ee66f4a0967e43a035f147c960743c7b640f2f/llvm/cmake/modules/AddLLVM.cmake#L1306-L1340

I'm not sure why dwarfdump is not on this list.. perhaps its viewed as an internal debugging tool? We could make and exception and add it explicitly? Or ask upstream why its not there already?

sbc100 avatar Dec 11 '23 21:12 sbc100

Would it be difficult to add back in here? Asking upstream may be worth doing, but it'd be nice if we could do something easy for now.

sunfishcode avatar Dec 12 '23 00:12 sunfishcode

Would it be difficult to add back in here? Asking upstream may be worth doing, but it'd be nice if we could do something easy for now.

Ah.. sadly I can't do make install install-llvm-dwarfdump since LLVM_INSTALL_TOOLCHAIN_ONLY mean that second target simply doesn't exist.

Do you think wasi-sdk should include that binary for some reason?

sbc100 avatar Dec 12 '23 00:12 sbc100