<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in BUILDING</title>
    <link>http://nxr.netbsd.org/rss/src/BUILDING</link>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2005</copyright>
    <generator>Java</generator>
    
<item>
    <title>BUILDING: regenerate from doc/BUILDING.mdoc<br/><br/>Regenerate BUILDING with<br/>	make -C doc regen<br/><br/>BUILDING is generated from doc/BUILDING.mdoc, not manually maintained.<br/>Per the Note in doc/BUILDING.modc:<br/>	.\" NOTE: After changing this file, run "make regen" in the src/doc<br/>	.\" directory, and check in both src/BUILDING and src/doc/BUILDING.mdoc.<br/><br/>This regen has functional change, just formatting updates and date update.</title>
    <description>/src/BUILDING - 1.163</description>
    <pubDate>Wed Feb 11 20:13:15 UTC 2026</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>Import BSD-licensed diff from FreeBSD to replace GNU diffutils<br/><br/>Ported to NetBSD, compiler warnings fixed, and some unnecessary<br/>features (for the purpose of replacing our GPLv2 diff) have been<br/>stripped out.<br/><br/>Non-default at the moment, requires building with MKBSDDIFF=yes.<br/><br/>PR bin/59798 We are still using GNU diffutils</title>
    <description>/src/BUILDING - 1.162</description>
    <pubDate>Thu Dec 04 18:22:15 UTC 2025</pubDate>
    <dc:creator>nia</dc:creator>
</item>

<item>
    <title>BUILDING: fix typo</title>
    <description>/src/BUILDING - 1.161</description>
    <pubDate>Fri Apr 26 17:38:44 UTC 2024</pubDate>
    <dc:creator>rillig</dc:creator>
</item>

<item>
    <title>BUILDING: list known mk.conf vars. tweak section headers<br/><br/>List known supported and obsolete mk.conf(5) variables,<br/>so that searches in this document at least find them.<br/>This partially reverts my revision 1.144 on 2023-06-12<br/>which completely removed the duplication with mk.conf(5).<br/><br/>Remove quote characters from some section headings;<br/>it makes it harder to search for a section by known name<br/>when rendering in markup variations that use smart quotes.</title>
    <description>/src/BUILDING - 1.160</description>
    <pubDate>Sat Jul 22 18:50:04 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: clarify environ vs mk.conf behaviour<br/><br/>Document that variables set in the environment or the<br/>nbmake-MACHINE wrapper script don't override variable<br/>assignments in mk.conf(5), and that using ?= in mk.conf<br/>allows environment / nbmake-MACHINE variables to override<br/>mk.conf.<br/><br/>Consistently refer to "nbmake-MACHINE wrapper script".</title>
    <description>/src/BUILDING - 1.159</description>
    <pubDate>Fri Jul 21 22:07:59 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: consistency fix</title>
    <description>/src/BUILDING - 1.158</description>
    <pubDate>Wed Jul 19 15:40:38 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>build.sh: use mk.conf (if present) as MAKECONF<br/><br/>Set MAKECONF to mk.conf in the same directory as build.sh<br/>(i.e., the top of the source tree) if mk.conf is present.<br/>This means unprivileged users can benefit from mk.conf(5)<br/>semantics without write privileges to /etc/mk.conf, and<br/>also simplifies per-source-directory configuration.<br/><br/>Fail early if $MAKECONF is empty, since build.sh will fail<br/>anyway after rebuilding nbmake.<br/><br/>Ensure that the computed MAKECONF isn't empty, and then<br/>always set MAKECONF in the makewrapper (nbmake-$MACHINE).<br/><br/>Improve some formatting consistency in BUILDING.mdoc,<br/>(even if BUILDING is generated without markup).</title>
    <description>/src/BUILDING - 1.157</description>
    <pubDate>Tue Jul 18 16:59:57 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: wording tweaks</title>
    <description>/src/BUILDING - 1.156</description>
    <pubDate>Wed Jul 05 16:41:12 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: remove duplication from mk.conf(5)<br/><br/>Remove all "make" variables / mk.conf(5) variables already documented<br/>in mk.conf(5).  The duplication was a maintenance headache, as I've<br/>experienced over recent weeks getting the build documentation up to<br/>date.<br/><br/>Add notes clarifying that manual page references are to the NetBSD<br/>manual pages, not to the host manual pages, and how to format from<br/>source, or find online at https://man.netbsd.org.<br/><br/>Add explicit links to the mdoc(7) in-tree source for mk.conf(5),<br/>hier(7), and release(7) because those are directly relevant to the host<br/>build information in BUILDING.<br/><br/>Note: We don't normally need these notes for native documentation,<br/>but BUILDING is intended for users on host systems which might not<br/>be NetBSD(-current).<br/><br/>Add missing defaults.</title>
    <description>/src/BUILDING - 1.155</description>
    <pubDate>Sun Jun 11 20:34:14 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: update from mk.conf(5). reorder<br/><br/>Sync variable entries from mk.conf(5).<br/><br/>Merge the "make variables for full builds" section into the previous.<br/>Having two separate sections and some entries duplicated was confusing<br/>when searching for variables.</title>
    <description>/src/BUILDING - 1.154</description>
    <pubDate>Sun Jun 11 10:49:43 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>more NBUILDJOBS deprecation<br/><br/>The NBUILDJOBS option was deprecated in 2002;<br/>there's no need to keep warning about it,<br/>remove from params / show-params,<br/>and only document as obsolete.</title>
    <description>/src/BUILDING - 1.153</description>
    <pubDate>Sun Jun 11 10:43:51 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: editorial<br/><br/>MKX11=yes wants MKINET6=yes<br/><br/>Change the width of the variable lists to 14n (from 15n)<br/>so that when the lists are rendered and then left aligned,<br/>the column is 16 characters (aka 2 tabs) which makes<br/>copypasta to bsd.README easier.</title>
    <description>/src/BUILDING - 1.152</description>
    <pubDate>Mon Jun 05 22:36:17 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: update from canonical mk.conf(5)<br/><br/>Incorporate content and styles updates for mk.conf entries<br/>from share/man/man5/mk.conf.5, which is the canonical<br/>reference for mk.conf.<br/><br/>Add: BSDOBJDIR, BSDSRCDIR, EXTERNAL_TOOLCHAIN, MKDEBUGKERNEL,<br/>MKDEBUGTOOLS, MKHTML, MKLINKLIB, MKOBJDIRS, TOOLCHAIN_MISSING,<br/>NETBSDSRCDIR<br/><br/>It's for further study as to whether we just replace the<br/>most of subsection "make" variables with a link to mk.conf(5).<br/><br/>Style:<br/>- Add more .de macros per mk.conf.5.<br/>- Order list items alphabetically. When multiple items are present<br/>  in a list item, sort within the item first.<br/>- More cross-references.</title>
    <description>/src/BUILDING - 1.151</description>
    <pubDate>Sun Jun 04 20:08:21 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>build.sh: MAKECONF and mk.conf(5) improvements<br/><br/>Move MAKECONF to the Environment variables section.<br/>Add mk.conf(5) cross-references.<br/>Make Notes more obvious.<br/>Fix mandoc lint.</title>
    <description>/src/BUILDING - 1.150</description>
    <pubDate>Fri Jun 02 20:48:41 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: TMPDIR must not be noexec<br/><br/>Describe $TMPDIR as used by build.sh, and<br/>add a note that it can't be mounted noexec.<br/><br/>PR toolchain/44459</title>
    <description>/src/BUILDING - 1.149</description>
    <pubDate>Thu May 18 14:22:53 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>build.sh, BUILDING: consistency improvements<br/><br/>Consistently use "show", instead of sometimes using "display" or "print".<br/>Fix mdoc markup (even though BUILDING is raw text).<br/>Document help, -P, -?</title>
    <description>/src/BUILDING - 1.148</description>
    <pubDate>Tue May 16 21:39:26 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>BUILDING: update upstream, regen<br/><br/>doc/BUILDING.mdoc is the upstream for BUILDING, so add recent changes<br/>in the latter to the former, formatting correctly.<br/><br/>Move INSTALLBOOT_UBOOT_PATHS to Environment variables.<br/>Move INSTALLBOOT_BOARDS to "make" variables for full builds.<br/>Add installboot(8) cross-reference.</title>
    <description>/src/BUILDING - 1.147</description>
    <pubDate>Tue May 16 21:21:38 UTC 2023</pubDate>
    <dc:creator>lukem</dc:creator>
