$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r49529 - trunk/tools/build/v2/doc/src
From: ghost_at_[hidden]
Date: 2008-11-02 06:19:29
Author: vladimir_prus
Date: 2008-11-02 06:19:28 EST (Sun, 02 Nov 2008)
New Revision: 49529
URL: http://svn.boost.org/trac/boost/changeset/49529
Log:
Document cross-compilation
Text files modified: 
   trunk/tools/build/v2/doc/src/reference.xml |    29 ++++++++++++++++++++++                  
   trunk/tools/build/v2/doc/src/tasks.xml     |    49 +++++++++++++++++++++++++++++++++++++++ 
   2 files changed, 76 insertions(+), 2 deletions(-)
Modified: trunk/tools/build/v2/doc/src/reference.xml
==============================================================================
--- trunk/tools/build/v2/doc/src/reference.xml	(original)
+++ trunk/tools/build/v2/doc/src/reference.xml	2008-11-02 06:19:28 EST (Sun, 02 Nov 2008)
@@ -557,6 +557,33 @@
         </listitem>
       </varlistentry>
 
+      <varlistentry><term><literal>target-os</literal></term>
+        <listitem>
+
+          <anchor id="bbv2.reference.features.target-os"/>
+
+          <para>
+            The operating system for which the code is to be generated. The
+            compiler you used should be the compiler for that operating
+            system. This option causes Boost.Build to use naming conventions
+            suitable for that operating system, and adjust build process
+            accordingly. For example, with gcc, it controls if import
+            libraries are produced for shared libraries or not.                       
+          </para>
+
+          <para>The complete list of possible values for this feature is:
+            amiga, aix, bsd, cygwin, darwin, dos, emx, freebsd, hpux, iphone,
+            linux, netbsd, openbsd, osf, qnx, qnxnto, sgi, solaris, sun,
+            sunos, svr4, sysv, ultrix, unix, unixware, windows.
+          </para>
+
+          <para>See <xref linkend="bbv2.tasks.crosscompile"/> for details of
+          crosscompilation</para>
+
+        </listitem>
+      </varlistentry>
+
+
       <varlistentry><term><literal>architecture</literal></term>
         <listitem>
 
@@ -865,7 +892,7 @@
             </varlistentry>
         </variablelist>
 
-          <section>
+          <section id="v2.reference.tools.compiler.msvc.64">
             <title>64-bit support</title>
 
             <indexterm><primary>64-bit compilation</primary>
Modified: trunk/tools/build/v2/doc/src/tasks.xml
==============================================================================
--- trunk/tools/build/v2/doc/src/tasks.xml	(original)
+++ trunk/tools/build/v2/doc/src/tasks.xml	2008-11-02 06:19:28 EST (Sun, 02 Nov 2008)
@@ -713,11 +713,58 @@
     </para>
   </section>
 
+  <section id="bbv2.tasks.crosscompile">
+    <title>Cross-compilation</title>
+
+    <indexterm><primary>cross compilation</primary></indexterm>
+
+    <para>Boost.Build supports cross compilation with the gcc and msvc
+    toolsets.</para>
+    
+    <para>
+      When using gcc, you first need to specify your cross compiler
+      in <filename>user-config.jam</filename> (see <xref linkend="bbv2.advanced.configuration"/>), 
+      for example:</para>
+<programlisting>
+using gcc : arm : arm-none-linux-gnueabi-g++ ;
+</programlisting>
+    <para>
+      After that, if the host and target os are the same, for example Linux, you can
+      just request that this compiler version to be used:
+    </para>
+<screen>
+bjam toolset=gcc-arm
+</screen>
+
+    <para>
+      If you want to target different operating system from the host, you need
+      to additionally specify the value for the <code>target-os</code> feature, for
+      example:
+    </para>
+<screen>
+# On windows box
+bjam toolset=gcc-arm <emphasis role="bold">target-os=linux</emphasis>
+# On Linux box
+bjam toolset=gcc-mingw <emphasis role="bold">target-os=windows</emphasis>
+</screen>
+    <para>
+      For the complete list of allowed opeating system names, please see the documentation for 
+      <link linkend="bbv2.reference.features.target-os">target-os feature</link>.
+    </para>
+
+    <para>
+      When using the msvc compiler, it's only possible to cross-compiler to a 64-bit system
+      on a 32-bit host. Please see <xref linkend="v2.reference.tools.compiler.msvc.64"/> for
+      details.
+    </para>
+         
+  </section>
+
 </chapter>
 
 <!--
      Local Variables:
-     mode: xml
+     mode: nxml
      sgml-indent-data: t
      sgml-parent-document: ("userman.xml" "chapter")
      sgml-set-face: t