summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch')
-rw-r--r--var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch352
1 files changed, 352 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch b/var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch
new file mode 100644
index 0000000000..bc179c7cd2
--- /dev/null
+++ b/var/spack/repos/builtin/packages/abinit/fix_for_fujitsu.patch
@@ -0,0 +1,352 @@
+diff -uprN spack-src.org/configure spack-src/configure
+--- spack-src.org/configure 2021-03-11 13:52:52.000000000 +0900
++++ spack-src/configure 2021-03-11 14:14:36.000000000 +0900
+@@ -14183,7 +14183,10 @@ $as_echo "#define FC_OPEN64 1" >>confdef
+
+
+ fc_info_string=`${FC} -V 2>/dev/null | head -n 1`
+- abi_result=`echo "${fc_info_string}" | grep '^Fujitsu Fortran'`
++ if test "${fc_info_string}" = ""; then
++ fc_info_string=`${FC} -V 2>&1 | head -n 1`
++ fi
++ abi_result=`echo "${fc_info_string}" | grep 'Fujitsu Fortran'`
+ if test "${abi_result}" = ""; then
+ abi_result="no"
+ fc_info_string=""
+@@ -14194,9 +14197,17 @@ $as_echo "#define FC_OPEN64 1" >>confdef
+ $as_echo "#define FC_FUJITSU 1" >>confdefs.h
+
+ abi_fc_vendor="fujitsu"
+- abi_fc_version=`echo "${abi_result}" | sed -e 's/.*Driver //;s/ .*//'`
++ abi_fc_version=`echo "${abi_result}" | sed -e 's/.*Driver //'`
+ if test "${abi_fc_version}" = "${abi_result}"; then
+ abi_fc_version="unknown"
++ else
++ abi_fc_version=`echo "${abi_result}" | sed -e 's/.*Driver //;s/ .*//'`
++ fi
++ if test "${abi_fc_version}" = "unknown"; then
++ abi_fc_version=`echo "${abi_result}" | sed -e 's/.*Compiler //;s/ .*//'`
++ if test "${abi_fc_version}" = "${abi_result}"; then
++ abi_fc_version="unknown"
++ fi
+ fi
+ abi_result="yes"
+ fi
+@@ -14655,6 +14666,7 @@ $as_echo "$as_me:${as_lineno-$LINENO}: $
+ # gfortran 4.3 outputs lines setting COLLECT_GCC_OPTIONS, COMPILER_PATH,
+ # LIBRARY_PATH; skip all such settings.
+ ac_fc_v_output=`eval $ac_link 5>&1 2>&1 |
++ sed -r "s/(\-L)(\/[^ ]+)+(\/bin\/\.\.\/lib64\/nofjobj)//g" |
+ sed '/^Driving:/d; /^Configured with:/d;
+ '"/^[_$as_cr_Letters][_$as_cr_alnum]*=/d"`
+ $as_echo "$ac_fc_v_output" >&5
+@@ -16392,15 +16404,29 @@ $as_echo_n "checking which fc hints to a
+ ;;
+ fujitsu)
+ abi_fc_vendor_hnt="fujitsu"
+- abi_fc_version_hnt="default"
+ abi_sys_spec_hnt="default"
+- FCFLAGS_FIXEDFORM='-Fixed -X7'
+- FCFLAGS_FREEFORM='-Free -X9'
+- FCFLAGS_MODDIR='-M $(abinit_moddir)'
+- FCFLAGS_HINTS='-Am -Ee -Ep'
+- abi_fc_wrap='yes'
+- FCFLAGS_OPENMP='--openmp'
+- FCFLAGS_PIC='-K PIC'
++ case "${abi_fc_version}" in
++ 4.[0-9]*)
++ abi_fc_version_hnt="4.x"
++ FCFLAGS_FIXEDFORM='-Fixed -X7'
++ FCFLAGS_FREEFORM='-Free -X9'
++ FCFLAGS_MODDIR='-M $(abinit_moddir)'
++ FCFLAGS_HINTS=''
++ abi_fc_wrap='no'
++ FCFLAGS_OPENMP='-Kopenmp'
++ FCFLAGS_PIC='-K PIC'
++ ;;
++ *)
++ abi_fc_version_hnt="default"
++ FCFLAGS_FIXEDFORM='-Fixed -X7'
++ FCFLAGS_FREEFORM='-Free -X9'
++ FCFLAGS_MODDIR='-M $(abinit_moddir)'
++ FCFLAGS_HINTS='-Am -Ee -Ep'
++ abi_fc_wrap='yes'
++ FCFLAGS_OPENMP='--openmp'
++ FCFLAGS_PIC='-K PIC'
++ ;;
++ esac # [case: abi_fc_version, indent: 2, item: True]
+ ;;
+ pathscale)
+ abi_fc_vendor_hnt="pathscale"
+@@ -18085,22 +18111,43 @@ $as_echo_n "checking which fc optimizati
+ ;;
+ fujitsu)
+ abi_fc_vendor_opt="fujitsu"
+- abi_fc_version_opt="default"
+ abi_cpu_spec_opt="default"
+- case "${enable_optim}" in
+- aggressive)
+- enable_optim_opt="aggressive"
+- FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
+- ;;
+- safe)
+- enable_optim_opt="safe"
+- FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
++ case "${abi_fc_version}" in
++ 4.[0-9]*)
++ abi_fc_version_opt="4.x"
++ case "${enable_optim}" in
++ aggressive)
++ enable_optim_opt="aggressive"
++ FCFLAGS_OPTIM="-Kfast -Koptmsg=2 -Nlst=t"
++ ;;
++ safe)
++ enable_optim_opt="safe"
++ FCFLAGS_OPTIM="-O2 -Koptmsg=2 -Nlst=t"
++ ;;
++ standard)
++ enable_optim_opt="standard"
++ FCFLAGS_OPTIM="-O2 -Koptmsg=2 -Nlst=t"
++ ;;
++ esac # [case: enable_optim, indent: 4, item: True]
+ ;;
+- standard)
+- enable_optim_opt="standard"
+- FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
++ *)
++ abi_fc_version_opt="default"
++ case "${enable_optim}" in
++ aggressive)
++ enable_optim_opt="aggressive"
++ FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
++ ;;
++ safe)
++ enable_optim_opt="safe"
++ FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
++ ;;
++ standard)
++ enable_optim_opt="standard"
++ FCFLAGS_OPTIM="-Of -X9 -Ps -Wv,-md"
++ ;;
++ esac # [case: enable_optim, indent: 4, item: True]
+ ;;
+- esac # [case: enable_optim, indent: 2, item: True]
++ esac # [case: abi_fc_version, indent: 2, item: True]
+ ;;
+ pathscale)
+ abi_fc_vendor_opt="pathscale"
+diff -uprN spack-src.org/src/43_wvl_wrappers/m_abi2big.F90 spack-src/src/43_wvl_wrappers/m_abi2big.F90
+--- spack-src.org/src/43_wvl_wrappers/m_abi2big.F90 2021-03-11 13:52:54.000000000 +0900
++++ spack-src/src/43_wvl_wrappers/m_abi2big.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -1333,10 +1333,10 @@ subroutine wvl_setngfft(me_wvl, mgfft, n
+
+ !Arguments ------------------------------------
+ !scalars
+- integer, intent(out) :: mgfft, nfft
++ integer, intent(inout) :: mgfft, nfft
+ integer, intent(in) :: n1i, n2i, n3i,n3d, nproc_wvl, me_wvl
+ !arrays
+- integer, intent(out) :: ngfft(18)
++ integer, intent(inout) :: ngfft(18)
+
+ !Local variables-------------------------------
+ !scalars
+diff -uprN spack-src.org/src/43_wvl_wrappers/m_wvl_denspot.F90 spack-src/src/43_wvl_wrappers/m_wvl_denspot.F90
+--- spack-src.org/src/43_wvl_wrappers/m_wvl_denspot.F90 2021-03-11 13:52:54.000000000 +0900
++++ spack-src/src/43_wvl_wrappers/m_wvl_denspot.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -96,7 +96,7 @@ subroutine wvl_denspot_set(den,gth_param
+ real(dp), intent(in) :: rprimd(3, 3)
+ real(dp), intent(in) :: wvl_frmult,wvl_crmult
+ real(dp), intent(inout) :: xred(3,natom)
+- type(wvl_denspot_type), intent(out) :: den
++ type(wvl_denspot_type), intent(inout) :: den
+ type(wvl_internal_type),intent(in) :: wvl
+ type(pseudopotential_gth_type),intent(in)::gth_params
+
+diff -uprN spack-src.org/src/43_wvl_wrappers/m_wvl_wfs.F90 spack-src/src/43_wvl_wrappers/m_wvl_wfs.F90
+--- spack-src.org/src/43_wvl_wrappers/m_wvl_wfs.F90 2021-03-11 13:52:54.000000000 +0900
++++ spack-src/src/43_wvl_wrappers/m_wvl_wfs.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -103,7 +103,7 @@ subroutine wvl_wfs_set(alphadiis, spinma
+ integer, intent(in) :: natom, nkpt, nsppol, nspinor, nband, nwfshist,me,nproc
+ real(dp), intent(in) :: spinmagntarget, wvl_crmult, wvl_frmult, alphadiis
+ type(pseudopotential_type),intent(in) :: psps
+- type(wvl_wf_type),intent(out) :: wfs
++ type(wvl_wf_type),intent(inout) :: wfs
+ type(wvl_internal_type), intent(in) :: wvl
+ !arrays
+ real(dp), intent(in) :: kpt(3,nkpt)
+diff -uprN spack-src.org/src/52_fft_mpi_noabirule/m_fftw3.F90 spack-src/src/52_fft_mpi_noabirule/m_fftw3.F90
+--- spack-src.org/src/52_fft_mpi_noabirule/m_fftw3.F90 2021-03-11 13:52:52.000000000 +0900
++++ spack-src/src/52_fft_mpi_noabirule/m_fftw3.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -4588,7 +4588,7 @@ subroutine fftw3_mpiback_wf(cplexwf,ndat
+ integer,intent(in) :: cplexwf,ndat,n1,n2,n3,nd1,nd2,nd3proc
+ integer,intent(in) :: max1,max2,max3,m1,m2,m3,md1,md2proc,md3,comm_fft
+ real(dp),intent(in) :: zf(2,md1,md3,md2proc,ndat)
+- real(dp),intent(out) :: zr(2,nd1,nd2,nd3proc,ndat)
++ real(dp),intent(inout) :: zr(2,nd1,nd2,nd3proc,ndat)
+
+ #ifdef HAVE_FFT_FFTW3
+ !Local variables-------------------------------
+@@ -4954,7 +4954,7 @@ subroutine fftw3_mpiforw_wf(cplexwf,ndat
+ integer,intent(in) :: max1,max2,max3,m1,m2,m3,md1,md2proc,md3,comm_fft
+ !arrays
+ real(dp),intent(inout) :: zr(2,nd1,nd2,nd3proc,ndat)
+- real(dp),intent(out) :: zf(2,md1,md3,md2proc,ndat)
++ real(dp),intent(inout) :: zf(2,md1,md3,md2proc,ndat)
+
+ !Local variables-------------------------------
+ !scalars
+@@ -5311,7 +5311,7 @@ subroutine fftw3_mpiback(cplex,ndat,n1,n
+ ! real space input
+ integer,intent(in) :: cplex,ndat,n1,n2,n3,nd1,nd2,nd3,nd1eff,nd2proc,nd3proc,option,comm_fft
+ real(dp),intent(in) :: zf(2,nd1,nd3,nd2proc,ndat)
+- real(dp),intent(out) :: zr(2,nd1eff,nd2,nd3proc,ndat)
++ real(dp),intent(inout) :: zr(2,nd1eff,nd2,nd3proc,ndat)
+
+ !Local variables-------------------------------
+ !scalaras
+@@ -5621,7 +5621,7 @@ subroutine fftw3_mpiforw(cplex,ndat,n1,n
+ integer,intent(in) :: ndat,n1,n2,n3,nd1,nd2,nd3,nd1eff,nd2proc,nd3proc,option
+ !arrays
+ real(dp),intent(in) :: zr(2,nd1eff,nd2,nd3proc,ndat)
+- real(dp),intent(out) :: zf(2,nd1,nd3,nd2proc,ndat)
++ real(dp),intent(inout) :: zf(2,nd1,nd3,nd2proc,ndat)
+
+ !Local variables-------------------------------
+ !scalars
+@@ -6839,7 +6839,7 @@ subroutine fftw3_mpiback_manywf(cplexwf,
+ integer,intent(in) :: cplexwf,ndat,n1,n2,n3,nd1,nd2,nd3proc
+ integer,intent(in) :: max1,max2,max3,m1,m2,m3,md1,md2proc,md3,comm_fft
+ real(dp),intent(in) :: zf(2,md1,md3,md2proc,ndat)
+- real(dp),intent(out) :: zr(2,nd1,nd2,nd3proc,ndat)
++ real(dp),intent(inout) :: zr(2,nd1,nd2,nd3proc,ndat)
+
+ #ifdef HAVE_FFT_FFTW3
+ !Local variables-------------------------------
+@@ -7202,7 +7202,7 @@ subroutine fftw3_mpiforw_manywf(cplexwf,
+ integer,intent(in) :: max1,max2,max3,m1,m2,m3,md1,md2proc,md3,comm_fft
+ !arrays
+ real(dp),intent(inout) :: zr(2,nd1,nd2,nd3proc,ndat)
+- real(dp),intent(out) :: zf(2,md1,md3,md2proc,ndat)
++ real(dp),intent(inout) :: zf(2,md1,md3,md2proc,ndat)
+
+ !Local variables-------------------------------
+ !scalars
+diff -uprN spack-src.org/src/62_poisson/m_psolver.F90 spack-src/src/62_poisson/m_psolver.F90
+--- spack-src.org/src/62_poisson/m_psolver.F90 2021-03-11 13:52:55.000000000 +0900
++++ spack-src/src/62_poisson/m_psolver.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -118,7 +118,7 @@ subroutine psolver_rhohxc(enhartr, enxc,
+ integer,intent(in) :: usexcnhat,usepaw,xclevel
+ real(dp),intent(in) :: rprimd(3,3)
+ real(dp), intent(in) :: xc_denpos
+- real(dp), intent(out) :: enxc, envxc, enhartr, vxcavg
++ real(dp), intent(inout) :: enxc, envxc, enhartr, vxcavg
+ type(mpi_type), intent(in) :: mpi_enreg
+ type(wvl_internal_type), intent(in) :: wvl
+ type(wvl_denspot_type), intent(inout) :: wvl_den
+@@ -128,8 +128,8 @@ subroutine psolver_rhohxc(enhartr, enxc,
+ real(dp),intent(in) :: xccc3d(n3xccc)
+ real(dp),intent(in) :: nhat(nfft,nspden*nhatdim)
+ real(dp),intent(inout) :: rhor(nfft, nspden)
+- real(dp),intent(out) :: vhartr(nfft)
+- real(dp),intent(out) :: vxc(nfft, nspden)
++ real(dp),intent(inout) :: vhartr(nfft)
++ real(dp),intent(inout) :: vxc(nfft, nspden)
+
+ !Local variables-------------------------------
+ #if defined HAVE_BIGDFT
+@@ -577,12 +577,12 @@ subroutine psolver_hartree(enhartr, hgri
+ !Arguments ------------------------------------
+ !scalars
+ integer, intent(in) :: nfft, nspden, icoulomb, usewvl, mpi_comm, me, nproc, nscforder
+- real(dp), intent(out) :: enhartr
++ real(dp), intent(inout) :: enhartr
+ !arrays
+ integer, intent(in) :: ngfft(3)
+ real(dp),intent(in) :: hgrid(3)
+ real(dp),intent(in) :: rhor(nfft,nspden)
+- real(dp),intent(out) :: vhartr(nfft)
++ real(dp),intent(inout) :: vhartr(nfft)
+
+ !Local variables-------------------------------
+ #if defined HAVE_BIGDFT
+diff -uprN spack-src.org/src/62_wvl_wfs/m_wvl_psi.F90 spack-src/src/62_wvl_wfs/m_wvl_psi.F90
+--- spack-src.org/src/62_wvl_wfs/m_wvl_psi.F90 2021-03-11 13:52:54.000000000 +0900
++++ spack-src/src/62_wvl_wfs/m_wvl_psi.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -248,16 +248,16 @@ subroutine wvl_psitohpsi(alphamix,eexctX
+ !scalars
+ integer, intent(in) :: me, nproc, itrp, iter, iscf, natom, nfft, nspden
+ real(dp), intent(in) :: alphamix
+- real(dp), intent(out) :: rpnrm
++ real(dp), intent(inout) :: rpnrm
+ logical, intent(in) :: scf
+ logical, intent(in) :: wvlbigdft
+ type(wvl_data), intent(inout) :: wvl
+ real(dp), intent(inout) :: eexctX,eSIC_DC,ehart,eexcu,vexcu, ekin_sum, epot_sum, eproj_sum
+- real(dp), dimension(6), intent(out) :: xcstr
++ real(dp), dimension(6), intent(inout) :: xcstr
+ real(dp), intent(inout) :: xcart(3, natom)
+ !arrays
+- real(dp),intent(out), optional :: vxc(nfft,nspden)
+- real(dp),intent(out), optional :: vtrial(nfft,nspden)
++ real(dp),intent(inout), optional :: vxc(nfft,nspden)
++ real(dp),intent(inout), optional :: vtrial(nfft,nspden)
+
+ !Local variables-------------------------------
+ !scalars
+@@ -482,7 +482,7 @@ subroutine wvl_tail_corrections(dtset, e
+
+ !Arguments ------------------------------------
+ !scalars
+- real(dp),intent(out) :: etotal
++ real(dp),intent(inout) :: etotal
+ type(MPI_type),intent(in) :: mpi_enreg
+ type(dataset_type),intent(in) :: dtset
+ type(energies_type),intent(inout) :: energies
+diff -uprN spack-src.org/src/67_common/m_mklocl_realspace.F90 spack-src/src/67_common/m_mklocl_realspace.F90
+--- spack-src.org/src/67_common/m_mklocl_realspace.F90 2021-03-11 13:52:53.000000000 +0900
++++ spack-src/src/67_common/m_mklocl_realspace.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -1703,7 +1703,7 @@ subroutine local_forces_wvl(iproc,natom,
+ !arrays
+ real(dp),intent(in) :: rxyz(3,natom)
+ real(dp),dimension(*),intent(in) :: rho,pot
+- real(dp),intent(out) :: floc(3,natom)
++ real(dp),intent(inout) :: floc(3,natom)
+
+ !Local variables -------------------------
+ #if defined HAVE_BIGDFT
+diff -uprN spack-src.org/src/67_common/mkcore_wvl.F90 spack-src/src/67_common/mkcore_wvl.F90
+--- spack-src.org/src/67_common/mkcore_wvl.F90 2021-03-11 13:52:53.000000000 +0900
++++ spack-src/src/67_common/mkcore_wvl.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -138,7 +138,7 @@ subroutine mkcore_wvl(atindx1,corstr,grx
+ integer,intent(in) :: atindx1(natom),nattyp(ntypat)
+ real(dp),intent(in) :: rprimd(3,3),xccc1d(n1xccc,6,ntypat),xcccrc(ntypat),xred(3,natom)
+ real(dp),intent(in),target :: vxc(nfft,nspden)
+- real(dp),intent(out) :: corstr(6),grxc(3,natom)
++ real(dp),intent(inout) :: corstr(6),grxc(3,natom)
+ real(dp),intent(inout) :: xccc3d(n3xccc)
+ type(pawrad_type),intent(in) :: pawrad(:)
+ type(pawtab_type),intent(in) :: pawtab(:)
+@@ -587,8 +587,8 @@ subroutine mkcore_wvl_old(atindx1,corstr
+ real(dp),intent(in) :: psppar(0:4,0:6,ntypat),rprimd(3,3)
+ real(dp),intent(in)::xred(3,natom)
+ real(dp),intent(in)::vxc(nfft,nspden)
+- real(dp),intent(out)::xccc3d(n3xccc)
+- real(dp),intent(out) :: corstr(6),dyfrx2(3,3,natom),grxc(3,natom)
++ real(dp),intent(inout)::xccc3d(n3xccc)
++ real(dp),intent(inout) :: corstr(6),dyfrx2(3,3,natom),grxc(3,natom)
+ type(pawtab_type),intent(in) :: pawtab(ntypat)
+ type(pawrad_type),intent(in) :: pawrad(ntypat)
+
+diff -uprN spack-src.org/src/98_main/abinit.F90 spack-src/src/98_main/abinit.F90
+--- spack-src.org/src/98_main/abinit.F90 2021-03-11 13:52:55.000000000 +0900
++++ spack-src/src/98_main/abinit.F90 2021-03-11 14:06:53.000000000 +0900
+@@ -261,7 +261,7 @@ program abinit
+ open(unit=ab_out,file=filnam(2),form='formatted',status='new', action="write", iomsg=message, iostat=ios)
+ #endif
+ ABI_CHECK(ios == 0, message)
+- rewind (unit=ab_out)
++! rewind (unit=ab_out)
+ codename='ABINIT'//repeat(' ',18)
+ call herald(codename,abinit_version,ab_out)
+ call herald(codename,abinit_version,std_out)