title: b2 vs bjam for building Boost library
body: <p>I built Boost for VS2013, 64-bit architecture using both <code>b2.exe</code> and <code>bjam.exe</code>. According to Boost <a href="http://www.boost.org/build/doc/html/bbv2/faq/names.html" rel="noreferrer">documentation</a>, <code>b2</code> must be used over <code>bjam</code>. The differences I notice are:</p>
  
  <ol>
  <li>The size of .lib files from b2 differs from that of the respective bjam file.</li>
  <li>Using bjam provides dynamic .lib libraries (without -s tag as mentioned <a href="http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html" rel="noreferrer">here</a>), but it doesn't provide the .dll files to link to (<strong>so what to do now?</strong>), whereas using b2 gives both static and dynamic libraries along with the .dll files. But the problem using b2 is, it gives two dynamic .lib files - one starts with boost_xxxx.lib and other with libboost_xxxx.lib and both are of different sizes. <strong>Why is that?</strong></li>
  </ol>
  
  <p>Also I mentioned different build directory using the build option <code>--build-dir</code>, but what is the use of this directory? It consists of .obj, .rsp along with respective .dll and .lib files. Can this directory be deleted?</p>
  
  <p>Here are the commands I used to build Boost: </p>
  
  <ol>
  <li><p>b2: </p>
  
  <pre><code>b2 toolset=msvc-12.0 --build-type=complete architecture=x86 address-model=32 install --build-dir=&lt;build-dir&gt; stage --stagedir=&lt;stage-dir&gt; -j2
  </code></pre></li>
  <li><p>bjam: </p>
  
  <pre><code>bjam stage --stagedir=&lt;stage-dir&gt;
  </code></pre></li>
  </ol>