Home | History | Annotate | Download | only in tools
History log of /src/tools/Makefile
RevisionDateAuthorComments
 1.232  27-May-2025  christos Wait for the library to be built before trying to build the tool that needs it.
 1.231  24-May-2025  rillig tools/Makefile: install nbdate after nbinstall

Without this barrier, a parallel build fails due to the missing
nbinstall tool. The parallel build is not yet activated, that needs to
be done in <bsd.buildinstall.mk>. There, the build_install target is
currently run in (serial) compat mode, as its commands neither include
the magic word "make" nor the magic expression "${MAKE}".
 1.230  12-Apr-2025  rin tools/Makefile: Add missing `\` for previous
 1.229  12-Apr-2025  rin tools: Add what(1); not mandatory, but provides good diagnostics
 1.228  12-Apr-2025  rin tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.

Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.
 1.227  23-Oct-2024  kalvisd Add mopcopy as a build tool for the VAX port.

OK rin@
 1.226  15-Sep-2024  tsutsui Move macppc bootable installcd stuff to sys/arch/macppc/stand dirs.

- move installboot (for CD ISO) and mkboothfs (for mkhybrid(8)) tools to
sys/arch/macppc/stand
- also build mkboothfs as ${TOOL_MACPPCMKBOOTHFS} in src/tools
- explicitly generate boothfs file (for mkhybrid(8)) in
sys/arch/macppc/stand/boothfs and install it into /usr/mdec
- use installed /usr/mdec/boothfs to create macppc bootable iso
- move list files for mkhybrid(8) hfs options to etc/etc.macppc
 1.225  18-Aug-2024  christos remove maketab
 1.224  17-Aug-2024  christos Add maketab tool and adjust for new awk
 1.223  10-Aug-2024  mrg introduce a way to build GCC without the isl library

if NOGCCISL is set, don't build or link against isl. should fix PR#58505.
 1.222  08-Jun-2024  tsutsui Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.

Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
 1.221  31-May-2024  tsutsui Build mkhybrid as a build tool.
 1.220  23-May-2024  gutteridge Add mkubootimage to riscv tools
 1.219  01-Apr-2024  christos hook gzip to the build so that we can test it in other OS's. Not used yet.
 1.218  30-Mar-2024  riastradh tools/elftoolchain: Handle dependencies properly.

This should properly resolve the problem christos was trying to
address by a bogus make includes hack and #ifdefs in elftoolchain.
 1.217  27-Mar-2024  rillig tools/Makefile: clean up TOOLDIR validation

At the point where tools/Makefile is loaded, TOOLDIR doesn't have to
exist yet, it will be created later. Remove the redundant quotes from
the .error messages.
 1.216  23-Feb-2024  mrg build isl tool for GCC 12.
 1.215  30-Nov-2023  rin tools/Makefile: Correct inverted comment. NFC
 1.214  18-Apr-2022  jkoshy branches: 1.214.2;
Disconnect 'tools/lib{elf,dwarf}' from the build.

These libraries are now built by 'tools/elftoolchain/lib{elf,dwarf}'
respectively.
 1.213  13-Apr-2022  jkoshy When building tools use a dedicated subdirectory for compiling
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.
 1.212  14-Nov-2021  skrll Make dtc on riscv
 1.211  27-May-2021  cjep If we are building date earlier, we need to use an uninstalled copy
of host-mkdep and libnbcompat otherwise the build process looks for
tools that might not be there yet (e.g. fresh build).
Reviewed by martin.
 1.210  26-May-2021  christos Add a date tool
 1.209  06-May-2021  rin branches: 1.209.2;
PR port-mvme68k/56146

Build wrtvid as tools.
 1.208  25-Apr-2021  christos Make mips-elf2ecoff available for all mips
 1.207  06-Feb-2021  dbj tools: allow MKCROSSGDB to work when not building gcc
 1.206  28-Jul-2020  uwe Build mkubootimage for evbsh3 too.
 1.205  11-Nov-2019  joerg Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)
 1.204  26-Sep-2019  bad Exclude more subdirs if TOOLS_BUILDRUMP=yes.

Exclude subdirs added in the last 3 years but not need for rumpkernel builds.
 1.203  07-May-2019  hannken Fix build, "pax" must be built before "libprop".

Ok: Matthew Green mrg@
 1.202  07-May-2019  thorpej Add support for libprop as a host tool library.
 1.201  03-Apr-2019  joerg Add MKLLVMRT to build a subset of the LLVM stack for JIT purposes.
Hook up AMDGPU backend for clang.
 1.200  03-Apr-2019  joerg Revert MKLLVMCMDS changes.
 1.199  20-Mar-2019  mrg split MKLLVM into MKLLVM and MKLLVMCMDS, like MKGCC and MKGCCCMDS:

- only build clang or clang-tblgen if MKLLVMCMDS != "no"
- move HAVE_MESA_VER earlier so we can detect mesa 18 and enable
MKLLVM on platforms that need it
- move the clang commands and headers into llvmcmds group
- only build the clang specific LLVM libraries if MKLLVMCMDS != "no"

much of this work came from maya@'s github commit
f90685c11d4460d3098fa35f48b58d1893e974e0, reworked for HAVE_MESA_VER
and llvmcmds vs MKCLANG.


build tested on several platforms and on amd64 and i386 with several
different build options (clang build, gcc build, gcc build with llvm
libs).
 1.198  02-Jan-2019  christos use MACHINE_CPU for elf2aout
 1.197  31-Dec-2018  christos Add an arm-specific elf2aout tool since objdump does not support a.out anymore
 1.196  25-Sep-2018  joerg Update build glue for xz-5.2.4. Hook up tools version.
 1.195  11-Aug-2018  christos hook in the tools version of grep
 1.194  09-May-2018  joerg branches: 1.194.2;
For EXTERNAL_TOOLCHAIN, MKLLVM=yes needs to build only tablegen.
 1.193  18-Feb-2018  uwe branches: 1.193.2;
Fix .endif comment for TOOLS_BUILDRUMP
 1.192  27-Dec-2017  christos Better EXTERNAL_TOOLCHAIN support from Zachary McGrew
- Allow mdsetimage and dbsym to be built with EXTERNAL_TOOLCHAIN
- Allow BFDDIR and IBERTYDIR to be overwritten for mdsetimage and dbsym
 1.191  07-Jun-2017  skrll branches: 1.191.2;
Hook in dtc/libfdt now that it builds for me
 1.190  06-Jun-2017  skrll Disable dtc/libfdt for now
 1.189  05-Jun-2017  christos No need to set dtc twice.
 1.188  05-Jun-2017  christos Add dtc
 1.187  11-Jan-2017  joerg branches: 1.187.6;
Sync tools build glue with LLVM pre-4.0.0.
 1.186  24-Jan-2016  christos branches: 1.186.2;
move cvslatest last
 1.185  24-Jan-2016  christos Tool version
 1.184  19-Dec-2015  christos move sortinfo after pax
 1.183  18-Dec-2015  christos Add sortinfo
 1.182  23-Jul-2015  mrg remove the xfree86 reachover makefiles and the vast majority of
the support in the rest of the source tree.

X11 sets could use some cleaning up perhaps (just deletion, as
we've never really marked the old X11R6 as obsolete for native
xorg using platforms so far either.)
 1.181  24-Jun-2015  matt Support building the xorg X11 libraries under MKCOMPAT.
Add XORG_MACHINE_ARCH to compat's bsd.*.mk
Turn xorg makekeys and makestrs into real host tools which are installed into
${TOOLSDIR}
 1.180  07-Jan-2015  joerg Reorganise the way xorg is build. Move build of makestrs into src/tools
as it is needed for the "includes" phase. Make it symlink all necessary
headers in obj to decouple it from "includes" itself, breaking the
dependency cycle. Move the do-x11 target between do-lib and do-build, so
that libraries can get the benefit of build_install (correct .WAIT
behavior) and everything else like "includes" uses the plain SUBDIR
entry in external/mit.
 1.179  05-Dec-2014  pooka build genassym for TOOLS_BUILDRUMP
 1.178  30-Sep-2014  christos add gpt
 1.177  10-Aug-2014  matt Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only. While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
 1.176  15-Jul-2014  christos descend to vgrind
 1.175  15-Jun-2014  pooka Add cat, rpcgen and stat to TOOLS_BUILDRUMP. They're useful for
installing headers for the app stack cases that need it done, and small
enough to not matter for the kernel-only cases that don't.
 1.174  14-Jun-2014  mrg remove remaining makefile support for GCC < 45 that i found.
 1.173  03-Apr-2014  riastradh branches: 1.173.2;
ctfconvert/ctfmerge need libdwarf &c., so build them if MKCTF=yes.
 1.172  25-Mar-2014  ozaki-r Add MKCTF

This variable separates CTF stuffs from MKDTRACE; we can build DTrace
solely without building and using them. This allows us to use DTrace
even if CTF stuffs have problems (actually they have now).

This variable would be merged into MKDTRACE eventually, once CTF stuffs
work correctly again.
 1.171  24-Feb-2014  skrll Rename NetBSD/hp700 to NetBSD/hppa.

Unfortunately our VCS isn't very helpful here.
 1.170  02-Sep-2013  joerg Update LLVM/Clang snapshot to r189662. This includes many improvements
to the new SLP vectorizer, fast codegen support for PPC and using
terminfo for the color sequences. In addition, add (optional) build
infrastructure for lld to allow easier testing. This is controlled by
MKLLD.
 1.169  19-Jul-2013  matt Even if we aren't making a crossgdb still make the object dir for it.
 1.168  27-Feb-2013  joerg branches: 1.168.4;
Add infrastructure for building MCLinker.
 1.167  05-Feb-2013  matt There are other little endian arm machine_arches other than "arm"
Use MACHINE_CPU and TARGET_ENDIANNESS instead of MACHINE_ARCH
 1.166  31-Jan-2013  pooka Use TOOLS_BUILDRUMP=yes to restrict building of tools to those required
for building rump kernels. This cuts down the NetBSD source tree required
by buildrump.sh to a fraction and addresses a size/download time concern
from a person packaging rump kernels for Linux.

No change to the normal case (tested with several -j32/-j64 builds).

reviewed by apb
 1.165  02-Dec-2012  apb Make tools/Makefile build host-mkdep, compat, and binstall in that order,
before installing any of them. It installs them in any order relative
to each other. The .WAIT points that used to be between these three
tools are replaced by .ORDER and dependencies.

This is needed in preparation for making tools/compat install
some files into TOOLDIR.
 1.164  02-Dec-2012  apb TOOLDIR must be valid, unless MKTOOLS=no.
Add tests and .error directives to enforce this.
 1.163  02-Dec-2012  apb If tools are not wanted, then set SUBDIR= empty instead of
defining all the subdir-related targets to do nothing. This way,
the targets are not invoked at all, instead of being invoked but
doing nothing.
 1.162  02-Dec-2012  apb remove trailing white space
 1.161  27-Nov-2012  jkunz According to the i.MX23 Reference Manual section 3.1, Page 3-3:
"The i.MX23 always operates in litle-endian mode."
So build elftosb and bootloader for this processor only for evbarm(-el).
 1.160  26-Nov-2012  pooka Build gmake iff we're going to need it.
 1.159  15-Nov-2012  joerg Move the build_install logic from lib/Makefile into share/mk and re-use
it for tools. The existing logic broke for the LLVM build with the
recent .ORDER changes in make.
 1.158  15-Nov-2012  jkunz Add elftosb tools to evbarm userland and toolchain.
Elftosb is used to create a digitaly signed "secure boot" file.
This sb file can be booted by the first stage boot loader found in
Freescale i.MX23 and i.MX28 application processors.

Copyright (c) 2004-2010 Freescale Semiconductor, Inc.
 1.157  20-Sep-2012  pooka fix EXTERNAL_TOOLCHAIN build
 1.156  10-Aug-2012  joerg branches: 1.156.2;
Decouple binutils build from HAVE_GCC. Merge common fragments of
HAVE_GCC and HAVE_PCC.
 1.155  03-Nov-2011  joerg Revert .WAIT removal and add comment why it is needed between *tblgen.
 1.154  02-Nov-2011  njoly Do not build tic more than once
 1.153  02-Nov-2011  christos move tic later, after all the tools it needs are built.
 1.152  02-Nov-2011  yamt tweak dependencies for tic, which needs nbperf, awk, and sed.
 1.151  01-Nov-2011  joerg branches: 1.151.2;
Remove an unnecessary .WAIT between llvm-tblgen and clang-tblgen.
 1.150  01-Nov-2011  joerg Hook up nbperf into the normal tool build.
 1.149  11-Oct-2011  joerg Update LLVM/Clang snapshot to r141658. This primarily fixes a regression
preventing Qt4 from building.
 1.148  16-Jul-2011  tsutsui Build nbm68k-elf2aout as a host tool on m68k targets
for an ancient PROM bootloader.
Mostly taken from nbmips-elf2ecoff.
 1.147  10-Jul-2011  mrg install elf2ecoff for all mips64 systems. it's needed for stand.
 1.146  21-Jun-2011  mrg always build gmake if HAVE_GCC.
build gmp, mpfr and then mpc if HAVE_GCC >= 45.
 1.145  15-Apr-2011  elric branches: 1.145.2;
Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
to crypto/external/bsd/heimdal. The latter was just imported as the head
of the Heimdal tree as of a few days ago.
 1.144  17-Mar-2011  riz .WAIT for makefs, because in most builds, it's the first target
which includes Makefile.nbincludes, whose beforedepend: has
some race condition I don't fully understand, and which has been
causing many (but not all!) -j16 builds on the autobuild cluster
to fail in tools since sometime between 201103061600 and 201103070900.

With the proper voodoo, I was able to get 8 builds in a row to fail
without this change, and 16 in a row to succeed with it.

XXX a proper fix likely involves reworking the beforedepend: target
of Makefile.nbincludes, but this should get the build cluster back up
to full functionality in the meanwhile.
 1.143  25-Feb-2011  phx mkubootimage is certainly useful for sandpoint
 1.142  06-Feb-2011  joerg Add LLVM and clang build system. It is enabled by MKLLVM=yes.
Upstream sources can be fetched by running "make checkout" in
src/external/bsd/llvm, they will be properly imported once the
integration and missing features are sorted out.
 1.141  31-Jan-2011  matt Make mkubootimage for evbmips and evbppc too.
 1.140  15-Aug-2010  mrg branches: 1.140.2;
add new option to build/use tools/pigz for compressing sets. for now
USE_PIGZGZIP defaults to "no". (it depends upon local <pthread.h> and -lz.)

you can set it to "yes" on most modern platforms just fine.
 1.139  18-Jun-2010  jmcneill hook mkubootimage into the build
 1.138  04-Jun-2010  jmmv Bye bye atf-compile, you won't be missed.
 1.137  02-Mar-2010  darran DTrace: add libelf, libdwarf, libctf, and CTF tools to the toolchain,
built when MKDTRACE=yes.
 1.136  20-Feb-2010  joerg Build mandoc unconditional if man pages are desirable. All
compatibility issues are supposed to be sorted out.
Build groff conditionally on MKGROFF. It is currently the only component
that requires C++.
 1.135  03-Feb-2010  roy Store our generated files in CVS and remove nbperf from the toolchain.
This allows us to build consistent libs without an ever changing hash.
 1.134  03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.133  29-Dec-2009  he To unbreak the build, temporarily remove the build of libelf here,
since no other part of the build depends on this yet.

Suggested as a temporary workaround by thorpej@
 1.132  23-Dec-2009  mrg rework the main SUBDIR list here as suggested by enami. put .WAIT on
the same line as the target that needs to wait, but before the target,
rather than on the previous line, which led to confusion and an error
being introduced in the previous change.
 1.131  21-Dec-2009  mrg move the build of pax before libelf. fixes my build of tools/libelf,
though i didn't look to see why libelf needs pax.
 1.130  21-Dec-2009  thorpej Add support for building libelf in a host-tool environment.

XXX Makefile.disklabel is really mis-named, but I'm not going to tackle
that problem right now.
 1.129  29-Oct-2009  christos Give m4 its own .WAIT. Fixes build issue on NetBSD-5.
 1.128  23-Oct-2009  joerg Add MKMANDOC option to trigger building cat pages and HTML pages with
mdocml. Add a lintmanpages target for developers to check man pages
with the strictest settings of mandoc.
 1.127  25-Feb-2009  sketch Disable grep host tool and unbreak NetBSD build until I can come up with a
clean fix.
 1.126  25-Feb-2009  sketch Make grep a host tool.
 1.125  14-Feb-2009  abs Convert more MACHINE tests to MACHINE_ARCH
 1.124  25-Oct-2008  apb branches: 1.124.4; 1.124.8; 1.124.12;
Build sed earlier, just after mktemp. Note that sed and mktemp do not
depend on each other, but the .WAIT is needed to get them both installed
before the remainder of the tools build.
 1.123  25-Oct-2008  apb Remove the local handling of the NOSUBDIR variable. We can rely
on bsd.subdir.mk's handling of the NOSUBDIR variable.

Also add some comment to .if/.else/.endif and .for/.endfor lines.
 1.122  19-Oct-2008  apb Add awk as a host tool.
 1.121  13-Oct-2008  dyoung Per uwe@'s suggestion, build nbgroff under wider circumstances.
I choose to build it if MKDOC != no or if MKHTML != no. It used
to be built only when MKMAN != no.
 1.120  05-Oct-2008  apb Add a .WAIT to ensure that sed is installed early, so that TOOL_SED can
be used during the build of other tools.
 1.119  26-Sep-2008  apb Build strfile both as a host tool and as an installed program:
* in games/fortune/strfile/Makefile, build strfile as a
regular program instead of as a host tool;
* add tools/strfile directory to build strfile as a host tool;
* in tools/Makefile, add strfile to SUBDIR list;
* in BSD.*.mk, define TOOL_STRFILE variable;
* in games/fortune/datfiles/Makefile, use TOOL_STRFILE when creating
databases at build time;
* in distrib/sets/lists/games/mi, mention usr/games/strfile.
 1.118  24-Aug-2008  gmcgarry Build pcc as host tool if requested.
 1.117  26-May-2008  he Remove references to bebox-elf2pef and bebox-mkbootimage, now that they
have been integrated in common powerpc tools and subsequently removed.
 1.116  30-Apr-2008  garbled branches: 1.116.2;
Build powerpc-mkbootimage for rs6000 and bebox too.
 1.115  30-Apr-2008  garbled Convert prep to use the new unified mkbootimage rather than it's own. This
mkbootimage can be shared by prep, rs6000, and bebox.

TODO: Convert bebox to use this. Needs someone to test.
 1.114  12-Nov-2007  jmmv branches: 1.114.6;
Add the atf host tools

This adds reachover Makefiles to build the atf tools required during a
cross-build.
 1.113  14-Jan-2007  apb branches: 1.113.4;
Build join(1) as a host tool.
 1.112  20-Dec-2006  agc A commit too far - don't try to build veriexecgen for just now
 1.111  19-Dec-2006  agc Build veriexecgen as a host tool
 1.110  22-Nov-2006  riz Make sys/exec_elf.h and machine/elf_machdep.h available to host
tools, and allow paxctl to use them when compiled as a host
tool. This fixes the build on MacOS X (and perhaps other platforms)
 1.109  17-Nov-2006  dsl Add some notes about the bogosity of some of the .WAIT stuff.
Remove a 'never had a sane effect' .WAIT from a .ORDER line.
Don't add a (probably incorrect) dependency for 'make install' since
it contradicts a .ORDER line elsewhere when .ORDER applies recursively
to child nodes.
I also think that the stuff that tries to add dependencies between
the stuff that bsd.subdir.mk generates does not DTRT at all.
I suspect that build.sh builds things in an order that avoids issues here.
 1.108  10-Nov-2006  christos Add paxctl as a tool.
 1.107  08-Oct-2006  apb If PREVIOUSTOOLDIR was empty, then don't complain that it has moved.

Patch from Jukka Salmi in PR 33095.
 1.106  03-Aug-2006  freza * Fix parallel build race condition between real{all,depend} and
<bsd.subdir.mk> targets.
* No need to pass TOOLDIR to recursive cleandir in real{all,depend}.

With help from he@.
OK by tron@.
 1.105  03-Aug-2006  tron Another attempt to fix the race in parallel builds.
 1.104  19-Jul-2006  tron Invoking "make cleandir" with "PREVIOUSTOOLDIR" set to the previous
location will not stop recursive "make cleandir" calls. Pass the new
location instead.
 1.103  18-Jul-2006  lukem gettext should .WAIT for autoconf.
(The former still doesn't seem to work on read-only source; separate issue)
 1.102  17-Jul-2006  tron Avoid getting into a loop of "make cleandir" instances if the location
tool directory has been changed or wasn't recorded before.
 1.101  17-Jul-2006  tron Remove ".WAIT" again because it doesn't fix the problem.
 1.100  12-Jul-2006  tron Add an extra ".WAIT" to the "realall realdepend" target to make sure
it finished cleaning the tools directory in case of tool directory
mismatch before we try to rebuild the tools.
 1.99  22-Jun-2006  mrg only build lint and lint2 if MKLINT != "no".
 1.98  18-Jun-2006  gdamore Make TOOL_SED, to allow using our own sed in cases where the host's version
is busted in some way.

The TOOL_SED doesn't use TIOCGWINSIZE, and has some changes to include
nbtool_config.h in a cross build environment.

Combined with some other changes (not yet committed), this allows cross
compiling m68k code on Solaris 10/amd64.
 1.97  02-Jun-2006  mrg remove support for building (with) GCC 2.95. also:
- always install <stdbool.h>
- don't generate a fake one for vax / gettext.
 1.96  11-May-2006  mrg check HAVE_GCC == 4 not USE_GCC4.
 1.95  01-Apr-2006  christos Don't barf if USE_GCC4 is not defined.
 1.94  29-Mar-2006  jmc Turn on gmake builds if GCC4 is enabled (and force it's install before continuing
 1.93  03-Feb-2006  dsl The realall and realdepend bit that regenerates tools needs to be marked
.MAKE otherwise the 'make' it runs has its own list of jobs instead of
using the jobserver of the enclosing make.
 1.92  04-Oct-2005  jmc Make the tools using Makefile.disklabel wait so they don't stomp each other.
Also for now add a dependency to Makefile.disklabel so this doesn't run
3 times. (XXX this really should just be done differently)
 1.91  12-Jun-2005  dyoung .include Makefile.disklabel in installboot, so that the
nbinclude/ header files will be installed. Build installboot after
pax, since Makefile.disklabel uses pax to install the headers.
 1.90  12-Jun-2005  dyoung Make disklabel(8) and fdisk(8) into "host tools " last step: build
and install ${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-disklabel,
${TOOLDIR}/bin/${MACHINE_GNU_PLATFORM}-fdisk by "reaching over" to
the sources in ${NETBSDSRCDIR}/sbin/{disklabel fdisk}/.

To avoid clashes with a build-host's header files, especially on
*BSD, the host-tools versions of fdisk and disklabel search for
#includes such as disklabel.h, disklabel_acorn.h, disklabel_gpt.h,
and bootinfo.h in a new #includes namespace, nbinclude/. That is,
they #include <nbinclude/sys/disklabel.h>, <nbinclude/machine/disklabel.h>,
<nbinclude/sparc64/disklabel.h>, instead of <sys/disklabel.h> and
such. I have also updated the system headers to #include from
nbinclude/-space when HAVE_NBTOOL_CONFIG_H is #defined.
 1.89  30-May-2005  thorpej Build genassym as a host tool. Part of PR toolchain/30350
 1.88  27-Jan-2005  is We don't need aout2bb any longer.
 1.87  09-Jan-2005  mycroft Add some quotes to prevent a syntax error.
 1.86  28-Nov-2004  jmc Convert mkboot into a full cross tool. Last hurdle for hp300 to building on
non NetBSD/bsd hosts.
 1.85  28-Nov-2004  jmc Convert remaining host tools for amiga to correct cross tools. Now allows
complete amiga builds on non netbsd/bsd hosts
 1.84  25-Nov-2004  jmc Convert bebox's remaining host tools over to cross tools scheme. Builds to sets
w/o error now.
 1.83  28-Jul-2004  skrll Build hp700's mkboot as a host tool called nbhp700-mkboot. mkboot also
gets built and installed in a hp700 distribution.

TODO

- merge with hp300

- pick a preferred method for dealing with the elf headers.
hp700-mkboot and prep-mkbootimage (bintuils) vs mips-elf2ecoff and
tools/installboot
 1.82  08-Jun-2004  abs Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.81  03-Jan-2004  lukem branches: 1.81.2;
Consistently check ${TOOLCHAIN_MISSING} against "no".
 1.80  11-Dec-2003  matt Fix typo.
 1.79  11-Dec-2003  matt Add macppc-fixcoff tool.
 1.78  10-Dec-2003  lukem Use (cd ${.CURDIR} && ${MAKE} cleandir) instead of ${MAKE} cleandir
Suggested by Ross Harvey.
 1.77  04-Dec-2003  mrg always build tools/binutils now.
 1.76  08-Nov-2003  sekiya Build sgivol as a host tool when compiling for sgimips.
 1.75  27-Oct-2003  lukem add mknod as a host tool
 1.74  26-Oct-2003  cl add gdb53 as a host tool for use as a crossgdb
replaces gdb50 from toolchain on archs which use gcc3
 1.73  21-Oct-2003  lukem Rework how MAKEVERBOSE operates:

* Don't bother prefixing commands with a line of ${_MKCMD}\
and instead rely upon "make -s". This is less intrusive on
all the Makefiles than the former. Idea from David Laight.

* Rename the variables use to print messages. The scheme now is:
_MKMSG_FOO Run _MKMSG 'foo'
_MKTARGET_FOO Run _MKMSG_FOO ${.TARGET}
From discussion with Alistair Crooks.
 1.72  19-Oct-2003  matt Add host tool version of ncdcs
 1.71  18-Oct-2003  lukem MAKEVERBOSE support
 1.70  25-Jul-2003  mrg - build "binutils" and "gcc" separately if USE_TOOLS_TOOLCHAIN is not set
to "yes".
- adjust dbsym/mdsetimage to look in the correct place for libbfd.
- new mknative-gcc based in toolchain/mknative
 1.69  24-Jul-2003  tron Add missing "cleandir" rule.
 1.68  20-Jul-2003  lukem add stat(1) as a host tool
 1.67  16-Jul-2003  lukem also do the MKTOOLS and PREVIOUSTOOLDIR checks for "realdepend"
 1.66  16-Jul-2003  lukem * If a `PREVIOUSTOOLDIR' file doesn't exist, or its contents are not
