mirror of
https://github.com/boostorg/build.git
synced 2026-02-15 13:02:11 +00:00
Remove "V2 vs. V1" section, since it's likely irrelevant now.
[SVN r65786]
This commit is contained in:
@@ -41,8 +41,6 @@
|
||||
<xi:include href="jam_docs.xml" parse="xml"
|
||||
xpointer="xpointer(id('jam.intro')|id('jam.intro')/following-sibling::*)"/>
|
||||
</appendix>
|
||||
|
||||
<xi:include href="v1_vs_v2.xml"/>
|
||||
|
||||
<index/>
|
||||
|
||||
|
||||
@@ -36,6 +36,5 @@
|
||||
|
||||
<!-- Appendicies -->
|
||||
<!-- <xi:include href="architecture.xml"/> -->
|
||||
<xi:include href="v1_vs_v2.xml"/>
|
||||
|
||||
</part>
|
||||
|
||||
@@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE appendix PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
||||
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
||||
|
||||
<!-- Copyright 2006 Vladimir Prus -->
|
||||
<!-- Distributed under the Boost Software License, Version 1.0. -->
|
||||
<!-- (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) -->
|
||||
|
||||
<appendix id="bbv2.vs_v1">
|
||||
<title>Differences to Boost.Build V1</title>
|
||||
<!-- "Differences to" is the British English usage. American
|
||||
English is "differences from." You can use the former but be
|
||||
sure you know what you're doing -->
|
||||
|
||||
<para>While Boost.Build V2 is based on the same ideas as Boost.Build V1,
|
||||
some of the syntax was changed, and some new important features were
|
||||
added. This chapter describes most of the changes.</para>
|
||||
|
||||
<section id="bbv2.overview.differences_to_v1.configuration">
|
||||
<title>Configuration</title>
|
||||
|
||||
<para>In V1, toolsets were configured by environment variables. If you
|
||||
wanted to use two versions of the same toolset, you had to create a new
|
||||
toolset module that would set the variables and then invoke the base
|
||||
toolset. In V2, toolsets are configured by the
|
||||
<functionname>using</functionname>, and you can easily configure several
|
||||
versions of a toolset. See <xref
|
||||
linkend="bbv2.overview.configuration"/> for details.
|
||||
</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="bbv2.overview.differences_to_v1.jamfiles">
|
||||
<title>Writing Jamfiles</title>
|
||||
|
||||
<para>Probably one of the most important differences in V2 Jamfiles is
|
||||
the use of project requirements. In V1, if several targets had the same
|
||||
requirements (for example, a common <code>#include</code> path), it was necessary to
|
||||
manually write the requirements or use a helper rule or template target. In V2, the
|
||||
common properties can be specified with the <code>requirements</code> project
|
||||
attribute, as documented in <xref linkend="bbv2.overview.projects"/>.
|
||||
</para>
|
||||
|
||||
<para><link linkend="bbv2.tutorial.libs">Usage requirements</link>
|
||||
also help to simplify Jamfiles.
|
||||
<!-- Simplify, simplify, simplify! You could go through the
|
||||
entire document several times and make changes like that
|
||||
one -->
|
||||
If a library requires
|
||||
all clients to use specific <code>#include</code> paths or macros when compiling
|
||||
code that depends on the library, that information can be cleanly
|
||||
represented.</para>
|
||||
|
||||
<para>The difference between <code>lib</code> and <code>dll</code> targets in V1 is completely
|
||||
eliminated in V2. There's only one library target type, <code>lib</code>, which can create
|
||||
either static or shared libraries depending on the value of the
|
||||
<link linkend="bbv2.overview.builtins.features.link"><varname><link></varname>
|
||||
feature</link>. If your target should be only built in one way<!--"variant" has a different meaning here-->, you
|
||||
can add <code><link>shared</code> or <code><link>static</code> to its requirements.
|
||||
</para>
|
||||
|
||||
<para>The syntax for referring to other targets was changed a bit. While
|
||||
in V1 one would use:
|
||||
<programlisting>
|
||||
exe a : a.cpp <lib>../foo/bar ;
|
||||
</programlisting>
|
||||
the V2 syntax is:
|
||||
<programlisting>
|
||||
exe a : a.cpp ../foo//bar ;
|
||||
</programlisting>
|
||||
Note that you don't need to specify the type of other target, but the
|
||||
last element should be separated from the others by a double slash to indicate that
|
||||
you're referring to target <filename>bar</filename> in project <filename>../foo</filename>, and not to
|
||||
project <filename>../foo/bar</filename>.
|
||||
</para>
|
||||
|
||||
|
||||
</section>
|
||||
|
||||
<section id="bbv2.overview.differences_to_v1.build_process">
|
||||
<title>Build process</title>
|
||||
|
||||
<para>The command line syntax in V2 is completely different. For example
|
||||
<programlisting>
|
||||
bjam -sTOOLS=msvc -sBUILD=release some_target
|
||||
</programlisting>
|
||||
now becomes:
|
||||
<programlisting>
|
||||
bjam toolset=msvc variant=release some_target
|
||||
</programlisting>
|
||||
or, using implicit features, just:
|
||||
<programlisting>
|
||||
bjam msvc release some_target
|
||||
</programlisting>
|
||||
See <link linkend="bbv2.overview.invocation">the reference</link> for a
|
||||
complete description of the syntax.
|
||||
</para>
|
||||
|
||||
|
||||
</section>
|
||||
</appendix>
|
||||
|
||||
|
||||
<!--
|
||||
Local Variables:
|
||||
mode: xml
|
||||
sgml-indent-data: t
|
||||
sgml-parent-document: ("userman.xml" "chapter")
|
||||
sgml-set-face: t
|
||||
End:
|
||||
-->
|
||||
Reference in New Issue
Block a user