don't play with m68k-parse.c in tools/binutils/Makefile but disable
the rules that rebuild it so we always use the upstream version,
using the standard "NetBSD_DISABLED" method.
this was necessary to build on linux in 2014 (which may or may not
still ne necessary), but it also avoids triggering rebuild rules
based upon the timestamps on .y vs .c.
tested with amiga, amd64, and i386 "build.sh tools" builds.
'tools/elftoolchain/common' has been built.
This change aligns the 'tools' build with the regular build.
Subsequent commits will change 'tools/libctf' and
'tools/cft{merge,convert}' to use the new build paths.
Elftoolchain code.
Build and install <sys/elfdefinitions.h> in ${TOOLDIR}/include.
This change prepares the ground for upgrading libelf and libdwarf to
their current Elftoolchain versions.
The previous requirement was that tools should only use C89 features.
Several tools did not follow this rule for years. Since nobody
complained about not being able to build NetBSD in a C89 environment,
drop that rule, now requiring C99.
https://mail-index.netbsd.org/tech-toolchain/2022/01/30/msg004091.html
HOST_CPPFLAGS, HOST_CXXFLAGS, but not LIBRARY_PATH because it breaks
the build. These variables are necessary to support building NetBSD
from a GNU Guix or NixOS host, where /usr/include, /lib, and all
but /bin/sh do not exist. In many cases, support for HOST_CPPFLAGS
was incomplete. From Ryan Sundberg
Include a prototype for __nbcompat_heapsort. The tools for amiga now
build on Darwin where one Amiga specific tool uses heapsort.
Despite being a one-liner, ./build.sh -m amiga tools was tested on
NetBSD, Darwin, FreeBSD & Linux with the change.
Discussed various options with jdc & thorpej. Perhaps in the future
we could look at using qsort instead of heapsort as qsort is
standardised and more likely to be available. We could then remove
heapsort from the compatibility library.
This enables the use of modules for a significant build performance gain
when building with clang as host compiler or when using HAVE_LLVM=yes.
Switch libc++ to using the copy from the mono-repo.