
----------------------------------------------------------------------------
                       CONFIGURATION FILES

* include/qe_version.h 
  ================
  Contains the current version of QE

You should not need to edit the following files:

* include/configure.h
  ==================
   automatically generated by configure using include/configure.h.in
   as template - contains compilation info, usable for initial printout
   (define __HAVE_CONFIG_INFO in Modules/environ.f90 to use it;
    it is disabled by default due to potential problems with too long lines)

* include/qe_cdefs.h
  ================
   automatically generated by configure using include/qe_cdefs.h.in
   as template - included in C files in clib/ . Contains:
   #define HAVE_MALLINFO
   if the mallinfo structure is present (e.g. Linux)

----------------------------------------------------------------------------

         PREPROCESSING OPTIONS USED IN *.h FILES AND IN THE SOURCES

Predefined by specific compilers:
      _OPENMP            OpenMP parallelization (all compilers)
      __GFORTRAN__       GNU gfortran 
      __INTEL_COMPILER   Intel compiler

Hardware / Compiler:
      __AIX       Ibm rs/6000 machines (obsolescent)
      __PGI       Portland Group compiler workarounds for compiler bugs
       _WIN32     Windows 32-bits

New algorithms:
      __NON_BLOCKING_SCATTER   Use  non-blocking algorithm for parallel FFTs
      __DOUBLE_BUFFER          Use double buffer algorithm for parallel FFTs

Parallel execution:
      __MPI       	MPI parallelization
      __MPI_MODULE      Compile with "USE mpi" instead of "include 'mpif.h'"
      __MPI_NONBLOCKING Use nonblocking routines (e.g. mpi_ibcast, mpi_igatherv)

Libraries:
      __FFTW        FFT routines from internal FFTW library (default)
      __FFTW3       FFT routines from external FFTW v.3 library
      __DFTI        FFT routines from Intel MKL library
      __ARM_LIB     EFT routines from ARM Performance library
      __LINUX_ESSL  Use blas/lapack/fft routines from IBM ESSL library
                   (linux version; aix version no longer supported)
      __SCALAPACK   Use Scalapack routines instead of internal ones
                    for parallel subspace diagonalization
      __ELPA_201X   Use ELPA library, version 201X, X=5,6,7,8,9
      __ELPA        Use ELPA library, last version
      __MASS        Use mathematical routines from IBM MASS library
                    (obsolete?)
      __SX6         Use MathKeisan libraries for NEC SX machines
      ASL, MICRO    SX-6 specific libraries (obsolescent)

Signals:
      __PTRACE        Enable traceback
      __TRAP_SIGUSR1  Enable signal trapping (experimental): code will stop
                      and save data if executable is signaled with USR1
IO / Reporting:
      __HDF5           Enable I/O using parallel HDF5 (Fortran 2003 
                       features needed to compile)
      __CLOCK_SECONDS  Translate clock from HH:mm:ss to only seconds

All other preprocessing flags are for debugging purposes and should not be
used unless you know what you are doing
