Author: jstephens
Date: 2007-06-20 22:53:01 +0200 (Wed, 20 Jun 2007)
New Revision: 6874
Log:
More of the telco build script (includes corrections needed for change
of some options and script name).
Modified:
trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml
Modified: trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml
===================================================================
--- trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml 2007-06-20 17:48:54 UTC (rev 6873)
+++ trunk/refman-5.1/mysql-cluster-cge-building-tmp.xml 2007-06-20 20:53:01 UTC (rev 6874)
Changed blocks: 11, Lines Added: 207, Lines Deleted: 19; 10149 bytes
@@ -12,7 +12,7 @@
<para>
This section provides instructions on building &mccge-series; using
the source code that can be obtained from the MySQL FTP site and the
- <command>build_source.sh</command> script that can be found in the
+ <command>build_mccge.sh</command> script that can be found in the
source code's <filename>BUILD</filename> directory.
</para>
@@ -21,7 +21,7 @@
<title>MCCGE Build Script Usage — Basics</title>
<para>
- The <command>build_source.sh</command> script is intended to
+ The <command>build_mccge.sh</command> script is intended to
provide an easy way to build &mccge-series; binaries on the
principal supported platforms for this product:
@@ -80,7 +80,7 @@
<programlisting>
shell> <userinput>cd <replaceable>mccge-root</replaceable></userinput>
-shell> <userinput>BUILD/build_source.sh</userinput>
+shell> <userinput>BUILD/build_mccge.sh</userinput>
</programlisting>
This script <emphasis>must</emphasis> be invoked from the root
@@ -91,7 +91,7 @@
<programlisting>
shell> <userinput>cd <replaceable>mccge-root</replaceable>/BUILD</userinput>
-shell> <userinput>./build_source.sh</userinput>
+shell> <userinput>./build_mccge.sh</userinput>
<errortext>You must run this script from the MySQL top-level directory</errortext>
</programlisting>
@@ -112,7 +112,7 @@
<para>
To build on other platforms you can use the
- <option>--just-print</option> option on a supported platform and
+ <option>--print-only</option> option on a supported platform and
edit the output for the proper set of commands for the specific
platform you are using. MySQL can also provide custom CGE builds
for any type of platform that is officially supported for MySQL
@@ -128,7 +128,7 @@
<para>
Using the <option>--package</option> option with
- <command>build_source.sh</command>, it is possible to build a
+ <command>build_mccge.sh</command>, it is possible to build a
number of different packages. These include a
<quote>Classic</quote> version of MySQL having only the
<literal>MyISAM</literal> storage engine, a <quote>Pro</quote>
@@ -298,7 +298,7 @@
options used for all packages (see
<xref linkend="mysql-cluster-cge-building-packages"/>, for
information on available packages), and whether the default can be
- overridden when using <command>build_source.sh</command>:
+ overridden when using <command>build_mccge.sh</command>:
<informaltable>
<tgroup cols="3">
@@ -610,13 +610,200 @@
</section>
+ <section id="mysql-cluster-cge-building-compiler-options-used">
+
+ <title>Compiler Options Used by <command>build_mccge.sh</command></title>
+
+ <para>
+ This section describes the compiler options used for each of the
+ different platforms supported by this script.
+ </para>
+
+ <para>
+ The <option>--fast</option> option adds
+ <option>-mtune=cpu_arg</option> to the C/C++ flags (provides
+ support for Nocona, K8, and other processors).
+ </para>
+
+ <para>
+ Use of the --debug option adds -g to the C/C++ flags.
+ </para>
+
+ <formalpara>
+
+ <title>Linux/x86 using <command>gcc</command></title>
+
+ <para>
+ No default compiler flags are used. Instead the configure script
+ determines the proper flags to use for both normal and debug
+ builds. Discovery of a Nocona or Core 2 Duo CPU causes a 64-bit
+ binary to be built; otherwise, the binary is 32-bit. To build a
+ 64-bit binary, <option>-m64</option> is added to the C/C++
+ flags.
+
+ <note>
+ <para>
+ To build a 32-bit binary on a 64-bit CPU, use the
+ <option>--m32</option> option as described in
+ <xref linkend="mysql-cluster-cge-building-options-quick"/>.
+ </para>
+ </note>
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Linux/x86 using <command>icc</command></title>
+
+ <para>
+ Flags used:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ CC: <option>icc -static-libgcc -static-libcxa
+ -i-static</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C++: <option>icpc -static-libgcc -static-libcxa
+ -i-static</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C and C++: <option>-mp -restrict</option>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ The normal and fast versions also add the following C and C++
+ flags: <option>-O3 unroll2 -ip -ipo</option>.
+ </para>
+
+ </formalpara>
+
+ <para>
+ On discovery of a Core 2 Duo architecture while using
+ <command>icc</command>, <option>-xT</option> is also added to the
+ C/C++ flags; this provides optimisations specific to Core 2 Duo.
+ </para>
+
+ <formalpara>
+
+ <title>Solaris/x86 using <command>gcc</command></title>
+
+ <para>
+ All builds on Solaris are 64-bit, so <option>-m64</option> is
+ always used in the C/C++ flags. <literal>LDFLAGS</literal> is
+ set to <option>-m64 -static-libgcc -O/-O2</option>. Solaris
+ builds also set <option>LIBS=-lmtmalloc</option>.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Solaris/Sparc using <command>Forte</command></title>
+
+ <para>
+ On this platform, <command>cc-5.0</command> is used as
+ <command>CC</command>, and sets
+ <option>ASFLAGS=LDFLAGS=xarch=v9</option>, so that Sparc v9
+ binaries are compiled using the following flags:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ C flags: <option>-Xa -strconst</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C++ flags: <option>-noex</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C/C++ flags: <option>-mt -D_FORTEC -xarch=v9</option>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ For normal builds, the following flags are also used:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ C flags: <option>-xc99=none</option>
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ C/C++ flags: <option>-xO3</option>
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ As on Solaris/x86, Solaris/Sparc builds set
+ <option>LIBS=-lmtmalloc</option>.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>MacOSX/x86 using <command>gcc</command></title>
+
+ <para>
+ C and C++ flags include <option>-fno-common -arch i386</option>.
+ Non-debug versions also add <option>-Os
+ -felide-constructors</option>, where <option>-Os</option> means
+ the build is space-optimized as long as the space optimizations
+ do not negatively affect performance. Debug versions use
+ <option>-O</option>.
+ </para>
+
+ </formalpara>
+
+ <formalpara>
+
+ <title>Additional compiler options</title>
+
+ <para>
+ To obtain extended help on the
+ <option>--with-<replaceable>xxx</replaceable></option> options
+ available, run this script with
+ <option>--configure-only</option> to create a configuration
+ file. Then issue the command <literal>./configure
+ <option>--help</option></literal> to get an extended list of
+ possible <command>configure</command> options.
+ </para>
+
+ </formalpara>
+
+ </section>
+
<section id="mysql-cluster-cge-building-options-quick">
<title>Build Script Options Quick Reference</title>
<para>
The following table provides a quick reference for options
- available for use with <command>build_source.sh</command>.
+ available for use with <command>build_mccge.sh</command>.
</para>
<informaltable>
@@ -643,8 +830,13 @@
<entry>Select compiler</entry>
</row>
<row>
+ <entry><option>--configure-only</option></entry>
+ <entry><option>-c</option></entry>
+ <entry>Stop after running <command>configure</command>.</entry>
+ </row>
+ <row>
+ <entry><option>--datadir=<replaceable>path</replaceable></option></entry>
<entry>[none]</entry>
- <entry><option>--datadir=<replaceable>path</replaceable></option></entry>
<entry>Build with data directory set to non-standard
<replaceable>path</replaceable></entry>
</row>
@@ -686,16 +878,6 @@
table.</entry>
</row>
<row>
- <entry><option>--just-configure</option></entry>
- <entry><option>-c</option></entry>
- <entry>Stop after running configure.</entry>
- </row>
- <row>
- <entry><option>--just-print</option></entry>
- <entry>[none]</entry>
- <entry>Print commands that the script will execute, but do not execute</entry>
- </row>
- <row>
<entry><option>--gpl</option></entry>
<entry>[none]</entry>
<entry>Use GPL libraries</entry>
@@ -726,6 +908,12 @@
<entry>Build with prefix <replaceable>path</replaceable></entry>
</row>
<row>
+ <entry><option>--print-only</option></entry>
+ <entry>[none]</entry>
+ <entry>Print commands that the script would execute, but do not actually
+ execute them.</entry>
+ </row>
+ <row>
<entry><option>--static-linking</option></entry>
<entry>[none]</entry>
<entry>Statically link system libraries into binaries</entry>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r6874 - trunk/refman-5.1 | jon | 20 Jun |