How to tell what optimizations bjam is using to build boost
I'm building the boost libraries with bjam for both the intel compiler and vs2008, and I can't tell what optimizations are being p开发者_Python百科assed to the compiler from bjam. For one of the compiler's gcc, I can see some optimizations in one of the bjam files, but I can't find the optimization flags for the compilers I care about. So, my questions are -
- Does anyone know where the default optimization flags are located?
- If they're declared within bjam, does anyone know how I can override them?
If you are interested in looking at the entire set of options that are passed to invoke the compiler when building you can run bjam
with the -n -a
options and the rest of the building options to give you the complete set of commands invoked, and any response files generated (see Boost Jam Options). Also you can look at the Boost Build sources directly and see what the specified features are translated into (see Boost Build Tools Files). For example:
- For GCC see gcc.jam
- For MSVC see msvc.jam
You can likely figure out the same for other compilers by just looking through the sources as they are fairly self explanatory. And you can just search for "<optimization>
" and "<inlining>
" in the *.jam
sources.
You can override them in the command line by specifying the feature=value
option in the command line when building. The options match the <feature>value
specifications you see in the toolset files. For example, to override the optimizations feature you would specify in the command line some like "optimization=speed"
. If you want more fine grained control you would have to delve into Boost Build specifications and likely have to create a variant of your own to define specific options and features to build with.
精彩评论