On Thu, May 20, 2021 at 03:09:32PM -0700, Mark Millard wrote: > Kevin Oberman rkoberman at gmail.com wrote on > Thu May 20 21:37:28 UTC 2021 : > > > On Thu, May 20, 2021 at 12:48 PM Mark Millard <marklmi at yahoo.com> wrote: > > > > > Kevin Oberman rkoberman at gmail.com wrote on > > > Thu May 20 19:21:24 UTC 2021 : > > > > > > > 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. > > > > > > > > > Unfortunately, using something like (llvm10 is just one example, > > > llvm11 showed the same sort of problem at the time): > > > > > > /usr/local/etc/poudriere.d/options/devel_llvm10/options:_FILE_COMPLETE_OPTIONS_LIST=BE_AMDGPU > > > CLANG DOCS EXTRAS LIT LLD LLDB LLD_LINK OPENMP PYCLANG BE_FREEBSD > > > BE_NATIVE > > > BE_STANDARD > > > > > > /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=BE_AMDGPU > > > > > > /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET+=BE_FREEBSD > > > > > > /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_SET+=BE_NATIVE > > > > > > /usr/local/etc/poudriere.d/options/devel_llvm10/options:OPTIONS_FILE_UNSET+=BE_STANDARD > > > > > > does not work for all platforms/targets. On a Cortex-A57 > > > this lead to: > > > > > > Registered Targets: > > > amdgcn - AMD GCN GPUs > > > r600 - AMD GPUs HD2XXX-HD6XXX > > > > > > In other words, aarch64 was missing. I had to pick > > > BE_STANDARD or BE_FREEBSD to get something that > > > would target aarch64 on aarch64. > > > > > > === > > > Mark Millard > > > marklmi at yahoo.com > > > ( dsl-only.net went > > > away in early 2018-Mar) > > > > > Looks like the Makefile might need some work. I see stuff for handling > > aach64/arm64, so it SHOULD work, but there are things I don't understand > > about AARCH64 to figure it all out. Still, it should be detected. > > > > Out of curiosity, if you do a "make -C /usr/ports/devel/llvm10 config", > > the line for BE_NATIVE should show the architecture you are running on. If > > it's missing/something else, maybe you should ask brooks@ about it. > > > On two types of Cortex-A72 context > # make -C /usr/ports/devel/llvm10 config > > produced: > > BE_NATIVE Backend(s) for this architecture () > > The same for each of: > > # make -C /usr/ports/devel/llvm80 config > # make -C /usr/ports/devel/llvm90 config > # make -C /usr/ports/devel/llvm11 config > # make -C /usr/ports/devel/llvm12 config > > But this turns out to be because: > > # make -C /usr/ports/devel/llvm10 -V ARCH > aarch64 > > yet the Makefiles have a test for arm64 instead: > > .elif ${ARCH} == arm64 > _NATIVE_BACKENDS= AAarch64
Ah, that's the key point. I've fixed the ARCH value and fixed the spelling of AArch64 in older ports where it was wrong. -- Brooks
signature.asc
Description: PGP signature