User Tools

Site Tools


build:feature_triggers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
build:feature_triggers [2016/04/20 09:11] – [Using a global prefix] Yann Pouillonbuild:feature_triggers [2016/04/24 14:21] (current) Yann Pouillon
Line 1: Line 1:
 +<WRAP important>**IMPORTANT** \\ The information provided in this page is valid for Abinit 8.1 and future versions only.</WRAP>
 +
 ====== Configuring feature triggers ====== ====== Configuring feature triggers ======
  
Line 7: Line 9:
   * //with_**package**_incs//, to specify include flags when compiling code that uses the 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).   * //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 in the first column from the table 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.+In each of the previous items, //**package**// will be replaced by the names in the first column from the table 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.
  
 If you use the //with_**package**// option without argument, the build system will look for the corresponding package using the built-in defaults of Abinit. Otherwise, the //with_**package**// option expects a directory as argument. For example, if you specify: If you use the //with_**package**// option without argument, the build system will look for the corresponding package using the built-in defaults of Abinit. Otherwise, the //with_**package**// option expects a directory as argument. For example, if you specify:
-<code>with_fox="/path/to/fox"</code>+<code>with_libxc="/path/to/libxc"</code>
 the //configure// script will look for: the //configure// script will look for:
-  * specific configuration programs in //%%/%%path/to/fox/bin%%/%%//; +  * specific configuration programs in //%%/%%path/to/libxc/bin%%/%%//; 
-  * include files in //%%/%%path/to/fox/include%%/%%//; +  * include files in //%%/%%path/to/libxc/include%%/%%//; 
-  * libraries in //%%/%%path/to/fox/lib%%/%%// and ///path/to/fox/lib64%%/%%//.+  * libraries in //%%/%%path/to/libxc/lib%%/%%// and ///path/to/libxc/lib64%%/%%//.
  
 The following table summarizes the available optional features of Abinit. To enable them, you will have to make sure that the corresponding [[build:optpkgs|optional packages]] are correctly installed on your system before configuring Abinit. The following table summarizes the available optional features of Abinit. To enable them, you will have to make sure that the corresponding [[build:optpkgs|optional packages]] are correctly installed on your system before configuring Abinit.
  
-^ Package ID Package   ^ Status       ^ Description                                    +^ Package                               Name      ^ Status       ^ Description                                         
-| bigdft     | BigDFT    | Development  | Wavelets for low-dimensional systems           +[[build:optpkgs#bigdft|bigdft]]       | BigDFT    | Development  | Wavelets for low-dimensional systems                
-| etsf_io    | ETSF_IO   | Mature       | Platform-independent data exchange             +[[build:optpkgs#etsf_io|etsf_io]]     | ETSF_IO   | Mature       | Platform-independent data exchange                  
-fox        FoX       | Mature       Fortran XML I/O                                +[[build:optpkgs#gsl|gsl]]             GSL       | Mature       Standard mathematical functions                     
-| libpspio   | Libpspio  | Experimental | Reading of atomic data in many formats         +| [[build:optpkgs#libpspio|libpspio]]   | Libpspio  | Experimental | Reading of atomic data in many formats              
-| libxc      | LibXC     | Mature       | More than 300 exchange-correlation functionals | +[[build:optpkgs#libxc|libxc]]         | LibXC     | Mature       | More than 300 exchange-correlation functionals      | 
-| wannier90  | Wannier90 | Mature       | Maximally-Localized Wannier Functions (MLWFs)  +| [[build:optpkgs#netcdf|netcdf]]       | NetCDF    | Mature       | Platform-independent I/O                            | 
-| yaml       | LibYAML   | Experimental | YAML I/O                                       |+| [[build:optpkgs#papi|papi]]           | PAPI      | Mature       | Performance Application Programming Interface       | 
 +| [[build:optpkgs#psml|psml]]           | PSML      | Mature       | PSeudopotential Markup Language                     | 
 +| [[build:optpkgs#triqs|triqs]]         | TRIQS     | Experimental | Toolbox for Research on Interacting Quantum Systems 
 +[[build:optpkgs#wannier90|wannier90]] | Wannier90 | Mature       | Maximally-Localized Wannier Functions (MLWFs)       
 +[[build:optpkgs#yaml|yaml]]           | LibYAML   | Experimental | YAML Ain't Markup Language I/O                      | 
  
 ===== Using a global prefix ===== ===== Using a global prefix =====
Line 31: Line 38:
 All the individual options can be overridden by //with_optpkgs//, which tells the //configure// script that all external dependencies have been installed in the same place. In this case, the build system will assume that each package has been installed in its own //%%<package>-<version>%%// subdirectory and will enable all those it finds in the specified top directory. This means that you can install as many versions of each package as you want within the same directory tree, while keeping full compatibility with different Abinit versions. All the individual options can be overridden by //with_optpkgs//, which tells the //configure// script that all external dependencies have been installed in the same place. In this case, the build system will assume that each package has been installed in its own //%%<package>-<version>%%// subdirectory and will enable all those it finds in the specified top directory. This means that you can install as many versions of each package as you want within the same directory tree, while keeping full compatibility with different Abinit versions.
  
-<WRAP important>**Important note** \\ If you use this option, you can then only use the //with_package// options without arguments, to fine-tune which optional packages will actually be enabled. All other combinations will make //configure// fail with an error.</WRAP>+<WRAP important>**Important note** \\ If you use this option, you can then only use the other //with_package// options without arguments, to fine-tune which optional packages will actually be enabled. All other combinations will make //configure// fail with an error.</WRAP>
  
 As an example, let us now suppose that you have installed optional packages for Abinit under the //%%/%%path/to/my/packages%%/%%// directory. You directory tree will look like the following: As an example, let us now suppose that you have installed optional packages for Abinit under the //%%/%%path/to/my/packages%%/%%// directory. You directory tree will look like the following:
Line 37: Line 44:
 /path/to/my_packages /path/to/my_packages
 │  │ 
-├── FoX-4.1.2 
-│   ├── bin 
-│   ├── include 
-│   └── lib 
 ├── etsf_io-1.0.4 ├── etsf_io-1.0.4
 │   ├── bin │   ├── bin
build/feature_triggers.1461136269.txt.gz · Last modified: 2016/04/20 09:11 by Yann Pouillon