|
@@ -27,9 +27,9 @@ get PTYs working.</para>
|
|
|
<note><para>It's worth pointing out that the GCC test suite we run in this
|
|
|
section is considered not as important as the one we run in Chapter 6.</para></note>
|
|
|
|
|
|
-<para>Unpack all three GCC tarballs (-core, -g++, and -testsuite) in one and the same working directory.
|
|
|
-They will all unfold into a single <filename>gcc-&gcc-version;/</filename>
|
|
|
-subdir.</para>
|
|
|
+<para>Unpack all three GCC tarballs (-core, -g++, and -testsuite) in one and the
|
|
|
+same working directory. They will all unfold into a single
|
|
|
+<filename>gcc-&gcc-version;/</filename> subdirectory.</para>
|
|
|
|
|
|
<para>First correct one problem and make an essential adjustment:</para>
|
|
|
|
|
@@ -74,6 +74,31 @@ variables that override the default optimization flags.</para>
|
|
|
--enable-threads=posix --enable-__cxa_atexit \
|
|
|
--enable-languages=c,c++</userinput></screen></para>
|
|
|
|
|
|
+<para>The meaning of the new configure options:</para>
|
|
|
+
|
|
|
+<itemizedlist>
|
|
|
+<listitem><para><userinput>--enable-threads=posix</userinput>: This enables
|
|
|
+C++ exception handling for multi-threaded code.</para></listitem>
|
|
|
+
|
|
|
+<listitem><para><userinput>--enable-__cxa_atexit</userinput>: This option
|
|
|
+allows use of __cxa_atexit, rather than atexit, to register C++ destructors for
|
|
|
+local statics and global objects and is essential for fully standards-compliant
|
|
|
+handling of destructors. It also affects the C++ ABI and therefore results in
|
|
|
+C++ shared libraries and C++ programs that are interoperable with other Linux
|
|
|
+distributions.</para></listitem>
|
|
|
+
|
|
|
+<listitem><para><userinput>--enable-clocale=gnu</userinput>: This option ensures
|
|
|
+the correct locale model is selected for the C++ libraries under all
|
|
|
+circumstances. If the configure script finds the <emphasis>de_DE</emphasis>
|
|
|
+locale installed, it will select the correct model of <emphasis>gnu</emphasis>.
|
|
|
+However, people who don't install the <emphasis>de_DE</emphasis> locale, run the
|
|
|
+risk of building ABI incompatible C++ libraries due to the wrong locale model of
|
|
|
+<emphasis>generic</emphasis> being selected.</para></listitem>
|
|
|
+
|
|
|
+<listitem><para><userinput>--enable-languages=c,c++</userinput>: This option is
|
|
|
+needed to ensure that both C and C++ compilers are built.</para></listitem>
|
|
|
+</itemizedlist>
|
|
|
+
|
|
|
<para>Compile the package:</para>
|
|
|
|
|
|
<para><screen><userinput>make</userinput></screen></para>
|