-<sect1 id="appendix.porting.build_hacking" xreflabel="Build Hacking">
+<section xmlns="http://docbook.org/ns/docbook" version="5.0"
+ xml:id="appendix.porting.build_hacking" xreflabel="Build Hacking">
<?dbhtml filename="build_hacking.html"?>
-<sect1info>
+<info><title>Configure and Build Hacking</title>
<keywordset>
<keyword>
C++
shared
</keyword>
</keywordset>
-</sect1info>
+</info>
-<title>Configure and Build Hacking</title>
+<section xml:id="build_hacking.prereq"><info><title>Prerequisites</title></info>
-<sect2 id="build_hacking.prereq">
- <title>Prerequisites</title>
<para>
- As noted <ulink
- url="http://gcc.gnu.org/install/prerequisites.html">previously</ulink>,
+ As noted <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">previously</link>,
certain other tools are necessary for hacking on files that
control configure (<code>configure.ac</code>,
<code>acinclude.m4</code>) and make
the auto-tools used, so please try to play nicely with the
neighbors.
</para>
-</sect2>
+</section>
-<sect2 id="build_hacking.map">
- <title>Overview: What Comes from Where</title>
+<section xml:id="build_hacking.map"><info><title>Overview: What Comes from Where</title></info>
- <screen>
- <inlinemediaobject>
+
+ <figure>
+ <title>Configure and Build File Dependencies</title>
+ <mediaobject>
+ <imageobject>
+ <imagedata align="center" format="PDF" scale="75" fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/confdeps.pdf"/>
+ </imageobject>
<imageobject>
- <imagedata fileref="../images/confdeps.png"/>
+ <imagedata align="center" format="PNG" scale="100" fileref="/mnt/share/src/gcc.svn-trunk/libstdc++-v3/doc/xml/images/confdeps.png"/>
</imageobject>
<textobject>
- <phrase>Dependency Graph Configure to Build Files</phrase>
+ <phrase>Dependency Graph for Configure and Build Files</phrase>
</textobject>
- </inlinemediaobject>
- </screen>
+ </mediaobject>
+ </figure>
<para>
Regenerate all generated files by using the command sequence
<code>"aclocal-1.11 && autoconf-2.64 &&
autoheader-2.64 && automake-1.11"</code> The version
numbers may be absent entirely or otherwise vary depending on
- <ulink url="http://gcc.gnu.org/install/prerequisites.html">the
- current requirements</ulink> and your vendor's choice of
+ <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html">the
+ current requirements</link> and your vendor's choice of
installation names.
</para>
-</sect2>
+</section>
+
+<section xml:id="build_hacking.scripts"><info><title>Storing Information in non-AC files (like configure.host)</title></info>
-<sect2 id="build_hacking.scripts">
- <title>Storing Information in non-AC files (like configure.host)</title>
<para>
Until that glorious day when we can use AC_TRY_LINK with a
to properly find them all when generating configure. I would
discourage that.
</para>
-</sect2>
+</section>
+
+<section xml:id="build_hacking.conventions"><info><title>Coding and Commenting Conventions</title></info>
-<sect2 id="build_hacking.conventions">
- <title>Coding and Commenting Conventions</title>
<para>
Most comments should use {octothorpes, shibboleths, hash marks,
<code>$target_alias</code>. The single exception is in
configure.ac, for automake+dejagnu's sake.
</para>
-</sect2>
+</section>
+
+<section xml:id="build_hacking.acinclude"><info><title>The acinclude.m4 layout</title></info>
-<sect2 id="build_hacking.acinclude">
- <title>The acinclude.m4 layout</title>
<para>
The nice thing about acinclude.m4/aclocal.m4 is that macros aren't
actually performed/called/expanded/whatever here, just loaded. So
present otherwise stuff magically goes wonky.
</para>
-</sect2>
+</section>
+
+<section xml:id="build_hacking.enable"><info><title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title></info>
-<sect2 id="build_hacking.enable">
- <title><constant>GLIBCXX_ENABLE</constant>, the <literal>--enable</literal> maker</title>
<para>
All the GLIBCXX_ENABLE_FOO macros use a common helper,
<para>
If you're wondering what that line noise in the last example was,
that's how you embed autoconf special characters in output text.
- They're called <ulink
- url="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><emphasis>quadrigraphs</emphasis></ulink>
+ They're called <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://www.gnu.org/software/autoconf/manual/autoconf.html#Quadrigraphs"><emphasis>quadrigraphs</emphasis></link>
and you should use them whenever necessary.
</para>
</listitem>
message.
</para>
-</sect2>
+</section>
-</sect1>
+</section>