aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2016-12-04 17:26:47 -0500
committerJack Lloyd <[email protected]>2016-12-04 17:26:47 -0500
commitb89e7a2d5315ac3df90e40d06868d5a9ce671afc (patch)
tree597a673c760b3574f03cf0c1673848ca7cab9662 /doc
parenta681421d01ea132ea3461f99641daacd9bd64df9 (diff)
parent8c6dbef39ed10072154a30c52835a5f609fd1544 (diff)
Merge GH #745 Make --via-amalgamation an error. Improve quoting in Travis build script
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/building.rst11
1 files changed, 7 insertions, 4 deletions
diff --git a/doc/manual/building.rst b/doc/manual/building.rst
index 807ff5556..a92d1c6a5 100644
--- a/doc/manual/building.rst
+++ b/doc/manual/building.rst
@@ -254,13 +254,13 @@ is quite convenient if you plan to embed the library into another application.
To generate the amalgamation, run ``configure.py`` with whatever
options you would ordinarily use, along with the option
-``--gen-amalgamation``. This will create two (rather large) files,
+``--amalgamation``. This will create two (rather large) files,
``botan_all.h`` and ``botan_all.cpp``, plus (unless the option
``--single-amalgmation-file`` is used) also some number of files like
``botan_all_aesni.cpp`` and ``botan_all_sse2.cpp`` which need to be
compiled with the appropriate compiler flags to enable that
instruction set. The ISA specific files are only generated if there is
-code that requires them, so you can simplify your build The
+code that requires them, so you can simplify your build. The
``--minimized-build`` option (described elsewhere in this documentation)
is also quite useful with the amalgamation.
@@ -272,11 +272,14 @@ to take advantage of prepackaged versions of botan on operating
systems that support it), you can instead ignore ``botan_all.h`` and
use the headers from ``build/include`` as normal.
-You can also build the library as normal but using the amalgamation
-instead of the individual source files using ``--via-amalgamation``.
+You can also build the library using Botan's build system (as normal)
+but utilizing the amalgamation instead of the individual source files
+by running something like ``./configure.py --amalgamation && make``.
This is essentially a very simple form of link time optimization;
because the entire library source is visible to the compiler, it has
more opportunities for interprocedural optimizations.
+Additionally, amalgamation builds usually have significantly shorter
+compile times for full rebuilds.
Modules Relying on Third Party Libraries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^