title: What's the difference between b2 and ./bootstrap.sh when building python
body: <p>Sorry if this has already been asked? I've build boost from source but have always been confused about the build tools. Which tool should be used when building the boost libraries from scratch. To me it seems that bootstrap.sh is used to create the bjam executable and then bjam should be used to do the actual build. However, I've noticed that you can pass lots of parameters to bootstrap.sh such as the toolset (compiler) to use and the libraries to build, etc...and launch the build with bootstrap.sh</p>
  
  <p>Also, there are at least three different ways of starting a build: ./bootstrap.sh, bjam, b2</p>
  
  <p>Could someone summarize the purpose of each as the online docs don't seem to explain this</p>
  
  <p>Thanks!</p>
  
  <p>Anwar</p>