What is Sowing?
Sowing is a collection of tools and practices that we have either developed or found useful in creating several widely-used packages, including MPICH and PETSc.
The paper Sowing MPICH: A Case Study in the Dissemination of a Portable Environment for Parallel Scientific Computing discusses some experiences in using tools to help create MPICH.
Tools and Documents for Developing Programs
The gzip'ed tar file sowing.tar.gz contains the following tools:
doctext | Create documentation from structured comments in C and Fortran source files. |
tohtml | Convert LaTeX to HTML |
bfort | Create Fortran to C interface stubs directly from structured comments in C source files |
mapnames | Automatically annotate a text file with URLs |
autoconf macros | Extensions to GNU autoconf, particularly for parallel computers and Fortran support |
The current version is 1.1.26, created on June, 2019.
Documents
Autoconf Macros
Documentation for our set of autoconf macros is available. These provide extensions for uses of C, Fortran 77, and Fortran (aka Fortran 90), as well as some bug fixes (for caching particularly) and non-GNU environments (e.g., various flavors of make).
The macros are available as part of the sowing package.