2
0

Amend the build instructions to mention libsodium and default build only to mpw.

This commit is contained in:
Maarten Billemont 2017-04-13 11:51:05 -04:00
parent d91140439a
commit 4c12f4af56
2 changed files with 23 additions and 11 deletions

View File

@ -158,15 +158,27 @@ For example:
./build && sudo ./install ./build && sudo ./install
mpw -h mpw -h
The build has a few dependencies you should have installed before running it: Normally, this is all you need to do, however note that there are a few dependencies that need to be met, depending on which targets you are building:
- `mpw`: `openssl-dev`, `ncurses-dev` (if `mpw_color=1`) - `mpw`
- `mpw-bench`: `openssl-dev`
- `mpw-tests`: `openssl-dev`, `libxml2`
There are a few different ways you can modify the build process: The C implementation depends either on `libsodium` or Tarsnap's `scrypt` and `openssl-dev`.
- You can change the targets that should be built. By default, all targets are built. These are the available targets: We recommend you install `libsodium`. If `libsodium` is not installed when `./build` is executed, the script will try to download and statically link Tarsnap's `scrypt` instead. Tarsnap's `scrypt` depends on you having `openssl-dev` installed.
If you have `mpw_color` enabled (it is enabled by default), the build also depends on `ncurses-dev` to communicate with the terminal.
- `mpw-bench`
This tool compares the performance of a few cryptographic algorithms, including bcrypt. The `./build` script will try to automatically download and statically link `bcrypt`.
- `mpw-tests`
This tool runs a suite of tests to ensure the correct passwords are being generated by the algorithm under various circumstances. The test suite is declared in `mpw-tests.xml` which needs to exist in the current working directory when running the tool. In addition, `libxml2` is used to parse the file, so this target depends on you having it installed when running `./build`.
Finally, there are a few different ways you can modify the build process:
- You can change the targets that should be built. By default, only `mpw` is built. These are the available targets:
- `mpw`: This is the standard command-line `mpw` tool which implements all Master Password features. - `mpw`: This is the standard command-line `mpw` tool which implements all Master Password features.
- `mpw-tests`: This is a tool to perform the standard tests script on the `mpw` implementation. - `mpw-tests`: This is a tool to perform the standard tests script on the `mpw` implementation.
- `mpw-bench`: This is a tool to run a benchmark on the `mpw` implementation, comparing it to the performance of other algorithms. - `mpw-bench`: This is a tool to run a benchmark on the `mpw` implementation, comparing it to the performance of other algorithms.
@ -176,7 +188,7 @@ There are a few different ways you can modify the build process:
To change the targets to build, use: To change the targets to build, use:
targets='mpw mpw-bench' ./build targets='mpw mpw-tests' ./build
To add a library search path, use: To add a library search path, use:

View File

@ -32,14 +32,14 @@ else
# Default targets. # Default targets.
# Modify here or override using targets='mpw mpw-bench' ./build # Modify here or override using targets='mpw mpw-bench' ./build
targets=( targets=(
mpw # C CLI version of Master Password. mpw # C CLI version of Master Password, requires libsodium or openssl-dev.
mpw-bench # C CLI Master Password benchmark utility. #mpw-bench # C CLI Master Password benchmark utility.
mpw-tests # C Master Password algorithm tester. #mpw-tests # C Master Password algorithm test suite, requires libxml2.
) )
fi fi
# Optional features. # Optional features.
mpw_color=${mpw_color:-1} # Colorized Identicon, requires libncurses-dev mpw_color=${mpw_color:-1} # Colorized Identicon, requires libncurses-dev.
# Default build flags. # Default build flags.
export CFLAGS="-O3 $CFLAGS" export CFLAGS="-O3 $CFLAGS"