summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)Author
2023-07-08Add support for missing NAME_MAX when building on Solaris hostspalle
2023-07-05Update build instruction for Solaris 11.4 hostspalle
2023-07-03PR/57500: Palle Lyckegaard: include missing tools/compat/regex.h forchristos
__{BEGIN,END}_DECLS.
2023-06-04tools: revert use of <bsd.hostinit.mk>lukem
tools/Makefile.host revision 1.35 changed from setting various NOxxx variables and .include <bsd.own.mk> to .include <bsd.hostinit.mk> which sets the same NOxxx variables, .include <bsd.init.mk> which optionally .include ../Makefile.inc before .include <bsd.own.mk>. This chnage caused build failures with HAVE_LLVM=yes, so revert rev 1.35. (Maybe to do with the .include ../Makefile.inc. The tools/llvm* build is tricky, and it's easier to revert this change than debug.)
2023-06-04tools: use <bsd.hostinit.mk> where appropriatelukem
bsd.hostinit.mk sets a bunch of NOxxx variables before including bsd.init.mk (which includes bsd.own.mk), so simplify instead of replicating the NOxxx setup for host tools.
2023-06-03regenlukem
2023-06-03tools/compat: support all bsd.own.mk disabled warningslukem
Check the host CC support for all the warnings now in <bsd.own.mk> and override appropriately in defs.mk. In general there's a 1:1 mapping, with the special case CC_WNO_ADDRESS_OF_PACKED_MEMBER which is set from both @CC_WNO_ADDRESS_OF_PACKED_MEMBER@ (gcc) and @CC_WNO_ERROR_ADDRESS_OF_PACKED_MEMBER@ (clang).
2023-06-03bsd.own.mk: rename GCC_NO_* to CC_WNO_*lukem
Rename compiler-warning-disable variables from GCC_NO_warning to CC_WNO_warning where warning is the full warning name as used by the compiler. GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
2023-06-02tools: use NONLS= not MKNLS=nolukem
2023-05-30Fix LLVM build with host gcc 13hgutch
Building LLVM with a host gcc 13 fails and suggests including <cstdint> in external/apache2/llvm/dist/llvm/include/llvm/Support/Signals.h . Instead of this, joerg@ suggested not modifying the llvm vendor branch but instead working around this in our LLVM build infrastructure.
2023-05-30tools/compat: regenlukem
2023-05-30tools/compat: disable host CC warningslukem
Determine if the host CC supports flags to disable various warnings similar to <bsd.own.mk> GCC_*, CLANG_*, and CC_*, and override the <bsd.own.mk> equivalents in defs.mk. Silences "warning: unknown warning option '...'" from our source. External source (e.g., binutils and gcc) need their own fixes to enhance their detection of supported clang compiler flags.
2023-05-30tools/compat: detect supported host compiler flagslukem
Define NB_CC_FLAG(FLAG) to use AX_CHECK_COMPILE_FLAG to determine if the host compiler supports FLAG and define and AC_SUBST CC_FLAG if so. Use workarounds to force clang to hard-fail on unknown -Wwarning, and gcc to use -WWARN to check unknown -Wno-WARN because the latter doesn't cause an error in gcc. In the future we could use NB_CC_FLAG([-fcommon]) for older NetBSD release branches compiled with host gcc 10+. Rework Darwin -no-cpp-precomp check to use NB_CC_FLAG(). Note: this flag probably hasn't been required on macOS (Darwin) for a long time, but serves as a good example on how to use this. Display varaibles at the end of configure to show what was detected.
2023-05-30tools/compat: import AX_CHECK_COMPILE_FLAGlukem
Import AX_CHECK_COMPILE_FLAG serial 6 from autoconf-archive https://github.com/autoconf-archive/autoconf-archive.git as at commit 5b5ce7f on 2023-05-01.
2023-05-30tools/compat: don't expose HAVE_PTHREAD_H to makelukem
Non of the tools Makefiles needs HAVE_PTHREAD_H, so don't AC_SUBST it or provide in defs.mk.
2023-05-30tools/compat: use autoreconf, support MAKEVERBOSElukem
Use autoreconf instead of autoconf + autoheader; we'll need aclocal in the near future. If MAKEVERBOSE >= 2, add -v to autoreconf.
2023-05-29tools/compat: regenlukem
2023-05-29tools/compat/configure.ac: style tweakslukem
Use "NB_" prefix not "AC_" for our macros ("AC_" is for autoconf). Fail is NB_ macro isn't defined. Use AC_DEFUN() instead of define(). Consistently use () in zero argument macro calls.
2023-05-23tools/compat: regen for dispatch_semaphore_createlukem
2023-05-23tools/compat: MAKEVERBOSE support in regenlukem
2023-05-23ctfmerge: fix macOS semaphore implementationlukem
Use dispatch_semaphore_create() if present instead of sem_init(). macOS doesn't actually implement sem_init() (et al) (even though it provides the prototypes as deprecated). This was detected by the previous commit to ctfmerge that added error handling. Implement ctfmerge's barrier operations in terms of dispatch(3) APIs such as dispatch_semaphore_create() (et al). Update tools/compat/configure.ac to find dispatch_semaphore_create(). Fixes ctfmerge on macOS hosts. Inspired by https://stackoverflow.com/a/27847103.
2023-05-19Fix passing -j NNN to gmakelukem
Use a more restrictive pattern to extract -j NNN from MAKEFLAGS into GMAKE_J_ARGS, to avoid false positives when the source directory has "-j" in the path (e.g "amd64-job-000012" or "src-j9999"). Previously this could pass either -"-j" or "-j BIGNUM" to gmake and result in "vfork: Resource temporarily unavailable" failures. PR misc/54456
2023-05-15tools: if MAKEVERBOSE >=2, noisy automake buildslukem
Explicitly build with V=1 for MAKEVERBOSE >= 2 so that Makefile.gnuhost (automake) consumers are more consistent with native builds. (If the upstream is using AM_SILENT_RULES(yes) then the default is V=0).
2023-05-08Set ac_cv_func_sigprocmask=yes as the symbol renaming confuses theskrll
configure script on architectures that don't provide a compatibilty symbol, e.g. RISC-V
2023-02-07remap arm directory names, the same way the source does.christos
2023-01-18Disable enabling executable stack when the gnu stack note is missing.christos
Merge common configure arguments.
2022-12-31fix the binutils build with read-only source treesmrg
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.
2022-12-25Handle both places where m68k-parse can be found (for 2.34 and 2.39)christos
2022-12-24Adjust for binutils-2.39christos
2022-10-29don't require gettextchristos
2022-07-23bump the netbsd version GCC to yesterday's date.mrg
2022-07-22don't rename codecvt.cc here, do it in a Makefile when consumed.mrg
since the Makefiles already need updates for these, it's easier if all of the changes are there.
2022-05-28s/hidding/hiding/andvar
2022-05-03Prepare the ground for <elfdefinitions.h> to be used by the 'tools'jkoshy
build of 'libctf'.
2022-05-02Bug fix: use the correct target path in a dependency.jkoshy
2022-05-01Make the generated <sys/elfdefinitions.h> file visible when compilingjkoshy
libdwarf.
2022-04-22Remove the 'tools/lib{elf,dwarf}' directories.jkoshy
These have been moved to under 'tools/elftoolchain'.
2022-04-18Disconnect 'tools/lib{elf,dwarf}' from the build.jkoshy
These libraries are now built by 'tools/elftoolchain/lib{elf,dwarf}' respectively.
2022-04-18Update 'tools/ctf{merge,convert}' to use the new build locations forjkoshy
'libelf' and 'libdwarf'.
2022-04-18Build 'libelf' and 'libdwarf' under 'tools/elftoolchain', afterjkoshy
'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.
2022-04-13Add a Makefile missed out in a previous commit.jkoshy
2022-04-13When building tools use a dedicated subdirectory for compilingjkoshy
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.
2022-02-03tools: allow tools to use C99rillig
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
2021-11-14Make dtc on riscvskrll
2021-09-18Patch the build script and toolchain to allow passing throughchristos
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
2021-08-29tools: in non-verbose mode, build the tools silentlyrillig
2021-08-16fetch experimental_headers, experimental_bits_headers, and ext_host_headersmrg
to install install experimental/* and ext/opt_random.h.
2021-07-11Final note on OpenBSD cross-buildling. Remaining issues were due tocjep
default limits on the build host.
2021-07-04LLVM RT library will actually cross-build from OpenBSD provided sufficientcjep
limits are in place for the build user.
2021-06-29Note OpenBSD cross-build progresscjep