aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlloyd <[email protected]>2010-06-10 20:09:28 +0000
committerlloyd <[email protected]>2010-06-10 20:09:28 +0000
commit961ce1b26f963978318adc60d02a76179fc9e9ca (patch)
treed84687c9061df14bf361ef266b30e596d6c157a1
parent591f19a333aebce8a1629d5cebb545404a154389 (diff)
Add make check to impatient instructions.
Add make install for nmake example. Remove most of modules from list; they are enabled (or not) by default. Remove pagebreaks.
-rw-r--r--doc/building.tex78
1 files changed, 6 insertions, 72 deletions
diff --git a/doc/building.tex b/doc/building.tex
index 99ed1d8f2..39ba77efa 100644
--- a/doc/building.tex
+++ b/doc/building.tex
@@ -51,6 +51,7 @@ it).
\begin{verbatim}
$ ./configure.py [--prefix=/some/directory]
$ make
+$ make check
$ make install
\end{verbatim}
@@ -66,8 +67,9 @@ The first step is to run \filename{configure.py}, which is a Python
script that creates various directories, config files, and a Makefile
for building everything. The script requires at least Python 2.4; any
later version of Python 2.x should also work. If you want to use
-Python 3.1, first run the program \texttt{2to3} (included in Python)
-on the script; this will convert the script to the Python 3.x dialect.
+Python 3.1, first run the program \texttt{2to3} (included with the
+Python distribution) on the script; this will convert the script to
+the Python 3.x dialect.
The script will attempt to guess what kind of system you are trying
to compile for (and will print messages telling you what it guessed).
@@ -87,7 +89,7 @@ options \verb|--enable-modules=MODS| and
\verb|--enable-modules=blowfish,md5,rsa,zlib| and
\\ \verb|--disable-modules=arc4,cmac|. Modules not listed on the
command line will simply be loaded if needed or if configured to load
-by default. If you use \verb|--no-autoload|, only the most core module
+by default. If you use \verb|--no-autoload|, only the most core modules
will be included; you can then explicitly enable things that you want
to use with enable-modules. This is useful for creating a minimal
build targetted to a specific application.
@@ -102,8 +104,6 @@ commonly used by Windows compilers. To add a new variant (eg, a build
script for VMS), you will need to create a new template file in
\filename{src/build-data/makefile}.
-\pagebreak
-
\subsection{POSIX / Unix}
The basic build procedure on Unix and Unix-like systems is:
@@ -149,6 +149,7 @@ Python and Visual C++ in your path.
> perl configure.py --cc=msvc (or --cc=gcc for MinGW) [--cpu=CPU]
> nmake
> nmake check # optional, but recommended
+ > nmake install
\end{verbatim}
For Win95 pre OSR2, the \verb|cryptoapi_rng| module will not work,
@@ -168,8 +169,6 @@ both. Or you can move them to a place where they will be in the
default compiler search paths (consult your documentation and/or local
expert for details).
-\pagebreak
-
\subsection{Configuration Parameters}
There are some configuration parameters which you may want to tweak
@@ -206,12 +205,6 @@ perfectly fine.
buffers throughout Botan. A good rule of thumb would be to use the page size of
your machine. The default should be fine for most, if not all, purposes.
-\macro{BOTAN\_GZIP\_OS\_CODE}: The OS code is included in the Gzip header when
-compressing. The default is 255, which means 'Unknown'. You can look in RFC
-1952 for the full list; the most common are Windows (0) and Unix (3). There is
-also a Macintosh (7), but it probably makes more sense to use the Unix code on
-OS X.
-
\subsection{Multiple Builds}
It may be useful to run multiple builds with different
@@ -226,8 +219,6 @@ support this there is a flag to \filename{configure.py} called
inserted into \filename{build/build.h} which is (indirectly) included
into every Botan header and source file.
-\pagebreak
-
\section{Modules}
There are a fairly large number of modules included with Botan. Some
@@ -237,11 +228,6 @@ unusual circumstances. The modules included with this release are:
\newcommand{\mod}[2]{\textbf{#1}: #2}
\begin{list}{$\cdot$}
- \item \mod{alloc\_mmap}{Allocates memory using memory mappings of temporary
- files. This means that if the OS swaps all or part of the application,
- the sensitive data will be swapped to where we can later clean it,
- rather than somewhere in the swap partition.}
-
\item \mod{bzip2}{Enables an application to perform bzip2 compression
and decompression using the library. Available on any system that has
bzip2.}
@@ -250,12 +236,6 @@ unusual circumstances. The modules included with this release are:
decompression using the library. Available on any system that has
zlib.}
- %\item \mod{eng\_aep}{An engine that uses any available AEP accelerator card
- % to speed up PK operations. You have to have the AEP drivers installed
- % for this to link correctly, but you don't have to have a card
- % installed - it will automatically be enabled if a card is detected at
- % run time.}
-
\item \mod{gnump}{An engine that uses GNU MP to speed up PK operations.
GNU MP 4.1 or later is required.}
@@ -263,57 +243,11 @@ unusual circumstances. The modules included with this release are:
operations and some ciphers/hashes. OpenSSL 0.9.7 or
later is required.}
- \item \mod{beos\_stats}{An entropy source that uses BeOS-specific
- APIs to gather (hopefully unpredictable) data from the system.}
-
- \item \mod{cryptoapi\_rng}{An entropy source that uses the Win32
- CryptoAPI function \texttt{CryptGenRandom} to gather
- entropy. Supported on NT4, Win95 OSR2, and all later Windows
- systems.}
-
- \item \mod{egd}{An entropy source that accesses EGD (the entropy
- gathering daemon). Common on Unix systems that don't have
- \texttt{/dev/random}.}
-
- \item \mod{proc\_walk}{Gather entropy by reading files from a particular file
- tree. Usually used with \texttt{/proc}; most other file trees don't
- have sufficient variability over time to be useful.}
-
- \item \mod{unix\_procs}{Gather entropy by running various Unix programs, like
- \texttt{arp} and \texttt{vmstat}, and reading their output in the
- hopes that at least some of it will be unpredictable to an attacker.}
-
- \item \mod{win32\_stats}{Gather entropy by walking through various pieces of
- information about processes running on the system. Does not run on
- NT4, but should run on all other Win32 systems.}
-
- \item \mod{fd\_unix}{Let the users of \texttt{Pipe} perform I/O with Unix
- file descriptors in addition to \texttt{iostream} objects.}
-
\item \mod{pthread}{Add support for using \texttt{pthread} mutexes to
lock internal data structures. Important if you are using threads
with the library.}
-
- \item \mod{qt\_mutex}{Add support for using Qt mutexes to lock internal data
- structures.}
-
- \item \mod{cpu\_counter}{Use the contents of the CPU cycle counter when
- generating random bits to further randomize the results. Works on x86
- (Pentium and up), Alpha, and SPARCv9.}
-
- \item \mod{posix\_rt}{Use the POSIX realtime clock as a high-resolution
- timer.}
-
- \item \mod{gettimeofday}{Use the traditional Unix
- \texttt{gettimeofday} as a high resolution timer.}
-
- \item \mod{win32\_query\_perf\_ctr}{Use Win32's
- \texttt{QueryPerformanceCounter} as a high resolution timer.}
-
\end{list}
-\pagebreak
-
\section{Building Applications}
\subsection{Unix}