User Tools

Site Tools


build:feature_triggers

This is an old revision of the document!


Configuring feature triggers

The capabilities of Abinit can be enhanced by the use of optional external packages. The corresponding options of configure all follow the same scheme:

  • enable_package, to trigger the detection and build of the corresponding feature;
  • with_package, to specify the install prefix of a package;
  • with_package_bins, to specify where to look for the executables of a package (when applies);
  • with_package_incs, to specify include flags when compiling code that uses the package (when applies);
  • with_package_libs, to specify package libraries to link the code with (when applies).

In each of the previous items, package will be replaced by the names listed below. Please note that the use of with_package is incompatible with the other with_* options, since it defines the values specified by these options in a possibly conflicting way. If you try to use both schemes, configure will fail and ask you to choose only one of them.

The with_package option expects a directory as argument. For example, if you specify:

with_fox="/path/to/fox"

, the configure script will look for:

  • binaries in /path/to/fox/bin;
  • include files in /path/to/fox/include;
  • libraries in /path/to/fox/lib and /path/to/fox/lib64.

The following table summarizes the available optional features of Abinit. To enable them, you will have to make sure that the corresponding external dependencies of Abinit are correctly installed on your system before configuring Abinit.

Package Status Description
BigDFT Development Wavelets for low-dimensional systems
ETSF_IO Mature Platform-independent data exchange
FoX Mature Fortran XML I/O
Libpspio Experimental Reading of atomic data in many formats
LibXC Mature More than 300 exchange-correlation functionals
LibYAML Experimental Fortran YAML I/O
Wannier90 Mature Maximally-Localized Wannier Functions (MLWFs)

The following table indicates which options are allowed for each package and whether it is enabled by default. For purely optional packages, the default is to disable them, whereas packages transitioning from optional to mandatory are usually enabled by default. In the following, to determine the names of the options, just replace the stars by the corresponding package IDs.

Package ID Default with_* with_*_bins with_*_incs with_*_libs
bigdft Disabled Yes No Yes Yes
etsf_io Disabled Yes No Yes Yes
fox Disabled Yes No Yes Yes
libpspio Disabled Yes No Yes Yes
libxc Enabled Yes No Yes Yes
libyaml Disabled Yes No Yes Yes
wannier90 Disabled Yes Yes Yes Yes

For instance, LibXC support is enabled by default, and there are with_libxc, with_libxc_incs, and with_libxc_libs options, but there is no with_libxc_bins option.

All these options cen be overridden by with_extdeps_prefix, which tells the configure script that all external dependencies have been installed in the same place. This option is mutually exclusive with the use of any other with_* option for optional features. If you decide to use it, it must be the only one.

build/feature_triggers.1460131249.txt.gz · Last modified: 2016/04/08 18:00 by Yann Pouillon