Add entry on (base) buildsystem updates from bdrewery

This commit is contained in:
Benjamin Kaduk 2016-01-17 03:02:24 +00:00
parent 6e3f56e771
commit 576cc35490
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48039

View file

@ -2669,4 +2669,71 @@
of the old routing API were converted to use the new API.</p>
</body>
</project>
<project cat='bin'>
<title>Base System Build Improvements</title>
<contact>
<person>
<name>
<given>Bryan</given>
<common>Drewery</common>
</name>
<email>bdrewery@FreeBSD.org</email>
</person>
</contact>
<links>
<url href="https://lists.FreeBSD.org/pipermail/freebsd-arch/2015-December/017571.html">&os;-Arch Post Describing Plans</url>
<url href="http://www.bsdcan.org/2014/schedule/events/460.en.html">BSDCan 2014 META_MODE Presentation</url>
<url href="https://svnweb.FreeBSD.org/base?view=revision&amp;revision=290433">WITH_FAST_DEPEND Details</url>
<url href="https://svnweb.FreeBSD.org/base?view=revision&amp;revision=290526">WITH_CCACHE_BUILD Details</url>
</links>
<body>
<p>&a.bdrewery; (bdrewery@) has been working to improve the
build framework as well as buildworld build times. The build
system has largely been untouched by large-scale changes for many
years. Most of the effort has been on improving the recent
<tt>META_MODE</tt> merge that was presented at BSDCan 2014. This
is a new build system that is not currently enabled by default but
brings many benefits. Beyond that, some highlights of the work
changing buildworld are:</p>
<ul>
<li><tt>WITH_FAST_DEPEND</tt>, which avoids calling
&quot;mkdep&quot; during the <tt>make depend</tt> phase and
instead generates dependency files during compilation. The old
scheme was pre-processing all source files twice. The new version
saves 16-35% in build times.</li>
<li><tt>WITH_CCACHE_BUILD</tt> adds built-in ccache support,
avoiding many of the historical pitfalls of changing <tt>CC</tt>
in <tt>make.conf</tt> to use ccache.</li>
<li>Many improvements for parallelization of the build.</li>
<li><tt>LIBADD</tt> improvements to ensure proper usage of
this tool to replace duplicate <tt>LDADD</tt> and <tt>DPADD</tt>
statements. Further work is underway to reduce overlinking.</li>
<li>A lot of cleanup of improper framework usage.</li>
<li>Ensuring that installing files from the build tree fails
if the destination directory is missing, rather than installing a
file as the directory name.</li>
</ul>
</body>
<sponsor>
EMC / Isilon Storage Division
</sponsor>
<help>
<task>
<p>See the &os;-arch mail for more information on planned
work.</p>
</task>
</help>
</project>
</report>