Commit b1f03b09 authored by marsamos's avatar marsamos

all files related to config, dependencies, installation

have been moved to dir install. Dependencies commands
not working proper;y now.


git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@5921 c92efa57-630b-4861-b058-cf58834340f0
parent 0cda1899
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
--------------------------------------------------------------------
ESPRESSO can take advantage of several optimized numerical libraries
(essl, fftw, mkl...). This configure script attempts to find them,
but may fail if they have been installed in non-standard locations.
If a required library is not found, the local copy will be compiled.
The following libraries have been found:
@blas_line@
@lapack_line@
@scalapack_line@
@fft_line@
@mpi_line@
@mass_line@
Please check if this is what you expect.
If any libraries are missing, you may specify a list of directories
to search and retry, as follows:
./configure LIBDIRS="list of directories, separated by spaces"
@parallel_report@
For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
--------------------------------------------------------------------
#!/bin/sh
# make sure there is no locale setting creating unneeded differences.
LC_ALL=C
export LC_ALL
echo "creating catalog file for Intel compiler v.6 and earlier..."
topdir=`pwd`
pcl_ph="D3"
pcl_pw="PH PP Gamma PWCOND pwtools $pcl_ph"
pcl_modules="PW CPV flib upftools atomic $pcl_pw"
pcl_dot="Modules $pcl_modules"
for dir in $pcl_dot
do
echo work.pc > $topdir/$dir/intel.pcl
done
for dir in $pcl_modules
do
echo ../Modules/work.pc >> $topdir/$dir/intel.pcl
done
for dir in $pcl_pw
do
echo ../PW/work.pc >> $topdir/$dir/intel.pcl
done
for dir in $pcl_ph
do
echo ../PH/work.pc >> $topdir/$dir/intel.pcl
done
echo "done"
#!/bin/sh
# includedep.sh -- script that computes dependencies on preprocessor includes
# make sure there is no locale setting creating unneeded differences.
LC_ALL=C
export LC_ALL
# files whose dependencies must be computed
sources=`echo *.c *.f90 |
sed 's/\*\.c//g
s/\*\.f90//g'` # remove the "*.c" and "*.f90" that remain
# # when there are no such files
if test "$sources" = " " ; then exit ; fi
# files that may be included
# extra directories may be specified on the command line
includes=`echo *.h`
for dir in $*
do
includes="$includes `echo $dir/*.h`"
done
includes=`echo $includes |
sed 's/[^ ]*\*\.h//g'` # remove the "dir/*.h" that remain
# # when there are no such files
# create list of include dependencies
# each line is of the form:
# file_name.o : @include_file.h@
egrep '^ *# *include *"' $sources | # look for #include "..." statements
# # ignore #include <...> ones
sed 's/f90:/o /
s/c:/o /
s/# *include *//
s/\"/ /g' | # replace extension, insert space
# # remove '# include' statements
# # remove quotes
awk '{print $1 " : @" $2 "@"}' | # create dependency entry
sort | uniq > includedep.tmp1 # remove duplicates
# create list of available include files
# for each file, create a line of the form:
# s/@file_name@/pathname/g
echo $includes | tr " " "\n" |
sed 's/\//\\\//g
s/.*\/\([^/]*\)/\1 &/' | # escape slashes
awk '{print "s/@" $1 "@/" $2 "/" }' > includedep.tmp2
# replace file names with pathnames
# by applying the file of substitution patterns just created
sed -f includedep.tmp2 includedep.tmp1
rm -f includedep.tmp1 includedep.tmp2 # remove temporary files
#!/bin/sh
#
# install - install a program, script, or datafile
#
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
transformbasename=""
transform_arg=""
instcmd="$mvprog"
chmodcmd="$chmodprog 0755"
chowncmd=""
chgrpcmd=""
stripcmd=""
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=""
dst=""
dir_arg=""
while [ x"$1" != x ]; do
case $1 in
-c) instcmd=$cpprog
shift
continue;;
-d) dir_arg=true
shift
continue;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t=*) transformarg=`echo $1 | sed 's/-t=//'`
shift
continue;;
-b=*) transformbasename=`echo $1 | sed 's/-b=//'`
shift
continue;;
*) if [ x"$src" = x ]
then
src=$1
else
# this colon is to work around a 386BSD /bin/sh bug
:
dst=$1
fi
shift
continue;;
esac
done
if [ x"$src" = x ]
then
echo "$0: no input file specified" >&2
exit 1
else
:
fi
if [ x"$dir_arg" != x ]; then
dst=$src
src=""
if [ -d "$dst" ]; then
instcmd=:
chmodcmd=""
else
instcmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if [ -f "$src" ] || [ -d "$src" ]
then
:
else
echo "$0: $src does not exist" >&2
exit 1
fi
if [ x"$dst" = x ]
then
echo "$0: no destination specified" >&2
exit 1
else
:
fi
# If destination is a directory, append the input filename; if your system
# does not like double slashes in filenames, you may need to add some logic
if [ -d "$dst" ]
then
dst=$dst/`basename "$src"`
else
:
fi
fi
## this sed command emulates the dirname command
dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# this part is taken from Noah Friedman's mkinstalldirs script
# Skip lots of stat calls in the usual case.
if [ ! -d "$dstdir" ]; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
IFS=$oIFS
pathcomp=''
while [ $# -ne 0 ] ; do
pathcomp=$pathcomp$1
shift
if [ ! -d "$pathcomp" ] ;
then
$mkdirprog "$pathcomp"
else
:
fi
pathcomp=$pathcomp/
done
fi
if [ x"$dir_arg" != x ]
then
$doit $instcmd "$dst" &&
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi
else
# If we're going to rename the final executable, determine the name now.
if [ x"$transformarg" = x ]
then
dstfile=`basename "$dst"`
else
dstfile=`basename "$dst" $transformbasename |
sed $transformarg`$transformbasename
fi
# don't allow the sed command to completely eliminate the filename
if [ x"$dstfile" = x ]
then
dstfile=`basename "$dst"`
else
:
fi
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up temp files at exit.
trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0
trap '(exit $?); exit' 1 2 13 15
# Move or copy the file name to the temp name
$doit $instcmd "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $instcmd $src $dsttmp" command.
if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi &&
if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi &&
if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi &&
if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi &&
# Now remove or move aside any old file at destination location. We try this
# two ways since rm can't unlink itself on some systems and the destination
# file might be busy for other reasons. In this case, the final cleanup
# might fail but the new file should still install successfully.
{
if [ -f "$dstdir/$dstfile" ]
then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null ||
$doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null ||
{
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
fi &&
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit
}
This diff is collapsed.
#!/bin/sh
# compute dependencies for the PWscf directory tree
# make sure there is no locale setting creating unneeded differences.
LC_ALL=C
export LC_ALL
# run from directory where this script is
cd `echo $0 | sed 's/\(.*\)\/.*/\1/'` # extract pathname
TOPDIR=`pwd`
if test $# = 0
then
dirs=" Modules clib PW CPV flib pwtools upftools PP PWCOND \
Gamma PH D3 atomic GIPAW VdW Multigrid EE XSpectra \
GWW//gww GWW//pw4gww GWW//head"
else
dirs=$*
fi
for DIR_ in $dirs
do
# set inter-directory dependencies
DIR=`echo $DIR_ | sed 's?/??' `
DEPENDS="../include ../iotk/src"
case $DIR in
EE | flib | pwtools | upftools | atomic )
DEPENDS="$DEPENDS ../Modules " ;;
PW | CPV )
DEPENDS="$DEPENDS ../Modules ../EE" ;;
PP | PWCOND | Gamma | PH | GIPAW )
DEPENDS="$DEPENDS ../Modules ../EE ../PW" ;;
D3 | VdW )
DEPENDS="$DEPENDS ../Modules ../EE ../PW ../PH" ;;
XSpectra )
DEPENDS="$DEPENDS ../Modules ../PW ../PP ../GIPAW" ;;
GWW/pw4gww )
DEPENDS="../../include ../../flib ../../iotk/src ../../Modules \
../../PW ../../EE ../../Multigrid" ;;
GWW/gww )
DEPENDS="../../include ../../flib ../../iotk/src ../../Modules \
../../EE ../../Multigrid ../minpack" ;;
GWW/head )
DEPENDS="../../include ../../flib ../../iotk/src ../../Modules \
../../PW ../../PH ../pw4gww ../../EE ../../Multigrid ../minpack" ;;
esac
# generate dependencies file
if test -d $TOPDIR/$DIR
then
cd $TOPDIR/$DIR
$TOPDIR/moduledep.sh $DEPENDS > make.depend
$TOPDIR/includedep.sh $DEPENDS >> make.depend
fi
# handle special cases
mv make.depend make.depend.tmp
sed '/@\/cineca\/prod\/hpm\/include\/f_hpm.h@/d' \
make.depend.tmp > make.depend
if test "$DIR" = "clib"
then
mv make.depend make.depend.tmp
sed 's/@fftw.c@/fftw.c/' make.depend.tmp > make.depend
fi
rm -f make.depend.tmp
# check for missing dependencies
if grep @ make.depend
then
notfound=1
echo WARNING: dependencies not found in directory $DIR
else
echo directory $DIR : ok
fi
done
if test "$notfound" = ""
then
echo all dependencies updated successfully
fi
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment