Date: Thu, 20 May 2021 21:58:30 -0700 From: Mark Millard <marklmi@yahoo.com> To: Chris <portmaster@bsdforge.com> Cc: FreeBSD ports <freebsd-ports@freebsd.org> Subject: Re: Large builds with poudriere Message-ID: <4BCB41F0-AAFD-4563-AC1D-7811874D5180@yahoo.com> In-Reply-To: <5d6792d4d7ebd472624e7469645a7878@bsdforge.com> References: <3C5D2230-D408-486A-A2AC-9E1F64E9F43D.ref@yahoo.com> <3C5D2230-D408-486A-A2AC-9E1F64E9F43D@yahoo.com> <5d6792d4d7ebd472624e7469645a7878@bsdforge.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-May-20, at 21:10, Chris <portmaster at bsdforge.com> wrote: > On 2021-05-20 13:47, Mark Millard wrote: >> Chris portmaster at bsdforge.com wrote on >> Thu May 20 20:09:29 UTC 2021 : >>> On 2021-05-20 12:21, Kevin Oberman wrote: >>> > . . . >>> >> >>> > You can greatly reduce the build-time for devel/llvm* by changing = the >>> > config to BE_NATIVE to avoid building backends for all FreeBSD = supported >>> > platforms. Obviously this is not acceptable for many cases, but if = you >>> > never cross-compile for other platforms, it's a really big win. >>> If I understand correctly. Isn't your suggestion synonymous with >>> WITHOUT_CROSS_COMPILER? >> So far as I know, devel/llvm* builds make no use of = WITHOUT_CROSS_COMPILER >> definitions ( documented in src.conf ) or what I mention below (also = from >> src.conf documentation). >> As for what is analogous in src.conf's documentation for system >> builds: BE_NATIVE in an devel/llvm* for a given context would be >> analogous to using a specific mix of: >> WITHOUT_LLVM_TARGET_AARCH64 vs. WITH_LLVM_TARGET_AARCH64 >> WITHOUT_LLVM_TARGET_ARM vs. WITH_LLVM_TARGET_ARM >> WITHOUT_LLVM_TARGET_MIPS vs. WITH_LLVM_TARGET_MIPS >> WITHOUT_LLVM_TARGET_POWERPC vs. WITH_LLVM_TARGET_POWERPC >> WITHOUT_LLVM_TARGET_RISCV vs. WITH_LLVM_TARGET_RISCV >> WITHOUT_LLVM_TARGET_X86 vs. WITH_LLVM_TARGET_X86 >> Some of the mixes would simulate the various devel/llvm* ports >> BE_NATIVE's intent for various platforms. (BE_NATIVE does not >> work in all contexts, last I tried it anyway.) > Ahh. My mistake I guess. I somehow got the idea that defining > WITHOUT_CROSS_COMPILER caused llvm to build only what's needed > build/bootstrap for the arch it's (currently) running on. Which > would, of course. Slim down the buildtime/installed footprint. (I'm not trying to have my wording below cover older gcc based FreeBSD alternatives.) 13.x of FreeBSD building 14.0 (for example) generally uses a bootstrap compiler even for the same architecture. A difference is the default target of the two compilers, such as: aarch64-unknown-freebsd13.0 vs. aarch64-unknown-freebsd14.0 even if that were the only difference at the time. (A different form of "cross"?) devel/llvm* does not have this bootstrapping issue that is driven by FreeBSD definitions for building FreeBSD --instead of by processor architecture. WITHOUT_CROSS_COMPILER for a FreeBSD system build causes: WITHOUT_CLANG_BOOTSTRAP WITHOUT_ELFTOOLCHAIN_BOOTSTRAP WITHOUT_LLD_BOOTSTRAP and so can not be used for the 13.x to 14.0 example: such is not an example of "close" if I understand right: WITHOUT_CROSS_COMPILER Set to not build any cross compiler in the cross-tools = stage of buildworld. When compiling a different version of FreeBSD = than what is installed on the system, provide an alternate = compiler with XCC to ensure success. When compiling with an = identical version of FreeBSD to the host, this option may be safely = used. This option may also be safe when the host version of = FreeBSD is close to the sources being built, but all bets are off if = there have been any changes to the toolchain between the = versions. When set, it enforces these options: WITHOUT_CLANG_BOOTSTRAP WITHOUT_ELFTOOLCHAIN_BOOTSTRAP WITHOUT_LLD_BOOTSTRAP (One might have compilers around for XCC and such symbol use but that is a different kind of context.) =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BCB41F0-AAFD-4563-AC1D-7811874D5180>