1.22. Producing a Release Build
Problem
You want to produce a small, fast executable or dynamic library for distribution to your customers.
Solution
In general, to produce a release build you must
Enable optimizations
Enable the expansion of inline function
Disable the generation of debugging information
Table 1-26 presents the compiler and linker options to enable optimization and inlining. There are no command-line options for disabling the generation of debugging information: when you build from the command line, debugging information is disabled by default. If you use the GCC toolset, however, you can decrease the size of executables and dynamics libraries by specifying the -s option to the linker.
Table 1-26. Compiler options to enable optimization and inlining
|
Toolset |
Optimization |
Inlining |
|---|---|---|
|
GCC |
|
|
|
Visual C++Intel |
|
|
|
Metrowerks |
|
|
|
Comeau (Unix) |
| |
|
Comeau (Windows) |
Same as backend, but using a slash (/) instead of a dash (-) |
—inlining |
|
Borland |
|
|
|
Digital Mars |
|
Enabled by default |
[14] This option is enabled automatically when | ||
Boost.Build provides a simple mechanism for producing a release build: simply add
<variant>release to your target’s requirements
or use the command-line option variant=release, which
can be abbreviated simply as release.
Some IDEs also provide a simple way to produce a release build. For instance, as I mentioned in Recipe 1.21 ...