TABLE OF CONTENTS


ABINIT/m_build_info [ Modules ]

[ Top ] [ Modules ]

NAME

  m_build_info

FUNCTION

  This module contains information about this particular version of ABINIT
  and its build parameters (useful for debugging).

COPYRIGHT

  Copyright (C) 2005-2018 ABINIT group (Yann Pouillon, Matteo Giantomassi)
  This file is distributed under the terms of the
  GNU General Public License, see ~abinit/COPYING
  or http://www.gnu.org/copyleft/gpl.txt .

SOURCE

 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 &   "8.10.3"
 33 character(len=*),parameter :: build_target   = &
 34 &   "x86_64_linux_gnu5.3"
 35 
 36 ! More info on current version
 37 character(len=*),parameter :: version_major = &
 38 &   "8"
 39 character(len=*),parameter :: version_minor = &
 40 &   "10"
 41 character(len=*),parameter :: version_micro = &
 42 &   "3"
 43 character(len=*),parameter :: version_build = &
 44 &   "20190624"
 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 &   "gnu5.3"
 50 character(len=*),parameter :: cxx_info   = &
 51 &   "gnu5.3"
 52 character(len=*),parameter :: fc_info    = &
 53 &   "gnu5.3"
 54 character(len=*),parameter :: cc_flags   = &
 55 &   " -g -g3 -ggdb -O0  -fPIC "
 56 character(len=*),parameter :: cxx_flags  = &
 57 &   " -g -O0  -fPIC "
 58 character(len=*),parameter :: fc_flags   = &
 59 &   " -g -fbacktrace -finit-real=nan -Wimplicit-interface -Wtabs -ffree-line-length-none -fPIC -Wall "
 60 character(len=*),parameter :: fc_ldflags = &
 61 &   "    "
 62 
 63 ! Info on optimizations
 64 character(len=*),parameter :: enable_debug    = &
 65 &   "enhanced"
 66 character(len=*),parameter :: enable_optim = &
 67 &   "no"
 68 character(len=*),parameter :: cpu_info = &
 69 &   "intel_xeon"
 70 
 71 ! Info on MPI
 72 character(len=*),parameter :: enable_mpi       = &
 73 &   "yes"
 74 character(len=*),parameter :: enable_mpi_io    = &
 75 &   "yes"
 76 
 77 ! Info on openMP
 78 character(len=*),parameter :: enable_openmp = &
 79 &   "no"
 80 
 81 ! Info on GPU
 82 character(len=*),parameter :: enable_gpu    = &
 83 &   "no"
 84 
 85 ! Info on connectors / fallbacks
 86 character(len=*),parameter :: enable_connectors = &
 87 &   "yes"
 88 character(len=*),parameter :: enable_fallbacks  = &
 89 &   "yes"
 90 character(len=*),parameter :: dft_flavor        = &
 91 &   "none"
 92 character(len=*),parameter :: fft_flavor        = &
 93 &   "fftw3"
 94 character(len=*),parameter :: linalg_flavor     = &
 95 &   "custom"
 96 character(len=*),parameter :: math_flavor       = &
 97 &   "none"
 98 character(len=*),parameter :: timer_flavor      = &
 99 &   "abinit"
100 character(len=*),parameter :: trio_flavor       = &
101 &   "netcdf"
102 
103 ! Info on experimental features
104 character(len=*),parameter :: enable_bindings = &
105 &   "@enable_bindings@"
106 character(len=*),parameter :: enable_exports = &
107 &   "yes"
108 character(len=*),parameter :: enable_gw_dpc = &
109 &   "no"
110 
111 #if defined HAVE_BZR_BRANCH
112 ! Info on Bazaar branch (if applies)
113 character(len=*),parameter :: bzr_branch = &
114 &   ""
115 character(len=*),parameter :: bzr_revno  = &
116 &   ""
117 character(len=*),parameter :: bzr_clean  = &
118 &   ""
119 #endif
120 
121 contains  !===========================================================

ABINIT/m_build_info/dump_config [ Functions ]

[ Top ] [ Functions ]

NAME

  dump_config

FUNCTION

  Reports a printout of the information stored in m_build_info,
  useful for error messages and debugging.

INPUTS

  my_unit= Fortran unit number

OUTPUT

  Only printing

PARENTS

  Will be filled automatically by the parent script

