To install the library `<lib>` and all it's dependencies (if there are any) using compiler `<compiler>` and MPI `<mpi>`, make sure to have a configuration file `<lib>.json` in the `config` directory and invoke the tool as follows:
For each library configuration file available in `config`, the corresponding `--<lib>` and `--<lib>-version` options are added to the parser automatically, eg:
The `config` directory contains various json files describing how to obtain and build the corresponding library. It must have the following structure (all keys are mandantory):
On startup, the installer tool will read the configuration files in `config` and add coreesponding options to the argument parser. In case `--<lib>-version` is not set, the default version from the json file is used.
Dependencies are used to determine the best installation order of the selected libraries to satisfy all dependencies.
When the installer encounters a library to install, all dependencies are also added to the installation process if not already selected. In case `--ignore-deps` is set, the dependencies need to be activated manually when invoking libinstaller or be present in `LD_LIBRARY_PATH`.
Note that `$PREFIX/lib` is automatically added to `LD_LIBRARY_PATH`
Download command. This is being executed in a subshell. Make sure that it works in the shell used to start libinstaller.
The command may contain the variables `$VERSION` which will be replaced by the selected code version of the form `XXX.YYY.ZZZ` or `$VERSION_UNDERSCORE` which will be replaced by `XXX_YYY_ZZZ`.
The files will be downloaded to the `<src>`directory
### configure
Configure command. This is being executed in a subshell. Make sure that it works in the shell used to start libinstaller.
The variable `$PREFIX` will be replaced by the installation directory. The vairable `$SHARED` will be replaced by `--disable-shared` in case the respective option is set when invoking libinstaller.
### build
Build command. This is being executed in a subshell. Make sure that it works in the shell used to start libinstaller.
The variable `$BUILDTHREADS` will be replaced by the number of threads set when invoking libinstaller (`--threads`).
### install
Build command. This is being executed in a subshell. Make sure that it works in the shell used to start libinstaller.
The variable `$PREFIX` will be replaced by the installation directory.
### object files
The number of `*.o` files generated during compilation. It will be used to draw progress bars in case `--verbose` is not set.