diff options
author | lloyd <[email protected]> | 2010-06-10 20:09:28 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2010-06-10 20:09:28 +0000 |
commit | 961ce1b26f963978318adc60d02a76179fc9e9ca (patch) | |
tree | d84687c9061df14bf361ef266b30e596d6c157a1 | |
parent | 591f19a333aebce8a1629d5cebb545404a154389 (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.tex | 78 |
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} |