CHILDREN

  Will be filled automatically by the parent script

SOURCE

146 subroutine dump_config(my_unit)
147 
148 implicit none
149 
150 !Arguments ------------------------------------
151 integer,intent(in) :: my_unit
152 
153 !Local variables-------------------------------
154 
155 ! *********************************************************************
156 
157 ! TODO: things that might be added through preprocessing options, e.g.
158 ! date and time of compilation
159 
160 write(my_unit,*)
161 write(my_unit,'(1x,a)') repeat('+',78)
162 write(my_unit,*)
163 write(my_unit,'(a)' )' === Build Information === '
164 write(my_unit,'(2a)')'  Version       : ',trim(abinit_version)
165 write(my_unit,'(2a)')'  Build target  : ',trim(build_target)
166 write(my_unit,'(2a)')'  Build date    : ',trim(version_build)
167 write(my_unit,*)
168 write(my_unit,'(a)' )' === Compiler Suite === '
169 write(my_unit,'(2a)')'  C compiler       : ',trim(cc_info)
170 write(my_unit,'(2a)')'  C++ compiler     : ',trim(cxx_info)
171 write(my_unit,'(2a)')'  Fortran compiler : ',trim(fc_info)
172 write(my_unit,'(2a)')'  CFLAGS           : ',trim(cc_flags)
173 write(my_unit,'(2a)')'  CXXFLAGS         : ',trim(cxx_flags)
174 write(my_unit,'(2a)')'  FCFLAGS          : ',trim(fc_flags)
175 write(my_unit,'(2a)')'  FC_LDFLAGS       : ',trim(fc_ldflags)
176 write(my_unit,*)
177 write(my_unit,'(a) ')' === Optimizations === '
178 write(my_unit,'(2a)')'  Debug level        : ',trim(enable_debug)
179 write(my_unit,'(2a)')'  Optimization level : ',trim(enable_optim)
180 write(my_unit,'(2a)')'  Architecture       : ',trim(cpu_info)
181 write(my_unit,*)
182 write(my_unit,'(a) ')' === Multicore === '
183 write(my_unit,'(2a)')'  Parallel build : ',trim(enable_mpi)
184 write(my_unit,'(2a)')'  Parallel I/O   : ',trim(enable_mpi_io)
185 write(my_unit,'(2a)')'  openMP support : ',trim(enable_openmp)
186 write(my_unit,'(2a)')'  GPU support    : ',trim(enable_gpu)
187 write(my_unit,*)
188 write(my_unit,'(a) ')' === Connectors / Fallbacks === '
189 write(my_unit,'(2a)')'  Connectors on : ',trim(enable_connectors)
190 write(my_unit,'(2a)')'  Fallbacks on  : ',trim(enable_fallbacks)
191 write(my_unit,'(2a)')'  DFT flavor    : ',trim(dft_flavor)
192 write(my_unit,'(2a)')'  FFT flavor    : ',trim(fft_flavor)
193 write(my_unit,'(2a)')'  LINALG flavor : ',trim(linalg_flavor)
194 write(my_unit,'(2a)')'  MATH flavor   : ',trim(math_flavor)
195 write(my_unit,'(2a)')'  TIMER flavor  : ',trim(timer_flavor)
196 write(my_unit,'(2a)')'  TRIO flavor   : ',trim(trio_flavor)
197 write(my_unit,*)
198 write(my_unit,'(a)' )' === Experimental features === '
199 write(my_unit,'(2a)')'  Bindings            : ',trim(enable_bindings)
200 write(my_unit,'(2a)')'  Exports             : ',trim(enable_exports)
201 write(my_unit,'(2a)')'  GW double-precision : ',trim(enable_gw_dpc)
202 write(my_unit,*)
203 #if defined HAVE_BZR_BRANCH
204 write(my_unit,'(a)' )' === Bazaar branch information === '
205 write(my_unit,'(2a)')'  Branch ID : ',trim(bzr_branch)
206 write(my_unit,'(2a)')'  Revision  : ',trim(bzr_revno)
207 write(my_unit,'(2a)')'  Committed : ',trim(bzr_clean)
208 write(my_unit,*)
209 #endif
210 write(my_unit,'(1x,a)') repeat('+',78)
211 write(my_unit,*)
212 
213 end subroutine dump_config