diff options
author | Jack Lloyd <[email protected]> | 2016-12-04 17:26:47 -0500 |
---|---|---|
committer | Jack Lloyd <[email protected]> | 2016-12-04 17:26:47 -0500 |
commit | b89e7a2d5315ac3df90e40d06868d5a9ce671afc (patch) | |
tree | 597a673c760b3574f03cf0c1673848ca7cab9662 /doc | |
parent | a681421d01ea132ea3461f99641daacd9bd64df9 (diff) | |
parent | 8c6dbef39ed10072154a30c52835a5f609fd1544 (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.rst | 11 |
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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |