Discussion:
How to avoid building of all llvm/clang-related stuff on recent
(too old to reply)
Lev Serebryakov
2018-01-29 19:56:48 UTC
Permalink
I have these lines in my nanobsd config:

WITHOUT_CROSS_COMPILER=yes
WITH_SYSTEM_COMPILER=yes
WITHOUT_CLANG=yes
WITHOUT_CLANG_EXTRAS=yes
WITHOUT_CLANG_BOOTSTRAP=yes
WITHOUT_BINUTILS=yes
WITHOUT_BINUTILS_BOOTSTRAP=yes
WITHOUT_ELFTOOLCHAIN=yes
WITHOUT_ELFTOOLCHAIN_TOOLS=yes
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=yes
WITHOUT_LLD=yes
XCC=/usr/bin/cc
XCXX=/usr/bin/c++
XCPP=/usr/bin/cpp
XAS=/usr/bin/as
XAR=/usr/bin/ar
XLD=/usr/bin/ld
XNM=/usr/bin/nm
XOBJDUMP=/usr/bin/objdump
XRANLIB=/usr/bin/ranlib
XSTRINGS=/usr/bin/strings
XSTRIPBIN=/usr/bin/strip
COMPILER_TYPE=clang

And it worked some time ago. But now "buildworld" with these setting
build libllvm and other cross-tools anyway.

Host and target are the same (amd64) and nanobsd sources are the same
as sources used to build host system.

How to disable llvm & clang build completely?
--
// Lev Serebryakov
Dimitry Andric
2018-01-29 23:03:49 UTC
Permalink
Post by Lev Serebryakov
WITHOUT_CROSS_COMPILER=yes
WITH_SYSTEM_COMPILER=yes
WITHOUT_CLANG=yes
WITHOUT_CLANG_EXTRAS=yes
WITHOUT_CLANG_BOOTSTRAP=yes
WITHOUT_BINUTILS=yes
WITHOUT_BINUTILS_BOOTSTRAP=yes
WITHOUT_ELFTOOLCHAIN=yes
WITHOUT_ELFTOOLCHAIN_TOOLS=yes
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=yes
WITHOUT_LLD=yes
XCC=/usr/bin/cc
XCXX=/usr/bin/c++
XCPP=/usr/bin/cpp
XAS=/usr/bin/as
XAR=/usr/bin/ar
XLD=/usr/bin/ld
XNM=/usr/bin/nm
XOBJDUMP=/usr/bin/objdump
XRANLIB=/usr/bin/ranlib
XSTRINGS=/usr/bin/strings
XSTRIPBIN=/usr/bin/strip
COMPILER_TYPE=clang
And it worked some time ago. But now "buildworld" with these setting
build libllvm and other cross-tools anyway.
Host and target are the same (amd64) and nanobsd sources are the same
as sources used to build host system.
How to disable llvm & clang build completely?
I think you also need WITHOUT_LLD_BOOTSTRAP now, if you are building for
amd64 or aarch64.

-Dimitry
Shane Ambler
2018-01-30 04:05:24 UTC
Permalink
Post by Dimitry Andric
Post by Lev Serebryakov
WITHOUT_CROSS_COMPILER=yes
WITH_SYSTEM_COMPILER=yes
WITHOUT_CLANG=yes
WITHOUT_CLANG_EXTRAS=yes
WITHOUT_CLANG_BOOTSTRAP=yes
WITHOUT_BINUTILS=yes
WITHOUT_BINUTILS_BOOTSTRAP=yes
WITHOUT_ELFTOOLCHAIN=yes
WITHOUT_ELFTOOLCHAIN_TOOLS=yes
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=yes
WITHOUT_LLD=yes
XCC=/usr/bin/cc
XCXX=/usr/bin/c++
XCPP=/usr/bin/cpp
XAS=/usr/bin/as
XAR=/usr/bin/ar
XLD=/usr/bin/ld
XNM=/usr/bin/nm
XOBJDUMP=/usr/bin/objdump
XRANLIB=/usr/bin/ranlib
XSTRINGS=/usr/bin/strings
XSTRIPBIN=/usr/bin/strip
COMPILER_TYPE=clang
And it worked some time ago. But now "buildworld" with these setting
build libllvm and other cross-tools anyway.
Host and target are the same (amd64) and nanobsd sources are the same
as sources used to build host system.
How to disable llvm & clang build completely?
I think you also need WITHOUT_LLD_BOOTSTRAP now, if you are building for
amd64 or aarch64.
You may also (soon) need WITHOUT_LLD_IS_LD, there are plans to enable
LLD by default.

