LCOV - code coverage report
Current view: top level - _build/shared/common/src/14_hidewrite - m_build_info.F90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 100.0 % 45 45
Test Date: 2026-09-20 15:27:41 Functions: 100.0 % 1 1

            Line data    Source code
       1              : !{src2tex{textfont=tt}}
       2              : !!****m* ABINIT/m_build_info
       3              : !! NAME
       4              : !!  m_build_info
       5              : !!
       6              : !! FUNCTION
       7              : !!  This module contains information about this particular version of ABINIT
       8              : !!  and its build parameters (useful for debugging).
       9              : !!
      10              : !! COPYRIGHT
      11              : !!  Copyright (C) 2005-2026 ABINIT group (Yann Pouillon, Matteo Giantomassi)
      12              : !!  This file is distributed under the terms of the
      13              : !!  GNU General Public License, see ~abinit/COPYING
      14              : !!  or http://www.gnu.org/copyleft/gpl.txt .
      15              : !!
      16              : !! SOURCE
      17              : 
      18              : #if defined HAVE_CONFIG_H
      19              : #include "config.h"
      20              : #endif
      21              : 
      22              : module m_build_info
      23              : 
      24              : implicit none
      25              : 
      26              : ! Try to prevent problems with the length of the argument
      27              : ! (should not exceed the line length of 132 character).
      28              : ! So, always start the string to be replaced at the beginning of a line.
      29              : 
      30              : ! Parameters set-up by Autoconf
      31              : character(len=8),parameter :: abinit_version = &
      32              : &   "10.9.3.126-6ad4c"
      33              : character(len=*),parameter :: build_target   = &
      34              : &   "x86_64_linux_gnu14.2"
      35              : 
      36              : ! More info on current version
      37              : character(len=*),parameter :: version_major = &
      38              : &   "10"
      39              : character(len=*),parameter :: version_minor = &
      40              : &   "9"
      41              : character(len=*),parameter :: version_micro = &
      42              : &   "3"
      43              : character(len=*),parameter :: version_build = &
      44              : &   "20260920"
      45              : 
      46              : ! Info on compilers. Try to prevent problems with the length of the argument
      47              : ! (should not exceed the line length of 132 character).
      48              : character(len=*),parameter :: cc_info    = &
      49              : &   "gnu14.2"
      50              : character(len=*),parameter :: cxx_info   = &
      51              : &   "gnu14.2"
      52              : character(len=*),parameter :: fc_info    = &
      53              : &   "gnu14.2"
      54              : character(len=*),parameter :: cc_flags   = &
      55              : &   "-g -O2 -march=native      "
      56              : character(len=*),parameter :: cxx_flags  = &
      57              : &   "-g -O2 -march=native      "
      58              : character(len=*),parameter :: fc_flags   = &
      59              : &   "-g -ffree-line-length-none -fallow-argument-mismatch   --coverage - ..."
      60              : character(len=*),parameter :: fc_ldflags = &
      61              : &   "   "
      62              : 
      63              : ! Info on optimizations
      64              : character(len=*),parameter :: with_debug_flavor = &
      65              : &   "basic"
      66              : character(len=*),parameter :: with_optim_flavor = &
      67              : &   "standard"
      68              : character(len=*),parameter :: cpu_info = &
      69              : &   "intel_xeon"
      70              : 
      71              : ! Info on MPI
      72              : character(len=*),parameter :: with_mpi      = &
      73              : &   "/usr/local/mpich-4.2.3_gnu14.2"
      74              : character(len=*),parameter :: enable_mpi_io = &
      75              : &   ""
      76              : 
      77              : ! Info on openMP
      78              : character(len=*),parameter :: enable_openmp = &
      79              : &   ""
      80              : 
      81              : ! Info on GPU
      82              : character(len=*),parameter :: with_gpu      = &
      83              : &   "@with_gpu@"
      84              : 
      85              : ! Info on external dependencies
      86              : character(len=*),parameter :: linalg_flavor       = &
      87              : &   "mkl"
      88              : character(len=*),parameter :: fft_flavor          = &
      89              : &   "dfti"
      90              : character(len=*),parameter :: with_hdf5           = &
      91              : &   "yes"
      92              : character(len=*),parameter :: with_netcdf         = &
      93              : &   "yes"
      94              : character(len=*),parameter :: with_netcdf_fortran = &
      95              : &   "yes"
      96              : character(len=*),parameter :: with_libxc          = &
      97              : &   "yes"
      98              : character(len=*),parameter :: with_wannier90      = &
      99              : &   "yes"
     100              : 
     101              : ! Info on experimental features
     102              : character(len=*),parameter :: enable_exports = &
     103              : &   "@enable_exports@"
     104              : character(len=*),parameter :: enable_gw_dpc = &
     105              : &   "yes"
     106              : 
     107              : contains  !===========================================================
     108              : !!***
     109              : 
     110              : !!****f* ABINIT/m_build_info/dump_config
     111              : !! NAME
     112              : !!  dump_config
     113              : !!
     114              : !! FUNCTION
     115              : !!  Reports a printout of the information stored in m_build_info,
     116              : !!  useful for error messages and debugging.
     117              : !!
     118              : !! INPUTS
     119              : !!  my_unit= Fortran unit number
     120              : !!
     121              : !! OUTPUT
     122              : !!  Only printing
     123              : !!
     124              : !! SOURCE
     125              : 
     126         1163 : subroutine dump_config(my_unit)
     127              : 
     128              : !Arguments ------------------------------------
     129              : integer,intent(in) :: my_unit
     130              : 
     131              : !Local variables-------------------------------
     132              : 
     133              : ! *********************************************************************
     134              : 
     135              : ! TODO: things that might be added through preprocessing options, e.g.
     136              : ! date and time of compilation
     137              : 
     138         1163 : write(my_unit,*)
     139         1163 : write(my_unit,'(1x,a)') repeat('+',78)
     140         1163 : write(my_unit,*)
     141         1163 : write(my_unit,'(a)' )' === Build Information === '
     142         1163 : write(my_unit,'(2a)')'  Version       : ',trim(abinit_version)
     143         1163 : write(my_unit,'(2a)')'  Build target  : ',trim(build_target)
     144         1163 : write(my_unit,'(2a)')'  Build date    : ',trim(version_build)
     145         1163 : write(my_unit,*)
     146         1163 : write(my_unit,'(a)' )' === Compiler Suite === '
     147         1163 : write(my_unit,'(2a)')'  C compiler       : ',trim(cc_info)
     148         1163 : write(my_unit,'(2a)')'  C++ compiler     : ',trim(cxx_info)
     149         1163 : write(my_unit,'(2a)')'  Fortran compiler : ',trim(fc_info)
     150         1163 : write(my_unit,'(2a)')'  CFLAGS           : ',trim(cc_flags)
     151         1163 : write(my_unit,'(2a)')'  CXXFLAGS         : ',trim(cxx_flags)
     152         1163 : write(my_unit,'(2a)')'  FCFLAGS          : ',trim(fc_flags)
     153         1163 : write(my_unit,'(2a)')'  FC_LDFLAGS       : ',trim(fc_ldflags)
     154         1163 : write(my_unit,*)
     155         1163 : write(my_unit,'(a) ')' === Optimizations === '
     156         1163 : write(my_unit,'(2a)')'  Debug level        : ',trim(with_debug_flavor)
     157         1163 : write(my_unit,'(2a)')'  Optimization level : ',trim(with_optim_flavor)
     158         1163 : write(my_unit,'(2a)')'  Architecture       : ',trim(cpu_info)
     159         1163 : write(my_unit,*)
     160         1163 : write(my_unit,'(a) ')' === Multicore === '
     161         1163 : write(my_unit,'(2a)')'  Parallel build : ',trim(with_mpi)
     162         1163 : write(my_unit,'(2a)')'  Parallel I/O   : ',trim(enable_mpi_io)
     163         1163 : write(my_unit,'(2a)')'  openMP support : ',trim(enable_openmp)
     164         1163 : write(my_unit,'(2a)')'  GPU support    : ',trim(with_gpu)
     165         1163 : write(my_unit,*)
     166         1163 : write(my_unit,'(a) ')' === Connectors / Fallbacks === '
     167         1163 : write(my_unit,'(2a)')'  LINALG flavor  : ',trim(linalg_flavor)
     168         1163 : write(my_unit,'(2a)')'  FFT flavor     : ',trim(fft_flavor)
     169         1163 : write(my_unit,'(2a)')'  HDF5           : ',trim(with_hdf5)
     170         1163 : write(my_unit,'(2a)')'  NetCDF         : ',trim(with_netcdf)
     171         1163 : write(my_unit,'(2a)')'  NetCDF Fortran : ',trim(with_netcdf_fortran)
     172         1163 : write(my_unit,'(2a)')'  LibXC          : ',trim(with_libxc)
     173         1163 : write(my_unit,'(2a)')'  Wannier90      : ',trim(with_wannier90)
     174         1163 : write(my_unit,*)
     175         1163 : write(my_unit,'(a)' )' === Experimental features === '
     176         1163 : write(my_unit,'(2a)')'  Exports             : ',trim(enable_exports)
     177         1163 : write(my_unit,'(2a)')'  GW double-precision : ',trim(enable_gw_dpc)
     178         1163 : write(my_unit,*)
     179         1163 : write(my_unit,'(1x,a)') repeat('+',78)
     180         1163 : write(my_unit,*)
     181              : 
     182         1163 : end subroutine dump_config
     183              : !!***
     184              : 
     185              : end module m_build_info
     186              : !!***
        

Generated by: LCOV version 2.3-1