== How to install on Ubuntu (also works on Ubuntu for Windows)

=== Install pre-requisites

    mkdir -p ~/src

==== Required stuff

    sudo apt-get install build-essential libssl-dev git

==== Recommended (extra formats and performance)

    sudo apt-get install yasm libgmp-dev libpcap-dev pkg-config libbz2-dev

==== If you have an NVIDIA GPU (OpenCL support)

    sudo apt-get install nvidia-opencl-dev

==== If you have an AMD GPU (or want to use CPU as OpenCL device)

    - Up to Ubuntu 15.10 (<= 15.10). This will work on Intel hardware but warnings will be seen.
    sudo apt-get install ocl-icd-opencl-dev opencl-headers fglrx-dev

    - Ubuntu Xenial 16.04 LTS and above (>= 16.04)
    The fglrx driver would not be supported in 16.04 (XServer 1.18 is not supported).
    Canonical and AMD decided to use the new hybrid driver stack for 16.04. JtR OpenCL
    users should stay on a supported release until the hybrid stack is available.

==== Optional MPI support

    sudo apt-get install libopenmpi-dev openmpi-bin

==== Optional REXGEN support (additional cracking modes)

    sudo apt-get install cmake bison flex libicu-dev
    cd ~/src
    git clone --recursive https://github.com/teeshop/rexgen.git
    cd rexgen/src
    ./install.sh

=== Clone latest bleeding-edge Jumbo and build

==== Clone GIT repo

    cd ~/src
    git clone git://github.com/magnumripper/JohnTheRipper -b bleeding-jumbo john

==== Build

    cd ~/src/john/src
    # For MPI, use './configure --enable-mpi' below
    ./configure && make -s clean && make -sj4

=== Test your build

    $ ../run/john --test=0

=== Benchmark your build

    $ ../run/john --test
