diff --git a/README.md b/README.md index 3771c1e4..cde90ebb 100644 --- a/README.md +++ b/README.md @@ -74,18 +74,52 @@ See [fpm manifest](./fpm.toml) for the dependencies and developer dependencies, that [fpm] automatically downloads and builds via the `fpm` command provided in the "[Downloding, Building, and Testing]" section below. +Downloding +---------- +```zsh +git clone git@github.com:sourceryinstitute/sourcery +``` -Downloding, Building, and Testing ---------------------------------- +Building and Testing +-------------------- +### Single-image (serial) testing with GNU Fortran (`gfortran`) With recent versions of [GNU Fortran] (gfortran) and [OpenCoarrays] installed, execute the following command in a `zsh` or `bash`-like shell: +```zsh +fpm test +``` +### Multi-image (parallel) testing with `gfortran` and OpenCoarrays +With recent versions of [GNU Fortran] (gfortran) and [OpenCoarrays] installed, +execute the following command in a `zsh` or `bash`-like shell: ```zsh -git clone git@github.com:sourceryinstitute/sourcery fpm test --compiler caf --runner "cafrun -n 4" - ``` -substituting the number of desired images for the "4" above. +Substitute the desired number of images for the `4` above. + +### Testing with the Numerical Algorithms Group (`nagfor`) compiler +```zsh +fpm test --compiler nagfor --flag "-fpp -coarray=cosmp" +``` + +### Building and testing with the Cray Compiler Environment (CCE) +Because `fpm` uses the compiler name to determine the compiler identity and because +CCE provides one compiler wrapper, `ftn`, for invoking all compilers, you will +need to invoke `ftn` in a shell script named to identify CCE compiler. For example, +place a script named `crayftn.sh` in your path with the following contents and with +executable privileges set appropriately: +``` +#!/bin/bash + +ftn $@ +``` +Then build and test Sourcery with the command +``` +fpm test --compiler crayftn.sh +``` + +### Building and testing with other compilers +To use Sourcery with other compilers, please submit an issue or pull request. Building the documentation --------------------------