the same as "$TOOLDIR", run "make cleandir" here first.
This should prevent various problems where $TOOLDIR is encoded into the
build process for various tools (lint, groff, texinfo, toolchain),
$TOOLDIR changes, and various programs don't get rebuilt correctly.
Should fix PR [toolchain/21988].

* Clean up how the `${MKTOOLS} == no' check is performed.

* Remove "cleantools"; it made a big assumption about the location of
TOOLDIR that won't be correct in many cases.
 1.65  26-Jun-2003  tshiozak Citrus iconv support(3)
add host tools : mkcsmapper and mkesdb
mkcsmapper - coded character set mapping table compiler
mkesdb - encoding scheme database compiler
 1.64  18-May-2003  lukem Add db(1) as a host tool
 1.63  25-Mar-2003  pooka build file(1) as a host tool (for compiling magic files)
 1.62  07-Mar-2003  thorpej Make hexdump a host tool.
 1.61  21-Dec-2002  lukem enable sunlabel...
 1.60  19-Sep-2002  thorpej Change the TOOLCHAIN_MISSING from == "no" to != "yes", to be consistent
with the other tests of this variable.
 1.59  19-Sep-2002  matt Since TOOLCHAIN_MISSING is defined in bsd.own.mk, it can never be undefined.
Instead, make sure the value of it is "no"
 1.58  17-Sep-2002  thorpej * Eliminate the USE_NEW_TOOLCHAIN variable. Instead, split it into
two variables:

TOOLCHAIN_MISSING -- set to "yes" on platforms for which there is
no working in-tree toolchain (hppa, ns32k, sh5, x86_64).

EXTERNAL_TOOLCHAIN -- if defined by the user, points to the root of
an external toolchain (e.g. /usr/local/gnu). This enables the cross-build
framework even for TOOLCHAIN_MISSING platforms.

If TOOLCHAIN_MISSING is set to "yes", MKGDB, MKBFD, and MKGCC are all
unconditionally set to "no", since the bits are not there to build.

If EXTERNAL_TOOLCHAIN is set, MKGCC is unconditionally set to "no",
since the external toolchain's compiler is not in-sync with the
in-tree compiler support components (e.g. libgcc).

* Set MACHINE_CPU much earlier in bsd.own.mk, so that more tests in
that file can use it.
 1.57  14-Sep-2002  chris We need binstall to be installed, before attempting to use it to install mktemp.
 1.56  14-Sep-2002  thorpej Descend into mktemp.
 1.55  12-Jun-2002  veego The last commit wasn't tested. Add a missing \
 1.54  12-Jun-2002  thorpej Don't build toolchain bits for hppa, for now.
 1.53  10-Jun-2002  mason Add cat(1) as a host tool.
 1.52  05-Jun-2002  thorpej Don't try to build toolchain bits for ns32k.
 1.51  28-May-2002  bjh21 Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.50  18-May-2002  lukem branches: 1.50.2;
gratuitious comment addition
 1.49  07-May-2002  lukem remove now-unnecessary sparc-installboot
 1.48  03-May-2002  kleink On prep, descend into prep-mkbootimage.
 1.47  06-Apr-2002  bjh21 vax-installboot has been deleted, so don't recurse into it.
 1.46  03-Apr-2002  lukem enable installboot
 1.45  01-Apr-2002  thorpej Nuke NO_DBSYM; dbsym now uses BFD for everything.
 1.44  01-Apr-2002  bjh21 On second thoughts, don't make mktemp a host tool. It's only used once, for
creating a temporary directory for maketars, and mkdir can do that safely
enough.
 1.43  31-Mar-2002  bjh21 Add mktemp as a host tool.
 1.42  31-Mar-2002  bjh21 Add cksum as a host tool.
 1.41  29-Mar-2002  matt Drop into vax-installboot on VAX machines.
 1.40  07-Mar-2002  tv Rework recursion to use the original logic again, in the structure cleaned
up by pk (and fix comments to match):

* A .WAIT here means that only the *immediately preceding* target needs
to be added to the list of "install-foo" targets used to ensure that
dependencies are installed (otherwise much more than is necessary
gets installed during the build process, increasing build time here)

* If building only an individual target such as "dependall-yacc", the
prerequisites may need to be built before running their "install-foo"
targets -- so add a dependency in that case on "dependall-foo".
 1.39  07-Mar-2002  tv Don't build groff if MKMAN=no. (groff does not build properly on some
platforms because of its completely insane Make structure; this allows it
to be disabled in a sane way.)
 1.38  26-Feb-2002  tv Add gettext to tools.

For now this is a maintainer-tool only; none of the NetBSD build needs to
run msgfmt as of yet. (However, its presence is needed to make the
mknative part of src/tools/toolchain produce the same output as a truly
"native" GNU configury of the toolchain.)
 1.37  23-Feb-2002  gmcgarry Add elf2ecoff as a build tool for mips ports.
 1.36  18-Feb-2002  pk * Add comments on all the directory build/install ordering goo.
* Beef up that goo so that for each ".WAIT group" all of the install targets
in the previous group have completed before starting the `all', `depend'
or `dependall' targets.
 1.35  11-Feb-2002  pk Revert part of previous; we need the install targets.
 1.34  10-Feb-2002  pk Use .ORDER targets to express the dependencies on subdir runs. This makes
the resulting tree complexity O(N) (N=# of subdirs), and it also makes it
easier to comprehend the Makefile logic.
 1.33  08-Feb-2002  pk Make sure to not go off installing in a directory before it's fully made.
 1.32  31-Jan-2002  tv Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
 1.31  29-Jan-2002  tv Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
 1.30  25-Jan-2002  lukem build pax as a host tool, for -N and to work around borken vendor paxes
 1.29  10-Jan-2002  tv Move host-mkdep to its own directory. Create and install it before
everything else. Now it's possible for the target mkdep to build and
install like "normal" host-tools do; should remove the function decl
warnings reported by greywolf@starwolf.com on current-users.
 1.28  10-Jan-2002  lukem revert previous, and reenable tools/makefs now that it works on
netbsd-current and netbsd-1-5
 1.27  09-Jan-2002  tv Disable makefs in src/tools for the moment; it's very dependent on -current
NetBSD headers and sources right now. (Temporary workaround for PR 15175.)
 1.26  05-Jan-2002  mrg build zic as a host tool.
 1.25  05-Jan-2002  mrg build makefs, and, sparc-installboot if sparc||sparc64
 1.24  31-Dec-2001  thorpej We can't currently build a toolchain for x86-64 here, so don't
attempt to do so.
 1.23  29-Dec-2001  wiz Typo fix in error message.
 1.22  11-Dec-2001  tv Add the framework for autoconf-based src/tools/compat structure. This will
(after it is more fleshed out) allow the host tools to work more cleanly
on non-NetBSD hosts.
 1.21  07-Dec-2001  jmc Add pwd_mkdb as a toolchain bit for builds
 1.20  29-Nov-2001  thorpej Build makewhatis as a host tool, since it is used at the end of
the build.

XXX Needs a -lz hostlib.
 1.19  22-Nov-2001  jmc Oops. typo which can break things for non-new toolchain builds if MKTOOLS isn't
set
 1.18  22-Nov-2001  jmc Check for USETOOLS!=yes in addition to MKTOOLS==no to generate the empty rule
sets. Otherwise platforms not running the new toolchain will end up with
lossage as tools attempt to get built and installed into /bin (due to
bsd.own.mk properly checking USETOOLS before setting up a default TOOLDIR).
Don't print the warning unless MKTOOLS=no
 1.17  13-Nov-2001  tv Re-add MKTOOLS as a "yes"/"no" only variable, which prevents recursion on "no"
into the src/tools subdirs on all/depend/dependall/install. Other recursive
targets are not affected.
 1.16  12-Nov-2001  tv Major overhaul of src/tools and host toolchain. Summary of changes:

* Rewrite src/tools Make logic to work like the rest of the tree wrt
"dependall" and "install". The old "make build" hack is gone.

* Remove the MKTOOLS logic. This was linked to the "make build" hack,
and was only needed because TOOLDIR originally had no writable default.

* Redo the GNU configure/make logic to make it fit reasonably in a
BSD make wrapper. Use new ${.ALLTARGETS} variable to scan for
targets in $(srcdir), and mark them with .MADE: to prevent rebuilding.

* Only build cross tools in src/tools; remove some messy logic in
src/usr.* and src/gnu/usr.* that would do target filename rewriting
(improves consistency and readability).

* Add the ability to build cross gdb at tool build time by setting
MKCROSSGDB (default no) to "yes" in mk.conf.

* Add src/tools/groff and set up paths to work with this cross groff.
 1.15  09-Nov-2001  thorpej Build the cross-dbsym.
 1.14  02-Nov-2001  tv * Always use the makewrapper when starting a build phase.

* Set stuff mostly in the environment, not on make(1)'s command line.
This is needed for MACHINE and MACHINE_ARCH (noted by bjh21), and keeps
the mk.conf-overriding-env behavior (suggested by several people).

* Use MAKEFLAGS to make the wrapper script more readable.

* When prepping objdir in tools for the default TOOLDIR value, just make
that objdir; leave the recursive "make obj" for later.
 1.13  31-Oct-2001  tv Don't actually delete the default tooldir on "cleandir"; else we'll nuke
the nbmake that is probably currently running.

Just leave the "cleantools" manual target as a shortcut for the user.
 1.12  31-Oct-2001  tv * Create a variable HOST_OSTYPE that represents the host build environment,
using `uname -s`-`uname -r`-`uname -p || uname -m`. This can be overridden
in mk.conf or the environment, and is used by host tools to ensure that
build hosts do not clobber each other.

* Now that there's an objdir in src/tools, make a default TOOLDIR by creating
"tools.${HOST_OSTYPE}" in the objdir (if it exists) of src/tools. This
means that TOOLDIR is no longer required to be set in a build, though it
still may be set manually if desired.

* Set MKTOOLS to "yes" by default, since the default TOOLDIR is now located
in a known mutable location. This may still be set manually if desired.
 1.11  31-Oct-2001  tv * Always descend into "tools" regardless of USETOOLS setting. Instead,
just don't build the tools if USETOOLS!=yes. This permits objdirs to
be created even when USETOOLS=no.

* Clean up use of "-m" by specifying it to .MAKEFLAGS: if needed.
 1.10  25-Oct-2001  thorpej Add asn1_compile as a host tool.
 1.9  21-Oct-2001  jmc Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
 1.8  20-Oct-2001  jmc Add mklocale to cross-tools and turn it back on for the builds.
 1.7  13-Oct-2001  jmc Add crunchgen, msgc and menuc
 1.6  09-Oct-2001  enami Make mtree a host tool and use it when appropriate.
 1.5  04-Oct-2001  tv Recurse properly; just add "build" to TARGETS (fixes reported problem where
"make clean" doesn't work at the src/tools level).
 1.4  22-Sep-2001  tv Work around "make obj" lossage in tools/. Dunno why this is happening
just yet; will investigate this evening.
 1.3  22-Sep-2001  tv Add lorder to TOOLDIR host tools.

Only descend into directories if USE_NEW_TOOLCHAIN is set (allows top level
Makefile to use "-m ${.CURDIR}/share/mk" to get the "correct" <bsd.own.mk>
when descending into src/tools/Makefile).
 1.2  21-Sep-2001  tv - Create a real cpp binary.
- Set CC properly in environment for mkdep and lint.
- Add compile_et to TOOLDIR host tools.
 1.1  14-Aug-2001  tv Bootstrap toolchain framework, first pass.
 1.50.2.4  26-Dec-2002  tron Pull up revision 1.61 (requested by lukem in ticket #1043):
enable sunlabel...
 1.50.2.3  30-Nov-2002  he Pull up revisions 1.56-1.57 (requested by he in ticket #804):
Re-add mktemp as a host tool.
 1.50.2.2  13-Jun-2002  lukem Pull up revision 1.51 (requested by eeh in ticket #257):
Add fgen as a host tool, used for sys/arch/sparc/bootblk.
 1.50.2.1  11-Jun-2002  lukem Pull up revision 1.53 (requested by mason in ticket #246):
Add cat(1) as a host tool.
 1.81.2.1  17-Jun-2004  tron branches: 1.81.2.1.2;
Pull up revision 1.82 (requested by abs in ticket #497):
Add sparkcrc (used to generate checksums for acorn32 bootloader sparkive)
as a host tool.
 1.81.2.1.2.3  06-Apr-2005  he Pull up revision 1.84 (requested by jmc in ticket #1027):
Convert bebox's remaining host tools over to the cross tools
scheme. Now allows complete bebox builds on non-NetBSD and
non-BSD hosts.
 1.81.2.1.2.2  06-Apr-2005  he Pull up revision 1.85 (requested by jmc in ticket #1026):
Convert remaining host tools for amiga to correct cross tools.
Now allows complete amiga builds on non-NetBSD and non-BSD hosts.
 1.81.2.1.2.1  02-Apr-2005  he Pull up revision 1.87 (via patch, requested by jmc in ticket #1025):
Convert mkboot into a full cross tool. Last hurdle for hp300 to
building on non NetBSD/bsd hosts.
 1.113.4.1  09-Jan-2008  matt sync with HEAD
 1.114.6.2  04-Jun-2008  yamt sync with head
 1.114.6.1  18-May-2008  yamt sync with head.
 1.116.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.116.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.124.12.1  26-Jul-2011  matt Add mkubootimage from -HEAD
 1.124.8.1  20-May-2011  matt Backport mkubootimage from -current
 1.124.4.1  13-May-2009  jym Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html
 1.140.2.2  05-Mar-2011  bouyer Sync with HEAD
 1.140.2.1  08-Feb-2011  bouyer Sync with HEAD
 1.145.2.1  23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.151.2.4  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.151.2.3  16-Jan-2013  yamt sync with (a bit old) head
 1.151.2.2  30-Oct-2012  yamt sync with head
 1.151.2.1  10-Nov-2011  yamt sync with head
 1.156.2.4  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.156.2.3  23-Jun-2013  tls resync from head
 1.156.2.2  25-Feb-2013  tls resync with head
 1.156.2.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.168.4.1  23-Jul-2013  riastradh sync with HEAD
 1.173.2.1  10-Aug-2014  tls Rebase.
 1.186.2.1  20-Mar-2017  pgoyette Sync with HEAD
 1.187.6.1  18-Jul-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #114):
distrib/sets/lists/comp/mi: revision 1.2139
distrib/sets/lists/debug/mi: revision 1.217
distrib/sets/mkvars.mk: revision 1.32
external/gpl2/Makefile: revision 1.14
share/mk/bsd.own.mk: revision 1.1010
tools/Makefile: revisions 1.188, 1.189
tools/dtc/Makefile: revisions 1.1, 1.2
tools/libfdt/Makefile: revisions 1.1, 1.2
Add libfdt
--
New libfdt location
--
tools build glue.
--
Add dtc
--
add MKDTC
--
Add dtc
--
add DTC
--
add DTC
--
No need to set dtc twice.
--
Update for new libfdt location
 1.191.2.1  20-Jan-2018  perseant Use multilevel tables (tries) to convert kuten <-> unicode.
Get rid of dchains, replace with chain/rchain conversions through keys
allocated from the PUA.
 1.193.2.4  18-Jan-2019  pgoyette Synch with HEAD
 1.193.2.3  30-Sep-2018  pgoyette Ssync with HEAD
 1.193.2.2  06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.193.2.1  21-May-2018  pgoyette Sync with HEAD
 1.194.2.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.194.2.1  10-Jun-2019  christos Sync with HEAD
 1.209.2.1  31-May-2021  cjep sync with head
 1.214.2.2  14-Apr-2025  martin Pull up following revision(s) (requested by rin in ticket #1096):

tools/what/Makefile: revision 1.1
external/cddl/osnet/usr.bin/ctfdump/Makefile: revision 1.10
tools/ctfmerge/Makefile: revision 1.13
tools/Makefile: revision 1.228
tools/Makefile: revision 1.229
tools/Makefile.ctftools: revision 1.1
usr.bin/what/what.c: revision 1.16
tools/Makefile: revision 1.230
tools/ctfconvert/Makefile: revision 1.12
tools/ctfdump/Makefile: revision 1.1
external/cddl/osnet/dist/tools/ctf/dump/dump.c: revision 1.3
external/cddl/osnet/dist/tools/ctf/common/utils.c: revision 1.2
(all via patch)

tools: Factor out Makefile.ctftools from ctf{convert,merge}

This adds missing libelf.a dependency to ctfmerge. Otherwise NFC.
tools: Add ctfdump(1) when MKCTF is enabled

Although this is not required for build, this small (only with three
additional source files) tool provides good diagnostics.

Especially useful on non-BSD hosts.
Tested on Ubuntu/amd64 24.04 and macOS 13.7 in addition to NetBSD.

tools: Add what(1); not mandatory, but provides good diagnostics

tools/Makefile: Add missing `\` for previous
 1.214.2.1  03-Jul-2024  martin Pull up following revision(s) (requested by tsutsui in ticket #733):

external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.6
distrib/cdrom/Makefile: revision 1.55
distrib/cdrom/macppc_installboot/Makefile: revision 1.12
external/gpl2/mkhybrid/dist/getopt.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/LEGAL.NOTICE: revision 1.1
external/gpl2/mkhybrid/dist/write.c: revision 1.1
distrib/cdrom/Makefile: revision 1.56
distrib/cdrom/macppc_installboot/Makefile: revision 1.13
distrib/cdrom/macppc_installboot/installboot.c: revision 1.6
external/gpl2/mkhybrid/dist/getopt.c: revision 1.3
external/gpl2/mkhybrid/dist/write.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/data.h: revision 1.1
distrib/cdrom/Makefile: revision 1.57
distrib/cdrom/macppc_installboot/Makefile: revision 1.14
distrib/cdrom/macppc_installboot/installboot.c: revision 1.7
tools/Makefile: revision 1.221
tools/Makefile: revision 1.222
external/gpl2/mkhybrid/dist/libhfs_iso/file.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/README: revision 1.1
distrib/macppc/Makefile: revision 1.18
external/gpl2/mkhybrid/dist/TODO: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/record.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.1
external/gpl2/mkhybrid/dist/match.c: revision 1.2
external/gpl2/mkhybrid/dist/libfile/softmagic.c: revision 1.2
external/gpl2/mkhybrid/dist/volume.c: revision 1.1
external/gpl2/mkhybrid/dist/volume.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/internal.h: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.1
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.2
external/gpl2/mkhybrid/dist/getopt1.c: revision 1.3
external/gpl2/mkhybrid/dist/README.mkisofs: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hybrid.h: revision 1.1
tools/mkhybrid/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_magic: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.1
external/gpl2/mkhybrid/dist/include/prototyp.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/apple.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.1
external/gpl2/mkhybrid/dist/desktop.c: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.2
external/gpl2/mkhybrid/dist/desktop.c: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.4
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.5
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.6
external/gpl2/mkhybrid/dist/libfile/file.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.c: revision 1.7
external/gpl2/mkhybrid/dist/getopt.h: revision 1.1
distrib/cdrom/macppc_installboot/installboot.h: revision 1.5
etc/etc.mac68k/Makefile.inc: revision 1.25
external/gpl2/mkhybrid/dist/getopt.h: revision 1.2
external/gpl2/mkhybrid/dist/write.h: revision 1.1
etc/etc.mac68k/Makefile.inc: revision 1.26
external/gpl2/mkhybrid/dist/rock.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.1
external/gpl2/mkhybrid/dist/hash.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/record.h: revision 1.1
external/gpl2/mkhybrid/dist/README.hfs_boot: revision 1.1
external/gpl2/mkhybrid/dist/README: revision 1.1
external/gpl2/mkhybrid/dist/README.win32: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/hfs.h: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.1
external/gpl2/mkhybrid/dist/config.h.in: revision 1.2
distrib/cdrom/boothfs.uue: revision 1.2
external/gpl2/mkhybrid/dist/config.h.in: revision 1.3
external/gpl2/mkhybrid/dist/volume.h: revision 1.1
external/gpl2/mkhybrid/dist/volume.h: revision 1.2
external/gpl2/mkhybrid/dist/ChangeLog: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/apprentice.c: revision 1.2
external/gpl2/mkhybrid/dist/mapping: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.1
external/gpl2/mkhybrid/dist/include/statdefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/Makefile: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.2
external/gpl2/mkhybrid/dist/magic: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/node.h: revision 1.1
external/gpl2/mkhybrid/bin/Makefile: revision 1.3
external/gpl2/mkhybrid/dist/acconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/eltorito.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/patchlevel.h: revision 1.1
share/mk/bsd.own.mk: revision 1.1375
share/mk/bsd.own.mk: revision 1.1376
external/gpl2/mkhybrid/dist/README.session: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.1
external/gpl2/mkhybrid/dist/libfile/lfile.c: revision 1.2
tools/macppc_installboot/Makefile: revision 1.1
external/gpl2/mkhybrid/README.md: revision 1.1
etc/etc.macppc/Makefile.inc: revision 1.13
external/gpl2/mkhybrid/dist/defaults.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.spec: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.h: revision 1.1
external/gpl2/mkhybrid/dist/defaults.h: revision 1.3
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.1
external/gpl2/mkhybrid/dist/include/mconfig.h: revision 1.2
external/gpl2/mkhybrid/dist/libfile/proto.h: revision 1.1
external/gpl2/mkhybrid/dist/COPYING: revision 1.1
external/gpl2/mkhybrid/dist/name.c: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.2
external/gpl2/mkhybrid/dist/mac_label_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/configure.in: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.c: revision 1.1
distrib/cdrom/macppc_mkboothfs/mkboothfs.c: revision 1.4
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/btree.c: revision 1.1
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.5
external/gpl2/mkhybrid/dist/config.h: revision 1.1
external/gpl2/mkhybrid/dist/mkhybrid.8: revision 1.2
distrib/cdrom/macppc_installboot/cd9660.c: revision 1.6
external/gpl2/mkhybrid/dist/config.h: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/node.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/data.c: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/file.c: revision 1.1
external/gpl2/mkhybrid/dist/README.eltorito: revision 1.1
external/gpl2/mkhybrid/dist/include/fctldefs.h: revision 1.1
external/gpl2/mkhybrid/dist/libfile/README: revision 1.1
external/gpl2/mkhybrid/dist/libhfs_iso/block.c: revision 1.1
external/gpl2/mkhybrid/dist/mactypes.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.1
external/gpl2/mkhybrid/dist/apple_proto.h: revision 1.2
external/gpl2/mkhybrid/dist/multi.c: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.1
external/gpl2/mkhybrid/dist/match.h: revision 1.2
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.1
external/gpl2/mkhybrid/dist/mac_label.c: revision 1.2
external/gpl2/mkhybrid/dist/libhfs_iso/lvolume.c: revision 1.1
external/gpl2/mkhybrid/dist/Makefile.in: revision 1.2
external/gpl2/mkhybrid/dist/configure: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.2
external/gpl2/mkhybrid/dist/install-sh: revision 1.1
external/gpl2/mkhybrid/dist/configure: revision 1.3
distrib/cdrom/macppc_installboot/cd9660.c: file removal
external/gpl2/mkhybrid/dist/README.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/ChangeLog.mkhybrid: revision 1.1
external/gpl2/mkhybrid/dist/iso9660.h: revision 1.1
external/gpl2/mkhybrid/dist/joliet.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.1
external/gpl2/mkhybrid/dist/apple.c: revision 1.2
external/gpl2/mkhybrid/dist/apple.c: revision 1.3
etc/Makefile: revision 1.471
external/gpl2/mkhybrid/dist/apple.c: revision 1.4
external/gpl2/mkhybrid/dist/tree.c: revision 1.1
etc/Makefile: revision 1.472
external/gpl2/mkhybrid/dist/tree.c: revision 1.2
external/gpl2/mkhybrid/dist/tree.c: revision 1.3
external/gpl2/mkhybrid/dist/libhfs_iso/low.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.8: revision 1.1
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.2
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.3
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.4
external/gpl2/mkhybrid/dist/mkisofs.h: revision 1.5
distrib/cdrom/Makefile: revision 1.54
external/gpl2/mkhybrid/dist/getopt.c: revision 1.1

Add -data-change-warn to MKISOFS_ARGS for macppc as done for mac68k:
https://mail-index.netbsd.org/source-changes/2023/05/19/msg144826.html

Creating Type&Creator mappings for .bin (macbinary encoded) files,
mkisofs changes files, then turns around and complains they have been
changed.
This is a self-inflicted wound, so demote the error to a warning.
This looks to make macppccd builds with cdrtools-3.02a10.
Sync with src/usr.sbin/installboot/cd9660.c:
- include now properly updated cd9660_extern.h for function prototypes
and remove them from local installboot.h
- use ISO_MAXNAMLEN rather than (BSD specific and incorrect) MAXNAMLEN
- use proper names for the secondary boot file
- appease several pointer signedness warnings (not fatal on HOST tools)
Use native cd9660 blocksize to specify block numbers in cd9660.c.
This reduces diffs from src/usr.sbin/installboot/cd9660.c.
Also explicitly call cd9660_match() to get fstype->blocksize properly.
Pull sharable src/usr.sbin/installboot/cd9660.c.
Import mkhybrid from OpenBSD 7.3 to create ISO9660/HFS hybrid ISO images.
- files in libfile except proto.h prepared by OpenBSD are not imported
due to non-standard license
(newer BSD Licensed versions will be imported later)
- unnecessary files for tools build are not imported
- RCSId strings are trimmed to avoid unintended substitutions
Proposed on tech-toolchain@:
https://mail-index.netbsd.org/tech-toolchain/2024/05/25/msg004355.html

Import BSD licensed libfile for mkhybrid builds from cdrtools-3.01.
- unnecessary files for tools build are not imported
- file.c is renamed to lfile.c to avoid conflict with libhfs_iso
- RCSId strings are trimmed
Remove dependencies on non-existent exclude.h.
Pull changes from mkisofs-1.12.1 to avoid statvfs(2).
Make newer BSD Licensed libfile sources build as tools.
Update mkhybrid Makefile for NetBSD's tools builds.
Suppress implicit declaration warnings.
Appease discard-const warnings.
Remove duplicated SYSTEM_ID_DEFAULT definitions.
Don't redefine SYSTEM_ID_DEFAULT if it's specified in CPPFLAGS.
Remove ancient rlimit hacks for NetBSD disabled in cdrtools-2.01.
Always use local getopt.h as cdrtools-2.01 did.
Tweak and regen configure using autoconf-2.13 to use pkgsrc tools.
Check <stdlib.h> and <flock.h> in configure and regen config.h.
Use HAVE_CONFIG_H to include <stdlib.h> and <string.h> in getopt sources.
Appease more warnings and remove unused getopt functions.
Pull options -hide-joliet-trans-tbl and -hide-rr-moved from mkisofs-1.13.
Pull -graft-points option from mkisofs-1.13 and cdrtools-2.01.
Also remove #ifdef APPLE_HYB for NON-HFS changes to reduce diffs.
Tweak OPTION_* definitions to reduce diffs from mkisofs-1.13.
Pull malloc related fixes from cdrtools-2.01.
This seems to fix SIGSEGV during free(3) in write.c:write_one_file().
Build mkhybrid as a build tool.
Build mac68k and macppc iso images using tools/mkhybrid.
Drop -data-change-warn from MKISOFS_FLAGS.
It's available only on cdrtools-3.x and later.
Use tools/mkhybrid as MKISOFS for mac68k and future macppc.
Note about current status.
Also pull man page description of options pulled from mkisofs-1.13.
Don't print progress if -quiet is specfied as cdrtools-2.01 and later.
Exclude debug.tgz and xdebug.tgz from mac68k ISO to save ~320MB.
Drop -T (for non-Rock Ridge capable systems) from ${MKISOFS_FLAGS}.
Even old mac68k and macppc don't require it, and somehow TRANS.TBL
files are shown on NetBSD when the ISO images created with both -T
and and -hide-joliet-trans-tbl are mounted by mount_cd9660(8).
Note this also happens with mkisofs(8) from cdrtools-3.02,
but I have not investigated if it's expected behavior.
Build src/distrib/cdrom/macppc_installboot in src/tools as a tool.
Also use the tools version ${TOOLS_MACPPC_INSTALLBOOT} to create
bootable ISO9660/HFS hybrid installcd image for macppc.
Make sure NetBSD_BootBlock partition has 32KB to avoid extra padding.
It looks at least OpenFirmware 2.x fails to load the primary bootloader
in the NetBSD_BootBlock partition if the partition size is too small,
probably because OpenFirmware read() function implicitly uses 32KB blocks.
Build macppc iso with TOOL_MKHYBRID via "iso-image" target in src/etc.
No need to check and redefine C89 strerror(3) and strtoul(3).
Fixes build error on MacOS 10.4 with Xcode 2.5.

RSS XML Feed