On Wed, Jan 22, 2020 at 07:40:12PM +0000, Vaughan Butler via blfs-support wrote:
> I'm trying to build LLVM-9.0.1 with the optional Clang package, which
> appears to be required for Firefox to build.
>
> This goes OK until invoking ninja, which immediately stops the build, with
> the message
>
> ninja: error: '../cmake/modules/Generate VersionFromVCS.cmake', needed by
> 'tools/clang/lib/Basic/VCSVersion.inc', missing and no known rule to make it
>
> Building LLVM without the Clang package completes normally, but the Firefox
> build will complain that it is needed. Curiously I built Firefox on LFS 8.4,
> in the same way, without this problem.
>
> Hope someone can throw some light on this, as I've found nothing, other than
> some similar PATH related issues with cmake, after searching the web.
For the llvm issue I have no idea. But for firefox needing clang
I'm surprised - in practice I _do_ build clang on all my systems,
but in the development book for firefox we use:
export CC=gcc CXX=g++ &&
export MOZBUILD_STATE_PATH=${PWD}/mozbuild &&
./mach build
and that first line is to ensure that gcc and g++ are used. Hmm, we
also did that back in 9.0 (but nobody should build old versions of
firefox).
Hmm, I can see that the python configury checks that clang is new
enough before adding some disable|without clang options, and then it
compiles rust crate clang-sys (cargo bindings).
So yes, you are right - it's part of mozilla's "use clang on all
platforms" (gcc tends to have better hardening flags available, and
to produce a smaller binary on linux x86_64).
ĸen
--
The politics of wizardry were either very simple, and resolved by
someone ceasing to breathe, or as complex as one ball of yarn in a
room with three bright-eyed little kittens. - Unseen Academicals
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page