</item>

<item>
    <title>fix documentation for MKLINT<br/><br/>Since share/mk/bsd.own.mk 1.749 from 2013-08-26, MKLINT defaults to no.</title>
    <description>/src/BUILDING - 1.146</description>
    <pubDate>Sat Oct 01 08:55:45 UTC 2022</pubDate>
    <dc:creator>rillig</dc:creator>
</item>

<item>
    <title>By default, do not install any bootable images.<br/><br/>The previous commit introduced the ability to install a set of<br/>bootable images as a normal part of a release build.  While this made<br/>it easy to install bootable images, the contents of a release build<br/>depend on whether or not U-Boot packages are installed in /usr/pkgsrc,<br/>which is the default location searched by installboot(8).<br/><br/>This commit requires users to explicitly list the bootable images to<br/>be installed, which by default is none (i.e., prior behavior).</title>
    <description>/src/BUILDING - 1.145</description>
    <pubDate>Mon Aug 22 16:50:25 UTC 2022</pubDate>
    <dc:creator>brook</dc:creator>
</item>

<item>
    <title>Create bootable images in ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.<br/><br/>Release builds for arm platforms create compressed images in<br/>${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  However, in some<br/>cases, e.g., armv7.img.gz, they are not bootable.  Consequently, boot<br/>blocks must be manually installed in the images, which is an extra<br/>barrier for testing systems or adopting NetBSD.  This has prompted<br/>creation of external repositories, e.g., armbsd.org, to host a<br/>collection of bootable images.  However, this does not ease the burden<br/>on developers compiling their own systems; for them, manual<br/>installation of boot blocks is still required.<br/><br/>For arm platforms, etc/etc.evbarm/Makefile.inc contains the commands<br/>used to create system images.  Because installboot(8) can write boot<br/>blocks directly to system images, a loop through possible boards can<br/>create a series of bootable images during the normal build process.<br/><br/>In the case of many arm platforms, installboot(8) uses U-Boot boot<br/>blocks, which are not part of the NetBSD source code.  Developers can,<br/>however, install as many U-Boot boot blocks as desired, either in the<br/>default location of /usr/pkg/share/u-boot or in a set of directories<br/>pointed to by the U-Boot search path, the INSTALLBOOT_UBOOT_PATHS<br/>environment variable.  For each board with an available boot block, a<br/>board-specific bootable image will be created in<br/>${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg.  If a boot block is<br/>not available, which is the typical situation currently, no additional<br/>image will be created.<br/><br/>This facility creates opportunities to build bootable images for any<br/>number of boards within the scope of a standard release build.<br/>However, that is not required and will not occur without the<br/>intervention of installing U-Boot boot blocks prior to the build.</title>
    <description>/src/BUILDING - 1.144</description>
    <pubDate>Sun Aug 21 15:01:08 UTC 2022</pubDate>
    <dc:creator>brook</dc:creator>
</item>
</channel></rss>