Looking at man src.conf on current,

WITHOUT_CROSS_COMPILER enforces -
WITHOUT_BINUTILS_BOOTSTRAP
WITHOUT_CLANG_BOOTSTRAP
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
WITHOUT_GCC_BOOTSTRAP

I think WITHOUT_LLD_BOOTSTRAP might belong in that list.

There is also a WITHOUT_TOOLCHAIN which enforces -
WITHOUT_BINUTILS
WITHOUT_CLANG
WITHOUT_CLANG_EXTRAS
WITHOUT_CLANG_FULL
WITHOUT_GCC
WITHOUT_GDB
WITHOUT_INCLUDES
WITHOUT_LLD
WITHOUT_LLDB

which WITHOUT_LLD_IS_LD might also belong to, there is no mention of
other options enforcing it.

Shouldn't nanobsd disable these by default?
--
FreeBSD - the place to B...Software Developing

Shane Ambler
Lev Serebryakov
2018-01-30 12:12:11 UTC
Permalink
Post by Shane Ambler
You may also (soon) need WITHOUT_LLD_IS_LD, there are plans to enable
LLD by default.
I think, WITHOUT_LLD should be enough, together with WITHOUT_LLD_BOOTSTRAP.
Post by Shane Ambler
Looking at man src.conf on current,
WITHOUT_CROSS_COMPILER enforces -
WITHOUT_BINUTILS_BOOTSTRAP
WITHOUT_CLANG_BOOTSTRAP
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
WITHOUT_GCC_BOOTSTRAP
I think WITHOUT_LLD_BOOTSTRAP might belong in that list.
Yess!
Post by Shane Ambler
There is also a WITHOUT_TOOLCHAIN which enforces -
WITHOUT_BINUTILS
WITHOUT_CLANG
WITHOUT_CLANG_EXTRAS
WITHOUT_CLANG_FULL
WITHOUT_GCC
WITHOUT_GDB
WITHOUT_INCLUDES
WITHOUT_LLD
WITHOUT_LLDB
which WITHOUT_LLD_IS_LD might also belong to, there is no mention of
other options enforcing it.
I don't remember now why I use WITHOUT_TOOLCHAIN only at installworld
stageā€¦ There was a reason, but I don't remember it!
Post by Shane Ambler
Shouldn't nanobsd disable these by default?
nanobsd doesn't disable anything by default, and, IMHO, it is right way
to go.
--
// Lev Serebryakov
Lev Serebryakov
2018-01-29 23:21:00 UTC
Permalink
It is not part of ELFTOOLCHAIN?
--
// Lev Serebryakov

-----Original Message-----
From: Dimitry Andric <***@FreeBSD.org>
To: ***@FreeBSD.org
Cc: freebsd-current <freebsd-***@freebsd.org>
Sent: Tue, 30 Jan 2018 2:04
Subject: Re: How to avoid building of all llvm/clang-related stuff on recent CURRENT?
Post by Lev Serebryakov
WITHOUT_CROSS_COMPILER=yes
WITH_SYSTEM_COMPILER=yes
WITHOUT_CLANG=yes
WITHOUT_CLANG_EXTRAS=yes
WITHOUT_CLANG_BOOTSTRAP=yes
WITHOUT_BINUTILS=yes
WITHOUT_BINUTILS_BOOTSTRAP=yes
WITHOUT_ELFTOOLCHAIN=yes
WITHOUT_ELFTOOLCHAIN_TOOLS=yes
WITHOUT_ELFTOOLCHAIN_BOOTSTRAP=yes
WITHOUT_LLD=yes
XCC=/usr/bin/cc
XCXX=/usr/bin/c++
XCPP=/usr/bin/cpp
XAS=/usr/bin/as
XAR=/usr/bin/ar
XLD=/usr/bin/ld
XNM=/usr/bin/nm
XOBJDUMP=/usr/bin/objdump
XRANLIB=/usr/bin/ranlib
XSTRINGS=/usr/bin/strings
XSTRIPBIN=/usr/bin/strip
COMPILER_TYPE=clang
And it worked some time ago. But now "buildworld" with these setting
build libllvm and other cross-tools anyway.
Host and target are the same (amd64) and nanobsd sources are the same
as sources used to build host system.
How to disable llvm & clang build completely?
I think you also need WITHOUT_LLD_BOOTSTRAP now, if you are building for
amd64 or aarch64.

-Dimitry
Loading...