On Mon, Aug 17, 2020 at 07:00:08PM +0100, Ken Moffat via blfs-dev wrote:
> On Mon, Aug 17, 2020 at 01:33:49PM +0800, Xi Ruoyao via blfs-dev wrote:
> > I just drafted js78 page.  When it was built, the building system utilized 
> > some
> > LLVM tools (llvm-objdump and llvm-profdata).
> > 
> > Is a rustc built with shipped LLVM providing llvm-objdump and llvm-profdata,
> > which could be used during firefox or js build?  If not we should list LLVM 
> > as a
> > firefox/js hard dependency.
> 
> It seems to.
> 
> On my experimental build last month with llvm-11-rc I had to build
> rust with its shipped llvm.  Clearly I had already installed those
> two programs, but looking at the log I see
> 
> [1656/1728] Linking CXX executable bin/llvm-objdump
>  and
> [1620/1728] Linking CXX executable bin/llvm-profdata
> 
> In my current build with system llvm neither of those is mentioend
> in the log.
> 
Coming back to this, two points:

1. It might be that we should anyway list clang from llvm as a hard
dependency.  At some point before we released 10.0 I had hidden
clang on this system - I guess that was while exploring thunderbird
builds with gcc - and forgotten to reinstate it.

Today I was trying to build firefox-81beta (if anyone else wants to
build 81, please read the wiki - creating the python virtual
environments has been separated out of ./mach build) and eventually
got it to run ./mach build, only to fail because it couldn't find
clang which is apparently needed for cbindgen to use.

I have not yet played with current firefox-esr in the absence of
clang, nor current js68, but I see from my firefox-78.2.0esr log:

 0:22.46 checking for cbindgen... /usr/bin/cbindgen
 0:22.46 checking for rustfmt... /opt/rustc/bin/rustfmt
 0:22.46 checking for clang for bindgen... /usr/bin/clang++
 0:22.46 checking for libclang for bindgen... /usr/lib/libclang.so
 0:22.46 checking that libclang is new enough... yes

In practice, at the moment with rust using system llvm we recommend
clang, but when llvm has its next release we'll probably have to
drop back to the shipped llvm again, so bigger and slower llvm
compiles.

2. In llvm, should we recommend clang instead of listing it as
optional ?  At the moment, both clang and compiler-rt are listed as
optional.  On my less-capable desktop/notebook machines I don't
build compiler-rt, but obviously I build clang on all of them.
I guess the real question is:

Do BLFS users build llvm without clang, and if so, what do they use
it for ?

ĸen
-- 
I could not live without Champagne.  In victory I deserve it, in
defeat I need it.  -- Churchill
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to