<li><a href="#custom_uclibc">Customizing the uClibc
configuration</a></li>
<li><a href="#buildroot_innards">How Buildroot works</a></li>
- <li><a href="#using_toolchain">Using the uClibc toolchain</a></li>
- <li><a href="#toolchain_standalone">Using the uClibc toolchain
- outside of Buildroot</a></li>
+ <li><a href="#multi_project"Building several projects in the
+ same buildroot source tree</a></li>
+ <li><a href="#using_toolchain">Using the uClibc toolchain
+ outside Buildroot</a></li>
<li><a href="#downloaded_packages">Location of downloaded packages</a>
</li>
<li><a href="#add_software">Extending Buildroot with more
<h2><a name="multi_project" id="multi_project"></a>Building several
projects in the same buildroot source tree</h2>
- <p><b>BACKGROUND</b></p>
+ <p><i>Note: the contents of this section are obsolete since this
+ feature has been implemented.</i></p>
+
+ <h3>Background</h3>
<p>Buildroot has always supported building several projects in the same
tree if each project was for a different architecture. </p>
was also duplicated, so each </code>package</code> would also
be rebuilt once per project, resulting in even longer build times.</p>
-
- <p><b>PROJECT TO SHARE TOOLCHAIN AND PACKAGE BUILDS</b></p>
+ <h3>Project to share toolchain and package builds</h3>
<p>Work has started on a project which will allow the user to build
multiple root file systems for the same architecture in the same tree.
<p>Only packages, not used by the first project, will have to go
through the normal extract-configure-compile flow. </p>
- <p><b>IMPLEMENTATION</b></p>
+ <h3>Implementation</h3>
<p>The core of the solution is the introduction
of two new directories: </p>
<p>The resulting binaries for all architectures are stored in the
<code>"$(BINARIES_DIR)"</code> directory. <p>
- <p><b>SUMMARY</b></p>
+ <h3>Summary</h3>
<p>The project will share directories which can be share without
conflicts, but will use unique build directories, where the user
defaults to "make menuconfig".
</p>
- <h2><a name="Todo" id="Todo"></a>Todo</h2>
+ <h3>Todo</h3>
<ol>
<li>Configurable packages</li>
</ol>
<h2><a name="using_toolchain" id="using_toolchain"></a>Using the
- uClibc toolchain</h2>
+ uClibc toolchain outside Buildroot</h2>
<p>You may want to compile your own programs or other software
that are not packaged in Buildroot. In order to do this, you can
mips-linux-gcc -o foo foo.c
</pre>
- <p><b>Important</b> : do not try to move a gcc-3.x toolchain to an other
- directory, it won't work. There are some hardcoded paths in the
- <i>gcc</i> configuration. If the default toolchain directory
- doesn't suit your needs, please refer to the <a
- href="#toolchain_standalone">Using the uClibc toolchain outside of
- buildroot</a> section. </p>
- <p>If you are using a current gcc-4.x, then use --sysroot and -isysroot
- since these toolchains have fully functional sysroot support. No
- hardcoded paths do exist in these configurations. </p>
-
- <h2><a name="toolchain_standalone" id="toolchain_standalone"></a>Using the
- uClibc toolchain outside of buildroot</h2>
-
- <p>By default, the cross-compilation toolchain is generated inside
- <code>build_ARCH/staging_dir/</code>. But sometimes, it may be useful to
- install it somewhere else, so that it can be used to compile other programs
- or by other users. Moving the <code>build_ARCH/staging_dir/</code>
- directory elsewhere is <b>not possible if using gcc-3.x</b>, because there
- are some hardcoded paths in the toolchain configuration. This works, thanks
- to sysroot support, with current, stable gcc-4.x toolchains, of course. </p>
-
- <p>If you want to use the generated gcc-3.x toolchain for other purposes,
- you can configure Buildroot to generate it elsewhere using the
- option of the configuration tool : <code>Build options ->
- Toolchain and header file location</code>, which defaults to
- <code>$(BUILD_DIR)/staging_dir/</code>. </p>
+ <p><b>Important</b> : do not try to move a gcc-3.x toolchain to an other
+ directory, it won't work. There are some hardcoded paths in the
+ <i>gcc</i> configuration. If you are using a current gcc-4.x, it
+ is possible to relocate the toolchain, but then
+ <code>--sysroot</code> must be passed every time the compiler is
+ called to tell where the libraries and header files are, which
+ might be cumbersome.</p>
+
+ <p>It is also possible to generate the Buildroot toolchain in
+ another directory than <code>build_ARCH/staging_dir</code> using
+ the <code>Build options -> Toolchain and header file
+ location</code> option. This could be useful if the toolchain
+ must be shared with other users.</p>
<h2><a name="downloaded_packages"
id="downloaded_packages"></a>Location of downloaded packages</h2>
<li><a href="http://www.uclibc.org/">http://www.uclibc.org/</a></li>
<li><a href="http://www.busybox.net/">http://www.busybox.net/</a></li>
</ul>
-
</div>
<!--
- <a href="http://validator.w3.org/check?uri=referer"><img
- border="0" height="31" width="88"
- src="images/valid-html401.png"
- alt="Valid HTML"></img></a>
+ <a href="http://validator.w3.org/check?uri=referer"><img
+ border="0" height="31" width="88"
+ src="images/valid-html401.png"
+ alt="Valid HTML"></img></a>
-->
</body>